Sep 20, 2016

WordPress 掉坑记录

忍无可忍,长期更新。

(其实我很想自己重新做一个 blog,但是太麻烦,也没什么实践价值了,无非 CRUD,而且维护起来很容易忽略 blog 本身的目的所在)

关于代码高亮

本站目前(截至 09/20/2016)使用的是 Crayon 插件,这个插件配合 TinyMCE Advanced 简直神了,用户的数据对它们来说都不是什么东西,反正就随着各自的意愿来搞。其实这样还好,关键是,他俩意愿不一致。这 TM 就很尴尬了。以至于我很多文章,编辑再保存以后,格式出现各式各样的问题。

最终解决方案:

  1. 禁用 TinyMCE Advanced 的 keep p & br 功能;
  2. 禁用 Crayon 的所有其它扫描功能,只保留 pre 扫描,即只保留块级代码高亮,同时禁用移除 code 标签的相关功能;
  3. 关于行内代码的解决继续看下面。

那么行内代码怎么办呢。这个 Crayon 太奇葩,如果用它自带的工具插入行内标签(原始是 span),会被它自己扫描出来认为是过时标签,然后强行转为 pre,关键是这一转它自己认得倒还好,然而 TinyMCE 不认为它仍然是行内元素,强行给它换行,套 p 元素。

然后文章的格式就完了,而且是全完。

所以,解决办法是,不要使用 Crayon 的行内模式,也不要让它扫描行内代码,直接使用 code 标签,然后去改 style,改得跟块级代码差不多就行了。

注:写完这些我就把 Crayon 这插件给删了。一个乱搞用户数据库,而且不用标准标签的东西,不要也罢。就直接用 codepre,还方便以后向其它平台转移。