17

私は自分の小さなプロジェクトのために素晴らしいGitHubPagesWebサイトを作成し、他のいくつかのページをgh-pagesブランチに追加しました。私の問題は、「設定=>自動ページジェネレータ」からWebサイトを再生成するたびに、すべてがクリーンアップされ、ファイルを手動で復元する必要があることです。

これを防ぐ、または回避する方法はありますか?

自動ジェネレーターが既存のファイルを削除せずに自分のものを上書きするだけだったら、はるかに良かったでしょう。

4

4 に答える 4

37
  1. gh-pagesブランチをチェックアウトします。
  2. mkdir_layouts
  3. index.htmlに移動_layouts
  4. 編集_layouts/index.htmlコンテンツセクションの内部htmlを次のように置き換えます{{content}}
  5. 新しいファイルを作成するindex.md
  6. 自動ページジェネレータのマークダウンコンテンツをに貼り付けますindex.md
  7. 次の先頭にindex.md

    ---
    layout: index
    ---
    
  8. 作成_config.yml
  9. 以下を含めて_config.ymlください:

    markdown: kramdown
    kramdown:
       auto_ids: true
    

    このステップは、githubのマークダウン構文と一致させることです

  10. 変更を追加してコミットしてから、ブランチをgithubにプッシュバックします。

これで、githubソースブラウザindex.mdのgh-branchから簡単に編集でき、 jekyllを使用して自動的に更新され、gh-branchの内容を混乱させることはありません。

プレースホルダーを使用してレイアウトで編集可能なアイテムを増やしてから、のヘッダーに{{page.varname}}追加することもできます。varname:your textindex.md

于 2013-02-12T15:06:55.853 に答える
2

さて、いくつかの試みの後、私は解決策を見つけました。

私のサイトで変更されたファイルは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」レイアウトでテストしました。しかし、それは他の人にも役立つと思います。

于 2012-12-27T23:49:59.920 に答える
0

いいえ、できません。「生成」を行うと、GitHubはgh-pagesリポジトリをワイプします。あなたができる最善のことはあなたが今していることです。別のオプションは、GitHubページジェネレーターを使用してスタイルを変更するのではなく、スタイルのソースを見つけて(おそらくGitHubのどこかにあります)、変更をコミットして手動で変更することです(cssファイルやその他のマイナーな調整に置き換えます)

于 2012-12-25T08:09:04.550 に答える
0

オプションを使用して、特定のディレクトリをスキップするようにJekyllを構成できexcludeます。

(Jekyllには、ディレクトリkeep_files内のファイル用のオプションがあることに注意してください。)destintation

于 2015-05-31T22:48:08.457 に答える