Jekyll::Composeで投稿作成を効率化しよう
tips jekyll
jekyll のプラグイン jekyll-compose の紹介と簡単な導入方法についての記事です。
- 実行環境
- macOS High Sierra
- jekyll 3.8.4
- jekyll-compose 0.8.0
はじめに
「新規投稿を作成するコマンドって jekyll に同梱されてないんだなあ🤔」と思いGoogle先生に聞いてみた所、 以下のページにたどり着きました。
stackoverflow: Why isn’t there a “jekyll post” command to create posts like in hexo?
そうそう、そうなんだよ。で、回答者によると 「jekyll-compose を使うと良いよ😎」だそうです。早速試してみましょう。
🤔 jekyll-compose ってなぁに?
jekyll/jekyll-compose | github
📝 Streamline your writing in Jekyll with these commands.
これらのコマンドを使って、Jekyll での執筆を効率化しよう。(意訳)
jekyll-compose は jekyll のプラグインです。 jekyllと一緒に導入することで、記事の執筆を効率的にするいくつかのサブコマンドを追加してくれます。
subcommand | description |
---|---|
draft | 指定された名前で新規の下書き投稿を作成する |
post | 指定された名前で新規の投稿を作成する |
publish | 下書きを _postディレクトリ に移動し、日付を付与する |
unpublish | 投稿を _draftsディレクトリ に戻す |
page | 指定された名前で新規ページを作成する |
新規投稿(post)の作成であれば、以下でできるということですね😚
$ bundle exec jekyll post "This is My First Post!"
🚶🏻 Jekyll::Compose の導入
Ruby やら Jekyll 本体やらは導入済みとします。
導入手順は、READMEに書いてある通り。
jekyll new <site-name>
で作成されたGemfileにjekyll-compose
を追加し、bundle
するだけ。
とっても簡単ですね😁
# Gemfile の修正
source "https://rubygems.org"
# ...
gem "jekyll", "~> 3.8.4"
+ gem 'jekyll-compose', group: [:jekyll_plugins]
# ...
# インストール
$ bundle
...略...
Fetching jekyll-compose 0.8.0
Installing jekyll-compose 0.8.0
2018/10/01現在では、 ver 0.8.0 が落ちてきました。
jekyll help
の結果に追加されたサブコマンド群が確認できれば大丈夫そうです。
$ bundle exec jekyll help
jekyll 3.8.4 -- Jekyll is a blog-aware, static site generator in Ruby
Usage:
jekyll <subcommand> [options]
Options:
...略...
Subcommands:
...略...
draft Creates a new draft post with the given NAME
post Creates a new post with the given NAME
publish Moves a draft into the _posts directory and sets the date
unpublish Moves a post back into the _drafts directory
page Creates a new page with the given NAME
新規投稿を作成したり
$ bundle exec jekyll post "This is My First Post!"
Configuration file: /path/to/your/blog/_config.yml
New post created at _posts/2018-10-01-this-is-my-first-post.md.
Configuration file: /path/to/your/blog/_config.yml
下書きを書いたり
$ bundle exec jekyll draft "My Awesome Post!"
Configuration file: /path/to/your/blog/_config.yml
New draft created at _drafts/my-awesome-post.md.
下書きを公開したり
$ bundle exec jekyll publish _drafts/my-awesome-post.md
Configuration file: /path/to/your/blog/_config.yml
Draft _drafts/my-awesome-post.md was moved to _posts/2018-10-01-some-awesome-post.md
🏃🏻 auto_open 機能の有効化
デフォルトの設定でも十分満足だけれども、せっかくなので新規投稿を生成したらそのまま 懇意のエディタ📝 で開いて欲しいですよね。
READMEによると、
_config.yaml
に設定を追加すると投稿生成と同時に指定したエディタで開くことが可能だそうです。早速設定しておきましょう。
# _config.yaml の修正
+ jekyll_compose:
+ auto_open: true
+ EDITOR: vim
以上で、bundle exec jekyll post "Post title."
した際に自動生成されたファイルが vim で開かれます。
やったね🎉
これでブログ投稿の執筆が捗りそうですね😉
😱 ver0.8.0 時点での 問題点
環境が整ったので、いざ下書きを書いてみようと思い、 bundle exec jekyll draft
してみます。
が、残念ながらエディタは起動しません。
なんてこった。
どうやら現時点では jekyll post
の時にしか auto_open
が機能しないようです。
改善に関する Issue が挙がっているので、近い将来対応されるかもしれませんね。 もしくは、 Ruby いける方々は是非貢献してみてはいかがでしょうか? (他力本願 🙇🏻)
件のIssue : Open new draft in editor #77
2019-03-22 追記
現在、すでに 下書き作成時にも外部エディタで開く対応がなされ、マージ済みの様です🎉
https://github.com/jekyll/jekyll-compose/pull/79
が、私は試していません…。なぜなら、 Hugo に乗り換えてしまったから。
おわり
comments powered by Disqus