YAML で履歴書を作るを Docker 環境でやってみた
- 最近、転職を考えるようになっていろいろ行動し始めた
- 履歴書や職務経歴書を要求される場面が増えてきた
- 以前転職したときはインターネットのどこかでダウンロードした Microsoft Word のテンプレートで作成したものを PDF に変換して使ってた
- 必要な情報をアップデートしたらそれだけで履歴書を更新できるような仕組みにしたい
- いい感じのがある
というわけで、さっそくやっていきましょう。
実行環境
必要なライブラリ等 にあるように、 Prawn と IPAex フォントがあれば動きます。 あと Ruby の Script なので当然 Ruby も。
これくらい軽量ならサクッとローカル環境にインストールしてしまってもいい気がするんですが、せっかくなので実行環境を Docker 化してみました。
2023/09/24 追記
本家の変更に追従しやすくするよう、本家を Fork したリポジトリに追加する形に変更し、docker-yaml_cv はアーカイブしました。 以降はこちらを利用ください。
$ docker compose up [+] Running 1/0 ✔ Container yaml_cv-app-1 Created 0.0s Attaching to yaml_cv-app-1 yaml_cv-app-1 | ruby make_cv.rb -i data.yaml -s style.txt -o output.pdf yaml_cv-app-1 | Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead. yaml_cv-app-1 | input file: data.yaml yaml_cv-app-1 | style file: style.txt yaml_cv-app-1 | output file: output.pdf yaml_cv-app-1 | Done. yaml_cv-app-1 exited with code 0
これだけで動く! 簡単!
git clone
したディレクトリ内でさらに kaityo256/yaml_cv を git clone
し、 docker-compose up
します。
$ docker-compose up Creating network "dockeryamlcv_default" with the default driver Building make_cv Step 1/5 : FROM ruby:alpine ---> 8ea9c590ec75 ... 省略 ... make_cv_1 | input file: data.yaml make_cv_1 | style file: style.txt make_cv_1 | output file: /output/output.pdf make_cv_1 | Done. dockeryamlcv_make_cv_1 exited with code 0 $ ls -l output.pdf -rw-r--r--. 1 root root 109173 Jan 28 05:51 output.pdf
しかし、 JIS 規格の履歴書とやらは冗長だ
資格や通勤時間といった情報はともかく、趣味・特技や志望動機なんて履歴書に必要なのか?
ということで、 fork して A4 1 ページに収まるスタイルも作ってしまいました。
課題
スクリプトを Dokcer で動かすため、出力される PDF のファイルオーナーが root になってしまいます。 これは fixuid というものを使えば解決できそうです。
まとめ
- YAML で履歴書を作るスクリプト kaityo256/yaml_cv の実行環境を Docker で作りました
- A4 1 ページに収まるスタイルを作りました
謝辞
@kaityo256 さんありがとう!