解决 Ghost 博文内嵌 JS 代码中全等号 === 引起的错误

在 Ghost 中编辑文章,如果用到如下内嵌 js 脚本: <script> var num = 0; if(num === 0) { console.log(num) }else if(num === 1){ alert(num) } </script> 我们当然是希望他按规矩打印出 num。但 Ghost 在将编辑器中内容转成 html 时上面 js 被干扰成这个鬼东西,还会引起报错。 <script> var num = 0;

另一种Ghost添加代码高亮方式

前面介绍了用Prism给Ghost添加代码高亮,prism.js代码高亮的原理是用JS分析页面html源码,找到代码片段后通过class类识别出语言,然后根据语法在代码片段中插入标签,结合引用的CSS样式实现高亮。这种方案操作起来简单粗暴,在页面挂上css和js文件就可实现高亮。代码高亮对网站来说不是刚需,仅仅为了实现这个功能就外挂两个引用文件不划算。 我们在Ghost后台用Markdown书写内容,然后Ghost将markdown转为html。如果在markdown转为html这个过程中调用prism.js处理代码片段,那生成页面只需有CSS样式就可实现高亮,不用引用JS文件。 下面以本站为例,记录实现过程。 准备Prism 在服务器上进入Ghost安装目录,安装prism cd /srv/www/denpe.com npm install prismjs 安装成功后node_modules文件夹下会出现prismjs目录。理论上这样安装完事就可以支持所有语言代码高亮,我对node不熟,没折腾出来,默认只支持几个语言。好在可以从Prism官网下载支持所有语言的JS文件(200K左右),用他替换/srv/www/

修改Ghost的Markdown为新窗口打开链接

Ghost 用 Markdown 写文章,Markdown 是利用标点符号和特殊字符标记特殊语法,用于格式化内容。Ghost 所支持的 Markdown 语法混合了标准 Markdown 语法和 GitHub 扩充的语法,默认语法中创建的链接总是会在当前窗口打开。个人不是很喜欢这一点,每次写文章时都是手动使用<a href="***" target="_blank"></a>创建链接,比快捷键慢太多。所以尝试修改 Ghost 的 Markdown让其默认在新窗口打开文章内链接。 相关文件是/srv/www/denpe.com/node_modules/