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