Vâng, sau một vài lần thử, tôi đã tìm ra giải pháp.
Tôi nhận thấy rằng tệp duy nhất đã thay đổi cho trang web của tôi là index.html, phần còn lại của trang web được tạo giống nhau. Bên trong index.html có một thẻ <section>content</section>
chứa html được tạo từ markdown.
Vì vậy, tôi đã tạo hai tệp header.inc
và footer.inc
, có chứa phần "tĩnh" cho trang chỉ mục. Phần nội dung phải được tạo từ tệp README.md
.
Tôi thấy rằng có API được cung cấp bởi github đến render a RAW markdown in raw mode thành html.
Vì vậy, phần cuối cùng của câu đố là để có được một permalink cho README.md của dự án của tôi, với nội dung RAW; mà tôi tình cờ tìm thấy here.
Vì vậy, tôi đã viết simple bash script này mà tái sinh index.html một mình, mà không cần chạm vào phần còn lại của trang web:
#!/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
Sau đó, tôi chỉ cần khởi chạy kịch bản như:
$ 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
Xem thi chi tiết here.
Tôi đã thử nghiệm với bố cục "Ngày nhuận"; nhưng tôi cho rằng nó cũng hoạt động cho những người khác.
Nguồn
2012-12-27 23:49:59
chính xác những gì tôi đang tìm kiếm, cảm ơn bạn! Tôi đã phải thay đổi 'layout: index' thành' layout: index' để làm việc này. Nếu không, tôi nhận được lỗi "deep_merge". – chris838
tại sao điều này không có trong hướng dẫn trang github !!!! cảm ơn. – si28719e
Đây phải là câu trả lời được chấp nhận. – Matthew