アペフチ

『入門 Kubernetes』をシンタックスハイライトして読む

O’Reilly Japanから出ている『 入門 Kubernetes 』のコード部分(Kubernetesなので、殆どがYAML)をシンタックスハイライトして読めるようにしてみた。

『入門 Kubernetesのコードがシンタックスハイライトされている』

O’Reilly Japan Ebook Storeから買うとEPUBファイルをダウンロードできるので、それに対してPirkaというコマンドラインツールを使うと、コード部分をハイライトしてくれる。

% gem install pirka
% pirka update
% pirka ./入門Kubernetes.epub

Pirkaでは、本ごとに「本の中のどの部分がソースコードで、その言語は何か」という辞書を持っていて、その辞書はGitリポジトリーになっている。そのリポジトリーに『入門 Kubernetes』の分を追加した、ということだ。

リポジトリーはこちら: https://gitlab.com/KitaitiMakoto/pirka-library

ほんと、EPUBファイルをダウンロードさせてくれるのはありがたいです。

数は少ないけど、他にもこんな本の辞書を登録してある。

% pirka lib | grep title
title: WEB+DB PRESS plusシリーズ APIデザインケーススタディ Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方
title: WEB+DB PRESS plusシリーズ nginx実践入門
title: オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
title: Serverspec
title: 入門Kubernetes

GemnasiumからGitLabの依存性検査へ

プロジェクトが依存しているライブラリーをチェックして、バージョンが古いとか、セキュリティホールが見付かっているとかの警告をしてくれるGemnasiumというサービスがあったのだけど、先日シャットダウンした。GemnasiumはGitLab社に買われ、チームはGitLabの依存性検査機能をやっているらしい( https://docs.gitlab.com/ee/user/project/import/gemnasium.html )。というわけで、「GitLabに移行してね」というメールが来ていたので、移行してみた。

移行手順はGitLabのドキュメント( Migrating to GitLab)に従って .gitlab-ci.yml ファイルを編集するだけ。

ただ、Gemnasiumの時は、(Rubyの場合) Gemfile.lock のないリポジトリー(ライブラリーとか)でも依存性検査をしてくれていたのだけど、GitLabではそうはなっていなくて、残念。

EPUB Parser v0.3.7リリース

EPUB Parserv0.3.7をリリースした。

二か月ぶりですね。

EPUB 2の表紙画像対応

たまにEPUB Parserをフォークしているのを見掛けて、その中で結構、EPUB 2のやり方で表紙を抜き出すパッチを当てているのがあるので、対応することにした。

EPUB仕様のバージョンは、日本では大体3系を使っていると思うんだけど、英語圏ではまだ2系を見る(O’Reillyの本とか)。EPUB 3の一つの特徴が日本語を含むCJKの慣習に寄ったことで、ルビや縦書きが導入された。[1]逆に言うと英語圏ではこれまでのツールやワークフローを変更する嬉しさがないわけで、EPUB 2が現役なんだろう。

CJKとは関係ないけど、EPUB 3になって表紙画像の指定方法も変わっている(というか今まではっきりしていなかったのをはっきりさせた)。そんなわけで、表紙画像を参照できそうな #cover_image というメソッドが、手元の(EPUB 2の)本では nil を返してしまうのをなんとかしたくてパッチを当てていたのだろうと思う。EPUB ParserはEPUB 3の為のライブラリーなので長いこと無視していたけど、状況が一向に変わらないようなので対応した。

表紙画像を抜き出すコマンド

% epub-cover APIデザインケーススタディ-――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方_00.epub
Cover image output to cover.jpg

使いでがあるようなないような。

ホームページの変更

これまでrubydoc.infoのページをホームページにしていたのだけど、GitLab Pagesに変更した。

あたりを解決するのに、GitLab CIを使ってビルドして、GitLab Pagesに上げることにした。カスタムドメインで運用したいとかあるんだけど取り敢えず今回はここまで。

あとはバグ直したりMarkdownからAsciiDocに移行したりドキュメントを修正したりしてた。


1. 個人的には、ビデオやSVGなんかのメディア対応が一番大きいと思ってる。