Tratando con Jekyll y Git

Utilizo Jekyll con un Coderay personalizado, así que tengo que mantener 2 twigs en GitHub

master; The generated HTML site source; Markdown files, etc 

En la twig source , tengo una carpeta _includes que ignoro porque solo contiene algunos enlaces duros. Tengo un script para administrar las 2 twigs, pero parece que debería haber algo mejor que lo que se me ocurrió.

 # Start on "source" branch jekyll /tmp git checkout master git stash -u # _includes rm -r * # keeps ".git" cp -r /tmp/* . git add -A git commit git push origin master git checkout source git stash apply 

Opción 1

La mejor opción para mí era simplemente deshacerme de los enlaces duros por completo. Hice esto creando un complemento que permite representar un file fuera del repository.

render_partial.rb

 module Jekyll class IncludeTag < Liquid::Tag def initialize(tag_name, file, tokens) super @file = file.strip end def render(context) File.read(@file) end end end Liquid::Template.register_tag('render_partial', Jekyll::IncludeTag) 

opcion 2

Esta opción funcionará si desea mantener los enlaces duros.

help.github.com/ignore-files

 #!/bin/sh # Initial setup, configure excludes cat > .git/info/exclude <<EOF _includes _site EOF # Commit source branch git checkout source git add -A git commit -m 'new post' git push origin source # Commit master branch jekyll git checkout master git rm -r . cp -r _site/* . git add -A git commit -m 'new post' git push origin master