🐙

Zennで途中からGitHubリポジトリ連携をはじめるときの手順

2021/05/10に公開
3

Zennでは投稿データをGitHubリポジトリで管理し、自動的に同期が行われるように設定できます。

すでにブラウザからZennに記事や本を投稿しており、途中からGitHub連携をはじめる場合には、エクスポート機能を使うとスムーズに執筆環境を移行できます。コメントやLikeなどのメタデータもそのまま引き継がれます。

途中からGitHubリポジトリでの投稿データ管理をはじめるまでの手順

1. GitHubリポジトリ連携を行う

まだリポジトリの連携が完了していない場合は、こちらの記事の手順に従って連携を行ってください。

https://zenn.dev/zenn/articles/connect-to-github

2. 投稿データをエクスポートする

すでにZennに投稿済みのデータはエクスポート機能を用いてテキストファイルとしてダウンロードできます。

投稿データをエクスポート(要ログイン)

ダウンロードしたzipファイルを開くと、articlesbooksscrapsといったディレクトリが表示されます(投稿データが存在しないディレクトリは含まれません)。

3. 連携リポジトリのルートにarticlesbooksディレクトリを配置

このうち、articlesbooksを連携リポジトリのルートディレクトリにそのまま配置します。

articlesbooks内にはmarkdownファイルや本の設定ファイルなどが含まれており、これらのファイルはそのままZennに同期(デプロイ)できる形式となっています。

4. 変更をコミットしGitHubへプッシュする

変更をコミットし、GitHubリポジトリのデプロイ対象ブランチ[1]へとプッシュすると自動でデプロイが開始されます。既にZennで作成済みの投稿であっても、GitHubリポジトリ上で変更を行うことで内容が上書きされます。

脚注
  1. ダッシュボードのデプロイ設定から変更できます。 ↩︎

GitHubで編集を提案

Discussion

しんせいたろうしんせいたろう

ポストありがとうございます。大変助かりました。
一点引っかかった件をシェアします。

これまではウェブ上で記事やBookを投稿していましたが、こちらのポストにしたがって、レポジトリ連携しました。

CLI で新しいBookを作ったあと、git push したあと デプロイを確認すると、

というエラーメッセージが出ましたので、作成したBookのconfig.yamlallow_override: trueを設定してgit push しましたが何度も同じエラーが発生しデプロイが中断されるという現象に入りました。

ふと気がついて、Web上で作った全てのBookのconfig.yaml にもallow_override: trueを設定 してみたところ、このエラーは解消されました。

もしかしたら同じ現象に引っかかった人がいるかもしれないのでシェアします。

Zenn公式Zenn公式

コメント頂きありがとうございます。ご指摘のエラーは、デプロイしようとしたBookのslugが、既にWeb上で作成済の場合に表示されるものです。Web上で作成されたBookをExportしてデプロイする場合、allow_override: true の指定が必要になります。手順にも追記しようと思います。