怎么修? Wordpress wp-markdown 插件损坏了语法高亮器进化的插件帖子?
How to fix? Wordpress wp-markdown plugin corrupted syntax-highlighter-evolved plugin posts?
过去几个月我一直在使用 Syntax-highlighter-evolved 插件在 wordpress 上记录一些 C++ 代码(或者可以是任何代码)。一切都很好。例如post 中正确显示的 C++ 代码。例如以下语法将在 wordpress 中很好地显示 C++ 代码。
[code language="cpp"]
c++ codes goes here...
[/code]
最近,我开始探索在 wordpress 中使用 mark-down,并开始使用 wp-markdown plugin 在新的 post 中编写 mark-down。 (从长远来看,为了简单和易于迁移/共享/维护的好处)。
...然后...我意识到我所有的旧 posts(代码包含在 Syntax-highligher-evolved 语法中)都已损坏!
例如,字符(如 <
>
等)被转换为 HTML 实体(如 <
>
等)。此外,我还看到 HTML 标签的负载被插入到 C++ 代码中。
在我的 wordpress 网站上查看 here 示例 post(向下滚动到您会看到一些代码块。)。它包含一些假设的 C++ 代码,现在看起来一点也不像 C++ 代码。
发现这个错误后,我尝试激活和停用插件,看看我是否可以回到工作状态(即代码显示为 C++ 代码,而不是混合 C++/HTML代码)。到目前为止没有运气。
(目前我同时激活了 syntax-highlighter-evoled 和 wp-markdown 插件)。
有没有人遇到过类似的问题,你是如何解决的?
非常感谢大家的帮助!
更新(2015 年 3 月 2 日,星期一):
作为解决方法,我 (1) 禁用了 wp-markdown 插件。 (2) 保持 syntax-highlighter-evolved 处于激活状态。 (3) 激活 Jetpack markdown 插件。下面的手动解决方法步骤帮助我纠正了 1 个(大约 100 个)posts.
看起来 Jetpack markdown 插件与 syntax-highlighter-evolved 插件相得益彰。 (根据我目前的观察。)
作为实验,我通过 (1) 关闭 wordpress 可视化编辑器手动修改了一个旧的 post。 (2) 编辑那个旧的post。这里是 new vs old.
当我开始编辑旧的 post 时,我注意到整个 post 在编辑器中自动转换为降价格式(这很好)。好消息是,意外的 HTML 标签现在已经消失了(我想是因为我使用的是最低限度的 wordpress 编辑器,而不是可视化编辑器)。所以至少我可以恢复/复制整个 markdown-like post 到文本编辑器(就像我桌面上的 sublime text)。
但是这种转换并不完美 - 我注意到了一些副产品。比如...
大量 return(即新行)消失了 - 导致多行 "merged" 变成一行。我不得不手动找到这些行并逐行重新格式化。 (痛!)
我还注意到像 #include
这样的东西显示为 # include
(在中间添加了 space)。所以我不得不手动更正那些。对于其他一些包含 #
.
的实体也是如此
为了手动编辑旧的(现在是半降价)post,我删除了所有旧的语法高亮打开标记 [code language="cpp"]
到三个反引号加上代码扩展名(```
.cpp)。并且关闭标记 [/code]
为三个反引号 (```
)。有关详细信息,请参阅 Jetpack Markdown Doc and Markdown Extra Doc。
使用新的 Jetpack markdown 语法更新 post 后,syntax-highlighter-evolved 似乎 "know" 这些新标签并自动对其应用 c++ 颜色编码。 (如果我在没有代码扩展的情况下使用三个反引号,语法高亮器仍然可以将代码包装到一个块中,只是没有颜色)。
净净。好消息是,我找到了一种解决方法,可以让我逐个手动 "upgrade" post(以及恢复旧 post 的方法 - 即不再通过禁用 wordpress 可视化编辑器在代码中出现意外的 HTML 标签)。缺点:这将是一个漫长的过程,因为我必须手动找到丢失的回车符-return 并将它们重新添加到代码块中。像这样更新 100 posts 需要……一些时间。
更新(2015 年 3 月 7 日)
意识到 WP 插件实际上损坏了原始博客 post 文件。因此,作为快速修复,我使用编辑器手动编辑了 100 posts,并用更正后的版本替换了所有损坏的代码。花了我 3 天的时间才完成,但至少改正了。
我注意到 Jetpack Markdown 插件 and/or Syntax Highliter Evolved 还没有完善。例如即使用开始和结束代码标签包装代码,仍然存在一些错误 - 例如反斜杠被剥离,小于/大于符号未按预期显示等。
所以我为了创建新的 posts,我已经尝试了 (Github) Gist 与 oEmbed Gist 插件的结合(正如下面@OllieJones 所建议的)。到目前为止效果很好(Gist 似乎按预期显示代码。时间会证明一切)。我有这种感觉,未来我可以使用 Gist 将我所有的博客 post 存储在 markdown 文件中,并且只需使用 Wordpress 来 "display" 这些 markdown 文件。 (不知道Gist是否也可以用来存储图片文件?还是需要坚持使用Wordpress来存储图片文件?)
doggone markdown 插件在加载帖子进行编辑时将帖子从 HTML 翻译成 markdown,并在您更新它们时将它们翻译回来。我遇到了代码被破坏的同样问题。这是一个很大的痛苦。 (我用备份修复了它。)
我的解决方案是使用 gists —— 在 http://gist.github.com/ -- to display my code. The oEmbed Gist plugin 上非常有效。
抱歉我来晚了。
您可以编辑 "SyntaxHighlighter" 插件。
- 打开"SyntaxHighlighter"插件,编辑
- wordpress 将打开 syntaxhighlighter.php
- 搜索并删除所有 "htmlspecialchars" 和 "htmlspecialchars_decode" 字符串。(也许您需要备份它)
- 保存
我用这个固定成功了
我的英语不好,但我尽力了,希望对你有所帮助
过去几个月我一直在使用 Syntax-highlighter-evolved 插件在 wordpress 上记录一些 C++ 代码(或者可以是任何代码)。一切都很好。例如post 中正确显示的 C++ 代码。例如以下语法将在 wordpress 中很好地显示 C++ 代码。
[code language="cpp"]
c++ codes goes here...
[/code]
最近,我开始探索在 wordpress 中使用 mark-down,并开始使用 wp-markdown plugin 在新的 post 中编写 mark-down。 (从长远来看,为了简单和易于迁移/共享/维护的好处)。
...然后...我意识到我所有的旧 posts(代码包含在 Syntax-highligher-evolved 语法中)都已损坏!
例如,字符(如 <
>
等)被转换为 HTML 实体(如 <
>
等)。此外,我还看到 HTML 标签的负载被插入到 C++ 代码中。
在我的 wordpress 网站上查看 here 示例 post(向下滚动到您会看到一些代码块。)。它包含一些假设的 C++ 代码,现在看起来一点也不像 C++ 代码。
发现这个错误后,我尝试激活和停用插件,看看我是否可以回到工作状态(即代码显示为 C++ 代码,而不是混合 C++/HTML代码)。到目前为止没有运气。
(目前我同时激活了 syntax-highlighter-evoled 和 wp-markdown 插件)。
有没有人遇到过类似的问题,你是如何解决的?
非常感谢大家的帮助!
更新(2015 年 3 月 2 日,星期一):
作为解决方法,我 (1) 禁用了 wp-markdown 插件。 (2) 保持 syntax-highlighter-evolved 处于激活状态。 (3) 激活 Jetpack markdown 插件。下面的手动解决方法步骤帮助我纠正了 1 个(大约 100 个)posts.
看起来 Jetpack markdown 插件与 syntax-highlighter-evolved 插件相得益彰。 (根据我目前的观察。)
作为实验,我通过 (1) 关闭 wordpress 可视化编辑器手动修改了一个旧的 post。 (2) 编辑那个旧的post。这里是 new vs old.
当我开始编辑旧的 post 时,我注意到整个 post 在编辑器中自动转换为降价格式(这很好)。好消息是,意外的 HTML 标签现在已经消失了(我想是因为我使用的是最低限度的 wordpress 编辑器,而不是可视化编辑器)。所以至少我可以恢复/复制整个 markdown-like post 到文本编辑器(就像我桌面上的 sublime text)。
但是这种转换并不完美 - 我注意到了一些副产品。比如...
大量 return(即新行)消失了 - 导致多行 "merged" 变成一行。我不得不手动找到这些行并逐行重新格式化。 (痛!)
我还注意到像
#include
这样的东西显示为# include
(在中间添加了 space)。所以我不得不手动更正那些。对于其他一些包含#
. 的实体也是如此
为了手动编辑旧的(现在是半降价)post,我删除了所有旧的语法高亮打开标记
[code language="cpp"]
到三个反引号加上代码扩展名(```
.cpp)。并且关闭标记[/code]
为三个反引号 (```
)。有关详细信息,请参阅 Jetpack Markdown Doc and Markdown Extra Doc。使用新的 Jetpack markdown 语法更新 post 后,syntax-highlighter-evolved 似乎 "know" 这些新标签并自动对其应用 c++ 颜色编码。 (如果我在没有代码扩展的情况下使用三个反引号,语法高亮器仍然可以将代码包装到一个块中,只是没有颜色)。
净净。好消息是,我找到了一种解决方法,可以让我逐个手动 "upgrade" post(以及恢复旧 post 的方法 - 即不再通过禁用 wordpress 可视化编辑器在代码中出现意外的 HTML 标签)。缺点:这将是一个漫长的过程,因为我必须手动找到丢失的回车符-return 并将它们重新添加到代码块中。像这样更新 100 posts 需要……一些时间。
更新(2015 年 3 月 7 日)
意识到 WP 插件实际上损坏了原始博客 post 文件。因此,作为快速修复,我使用编辑器手动编辑了 100 posts,并用更正后的版本替换了所有损坏的代码。花了我 3 天的时间才完成,但至少改正了。
我注意到 Jetpack Markdown 插件 and/or Syntax Highliter Evolved 还没有完善。例如即使用开始和结束代码标签包装代码,仍然存在一些错误 - 例如反斜杠被剥离,小于/大于符号未按预期显示等。
所以我为了创建新的 posts,我已经尝试了 (Github) Gist 与 oEmbed Gist 插件的结合(正如下面@OllieJones 所建议的)。到目前为止效果很好(Gist 似乎按预期显示代码。时间会证明一切)。我有这种感觉,未来我可以使用 Gist 将我所有的博客 post 存储在 markdown 文件中,并且只需使用 Wordpress 来 "display" 这些 markdown 文件。 (不知道Gist是否也可以用来存储图片文件?还是需要坚持使用Wordpress来存储图片文件?)
doggone markdown 插件在加载帖子进行编辑时将帖子从 HTML 翻译成 markdown,并在您更新它们时将它们翻译回来。我遇到了代码被破坏的同样问题。这是一个很大的痛苦。 (我用备份修复了它。)
我的解决方案是使用 gists —— 在 http://gist.github.com/ -- to display my code. The oEmbed Gist plugin 上非常有效。
抱歉我来晚了。
您可以编辑 "SyntaxHighlighter" 插件。
- 打开"SyntaxHighlighter"插件,编辑
- wordpress 将打开 syntaxhighlighter.php
- 搜索并删除所有 "htmlspecialchars" 和 "htmlspecialchars_decode" 字符串。(也许您需要备份它)
- 保存
我用这个固定成功了
我的英语不好,但我尽力了,希望对你有所帮助