org-mode で blog
blog を始めるにあたって、 emacs から出来るだけ簡単に記事を更新できる環境にするために、 次の URL の情報をもとにいくつか調査。
https://orgmode.org/worg/org-blog-wiki.html
とりあえず org-mode + jekyll で構築してみた。
以下は、org-mode + jekyll で環境構築から記事を投稿するまでの流れをまとめたメモ。
使用するソフト
- ruby
- gem
- bundler
- jekyll
- jekyll-org
jekyll は、 markdown でサイトを構築可能なツール。 markdown は書き慣れていないので org-mode で記事を書けるように jekyll plugin の jekyll-org を使用する。
setup
- install ruby
- install ruby-dev
- install gem
$ gem install bundler jekyll jekyll-org
jekyll setup
- blog のプロジェクトディレクトリ作成
$ cd blog_top
$ jekyll new blog
初回は、ここで必要な gem がインストールされる。
blog ディレクトリが生成され、blog ディレクトリ以下に幾つかのファイルが作成される。
- _config.yml を編集
- 次の項目を編集
- title:
- email:
- description:
- twitter_username:
- github_username:
- plugins の項目に jekyll-org を追加
- 次の項目を編集
plugins:
- jekyll-org
jekyll-org の設定
https://github.com/eggcaker/jekyll-org
Gemfile に次を追加
# jekyll-org
gem 'jekyll-org', '>= 1.0.2'
Gemfile 編集後、次のコマンドを実行
$ bundle install
github pages 用の設定
github pages の /blog に jekyll のディレクトリを作成した場合の設定
- _config.yml を編集
- 次の項目を設定
- baseurl: “/blog/site”
- url: “https://XXXXXXXX.github.io”
- destination: site
- 次の項目を設定
jekyll の変換後の html は _site 以下に出力されるが、
github pages は _site 以下にはアクセスできないようなので、
destination: site
で出力先を site に変更する。
記事作成
_posts/ 以下に、次の名前のファイルを作成する
YYYY-MM-DD-title.org
例えば 2019-01-01-hoge.org とする。
title は、記事のタイトルで無くてもよい。 title は、 記事の URL に使用される。
_posts/ の下にサブディレクトリを掘って、その中にファイルを作成しても良い。
記事のフォーマット
次のメタ情報を入れれば、後は普通の org-mode 通りに記載可能。
#+LAYOUT: post
#+TITLE: org-mode で blog
#+TAGS: org-mode jekyll
+TAGS はオプション。
ワンポイントネタ
- URL を書くだけだとリンクにならない。
- リンクにする場合は URL を
<>
で囲む。
- リンクにする場合は URL を
変換
書いた記事は jekyll を使って html に変換する。
$ cd blog
$ jekyll b
確認
jekyll は httpd サーバ機能を持つ。
$ cd blog
$ jekyll s
この状態でブラウザで http://localhost:4000 にアクセスすれば、 変換後の内容を確認できる。
なお、記事を修正すれば動的に変換されるので、 記事を修正後にブラウザをリロードすれば、修正後の内容を確認できる。
httpd サーバを終了する場合は、 Ctrl-C。
ネットワークアクセス
$ jekyll s
このコマンドで起動した httpd サーバは、 localhost でしかアクセスできない。
つまり PC 外部からアクセス出来ない。
セキュリティという意味では安全であるが、不便だったりする。
PC 外部からアクセスしたい場合は、次のコマンドで httpd サーバを起動する。
$ jekyll s --host 0.0.0.0