文章

Wordpres和Ghost博客互转

Wordpres和Ghost博客互转

前两天将自己的博客由wordpress转为ghost,google的过程是痛苦的,因为要验证是否可行,参考了很多文章1,最后搞定了。

一、Wordpress转Ghost

1、文章

在Wordpress安装Ghost导出插件,安装后,启用该插件,从‘工具’-‘Export to Ghost’导出文章内容。

1

注意:这里仅能导出文章(post)和独立页面(page),无法导出分类,所以必须要先将分类转为tags。

点击Download Ghost File,导出ghost能够导入的json文件。

2、评论

因为Ghost没有评论系统,所以需要使用第三方评论系统,比如,disqus ,网易云跟帖。这里我们以disqus为例。

首先,注册disqus账号。其次,增加一个disqus站点,添加你的域名,之后,在wordpress安装disqus插件,以你的disqus账号登陆成功后,有一个Import and Export设置项目,点击Export comments to Disqus后面的Export Comments,这样就把wordpress中的评论全部导出到disqus了。

3、文件

将主机wordpress/wp-content/uploads目录下面的所有文件复制到ghost/content/imges目录。然后修改你导出的JSON文件里面的附件路径。

sed -i .bak -e 's|wp-content\\/images|content\\/images|g' wp2ghost_export_1418184250.json

4、导入

之后将我们编辑过的json文件打包为zip文

zip wp2ghost.zip wp2ghost_export_1418184250.json

进入Ghost后台的Labs菜单,点击Import下的choose file,选择zip压缩文件,然后import

2

5、给Ghost增加disqus评论系统

编辑ghost/content/theme/casper/post.hbs文件,在</footer></article>之间添加如下代码

>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{% <div id="disqus_thread"></div> %}
{% <script> %}
{% var disqus_config = function () { %}
{%     this.page.url = '{{url absolute="true"}}';  %}
{%     this.page.identifier = 'ghost-{{id}}';  %}
{% };  %}
{%  %}
{% (function() { %}
{% var d = document, s = d.createElement('script');  %}
{% s.src = 'https://你的disqus网站名.disqus.com/embed.js';  %}
{% s.setAttribute('data-timestamp', +new Date());  %}
{% (d.head || d.body).appendChild(s);  %}
{% })();  %}
{% </script>  %}
{% <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> %}

注意:代码中你的disqus网站名,这个填你自己的网站名。

编辑ghost/content/themes/casper/default.hbs文件,在</body>之前增加如下代码

<script id="dsq-count-scr" src="//你的disqus网站名.disqus.com/count.js" async></script>

编辑ghost/content/themes/casper/partials/loop.hbs文件,在</footer>之前添加如下代码

(<a href="#disqus_thread">Comments</a>)

修改好后,重启你的Ghost!否则,无法生效,看不到效果。

注解:

  1. post.hbs添加的代码,是在文章页显示评论界面。
  2. default.hbs添加的代码,是展示评论数的js文件。
  3. loop.hbs添加的代码,是为了在首页展示评论数。

二、Ghost转Wordpress

1、导出JSON

点击Labs菜单,点击 Export 按钮,导出json文件。

2、导入wordpress

下载ghost2wp这个python脚本,经我验证,文章可以完整导入。这个脚本它是解析json文件后,使用XML-RPC协议将所有文章和页面导入wordpress,个人觉得还是挺完美的,貌似无法导入tags,因为我用我的博客实验的,导入后没有tags。它使用了python-wordpress-xmlrpc这个模块,要求版本必须大于等于2.3。

git https://github.com/jbfriedrich/ghost2wp.git

然后将json文件放到和ghost2wp.py同级的目录,之后运行ghost2wp.py文件

python ghost2wp.py -e http://example.com/xmlrpc.php -f xxx.json -u WP用户名 -p 'WP密码'

三、其他

其实ghost还可以导出为markdown文件,然后使用在其他的静态类博客程序中。比如,ghost2hexo,这是我也试验了,确实可以将所有文章,用slug作为文件名,导出为markdown文件。ghost博客还是挺好使的,和其他的php博客相比,资源占用小,目标明确,就是一个单纯的blog程序,像wordpress,就不应该属于blog程序了,因为太庞大,应该定义到CMS的范畴。

  1. https://www.ghostforbeginners.com/migrating-your-wordpress-blog-to-ghost/ https://help.ghost.org/hc/en-us/articles/225093168-Migrating-From-WordPress-to-Ghost ↩︎

本文由作者按照 CC BY 4.0 进行授权

© Stanley. 保留部分权利。

本站采用 Jekyll 主题 Chirpy