🐙
Zennで途中からGitHubリポジトリ連携をはじめるときの手順
Zennでは投稿データをGitHubリポジトリで管理し、自動的に同期が行われるように設定できます。
すでにブラウザからZennに記事や本を投稿しており、途中からGitHub連携をはじめる場合には、エクスポート機能を使うとスムーズに執筆環境を移行できます。コメントやLikeなどのメタデータもそのまま引き継がれます。
途中からGitHubリポジトリでの投稿データ管理をはじめるまでの手順
1. GitHubリポジトリ連携を行う
まだリポジトリの連携が完了していない場合は、こちらの記事の手順に従って連携を行ってください。
2. 投稿データをエクスポートする
すでにZennに投稿済みのデータはエクスポート機能を用いてテキストファイルとしてダウンロードできます。
ダウンロードしたzipファイルを開くと、articles、books、scrapsといったディレクトリが表示されます(投稿データが存在しないディレクトリは含まれません)。
3. 連携リポジトリのルートにarticles、booksディレクトリを配置
このうち、articlesとbooksを連携リポジトリのルートディレクトリにそのまま配置します。
articlesとbooks内にはmarkdownファイルや本の設定ファイルなどが含まれており、これらのファイルはそのままZennに同期(デプロイ)できる形式となっています。
4. 変更をコミットしGitHubへプッシュする
変更をコミットし、GitHubリポジトリのデプロイ対象ブランチ[1]へとプッシュすると自動でデプロイが開始されます。既にZennで作成済みの投稿であっても、GitHubリポジトリ上で変更を行うことで内容が上書きされます。
-
ダッシュボードのデプロイ設定から変更できます。 ↩︎
Discussion
エクスポート機能の提供、ありがとうございます!
ポストありがとうございます。大変助かりました。
一点引っかかった件をシェアします。
これまではウェブ上で記事やBookを投稿していましたが、こちらのポストにしたがって、レポジトリ連携しました。
CLI で新しいBookを作ったあと、
git pushしたあと デプロイを確認すると、というエラーメッセージが出ましたので、作成したBookの
config.yamlにallow_override: trueを設定してgit pushしましたが何度も同じエラーが発生しデプロイが中断されるという現象に入りました。ふと気がついて、Web上で作った全てのBookの
config.yamlにもallow_override: trueを設定 してみたところ、このエラーは解消されました。もしかしたら同じ現象に引っかかった人がいるかもしれないのでシェアします。
コメント頂きありがとうございます。ご指摘のエラーは、デプロイしようとしたBookのslugが、既にWeb上で作成済の場合に表示されるものです。Web上で作成されたBookをExportしてデプロイする場合、
allow_override: trueの指定が必要になります。手順にも追記しようと思います。