解析标记为HTML并突出显示代码语法
Parse markdown to HTML and highlight code syntax
我下载了一个Markdown JS库,但我不知道它是否支持语法高亮显示,或者他支持的两种方言(gruber/maruku)中的任何一种,因为这是我第一次尝试在我的网页中添加Markdown支持。所以,我想知道如何集成语法高亮(如Alex Gorbatchev的JS库)来标记。
欢迎使用其他库。基本上,我的Markdown片段在.md
文件中以这种方式加载:
<div class="markdown-f">
<?= file_get_contents("file.md"); ?>
</div>
,它包含代码片段以及常见的Markdown文本。我需要一个JS库能够做这样的事情:
<script>
$('.markdown-f').each(function() {
var contents = $(this).text();
$(this).empty();
contents = markdown.toHTML(contents);
$(this).text(contents);
});
</script>
带有方言的或任何其他支持语法高亮显示的技巧(例如手动指定目标语言)。
我已经在我的网站上使用了markdown解析器来显示我创建的repos的README文件。它在<pre><code> code goes here </code></pre>
它不使用高亮显示,但是您可以在调用
之后使用您提到的其他库:$("code").addClass("brush: js") // assuming you want to highlight javascript
最后我使用了highlightjs
@A。OzanEkici解决方案有(小)的缺点,我失去了我的文本编辑器的markdown高亮显示(emacs的markdown-mode
),因为<pre>
标签内的内容必须是反缩进的,在渲染页面中看不到缩进,@JaredBeach也不起作用,因为Alex Gorbatchev的库只工作在<pre>
标签上,而不是在<pre><code>
标签上,这是由markdown语法取代的。
所以,我的解决方案很简单:
<script>
$('.markdown-f').each(function(){
$(this).html(markdown.toHTML($(this).text()));
});
hljs.initHighlightingOnLoad();
</script>
这样做的好处是语言是自动检测的。
我使用Alex Gorbatchev的JS库来做这个,它工作得很好。
首先你应该创建一个<pre>
元素,像这样;
<pre class="brush: __yourFileType__"> + data + </pre>
data
是指你的contents
, __yourFileType__
可以是其中之一。
示例:class="brush: xml" , class="brush: txt"
之后你只需简单地调用它;
SyntaxHighlighter.highlight();
- 从桌面读取python文件时高亮显示代码
- I'我试图在网页中添加一个javascript小片段,但它只是在页面上显示代码
- 扰流板显示代码
- 如何在AngularJS应用程序中显示代码块
- 使用 JavaScript 突出显示代码示例中的语法
- HTML 在服务器上运行时在 jQuery 中显示代码而不是字符
- 以编程方式显示代码中的弹出是否弹出
- 谷歌地图API:显示代码中的鼠标悬停窗口
- 悬停并显示代码
- JavaScript显示代码而不是运行
- 如何使用ACE编辑器突出显示代码
- 在CKEditor上显示代码,删除abbr标签
- 解析标记为HTML并突出显示代码语法
- 托管JS文件而不显示代码
- 如何在带有“节”的输出中显示代码编辑器HTML;页面滚动从html
- 我的javascript显示代码有个奇怪的bug
- 为什么JavaScript警告消息不工作?无法显示代码错误
- Jquery beautyofCode显示代码行从一个字符串
- 如何让用户张贴代码片段使用反引号和显示代码使用谷歌代码预置
- Chrome扩展:注入Javascript显示代码,而不是输出