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:
- de su carpeta de trabajo
git init
-
git remote add origin [email protected]:userName/userName.github.io.git
( UO ) ogit remote add origin [email protected]:userName/repositoryName.git
( P ) -
jekyll new .
crea tu base de código - en _config.yml , establezca el parámetro baseurl en
baseurl: ''''
( UO ) obaseurl: ''/repositoryName''
( P ) - en .gitignore add _site , se versionará en la otra rama
-
jekyll build
creará la carpeta de destino y el sitio de compilación. -
git checkout -b sources
( UO ) ogit checkout master
( P ) -
git add -A
-
git commit -m "jekyll base sources"
confirma tu código fuente -
git push origin sources
( UO ) ogit push origin master
( P ) push en tus fuentes en la rama apropiada -
cd _site
-
touch .nojekyll
, este archivo le dice a las páginas gh que no hay necesidad de compilar -
git init
init el repositorio -
git remote add origin [email protected]:userName/userName.github.io.git
( UO ) ogit remote add origin [email protected]:userName/repositoryName.git
( P ) -
git checkout master
( UO ) ogit checkout -b gh-pages
( P ) colocan este repositorio en la rama correspondiente -
git add -A
-
git commit -m "jekyll first build"
confirma el código de tu sitio -
git push origin master
( UO ) ogit 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):
- La creación se creará utilizando nuestro
script/cibuild
en el directorio_site
-
_site
será empujado a la rama degh-pages
. - 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