kaityo256氏が開発した yaml_cv
のマイクロサービス版です。
YAML形式で書かれたデータファイルと、
YAMLもしくはテキストファイル形式で書かれたスタイル
から履歴書PDFファイルを作成します。
Qiita記事はこちら
DEMO: https://yaml-2-resume.herokuapp.com/
- Ruby >= v2.3
- bundler >= 2.0
- ImageMagick
- IAPexフォント
$ brew install imagemagick
$ gem install bundler
$ bundle install
$ curl https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip > fonts.zip
$ unzip -oj fonts.zip -d fonts/ && rm -rf fonts.zip
上記コマンドを使わなくても、ここよりフォントを ダウンロードして、下記の配置になるよう解凍すればいい。
├── fonts
│ ├── ipaexg.ttf
│ └── ipaexm.ttf
└── make_cv.rb
$ bundle exec ruby app.rb
$ open http://localhost:4567
また、ローカルではkaityo256/yaml_cvが提供したコマンドも実行できる。
$ ruby make_cv.rb -h
Usage: make_cv [options]
-i, --input [datafile]
-s, --style [stylefile]
-o, --output [output]
-v, --version
ruby make_cv.rb -i templates/data.yaml -s templates/style.txt -o output.pdf
$ bundle exec rspec
$ docker build -t my_yaml_2_resume .
$ docker run --rm -p 14567:4567 my_yaml_2_resume
$ open http://localhost:14567
Docker Hubを利用する
$ docker pull jerrywdlee/yaml_2_resume:latest
$ docker run --rm -p 14567:4567 jerrywdlee/yaml_2_resume
$ open http://localhost:14567
$ docker-compose build
$ docker-compose up
$ open http://localhost:14567
share/
の配下にご自分のデータを置いて、docker-compose.yml
のcommand
フィールドを修正して使う。もちろん、templates/
配下のサンプルデータも使える。
version: '3.5'
services:
yaml_2_resume:
container_name: yaml_2_resume
build: .
ports:
- 14567:4567
working_dir: /usr/src/app
volumes:
- ./share:/usr/src/app/share
# web app mode
- command: ruby app.rb -o 0.0.0.0
# cmd mode
+ command: ruby make_cv.rb -i share/YOUR_DATA.yaml -s share/YOUR_STYLE.txt -o share/output.pdf
$ docker-compose build
$ docker-compose up
$ open ./share/output.pdf
$ heroku create YOUR-APP-NAME
$ heroku stack:set container
$ git push heroku master
kaityo256/yaml_cvとの変更点
data.yaml
のphoto
フィールドは、URLも使えることになった。- 提供された画像は向きを補正し、サイズも自動調節することになった。
- コマンドモードを使う際、
data.yaml
とstyle.txt
の中に、erb
文法が書けるようになった。 data.yaml
に@date
で現在の年月日を出していて、和暦も使えることになった。- セキュリティの観点で、WEB版では
erb
文法の利用ができません。
- セキュリティの観点で、WEB版では
data.yaml
のdate: 令和2年1月14日現在
は空白の場合、和暦で本日の日付が入れられます。data.yaml
のbirth_day
Field「日付」はのみ記入した場合、年齢が自動で計算されます。- サンプルデータとスタイルは
templates/
配下に置いた。 - サンプルデータを当たり障りのない文章に再構成した。
- サンプル写真をStyleGANで生成された偽の人物像を使用した。