私は自分の小さなプロジェクトのために素晴らしいGitHubPagesWebサイトを作成し、他のいくつかのページをgh-pages
ブランチに追加しました。私の問題は、「設定=>自動ページジェネレータ」からWebサイトを再生成するたびに、すべてがクリーンアップされ、ファイルを手動で復元する必要があることです。
これを防ぐ、または回避する方法はありますか?
自動ジェネレーターが既存のファイルを削除せずに自分のものを上書きするだけだったら、はるかに良かったでしょう。
私は自分の小さなプロジェクトのために素晴らしいGitHubPagesWebサイトを作成し、他のいくつかのページをgh-pages
ブランチに追加しました。私の問題は、「設定=>自動ページジェネレータ」からWebサイトを再生成するたびに、すべてがクリーンアップされ、ファイルを手動で復元する必要があることです。
これを防ぐ、または回避する方法はありますか?
自動ジェネレーターが既存のファイルを削除せずに自分のものを上書きするだけだったら、はるかに良かったでしょう。
gh-pages
ブランチをチェックアウトします。_layouts
index.html
に移動_layouts
_layouts/index.html
コンテンツセクションの内部htmlを次のように置き換えます{{content}}
index.md
index.md
次の先頭にindex.md
---
layout: index
---
_config.yml
以下を含めて_config.yml
ください:
markdown: kramdown
kramdown:
auto_ids: true
このステップは、githubのマークダウン構文と一致させることです
変更を追加してコミットしてから、ブランチをgithubにプッシュバックします。
これで、githubソースブラウザindex.md
のgh-branchから簡単に編集でき、 jekyllを使用して自動的に更新され、gh-branchの内容を混乱させることはありません。
プレースホルダーを使用してレイアウトで編集可能なアイテムを増やしてから、のヘッダーに{{page.varname}}
追加することもできます。varname:your text
index.md
さて、いくつかの試みの後、私は解決策を見つけました。
私のサイトで変更されたファイルはindex.htmlだけであり、生成されたサイトの残りの部分は同じであることに気付きました。index.html内には<section>content</section>
、マークダウンから生成されたhtmlを含むタグがありました。
そこで、インデックスページの「静的」部分を含む2つのファイルheader.inc
とを作成しました。footer.inc
コンテンツ部分はREADME.md
ファイルから生成されている必要があります。
生モードでRAWマークダウンをhtmlにレンダリングするためにgithubによって提供されるAPIがあることがわかりました。
したがって、パズルの最後のピースは、RAWコンテンツを含む私のプロジェクトのREADME.mdのパーマリンクを取得することでした。たまたまここで見つけました。
そこで、サイトの他の部分に触れることなく、index.htmlだけを再生成するこの単純なbashスクリプトを作成しました。
#!/bin/sh
PG_DIR=$(dirname $0)
RAW_README_URL=https://raw.github.com/lviggiano/owner/master/README.md
GITHUB_API_URL=https://api.github.com/markdown/raw
cat $PG_DIR/header.inc
curl -s $RAW_README_URL | curl -s --data-binary @- -H 'Content-Type: text/plain' $GITHUB_API_URL
cat $PG_DIR/footer.inc
次に、スクリプトを次のように起動します。
$ cd myproject
$ git checkout gh-pages
$ git pull origin gh-pages:gh-pages
$ ./bin/autogen > index.html
$ git commit -m "updated index.html from latest README.md" index.html
$ git push origin gh-pages:gh-pages
ここで実装の詳細を参照してください。
「LeapDay」レイアウトでテストしました。しかし、それは他の人にも役立つと思います。
いいえ、できません。「生成」を行うと、GitHubはgh-pagesリポジトリをワイプします。あなたができる最善のことはあなたが今していることです。別のオプションは、GitHubページジェネレーターを使用してスタイルを変更するのではなく、スタイルのソースを見つけて(おそらくGitHubのどこかにあります)、変更をコミットして手動で変更することです(cssファイルやその他のマイナーな調整に置き換えます)
オプションを使用して、特定のディレクトリをスキップするようにJekyllを構成できexclude
ます。
(Jekyllには、ディレクトリkeep_files
内のファイル用のオプションがあることに注意してください。)destintation