Github pages

De Wiki ISIG
Révision datée du 17 novembre 2023 à 11:21 par Lvaudor (discussion | contributions) (→‎Cas particulier)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Ici je détaille la procédure notamment depuis R/RStudio mais il doit être possible de faire à peu près la même chose depuis Python avec Quarto également...

On peut héberger des pages web sur un repo github en passant par les "Github pages". La production de ces pages est facilitée par l'usage de Quarto via RStudio.


Etapes:

  • depuis github: créer un repo
  • depuis RStudio: créer un repo en local (par exemple à partir du repo distant): le créer comme "projet Quarto" depuis RStudio
  • depuis RStudio: éditer le fichier yaml du projet : `_quarto.yml` pour indiquer:
project:
  type: website
  output-dir: docs
  • depuis RStudio ou un terminal: créer un nouveau sous-dossier "docs" dans le dossier correspondant au projet R
  • depuis RStudio ou un terminal: tricoter le .qmd (dans RStudio: bouton "render" ou commande `quarto::quarto_render()`)
  • depuis RStudio ou un terminal: commit et push
  • depuis RStudio ou un terminal: créer une branche gh-pages : `git branch gh-pages`
  • depuis github: aller dans Settings => Pages puis Deploy from a branch (master a priori). Préciser que les pages se trouvent dans le sous-dossier docs. Puis Save.
  • depuis github: le déploiement du site est documenté dans l'onglet Actions. Le lien vers le site y sera indiqué une fois le déploiement réalisé.


Le lien vers les pages correspond à qqch du genre:

https://{username}.github.io/{repo}/{docname}.html

Cas particulier

Si on souhaite "pré-rendre" localement le site ou la page et que ce soit ce site ou page qui s'affiche comme github pages (i.e. on ne veut pas que le site ou la page soit rendue par Jekyll depuis les serveurs github) alors on peut ce paramètre à github en ajoutant un fichier vide ".nojekyll" au repo. Pour ce faire, ouvrir un terminal dans le repo local puis faire:

touch .nojekyll

Puis commit, et push.

Si le site est déployé depuis (par exemple) un sous-dossier "docs", alors le .nojekyll doit être créé non pas à la racine du repo mais dans le dossier "docs".