🙌
Zenn初投稿です!!Zenn CLI+dockerでローカルでの執筆環境を作りました!
はじめまして!今回,Zennへの投稿が初めてとなります!
最近,時間があ少しあって色々手を出して遊んでいるのですが,数日前にはQiitaの投稿を始めました。
基本的には同じ記事を流していこうと思うのですが,どちらかのみの投稿もあるので良ければご覧いただけたらと思います。
記念すべき初投稿はdocker
+Zenn CLI
でローカルに執筆環境を作ったのでその共有です。
はじめに
Qiita
の執筆環境をローカルに作っており,それを編集する形としました。
また,複数の端末(Win11デスクトップx2,Win11ノートパソコン,MacBookAir)を使っており,どの端末でも簡単に使えるようにDocker
を使用しています。
前提
-
Zenn
とGitHub
を連携している。 -
Qiita Cli
をdocker
で構築している。
Qiita CLI
の構築はQiita
の記事をご覧ください。
環境
- Windows11
- WSL2
wsl2
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
最終的な形
dir
/root
/.github/workflows
- publish.yml #Qiita投稿用workflow
/articles
- *.md #Zenn投稿用Markdown
/books
- *.md #Zennの本用Markdown
/qiita
/.config
- credentials.json #これがないとエラーが起きる なぜ?
/public
- *.md #Qiita投稿用Markdown
- Dockerfile #Qiita用node
- package.json
- qiita.config.json
/zenn
- Dockerfile #Zenn用node
- .gitignore
- docker-compose.yml
- package.json
- README.md #ZennCLIでインストールすると勝手に作られたがなくてもよい
構築手順
docker-compose
編集
1. -
Qiita
のディレクトリを./qiita
にしたのでvolumes
を変更します。 -
Zenn
のコンテナを追加します。
docker-compose.yml
version: "3"
services:
qiita:
container_name: qiita
build:
context: .
dockerfile: ./qiita/Dockerfile
tty: true
ports:
- 8888:8888
volumes:
+ - ./qiita:/qiita
environment:
TZ: Asia/Tokyo
+ zenn:
+ container_name: zenn
+ build:
+ context: .
+ dockerfile: ./zenn/Dockerfile
+ tty: true
+ ports:
+ - 9999:8000
+ volumes:
+ - ./:/zenn
+ environment:
+ TZ: Asia/Tokyo
2. Qiita投稿用のワークフローの編集
Qiitaのディレクトリを変更したのでワークフローを編集します。
publish.yml
name: Publish articles
on:
push:
branches:
- main
+ paths:
+ - "qiita/**"
workflow_dispatch:
permissions:
contents: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
jobs:
publish_articles:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: increments/qiita-cli/actions/publish@v1
with:
qiita-token: ${{ secrets.QIITA_TOKEN }}
+ root: "./qiita/"
Zenn Cli
のインストール
3. -
npm
を用いてインストールします。 -
Zenn
の初期化をします。
docker-compose exec -it zenn sh
npm install zenn-cli #インストール
npx zenn init #初期化
Zenn
のプレビュー
4.npx zenn preview
以下のURLにアクセスすると,プレビュー画面が表示されます
さいごに
Zenn CLI
の詳細はZenn公式の投稿にありますのでそちらをご確認いただけたらと思います。
参考
Discussion