HexoからOctopressに記事ソースを変換するrubyスクリプト「Hexo to Octopress Converter」を試してみた。

「Download ZIP」からzipファイルをダウンロードし展開。converterファイルを作業したい場所に移し、端末から操作。

$ ./converter <hexo_posts_dir> <octopress_posts_dir>

で変換出来る。
<octopress_posts_dir>は適当に作ったフォルダでも可。

変換が終了すると、ファイル名に日付けが付加されたものがOctopressのフォルダに出力される。(拡張子は.mdのまま。)
出力されたファイルのFront Matter部分はtags:categories:に変換されており、また上部の---およびlayout: postcomments: trueが追加される。

だが、Octopressのソースを「hexo-migrator-octopress」などでHexoに取り込んでいた場合は、Front Matter上部に既に---
ついている。
この状態からだとtags:categories:に変換されないので、上部の---を消しておく必要がある。

またtitle:の項目で記事タイトルが「”」で挟まれていると、さらに「”」で挟まれtitle: ""(記事タイトル)""のようになってしまう。
これではOctopressでgenerateする際エラーになってしまうので、これも削除し、

title:
date:
tags:
---

のような形にしておく必要がある。
Octopress→Hexo移行のプラグイン「hexo-migrator-octopress」を試してみた

なお、変換出力されるのは拡張子が.mdのものだけで、.markdownのもの(Octopressのソースをコピペで取り込んだような場合)は変換出力されず無視される。

変換後のファイル名には日付けが付加されるので、Hexoの運用をOctopress式に日付けをつけたファイル名で行っている場合は、日付けが2重になってしまう。

この場合はconverterファイルをエディタで開き、41行目

file_name = “#{prefix}-#{base_name}”

#{prefix}-を削除し、

file_name = “#{base_name}”

にしておくと、日付けが付加されない。

それから、Hexoは漢字、ひらがな含め日本語のURLやtagsを使用可能だが、Octopressはデフォルトの状態では日本語を使用できない。
HexoからOctopressに移行する際には、この点も注意が必要。

ーー
HexoもOctopressも、共にmarkdown形式のファイルをhtmlに変換するという点では同じなのだが、細かいところが微妙に違っていて少し不便。
記事ソースの形式くらいは合わせられなかったものだろうか。

表示   このエントリーをはてなブックマークに追加

Comments

2014年11月25日