ブログ執筆環境
自分への備忘です。ブログ執筆環境についてまとめました。
エディターについて
しばらくSublime Textをメインで使ってみましたが、次の理由によりNeoVimに戻しSublime Textは補助的に使用することにしました。
- テキストフォントが一種類しか指定できず、iTerm2のようにAscii文字とNon-Ascii文字で指定をわけることが出来ないので表示に不満が残る。
- 世界的にはVisual Studio Codeに席巻されており、公開されているプラグインのパッケージも古いものが多くメンテナンスされていないケースがある。
特に後者については、textlintの支援パッケージが公開当初から問題があるもので数年間放置されており「あぁ、みんなSublime Textなんて使っていないんだな」と時間できるので嫌になりました。
最近お気に入りで使っている自作のDeepL APIを呼びだすフィルタープログラムも、次のようにキー設定すればNeoVimでもSublime Textと同じように使えます。
" コマンド呼び出し " python ~/bin/deepl.py -t j 呼び出すキーアサイン vnoremap <silent> g.j :!python ~/bin/deepl.py -t j<CR> vnoremap <silent> g.e :!python ~/bin/deepl.py -t e<CR>
ブログ記事の静的チェックについて
Prettier
Prettierはコードの自動整形をしてくれるツールです。Markdownも対応しています。
デフォルトだと半角英数字と全角文字の間にスペースを強制してくるので、それを回避するプラグインとともにインストールします。
$ npm install prettier prettier-plugin-md-nocjsp
実行時に追加したプラグインを読み込みよう、.prettierrc
というファイルに設定します。
overrides: - files: - "*.md" - README options: parser: markdown-nocjsp
これで、次のように実行すればフォーマットしてくれます。
$ npx prettier -w hogehoge.md
textlint
校正に近い処理をしてくれるのが、textlintです。
ここでは、技術文書向けルールとJTF日本語標準スタイルガイド(翻訳用)に対応したルールを使用しています。校正ルールのチェックを行ってくれる prh
というプラグインもインストールします。
インストール手順は、次のとおりです。
$ npm install texlint $ npm install textlint-rule-preset-ja-technical-writing textlint-rule-preset-jtf-style $ npm install prh
設定ファイル .textlintrc.js
には次のように設定しています。
module.exports = { plugins: { "@textlint/markdown": { extensions: [".md"], }, }, rules: { "preset-ja-technical-writing": true, "preset-jtf-style": { "2.1.2.漢字": true, "2.1.5.カタカナ": true, "2.1.6.カタカナの長音": true, "2.2.1.ひらがなと漢字の使い分け": true, }, prh: { rulePaths: ["./prh.yml"], }, }, };
NeoVimには非同期でtextlintを呼びだす設定をしているので、執筆中も指摘が表示されます。 しかし、都度対応しているは面倒なので一度書いてしまってから次のコマンドで一気に修正した後に 再度エディターで開いて確認しながら補正しています。
$ npx textlint --fix hogehoge.md
これで事前にある程度校正がかかった記事の微調整だけで文章の統一性が保たれます。