Github and Jekyll

Step 1: GitHub Pages

Comme indiqué sur pages.github.com il faut créer un repository nommé username.github.io (pas seulement username).

Dans les settings du projet, (section GitHub Pages), on peut choisir d’utiliser soit une branche gh-pages, soit le répertoire principal de la branche master, soit le répertoire docs de la branche master.

Sur la page help.github.com/en/github/working-with-github-pages/about-github-pages-and-jekyll, il est expliqué que certains plugin sont activés par défaut, comme:

github.com/benbalter/jekyll-readme-index

C’est ce plugin qui permet de se passer de index.md

Step 2: Local Jekyll

Voir la mise à jour tout en bas avant de suivre ce modop. Pour pouvoir faire des expériences sans avoir à faire de commit, j’ai installé Jekyll localement.

Ensuite, cd ~/Documents/Jef/github/e70838.github.io et bundle exec jekyll serve

Bang, j’ai l’erreur Could not locate Gemfile or .bundle/ directory telle que décrite sur github.com/jekyll/jekyll/issues/5719

La solution proposée qui consiste à faire apt-get install ruby-all-dev et de refaire gem install jekyll bundler était prometeuse, mais n’a eu aucun effet.

J’ai essayé jekyll serve puis jekyll serve --trace

ce qui a donné: The jekyll-theme-hacker theme could not be found.

J’ai essayé gem install github-pages

puis relancé jekyll serve --trace

C’est pas top, mais suffisant pour le plus gros. Il semble qu’il manque surtout la section plugins de _config.yml.

Il y a 2 plugins que ne veulent pas fonctionner: jekyll-default-layout et jekyll-github-metadata

Tant pis, j’enlève jekyll-github-metadata et je patche /home/jef/gems/specifications/jekyll-default-layout-0.1.4.gemspec pour remplacer les versions 3.0 de jekyll par 4.0.

Le but de ce plugin est de rendre faculative la ligne layout: post dans la partie Front Matter

En parlant de Front Matter, j’ai remarqué que le thème contenait une ligne by qui était renseignée, soit par page.author, soit par site.author. J’ai donc ajouté author: e70838 dans _config.yml

Mise à jour le 8 septembre 2024

Le site https://github.com/Starefossen/docker-github-pages propose une solution plus simple utilisant docker: Il suffit de tapper la commande

docker run -it --rm -v "$PWD":/usr/src/app -p "4000:4000" starefossen/github-pages

En fait cette image a quelques problèmes. Il existe une image officielle dans laquelle un module manque. On peut en dériver une image compléte.

Créer un fichier Dockerfile contenant

FROM jekyll/jekyll:pages
RUN gem install webrick

Créer la nouvelle image avec: docker build -t jekyll-pages-webrick .

Puis

docker run -it --rm -v "$PWD":/srv/jekyll -p "4000:4000" jekyll-pages-webrick jekyll serve

et d’ouvrir l’url http://127.0.0.1:4000/

Si on veut ajouter des tags, il faut utiliser https://github.com/pattex/jekyll-tagging

Ca ne marche pas. Je regarde https://hydepress.github.io/jekyll-style