オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【ライフハック】Githubで管理しているMarkdownを自動でGoogleSlidesに変換する#01

まえがき

  • 前 : Githubで管理しているMarkdownを自動でGoogleSlidesに変換する#00
  • 次 : Githubで管理しているMarkdownを自動でGoogleSlidesに変換する#02

  • CircleCI編

    • Githubとの連携
    • CircleCIの設定ファイル

image2

参考

Githubとの連携

  • GithubMarkdown の変更を push したタイミングで処理を開始したい
  • 普段あまり使用しないが、無料で処理を走らせられるのでこれからも使っていきたい
  • Githubのアカウントがあれば、すぐに連携できる

CircleCIの設定ファイル

  • CircleCIの設定ファイルは .circleci/config.ymlに設置
version: 2

jobs:

  build:

    docker:

      - image: python:3.6-slim

    steps:

      - checkout

      - run: apt update

      - run: apt install -y git

      - run: git config --global core.quotepath false

      - run: git config --global core.pager "LESSCHARSET=utf-8 less"

      - run: git clone https://github.com/yonedahayato/md2ppt_withGDrive.git

      - run: pip3 install -U pip

      - run: pip3 install -r ./md2ppt_withGDrive/requirements.txt

      - run: dpkg -i ./md2ppt_withGDrive/pandoc-2.10.1-1-amd64.deb

      - run: cp ./md2ppt_withGDrive/settings.yaml ./

      - run: git diff --name-only --diff-filter=ACMR HEAD^..HEAD -- '*.md' | xargs -I% ./md2ppt_withGDrive/md2gslides.sh %

設定ファイルの詳細

  • docker image は pythonを使用
  • apt を使用して git を install
  • git の日本語の設定
  • Markdown を パワーポイントに変換し、GDriveにアップロードするプログラムを取得
  • pip で python libraryを取得
  • Markdown を パワーポイントに変換するプログラムをインストール (pandoc)
  • GDrive にアップロードするための設定ファイルを準備 (settings.yml)
  • Github に push されれたMarkdown ファイルを特定して、処理を開始する

CircleCI で Github に push されたファイルを特定する

  • git の diff コマンドを活用し、特定する
git diff --name-only --diff-filter=ACMR HEAD^..HEAD -- '*.md'
  • xargs コマンドで処理につなげる
xargs -I% ./md2ppt_withGDrive/md2gslides.sh %