template style pages examples github markdown documentation-generation github-pages

github - style - readme md generator



¿Cómo puedo evitar que el "Generador automático" de GitHub Pages elimine todo antes de regenerar el sitio? (4)

Creé un maravilloso sitio web de GitHub Pages para mi pequeño proyecto , y agregué algunas otras páginas en la rama de gh-pages . Mi problema es que, cada vez que vuelvo a generar el sitio web desde ''Configuración => Generador automático de páginas'', todo se limpia y tengo que restaurar los archivos manualmente.

¿Hay una manera de prevenir, o evitar esto?

Habría sido mucho mejor si el Generador Automático estuviera sobrescribiendo sus cosas sin eliminar los archivos existentes.


  1. Echa un gh-pages rama de gh-pages .
  2. mkdir _layouts
  3. mover index.html a _layouts
  4. edit _layouts/index.html reemplaza el html interno de la sección de contenido con {{content}}
  5. crear nuevo archivo index.md
  6. Pegue el contenido de markdown del generador automático de páginas en index.md
  7. anteponer lo siguiente a index.md

    --- layout: index ---

  8. crear _config.yml
  9. incluye lo siguiente en _config.yml :

    markdown: kramdown kramdown: auto_ids: true

    este paso es hacer coincidir la sintaxis de markdown de github

  10. agrega y confirma los cambios, y luego presiona la rama de nuevo a github.

Ahora, simplemente puede editar index.md desde la rama gh en su navegador de origen de github y se actualizará usando jekyll automáticamente y no ensuciará nada en su rama gh.

También puede hacer que más elementos sean editables en el diseño usando el {{page.varname}} posición {{page.varname}} y luego agregando varname:your text al encabezado de su index.md .


Bueno, después de algunos intentos encontré la solución.

Noté que el único archivo cambiado para mi sitio era el index.html, el resto del sitio generado era el mismo. Dentro del index.html había una etiqueta <section>content</section> que contenía el html generado desde el markdown.

Así que creé dos archivos header.inc y footer.inc , que contenían la parte "estática" de la página de índice. La parte del contenido debería haberse generado desde el archivo README.md .

Descubrí que hay una API proporcionada por github para procesar un recorte de RAW en modo raw a html.
Entonces, la última pieza del rompecabezas fue obtener un enlace permanente para el archivo README.md de mi proyecto, con el contenido RAW; que por casualidad encontré here .

Así que escribí este sencillo script bash que regenera el index.html solo, sin tocar el resto del sitio:

#!/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

Entonces acabo de lanzar el script como:

$ 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

Vea los detalles de implementación here .

Lo probé con el diseño "Leap Day"; pero supongo que funciona también para los demás.


No, no es posible. GitHub borra el repositorio de gh-pages cuando haces un "generar". Lo mejor que puedes hacer es lo que estás haciendo ahora. Otra opción podría ser no usar el generador de páginas de GitHub para cambiar los estilos, sino encontrar el origen de los estilos (probablemente estén en algún lugar de GitHub) y cambiarlos manualmente mediante la confirmación de cambios (sustituya los archivos css y otros ajustes menores)


Puede configure Jekyll para omitir ciertos directorios con la opción de exclude .

(Tenga en cuenta que Jekyll tiene la opción keep_files , que es para los archivos en el directorio de destintation ).