Wordpres和Ghost博客互转
前两天将自己的博客由wordpress转为ghost,google的过程是痛苦的,因为要验证是否可行,参考了很多文章1,最后搞定了。
一、Wordpress转Ghost
1、文章
在Wordpress安装Ghost导出插件,安装后,启用该插件,从‘工具’-‘Export to Ghost’导出文章内容。
注意:这里仅能导出文章(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文件里面的附件路径。
1
sed -i .bak -e 's|wp-content\\/images|content\\/images|g' wp2ghost_export_1418184250.json
4、导入
之后将我们编辑过的json文件打包为zip文
1
zip wp2ghost.zip wp2ghost_export_1418184250.json
进入Ghost后台的Labs菜单,点击Import
下的choose file
,选择zip压缩文件,然后import
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
16
17
18
19
20
<div id="disqus_thread"></div>
<script>
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
var disqus_config = function () {
this.page.url = '{{url absolute="true"}}';
this.page.identifier = 'ghost-{{id}}';
};
(function() { // DON'T EDIT BELOW THIS LINE
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>
之前增加如下代码
1
<script id="dsq-count-scr" src="//你的disqus网站名.disqus.com/count.js" async></script>
编辑ghost/content/themes/casper/partials/loop.hbs
文件,在</footer>
之前添加如下代码
1
(<a href="#disqus_thread">Comments</a>)
修改好后,重启你的Ghost!否则,无法生效,看不到效果。
注解:
- post.hbs添加的代码,是在文章页显示评论界面。
- default.hbs添加的代码,是展示评论数的js文件。
- loop.hbs添加的代码,是为了在首页展示评论数。
二、Ghost转Wordpress
1、导出JSON
点击Labs
菜单,点击 Export
按钮,导出json文件。
2、导入wordpress
下载ghost2wp
这个python脚本,经我验证,文章可以完整导入。这个脚本它是解析json文件后,使用XML-RPC协议将所有文章和页面导入wordpress,个人觉得还是挺完美的,貌似无法导入tags,因为我用我的博客实验的,导入后没有tags。它使用了python-wordpress-xmlrpc
这个模块,要求版本必须大于等于2.3。
1
git https://github.com/jbfriedrich/ghost2wp.git
然后将json文件放到和ghost2wp.py同级的目录,之后运行ghost2wp.py文件
1
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的范畴。
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 进行授权