Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refonte de la documentation MDwiki #845

Open
loup-brun opened this issue Mar 28, 2023 · 14 comments
Open

Refonte de la documentation MDwiki #845

loup-brun opened this issue Mar 28, 2023 · 14 comments

Comments

@loup-brun
Copy link
Contributor

loup-brun commented Mar 28, 2023

Choisir une pile technique pour la documentation, qui ne devrait pas reposer sur du JS dans le navigateur pour être affichée.

Quelques besoins

  • Documentation : la forme doit convenir en premier lieu à des contenus de documentation (et non correspondre à l’organisation visuelle/hiérarchique d’un blogue ou d’un magazine par exemple).
  • i18n : prise en charge de contenus multilingues (fr / en).
  • HTML-first : solution qui ne requiert pas de JavaScript pour l’affichage de documents (🚫SPA).
  • Markdown : Prise en charge facile du Markdown.
  • API : Possible de brancher des API tierces (par exemple, l’éventualité de connecter la documentation à la plateforme Stylo pour y gérer les contenus à même la plateforme).
  • Pérennité de l’outillage : pile technique facilement reproductible (éviter les solutions reposant sur un grand nombre de dépendances, des technologies mal documentées, idiosyncrasiques qui imposent des structures non standard).

Pistes

  • Hugo : générateur de site statique polyvalent avec plein de fonctionnalités, notamment une très bonne prise en charge le multilinguisme. Plusieurs thèmes existent déjà, mais une modification des thèmes sera presque certainement nécessaire, et le langage de templating de Hugo (Go HTML Templates) est un obstacle significatif qui nécessite un apprentissage non négligeable. Il n’y a pas de solution toute faite pour tirer des contenus d’une API, tout doit reposer dans les fichiers markdown du projet.
  • Eleventy : générateur de site statique hybride, très configurable, écrit en JavaScript, avec accès à un très très large écosystème (plugins, bibliothèques tierces, etc.). Il n’existe pas autant de thèmes préfabriqués que pour Hugo ou Jekyll par exemple, car c’est un système relativement récent.
  • Executable Books, dont MyST : écosystème JavaScript ou Python, pour produire des articles ou des livres (collections d’articles) à partir d’une vision de production de documents scientifiques.
@ggrossetie
Copy link
Collaborator

ggrossetie commented Mar 28, 2023

Je vote pour Eleventy qui est très flexible et configurable. Je l'ai utilisé pour créer https://asciidoc.org/ et c'était top 👍🏻

@loup-brun loup-brun changed the title Refonte de la documentation MDWiki Refonte de la documentation MDwiki Mar 28, 2023
@antoinentl
Copy link
Member

antoinentl commented Apr 25, 2023

Liste de choses à faire (dans l'ordre) :

Quelques détails :

  • redirections : avec une page HTML et une balise meta qui renvoie depuis /fr_FR vers /fr par exemple
  • hébergement : décider si on conserve GitHub Pages (autres options : serveur du labo, serveur d'Huma-Num)
  • par la suite : prévoir une section sur certaines pages pour des usages plus avancées (édition du YAML, commandes LaTeX)

@thom4parisot
Copy link
Member

@antoinentl y'a moyen de faire fonctionner stylo.huma-num.fr/docs sans que ça soit servi par l'application Stylo. Des fois que ça vous fasse moins de boulot.

@antoinentl
Copy link
Member

Merci @thom4parisot pour la précision ! A priori on partait plutôt sur doc.stylo.huma-num.fr pour servir la documentation, notamment pour se laisser la souplesse d'héberger la documentation ailleurs.

@ggrossetie
Copy link
Collaborator

Cela pourrait être intéressant de (re)configurer Netlify afin d'avoir une prévisualisation des changements qui impactent la documentation: https://docs.netlify.com/configure-builds/monorepos/#build-multiple-sites-from-a-monorepo

@thom4parisot
Copy link
Member

thom4parisot commented Apr 26, 2023

Merci @thom4parisot pour la précision ! A priori on partait plutôt sur doc.stylo.huma-num.fr pour servir la documentation, notamment pour se laisser la souplesse d'héberger la documentation ailleurs.

C'est aussi possible avec un répertoire, via un mécanisme de reverse proxy. C'est le mécanisme actuellement employé pour que stylo.huma-num.fr/api pointe vers un serveur Node.js local (127.0.0.1:3030). Et ça fonctionne avec une origine distante (par exemple, une adresse GitHub Pages).

proxy_pass http://graphql_stylo;

loup-brun added a commit to loup-brun/stylo that referenced this issue May 16, 2023
@loup-brun
Copy link
Contributor Author

loup-brun commented Jun 7, 2023

Inspiration

Read The Docs (exemple)

inspiration-readthedocs


Zotero web (avec les colonnes)

layout-inspiration-zotero-web


Docusaurus clair/sombre (exemple)

inspiration-docusaurus-light

inspiration-docusaurus

@loup-brun
Copy link
Contributor Author

loup-brun commented Sep 8, 2023

EDIT voir commentaire suivant ainsi que PR #926

@loup-brun
Copy link
Contributor Author

Autre option : utiliser GH Pages pour construire le site 11ty. Ainsi, Netlify n'est utilisé qu'en preview et rien à modifier de la part de @ggrossetie, et pas besoin de changer les DNS non plus.

@ggrossetie
Copy link
Collaborator

Je viens de voir que c'est live! C'est beau 😍
Petit détail, je constate une double scrollbar sur Chrome/Windows :

image

@ggrossetie
Copy link
Collaborator

Si on peut avoir https://doc.stylo.huma-num.fr ça serait pas mal

@loup-brun
Copy link
Contributor Author

Je viens de voir que c'est live! C'est beau 😍 Petit détail, je constate une double scrollbar sur Chrome/Windows :

image

Hourra, les double scrollbars... la marque Stylo n'est pas belle non plus sur windows, avec le petit triangle presque détaché...

@ggrossetie
Copy link
Collaborator

Apparemment c'est spécifique à Chrome/Edge, sur Firefox ça s'affiche bien 😅

@loup-brun
Copy link
Contributor Author

Je vais tester, on ouvre une issue pour ça?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants