pages language how examples domain blog github jekyll github-pages jekyll-extensions

language - ¿Cómo configuro GitHub para que use complementos del sitio Jekyll no compatibles?



jekyll webpage (2)

Dependiendo de si trata con un sitio de Usuario / Organización ( UO ) o un sitio de Proyecto ( P ), haga:

  1. de su carpeta de trabajo git init
  2. git remote add origin [email protected]:userName/userName.github.io.git ( UO ) o git remote add origin [email protected]:userName/repositoryName.git ( P )
  3. jekyll new . crea tu base de código
  4. en _config.yml , establezca el parámetro baseurl en baseurl: '''' ( UO ) o baseurl: ''/repositoryName'' ( P )
  5. en .gitignore add _site , se versionará en la otra rama
  6. jekyll build creará la carpeta de destino y el sitio de compilación.
  7. git checkout -b sources ( UO ) o git checkout master ( P )
  8. git add -A
  9. git commit -m "jekyll base sources" confirma tu código fuente
  10. git push origin sources ( UO ) o git push origin master ( P ) push en tus fuentes en la rama apropiada
  11. cd _site
  12. touch .nojekyll , este archivo le dice a las páginas gh que no hay necesidad de compilar
  13. git init init el repositorio
  14. git remote add origin [email protected]:userName/userName.github.io.git ( UO ) o git remote add origin [email protected]:userName/repositoryName.git ( P )
  15. git checkout master ( UO ) o git checkout -b gh-pages ( P ) colocan este repositorio en la rama correspondiente
  16. git add -A
  17. git commit -m "jekyll first build" confirma el código de tu sitio
  18. git push origin master ( UO ) o git push origin gh-pages ( P )

Ahora tienes algo como Octopress . Mira su archivo de rastrillo, hay algunos buenos comentarios dentro.

Acabo de crear una gran galería para mi blog Jekyll que se basa perfectamente en mi localhost: 4000. Sin embargo, las páginas de GitHub no admiten el complemento Jekyll Gallery Generator que estoy usando: https://github.com/ggreer/jekyll-gallery-generator

Leí sobre el método alternativo de hospedar Jekyll en un host tradicional usando FTP (subiendo el directorio _site) http://jekyllrb.com/docs/deployment-methods/ Sin embargo, en lugar de reconfigurar todo mi sitio y mi hosting, sería genial si GitHub Pages podría usarse de alguna manera aunque esté usando un complemento no compatible.

¿Qué es una solución para esto?


La mejor manera es configurar Travis para automatizar la implementación de jekyll con complementos no compatibles. Sigue la guía de inicio de Travis para habilitar a Travis en tu repo.

Crear script/cibuild con el siguiente contenido

#!/usr/bin/env bash set -e # halt script on error bundle exec jekyll build touch ./_site/.nojekyll # this file tells gh-pages that there is no need to build

Cree .travis.yml con el siguiente contenido ( .travis.yml según sea necesario)

language: ruby rvm: - 2.3.3 before_script: - chmod +x ./script/cibuild # or do this locally and commit # Assume bundler is being used, therefore # the `install` step will run `bundle install` by default. script: ./script/cibuild # branch whitelist, only for GitHub Pages branches: only: - master env: global: - NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer sudo: false # route your build to the container-based infrastructure for a faster build deploy: provider: pages skip_cleanup: true keep-history: true local_dir: _site/ # deploy this directory containing final build github_token: $GITHUB_API_KEY # Set in travis-ci.org dashboard on: branch: master

Pasos de implementación (después de cada empuje):

  1. La creación se creará utilizando nuestro script/cibuild en el directorio _site
  2. _site será empujado a la rama de gh-pages .
  3. Las páginas de github servirán al sitio tal como está sin construirlo de nuevo (debido .nojekyll archivo .nojekyll )

Referencia: Mi repositorio https://github.com/armujahid/armujahid.me/ está utilizando este método para la integración continua utilizando Travis CI