我創建了一個精彩的GitHub Pages website for my little project,並且我在gh-pages
分支中添加了一些其他頁面。 我的問題是,每次我從'設置=>自動頁面生成器'重新生成網站,一切都被清理,我必須手動恢復文件。如何防止GitHub頁面「自動生成器」在重新生成站點之前刪除所有內容?
有沒有辦法預防或解決這個問題?
如果自動發生器只是在不刪除現有文件的情況下覆蓋他的東西,那將會好很多。
我創建了一個精彩的GitHub Pages website for my little project,並且我在gh-pages
分支中添加了一些其他頁面。 我的問題是,每次我從'設置=>自動頁面生成器'重新生成網站,一切都被清理,我必須手動恢復文件。如何防止GitHub頁面「自動生成器」在重新生成站點之前刪除所有內容?
有沒有辦法預防或解決這個問題?
如果自動發生器只是在不刪除現有文件的情況下覆蓋他的東西,那將會好很多。
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。
現在,你可以簡單地編輯從gh-branch in your github source browserindex.md
,它將會更新jekyll自動和不亂用您的GH-分支東西。
您還可以使用佔位符{{page.varname}}
在佈局中編輯更多項目,然後在您的index.md
的標題中添加varname:your text
。
不,不可能。當您執行「生成」時,GitHub會擦除gh-pages存儲庫。你最好能做的就是你現在正在做的事情。另一個選擇可能不是使用GitHub頁面生成器來改變樣式,而是找到樣式的來源(它們可能位於GitHub某處),並通過提交更改(替換css文件和其他小的調整)手動更改它們。
那麼,經過一些嘗試後,我找到了解決方案。
我注意到,我的網站上唯一更改的文件是index.html,生成的網站的其餘部分是相同的。在index.html中,有一個<section>content</section>
標籤,其中包含從降價產生的html。
所以我創建了兩個文件header.inc
和footer.inc
,其中包含索引頁面的「靜態」部分。內容部分應該從README.md
文件生成。
我發現有一個由github提供給render a RAW markdown in raw mode的API給html。
因此,最後一部分難題是爲我的項目的README.md獲取永久鏈接,包含RAW內容;我碰巧找到了here。
所以我寫了這個simple bash script單獨再生的index.html,不接觸網站的其餘部分:
#!/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
見實施詳情here。
我使用「Leap Day」佈局進行測試;但我認爲它也適用於其他人。
答案是使用Jekyll。 Github提供了本指南中的信息:https://help.github.com/articles/using-jekyll-with-pages
您可以configure Jekyll使用exclude
選項跳過某些目錄。
(請注意,具有傑基爾一個keep_files
選項 - 這是文件中destintation
目錄)
正是我一直在尋找,謝謝!我不得不將'layout:index'更改爲'layout:index',以便讓它正常工作。否則,我會收到「deep_merge」錯誤。 – chris838
爲什麼這不在github頁面教程!!!!謝謝。 – si28719e
這應該是被接受的答案。 – Matthew