Bene, dopo alcuni tentativi ho trovato la soluzione.
Ho notato che l'unico file modificato per il mio sito era index.html, il resto del sito generato era lo stesso. All'interno di index.html c'era un tag <section>content</section>
che conteneva l'html generato dal markdown.
Così ho creato due file header.inc
e footer.inc
, che contenevano la parte "statica" per la pagina dell'indice. La parte del contenuto dovrebbe essere stata generata dal file README.md
.
Ho trovato che esiste un'API fornita da github a render a RAW markdown in raw mode in html.
Quindi, l'ultimo pezzo del puzzle era ottenere un permalink per il README.md del mio progetto, con il contenuto RAW; che mi è capitato di trovare here.
Così ho scritto questo simple bash script che rigenera l'index.html da solo, senza toccare il resto del sito:
#!/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
Poi mi basta lanciare lo script come:
$ 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
vedere l'implementazione dettagli here.
Ho provato con il layout "Leap Day"; ma suppongo che funzioni anche per gli altri.
fonte
2012-12-27 23:49:59
esattamente quello che stavo cercando, grazie! Ho dovuto cambiare 'layout: index' a' layout: index' per farlo funzionare comunque. Altrimenti ricevo un errore "deep_merge". – chris838
perchè questo non è nel tutorial di github pages !!!! Grazie. – si28719e
Questa dovrebbe essere la risposta accettata. – Matthew