Resume(職務経歴書)をLaTeXで書いて、個人情報を伏せ字にしたPDFがGitHub Pagesから自動配信されるようにした(GitHub Actions使用)

GitHubリポジトリ

やったこと

LaTeXスタイルファイルのmoderncvを使ってResumeを作成

ここでは詳しい使い方は解説しないが、非常に美しいResumeが直観的に作れる。

個人情報に関わるファイルを別ファイルに切り分け、.gitignoreに追加

住所などの個人情報がWeb上に公開されては困るので、.personal_data.texというファイルを作り、.gitignoreに追加の上、\inputコマンドで読み込んだ。

ただし、そのまま読み込むと、.personal_data.texが存在しない時にエラーになるため、\IfFileExistsコマンドを使い、

\IfFileExists{.personal_data.tex}{
\input{.personal_data.tex}
}
{%Else
\input{.personal_data_sample.tex}
}

とし、.personal_data_sample.texには、

\address{***DUMMY ADDRESS***}{}
\mobile{***-****-****}
\email{***dummy***@example.com}

のように、ダミーデータを入力した。

GitHub Actionsを使い、自動コンパイル、自動デプロイを行う

.github/workflows/gh-pages.ymlに以下のワークフローを記述。

name: github-pages
on:
  push:
    branches:
      - master
jobs:
  deploy:
    name: github-pages
    runs-on: ubuntu-latest
    container: zalgo3/texlive
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - name: Build PDF file
        run: latexmk resume.tex && latexmk -c && mkdir -p pdf && cp resume.pdf ./pdf/
      - name: Deploy pages
        uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./pdf

ここで、LaTeXの環境には、Dockerコンテナzalgo3/texlive(arcatdmz/texliveを自分用にカスタマイズしたもの)を用い、GitHub Pagesへのデプロイには、peaceiris/actions-gh-pagesを使った。

注意点としては、GITHUB_TOKENの権限が、デフォルトではReadしかないため、リポジトリのSettings->Actions->Workflow Permissionsから、Read and write permissionsを選択してやる必要がある。

Actionsが正常に走れば、gh-pagesブランチが作られ、PDFがpushされる。

リポジトリのSettings->Pages->Sourceから、gh-pagesブランチを選択し、再度Actionsを実行してやると、https://zalgo3.github.io/resume/resume.pdfからPDFが配信されるはずである。

注意点として、GitHub Pagesのルートディレクトリにアクセスしても、PDFを見ることができない。

この解決策としては、index.htmliframeタグなどを用いてPDFを埋め込むことなどが考えられるが、単に直接PDFにアクセスしたほうが見やすいと思うので、ここでは特に対策は行っていない。

コメント

タイトルとURLをコピーしました