2018.5.5追記
Summary
MacDownでドキュメントを書いて、pandocで.mdを.htmlに変換することにすれば、備忘録のメモを作る効率が格段にアップするはず。 pandocでGutHub2.cssを使って一括変換するmd2html.pyを作成。 かなり備忘録作成作業が効率化出来たはず。
関連記事: Pandocを利用して複数のMarkdownファイルをhtml形式に変換するPythonスクリプト(2018.5.5)
PreferenceでTerminalの項目を指定するとコマンドラインからファイルを開くことができる
.mdファイルのMacDownへの連付けは.mdファイルを右クリックして “Get Info” –> “Open With:”で開くときに用いるアプリを選択し、 “Change All”ボタンで全部のファイルに反映。
$ brew install pandoc
Pandoc利用の注意点
MacDownが使用しているスタイルファイルは~/Library/Application Support/Macdown/Styles/
にあり、GitHub.css
やGitHub2.css
などが選択可能。 それらを指定して使えるほか、GithubにもGiuhub風のスタイルファイル(GitHub-like CSS for pandoc standalone HTML files)にgithub-pandoc.css
などがある。
$ pandoc -f markdown -s --self-contained -t html5 -c ./GitHub2.css -o ./outfile.html infile.md
コマンドラインからファイルを指定すると.mdファイルだけを.htmlに変換するPythonスクリプトを作成した。 カレントディレクトリの.mdファイルを指定して.htmlに変換するには、コマンドラインから下記のように指定して実行する。
実行方法
$ md2html.py ./*.md
第一引数のファイル名の拡張子が’.css’の場合には、そのファイルをスタイルファイルとして使用する。.cssファイルが第一引数に指定されていない場合、さらにMacDownがインストールされていて~/Library/Application Support/Macdown/Styles/GitHub2.css
が存在すればそれを使い、なければスタイルファイルは用いない。スタイルファイル./github-pandoc.css
を指定する場合は以下のようにして実行。
$ md2html.py ./github-pandoc.css ./*.md
ソースコード
※Pandocを利用して複数のMarkdownファイルをhtml形式に変換するPythonスクリプト(2018.5.5)に更新版あり
#!/Usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
import os
# To use the style file provided with MacDown
CSS_name = '~/Library/Application Support/MacDown/Styles/GitHub2.css'
#CSS_name = './github-pandoc.css'
# Check if the first arg specifies a .css file
name,ext = os.path.splitext( os.path.basename(sys.argv[1]))
if ext.lower() == '.css':
CSS_name = sys.argv[1]
CSS_name = os.path.expanduser(CSS_name)
file_names = sys.argv[1:]
for ifile in file_names:
dir = os.path.dirname(ifile)
name,ext = os.path.splitext( os.path.basename(ifile))
#print(ext)
if ext.lower() == '.md':
#print('Source: '+ifile)
ofile = os.path.join(dir, name+'.html')
print('pandoc -f markdown -s --self-contained -t html5 -c "'+CSS_name+'" -o "'+ofile+'" "'+ifile+'"')
os.system('pandoc -f markdown -s --self-contained -t html5 -c "'+CSS_name+'" -o "'+ofile+'" "'+ifile+'"')
else:
print('Skip: '+ifile)