LoginSignup
4
4

More than 5 years have passed since last update.

Mac(Yosemite)にpandocを使ってorg-modeをpukiwiki記法に変換

Last updated at Posted at 2015-02-16

結論

変換は出来たけど、あまり使えなかった。

理由

  • Pandocがpukiwikiに対応していなかった。
  • markdown to pukiwiki の変換を見つけたけど org to markdownが希望の変換してくれなかった。

(先に気がつけよ・・・・・・・pandocのドキュメントを翻訳してくれている人もいるのに)


本編

仕事関連のメモはorg、昇格するとClosedなPukiWiki。
公開可能な個人メモはmarkdown、昇格するとQiita。

ってやっていこうかと思うので、各種ドキュメントを相互変換出来るようにPandocを使ってみる。

ざっくり

  • pandocよさ気
  • でも、org to pukiwiki は直接出来ない
  • markdown to pukiwiki の gem 発見
  • org to markdown to pukiwiki でやる
  • 早速使って見たら微妙。。。

ツールのインストール

PandocはHaskellで作られているのでHaskell環境が必要。

Pandocはbrewでもインストール出来るけど、現在ではbrewの方がVersionが低い。
なので、以下の手順でpandocをイントールする。

  1. Haskellをインストール
  2. Haskellのパッケージマネージャ(cabal)を使ってpandocをインストール

Haskell(cabal)のインストール

Haskellのパッケージマネージャ cabal を以下のコマンドで入れる。

brew install ghc cabal-install

数分程度かかるけど、ボトルネックはネットワーク環境っぽい。

cabalのインストール方法を調べていると、以下のコマンドも出てくる。
でもすでにパッケージ化していないようでエラーになる。

$ brew install ghc haskell-platform
Error: No available formula for haskell-platform
We no longer package haskell-platform. Consider installing ghc
and cabal-install instead:
  brew install ghc cabal-install

A binary installer is available:
  https://www.haskell.org/platform/mac.html

意訳すれば、

すでに時代遅れの(no longer)"haskell-platform"はパッケージ化してないよ。
代わりに(insted) "brew install ghc cabal-install"使ってね。
ってことらしい。

Pandocのインストール

準備が出来たので、cabalをupdateしてpandocをインストール

cabal update
cabal install pandoc

installにそこそこ時間かかる(20〜30分!?)ので、のんびり待つ。
ネットワーク環境に大きく左右されるっぽ。

インストール終わったら、いつものバージョン確認コマンド。

pandoc --version

今回(2015/02現在)のバージョンはpandoc 1.13.2

md2pukiwiki のインストール

Pandocで org to pukiwiki したかったけど、実はPukiwikiは対応してなかった。

うろうろしてたら、こちらを見つけたので早速あやかる事に。

gem install md2pukiwiki

使い方

結果は標準出力に吐かれるようなので適当なファイルにリダイレクトする。

md2pukiwiki markdownファイル > foo.pukiwiki

orgファイルからPukiwikiへ変換

諸々準備が整ったので、org to markdown to pukiwiki をshでラッピングして~/bin(パスが通っている前提)に突っ込む。

#!/bin/bash

src_file=$1

# 拡張子ありのファイル名を取得
file_name_ext=`basename ${src_file}`
# こっちでも良いよ
# file_name_ext="${src_file##*/}"

# 拡張子なしのファイル名を取得
file_name=`basename ${src_file} .org`
# ↑だと拡張子がorg固定だから、こっちの方がいいかも。
# file_name="${src_file%.*}"

# ディレクトリ取得
file_dir=`dirname ${src_file}`
# こっちでも良いよ
# file_dir="${fpath%/*}"

# org to markdown
pandoc -s ${src_file} -o ${file_dir}/${file_name}.md

# markdown to pukiwiki
md2pukiwiki ${file_dir}/${file_name}.md > ${file_dir}/${file_name}.pukiwiki

ls -l ${file_dir}/${file_name}*

exit 0

使い方はこんな感じ

org2pukiwiki ~/projects/note.org
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4