解决 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/

10分钟让Ghost博客全站免费用上HTTPS

Let's Encrypt 是一个于2015年末推出的数字证书认证机构,为网站提供免费的SSL/TLS证书。LET’S ENCRYPT现已全面进入公测阶段,任何人都可以免费申请。 本文在Debian下测试有效,理论上也支持Ubuntu。 获取证书 连接服务器,输入以下命令 apt-get install git git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto certonly --server https://acme-v01.api.letsencrypt.org/directory --agree-dev-preview 以上命令执行完毕后会依次要求输入Email地址,同意协议,输入域名(多个域名用空格隔开)

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

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

配置Nginx提高Ghost性能

前面文章详细介绍了在debian上安装ghost。本文介绍如何配置nginx提高ghost性能。 使用UNIX Domain Socket代替IP加端口 这一段是从网上摘抄,据说对性能提升有很大帮助。原帖请看这里 configure unix socket instead of host & port. 首先编辑Ghost的config.js文件。将第24行附近的server server: { host: '127.0.0.1', port: '2368' } 替换成下面内容,注意根据自己的ghost安装目录更改路径。 server: { socket: { path: '/srv/www/denpe.com/socket.sock', permissions: