ReST ファイル変換¶
Tinkerer と Ablog はともに Sphinx の拡張であるが、 それぞれ独自のディレクティブを使用しているため、 Tinkerer で作成した ReST ファイルを Ablog に流用するには 変換作業が必要になる。
具体的には、Tinkerer は
.. author::
.. categories::
.. tags::
.. comments::
Ablog は
.. post::
:tags:
:category:
Tinkerer では投稿の日付は ReST ファイルのファイルパスから取得できる。 それを考慮して作ったのが以下のスクリプトである。 夜中に書いたのであまりエレガントではない。
#!/bin/sh
#
# ReST converter from Tinkerer to Ablog
#
# Usage:
# tinkerer2ablog.sh YYYY/MM/DD/filename.rst
# ls */*/*/*.rst | xargs -n 1 tinkerer2ablog.sh
filepath=$1
filepath=`dirname ${filepath}`
dd=`basename ${filepath}`
filepath=`dirname ${filepath}`
mm=`basename ${filepath}`
filepath=`dirname ${filepath}`
yyyy=`basename ${filepath}`
datestring="${yyyy}-${mm}-${dd}"
sed -e "s/^\.\. author::.*$/.. post:: ${datestring}/" \
-e "s/^\.\. categories:/ :category/" \
-e "s/^\.\. tags:/ :tags/" \
-e "s/^\.\. comments:.*$//" \
-i '.orig' $1
2024年の日本で、このようなスクリプトを必要とする人間は わたし以外にはおるまい、という深い確信がある。
前の投稿:
Ablog のバグ
次の投稿:
Ablog のバグ(2)