本ブログの構成(2018)
https://tkuchiki.hatenablog.com からブログを移転しました。
ブログの構成⌗
- hosting: Netlify
- static site generetor: gatsby
- blog template: gatsby-material-starter
- 一部変更して使用
- blog template: gatsby-material-starter
- 文章チェック: textlint
- CI: CircleCI
textlint は Git の pre-commit hook で実行していますが、ログを残す目的で CircleCI 上でも実行しています。 以下が pre-commit hook のファイルと .circleci/config.yml です。
pre-commit hook⌗
$ cp .git/hooks/pre-commit{.sample,}
して、 .git/hooks/pre-commit
を以下のように書き換えました。
#!/bin/sh
if git rev-parse --verify HEAD >/dev/null 2>&1
then
against=HEAD
else
# Initial commit: diff against an empty tree object
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi
# Run textlint /path/to/*.md
exec 1>&2
yarn run --silent textlint `git diff --name-only --diff-filter=ACMR $against | grep '.*.md$'` || exit 1
.circleci/config.yml⌗
version: 2
jobs:
build:
working_directory: ~/blog
docker:
- image: circleci/node:8
steps:
- checkout
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-{{ checksum "yarn.lock" }}
- run:
name: Install Dependencies
command: yarn install
- run:
name: textlint
command: |
TARGET="origin/master"
if [ "${CIRCLE_BRANCH}" != "master" ]; then
yarn run --silent textlint `git diff --name-only --diff-filter=ACMR ${TARGET} | grep -a '.*.md$' | tr '\n' ' '`
fi
- save_cache:
name: Save Yarn Package Cache
key: yarn-packages-{{ checksum "yarn.lock" }}
paths:
- node_modules/
Read other posts