我在wordpress上使用Syntax-highlighter-evolved插件记录了过去几个月的一些C ++代码(或者可以是任何代码)。一切都很好。例如在帖子中正确显示C ++代码。例如以下语法将在wordpress中很好地显示C ++代码。
[code language="cpp"]
c++ codes goes here...
[/code]
最近,我开始探索在wordpress中使用mark-down并开始使用wp-markdown plugin在新帖子中写下降档。 (为了简化和易于迁移/共享/维护长期的好处)。
...然后......我意识到我所有的旧帖子(包含在Syntax-highligher-evolved语法中的代码)都已损坏!
例如,字符(如<
>
等)已转换为HTML实体(如<
>
等)。另外,我还看到将HTML标签的LOADS插入到C ++代码中。
请参阅here我wordpress网站上的示例帖子(向下滚动,您会看到一些代码块。)。它包含一些假定的C ++代码,现在看起来与C ++代码完全不同。
发现此错误之后,我尝试使用激活和取消激活插件来查看是否可以返回工作状态(即代码显示为C ++代码,而不是混合C ++ / HTML代码)。到目前为止没有运气。
(目前我同时激活了syntax-highlighter-evoled和wp-markdown插件。)
之前有没有遇到类似的问题,你是如何解决的?
非常感谢所有的帮助!
作为一种解决方法,我有(1)禁用了wp-markdown插件。 (2)保持语法 - 高亮度 - 进化激活。 (3)激活Jetpack降价插件。下面的手动解决方法步骤帮助我纠正了1个(大约100个)帖子。
看起来Jetpack markdown插件与syntax-highlighter-evolved插件更好地互补。 (根据我目前的观察结果。)
作为一项实验,我通过以下方式手动修改旧帖子:(1)关闭wordpress可视化编辑器。 (2)编辑那个老帖子。以下是new与old。
当我开始编辑旧帖子时,我注意到整个帖子在编辑器中自动转换为标记格式(这很好)。好消息是,意想不到的HTML标签现在消失了(我猜是因为我使用的是最低限度的wordpress编辑器,而不是可视化编辑器)。所以至少我可以恢复/复制整个markdown-like帖子到文本编辑器(就像我桌面上的崇高文本)。
然而,这种转换并不完美 - 我注意到了一些副产品。例如......
许多回车(即换行)消失了 - 导致多条线路被收起并且#34;合并了#34;分成一行。我不得不手动发现这些行并逐个重新格式化。 (痛苦!)
我注意到#include
之类的内容也显示为# include
(中间添加了空格)。所以我不得不手动纠正这些。对于包含#
。
要手动修改旧版(现在为半降价版)帖子,我将所有旧版语法 - 荧光笔打开标记[code language="cpp"]
删除为三个反向标记加代码扩展名```
。 CPP)。并且关闭标记[/code]
到三个反向标记(```
)。有关详细信息,请参阅Jetpack Markdown Doc和Markdown Extra Doc。
一旦使用新的Jetpack降价语法更新帖子,语法高亮度演变似乎&#34;知道&#34;关于这些新标签并自动应用c ++颜色编码。 (如果我在没有代码扩展的情况下使用三个后退,语法高亮显示仍然可以将代码包装到一个块中,只是没有颜色)。
净网。好消息是我找到了一种解决方法,使我能够升级&#34;一个接一个地,手动(以及一种恢复旧帖子的方式 - 即通过禁用wordpress可视化编辑器在代码中不再有意外的HTML标签)。缺点:这将是一个漫长的过程,因为我将不得不手动发现缺少的回车并将它们重新添加到代码块。像这样更新100个帖子需要一段时间。
意识到WP插件实际上破坏了原始博客帖子文件。因此,作为快速修复,我使用编辑器手动编辑了100个帖子,并使用更正后的版本替换了所有损坏的代码。我花了3天时间才做到,但至少已经纠正了。
我注意到Jetpack Markdown插件和/或语法Highliter Evolved尚未完善。例如甚至用开启和关闭的代码标签包装代码,仍然存在一些错误 - 例如反斜杠被剥离,小于/大于未按预期显示的符号等。
所以我创建了新帖子,我已经尝试了(Github)Gist和oEmbed Gist插件(如下面的@OllieJones所示)。到目前为止工作得很漂亮(Gist似乎按预期显示代码。时间会证明)。我有这样的感觉,我可以使用Gist将所有博客文章存储在markdown文件中,只需使用Wordpress即可显示&#34;显示&#34;这些降价文件。 (我想知道Gist是否也可用于存储图像文件?或者我需要坚持使用Wordpress存储图像文件?)。
答案 0 :(得分:3)
doggone markdown插件在加载它们进行编辑时会将HTML中的帖子转换为markdown,并在您更新它们时将其转换回来。代码遭到破坏后,我遇到了同样的问题。这是一个很大的痛苦。 (我用备份修好了。)
我的解决方案是使用gists - http://gist.github.com/ - 来显示我的代码。 oEmbed Gist plugin使得这项工作非常顺利。
答案 1 :(得分:1)
看一下Highlight.js,非常好,支持多种语言:
答案 2 :(得分:1)
对不起,我迟到了。
您可以编辑“SyntaxHighlighter”插件。
我使用了这个固定的成功。
我的Englist很糟糕,但我尽力了,希望对你有所帮助
答案 3 :(得分:0)