使用 Prism.js 实现代码高亮
简介
Prism 是一款轻量、可扩展的代码语法高亮库,使用现代化的 Web 标准构建。
为什么选择 Prism?
极致易用 引用 prism.css 和 prism.js,使用合适的 HTML5 标签(code.language-xxxx),搞定!
天生伶俐 语言的 CSS 类是可继承的,所以你只需定义一次就能应用到多个代码片段。
轻如鸿毛 代码压缩后只有 1.6KB。每添加一个语言平均增加 0.3-0.5KB,主题在 1KB 左右。
快如闪电 如果可能,支持通过 Web Workers 实现并行。
轻松扩展 定义新语言或扩展现有语法,或者新增功能都非常简单。
丰富样式 所有的样式通过 CSS 完成,并使用合理的类名如:.comment, .string, .property 等。
下载地址
官网地址:http://prismjs.com/download.html
使用教程
line-numbers便是显示行号,language-markup就是语言。
支持的语言
Markup - markup CSS - css C-like - clike JavaScript - javascript ABAP - abap ActionScript - actionscript Apache Configuration - apacheconf APL - apl AppleScript - applescript AsciiDoc - asciidoc ASP.NET (C#) - aspnet AutoIt - autoit AutoHotkey - autohotkey Bash - bash BASIC - basic Batch - batch Bison - bison Brainfuck - brainfuck Bro - bro C - c C# - csharp C++ - cpp CoffeeScript - coffeescript Crystal - crystal CSS Extras - css-extras D - d Dart - dart Diff - diff Docker - docker Eiffel - eiffel Elixir - elixir Erlang - erlang F# - fsharp Fortran - fortran Gherkin - gherkin Git - git GLSL - glsl Go - go Groovy - groovy Haml - haml Handlebars - handlebars Haskell - haskell Haxe - haxe HTTP - http Icon - icon Inform 7 - inform7 Ini - ini J - j Jade - jade Java - java JSON - json Julia - julia Keyman - keyman Kotlin - kotlin LaTeX - latex Less - less LOLCODE - lolcode Lua - lua Makefile - makefile Markdown - markdown MATLAB - matlab MEL - mel Mizar - mizar Monkey - monkey NASM - nasm nginx - nginx Nim - nim Nix - nix NSIS - nsis Objective-C - objectivec OCaml - ocaml Oz - oz PARI/GP - parigp Parser - parser Pascal - pascal Perl - perl PHP - php PHP Extras - php-extras PowerShell - powershell Processing - processing Prolog - prolog Protocol Buffers - protobuf Puppet - puppet Pure - pure Python - python Q - q Qore - qore R - r React JSX - jsx reST (reStructuredText) - rest Rip - rip Roboconf - roboconf Ruby - ruby Rust - rust SAS - sas Sass (Sass) - sass Sass (Scss) - scss Scala - scala Scheme - scheme Smalltalk - smalltalk Smarty - smarty SQL - sql Stylus - stylus Swift - swift Tcl - tcl Textile - textile Twig - twig TypeScript - typescript Verilog - verilog VHDL - vhdl vim - vim Wiki markup - wiki YAML - yaml
插件plugins
插件是扩展 Prism 功能的附加脚本(和CSS代码)。
线条突出显示 - Line Highlight 行号 - Line Numbers 显示隐形 - Show Invisibles Autolinker - Autolinker Web平台文档 - WebPlatform Docs 自定义类 - Custom Class 文件突出显示 - File Highlight 显示语言 - Show Language JSONP亮点 - JSONP Highlight 突出显示关键字 - Highlight Keywords 删除初始换行符 - Remove initial line feed 预览器 - Previewers 自动加载磁带机 - Autoloader 保持标记 - Keep Markup 命令行 - Command Line 非转义标记 - Unescaped Markup 规范化空白 - Normalize Whitespace 数据URI突出显示 - Data-URI Highlight 工具栏 - Toolbar 复制到剪贴板按钮 - Copy to Clipboard Button