本文概述
- 如何添加摘录
- 定制棱镜风格
- 更改代码输入尺寸
- 自定义语言列表
谈话很便宜。给我看代码。 -Linux创始人Linus Torvalds如何添加摘录 要将代码段添加到你的内容中, 可以使用codesample插件(通常包含在社区版本中)。要启用此插件, 你只需要在初始化对象的plugins属性中提供插件” codesample” 的名称, 并在工具栏中添加用相同名称” codesample” 标识的操作按钮:
tinymce.init({selector: 'textarea', plugins: 'codesample', toolbar: 'codesample'});
在工具栏中添加了codesample插件和操作按钮后, tinymce应该显示新按钮:
文章图片
注意 【如何使用TinyMCE和Prism.js添加代码段】此插件可从TinyMCE的4.3版本开始使用。因此, 它处于” 测试阶段” , 存在多个错误和修改, 但是大多数错误和修改很快就得到解决, 例如, 你不能加载超过10种语言来突出显示。
如你所知, Prism.js鼓励良好的作者做法。其他突出显示符号鼓励甚至强迫你使用语义上错误的元素, 例如< pre> (单独)或< script> 。 Prism会强制你使用正确的元素来标记代码:< code> 。单独用于内联代码, 或在< pre> 内部用于代码块。另外, 通过HTML5草案中推荐的方式定义语言:通过language-xxxx类。使用TinyMCE, 可以通过代码输入对话框中显示的选择元素来设置该语言。你可以通过设置codesample_languages属性在初始化时添加新语言:
tinymce.init({selector: 'textarea', plugins: 'codesample', codesample_languages: [{text: 'HTML/XML', value: 'markup'}, {text: 'JavaScript', value: 'javascript'}, {text: 'CSS', value: 'css'}, {text: 'PHP', value: 'php'}, {text: 'Ruby', value: 'ruby'}, {text: 'Python', value: 'python'}, {text: 'Java', value: 'java'}, {text: 'C', value: 'c'}, {text: 'C#', value: 'csharp'}, {text: 'C++', value: 'cpp'}], toolbar: 'codesample'});
现在, 如果单击TinyMCE中的codesample按钮, 则应该看到代码输入对话框:
文章图片
生成的HTML的所有不安全字符(例如内部的HTML片段)将自动转义为其html符号, 因此TinyMCE生成的带有html片段的HTML应该如下所示:
<
p>
Span tag in HTML:<
/p>
<
pre class="language-html">
<
code>
&
lt;
span&
gt;
Hello World&
lt;
/span&
gt;
<
/code>
<
/pre>
<
p>
Hello World !<
/p>
和用户界面:
文章图片
定制棱镜风格 默认情况下, TinyMCE使用插件默认包含的默认棱镜主题。通过在初始化时使用Prism.css的自定义CSS文件的路径自定义codesample_content_css选项, 你可以使用自己的主题, 例如Our Code World片段突出显示(Okaidia):
tinymce.init({selector: 'textarea', plugins: 'codesample', codesample_languages: [{text: 'HTML/XML', value: 'markup'}, {text: 'JavaScript', value: 'javascript'}, {text: 'CSS', value: 'css'}, {text: 'PHP', value: 'php'}, {text: 'Ruby', value: 'ruby'}, {text: 'Python', value: 'python'}, {text: 'Java', value: 'java'}, {text: 'C', value: 'c'}, {text: 'C#', value: 'csharp'}, {text: 'C++', value: 'cpp'}], toolbar: 'codesample', // Custom CSS filecodesample_content_css: "http://ourcodeworld.com/material/css/prism.css", });
结果是:
文章图片
更改代码输入尺寸 你可以通过更改codesample_dialog_width和codesample_dialog_height来更改输入代码的对话框的尺寸:
tinymce.init({selector: 'textarea', plugins: 'codesample', codesample_languages: [{text: 'HTML/XML', value: 'markup'}, {text: 'JavaScript', value: 'javascript'}, {text: 'CSS', value: 'css'}, {text: 'PHP', value: 'php'}, {text: 'Ruby', value: 'ruby'}, {text: 'Python', value: 'python'}, {text: 'Java', value: 'java'}, {text: 'C', value: 'c'}, {text: 'C#', value: 'csharp'}, {text: 'C++', value: 'cpp'}], toolbar: 'codesample', // Custom dimensionscodesample_dialog_height: 400, codesample_dialog_width: 600});
自定义语言列表 因此, 你不必查看Prism支持的语言列表, 然后自己创建带有语言标识符和名称的对象, 我们为你提供Prism.js支持的所有语言列表, 可在TinyMCE的codesample_languages属性中使用:
tinymce.init({selector: 'textarea', plugins: 'codesample', toolbar: 'codesample', codesample_languages: [{text:'HTML/XML', value:'markup'}, {text:"XML", value:"xml"}, {text:"HTML", value:"html"}, {text:"mathml", value:"mathml"}, {text:"SVG", value:"svg"}, {text:"CSS", value:"css"}, {text:"Clike", value:"clike"}, {text:"Javascript", value:"javascript"}, {text:"ActionScript", value:"actionscript"}, {text:"apacheconf", value:"apacheconf"}, {text:"apl", value:"apl"}, {text:"applescript", value:"applescript"}, {text:"asciidoc", value:"asciidoc"}, {text:"aspnet", value:"aspnet"}, {text:"autoit", value:"autoit"}, {text:"autohotkey", value:"autohotkey"}, {text:"bash", value:"bash"}, {text:"basic", value:"basic"}, {text:"batch", value:"batch"}, {text:"c", value:"c"}, {text:"brainfuck", value:"brainfuck"}, {text:"bro", value:"bro"}, {text:"bison", value:"bison"}, {text:"C#", value:"csharp"}, {text:"C++", value:"cpp"}, {text:"CoffeeScript", value:"coffeescript"}, {text:"ruby", value:"ruby"}, {text:"d", value:"d"}, {text:"dart", value:"dart"}, {text:"diff", value:"diff"}, {text:"docker", value:"docker"}, {text:"eiffel", value:"eiffel"}, {text:"elixir", value:"elixir"}, {text:"erlang", value:"erlang"}, {text:"fsharp", value:"fsharp"}, {text:"fortran", value:"fortran"}, {text:"git", value:"git"}, {text:"glsl", value:"glsl"}, {text:"go", value:"go"}, {text:"groovy", value:"groovy"}, {text:"haml", value:"haml"}, {text:"handlebars", value:"handlebars"}, {text:"haskell", value:"haskell"}, {text:"haxe", value:"haxe"}, {text:"http", value:"http"}, {text:"icon", value:"icon"}, {text:"inform7", value:"inform7"}, {text:"ini", value:"ini"}, {text:"j", value:"j"}, {text:"jade", value:"jade"}, {text:"java", value:"java"}, {text:"JSON", value:"json"}, {text:"jsonp", value:"jsonp"}, {text:"julia", value:"julia"}, {text:"keyman", value:"keyman"}, {text:"kotlin", value:"kotlin"}, {text:"latex", value:"latex"}, {text:"less", value:"less"}, {text:"lolcode", value:"lolcode"}, {text:"lua", value:"lua"}, {text:"makefile", value:"makefile"}, {text:"markdown", value:"markdown"}, {text:"matlab", value:"matlab"}, {text:"mel", value:"mel"}, {text:"mizar", value:"mizar"}, {text:"monkey", value:"monkey"}, {text:"nasm", value:"nasm"}, {text:"nginx", value:"nginx"}, {text:"nim", value:"nim"}, {text:"nix", value:"nix"}, {text:"nsis", value:"nsis"}, {text:"objectivec", value:"objectivec"}, {text:"ocaml", value:"ocaml"}, {text:"oz", value:"oz"}, {text:"parigp", value:"parigp"}, {text:"parser", value:"parser"}, {text:"pascal", value:"pascal"}, {text:"perl", value:"perl"}, {text:"PHP", value:"php"}, {text:"processing", value:"processing"}, {text:"prolog", value:"prolog"}, {text:"protobuf", value:"protobuf"}, {text:"puppet", value:"puppet"}, {text:"pure", value:"pure"}, {text:"python", value:"python"}, {text:"q", value:"q"}, {text:"qore", value:"qore"}, {text:"r", value:"r"}, {text:"jsx", value:"jsx"}, {text:"rest", value:"rest"}, {text:"rip", value:"rip"}, {text:"roboconf", value:"roboconf"}, {text:"crystal", value:"crystal"}, {text:"rust", value:"rust"}, {text:"sas", value:"sas"}, {text:"sass", value:"sass"}, {text:"scss", value:"scss"}, {text:"scala", value:"scala"}, {text:"scheme", value:"scheme"}, {text:"smalltalk", value:"smalltalk"}, {text:"smarty", value:"smarty"}, {text:"SQL", value:"sql"}, {text:"stylus", value:"stylus"}, {text:"swift", value:"swift"}, {text:"tcl", value:"tcl"}, {text:"textile", value:"textile"}, {text:"twig", value:"twig"}, {text:"TypeScript", value:"typescript"}, {text:"verilog", value:"verilog"}, {text:"vhdl", value:"vhdl"}, {text:"wiki", value:"wiki"}, {text:"YAML", value:"yaml"}]});
编码愉快!
推荐阅读
- 如何使用自己的logo创建自定义加载栏
- 如何解决Xampp错误(启动Apache时,另一个应用程序(Skype)正在使用端口80)
- 如何创建与Skype交互的HTML链接(通话,聊天,查看个人资料,添加到联系人)
- HTML5 Accesskey属性(你可能不需要JavaScript即可添加键盘快捷键)
- Webpack无效的主机标头(无法从LAN访问Webpack开发服务器)
- 如何在NetBeans中轻松地将文件路径和目录路径复制到剪贴板
- Android EditText android(文字无效)
- 布局问题Android Studio [关闭]
- 以编程方式更改android布局