tomisawk's tech blog

技術的なこと(プログラミングメイン)のアウトプット場所

Emacsでのはてなブログ投稿環境を整える

普段メモはemacsのorg-modeにて書いているため はてなブログの記事を書く際にもorg-modeを使って書きたい。 そのための環境を整える。

これらを使う

org-modeの文章 => org-export(ox-pandoc) => Markdown(github flavored) => はてなブログへ投稿

という環境を構築するために必要なものをリストアップ。

Github Flavored Markdown に変換することで、はてなでもプログラムのコード等埋め込めることを 確認できたので当面はこれでいく。 まだまだ調査不足で満足いく環境にはなっていないのでその内再度環境整備したい。

インストー

ox-pandoc

https://github.com/kawabata/ox-pandoc

package.elやel-get等を使って入れる。省略。

pandoc

macOSの場合

brew install pandoc

自分でビルドする方法等他にもたくさんあるが今回使ったのはHomebrewのpandoc.

その他OSの場合/その他インストール方法は http://pandoc.org/installing.html を参照。

hatena-blog-mode

自宅環境用のlocal領域にインストール。cloneする場所は自分の好きなところでOK. 個人的に複数の環境で共有したくない/する必要のない設定絡みは~/.emacs.d/local以下に 配置してgit管理の対象から外すようにしている。

cd ~/.emacs.d/local
git clone https://github.com/fnwiya/hatena-blog-mode

色々探してみたが最終的にはこのページを参考。このページの通り設定する。

http://yanqirenshi.hatenablog.com/entry/2016/07/02/Emacs_%E3%81%8B%E3%82%89%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%AD%E3%82%B0%E3%81%B8%E6%8A%95%E7%A8%BF_1

使い方

M-x org-export-dispatch(C-c C-e) => p => gMarkdownに変換。必要に応じてMarkdownを修正する。

M-x hatena-blog-write => hatena-new-entry.mdバッファが開くため変換したMarkdownの内容を貼り付ける。

M-x hatena-blog-post => タイトル、カテゴリを入力、下書きかどうかを選択。

色々な記法をテスト

コードを埋め込み

Scala

#+begin_src scala
val a = "hello"
println(a)
#+end_src

val a = "hello"
println(a)

Python

#+begin_src python
import os
a = 'hello'
print(a)
print(os.listdir())
#+end_src

import os
a = 'hello'
print(a)
print(os.listdir())
* レベル1
レベル1テキスト

** レベル2
レベル2テキスト

*** レベル3テキスト
レベル3テキスト

**** レベル4テキスト
レベル4テキスト

***** レベル5テキスト
レベル5テキスト

****** レベル6テキスト
レベル6テキスト

レベル1

レベル1テキスト

レベル2

レベル2テキスト

レベル3テキスト

レベル3テキスト

  1. レベル4テキスト

    レベル4テキスト

    1. レベル5テキスト

      レベル5テキスト

      1. レベル6テキスト

        レベル6テキスト

その他参考

こういうのもある

org-modeの文書をはてな記法に変換するox-hatena.el http://akisute3.hatenablog.com/entry/2013/08/23/150311