Gollum, un wiki propulsé par git

Posté par (page perso) . Modéré par Florent Zara.
Tags :
17
25
août
2010
Ligne de commande
Gollum est un wiki dont la particularité est d'être propulsé par git. Il a été codé par les développeurs de Github, le choix de git n'est donc pas étonnant. Il est ainsi possible d'éditer un wiki Gollum en passant par l'interface web ou directement depuis son éditeur de texte préféré, puis en commitant dans le dépôt git utilisé par Gollum.

Gollum est une application web sous licence MIT, développée en Ruby avec le framework Sinatra. Parmi les fonctionnalités, citons :
  • La prise en charge de plusieurs langages de markup (ASCIIDoc, Creole, Markdown, Org Mode...) ;
  • La coloration syntaxique de bloc de code grâce à Pygments ;
  • L'affichage de formules mathématiques au format TeX avec MathJax ;
  • La possibilité d'attacher des fichiers et d'inclure des images.

À titre anecdotique, notons que les développeurs de Gollum ont suivi quelques principes :
  • # Un commit suffit ?

    Posté par (page perso) . Évalué à  3 .

    J'y aurai bien ajouté un push :-)

    Et sinon, est-ce que gollum propose un module client Weboob ?

    Blague à part, ce type de fonctionnement peut être agréable :-)
    • [^] # Re: Un commit suffit ?

      Posté par (page perso) . Évalué à  2 .

      > J'y aurai bien ajouté un push :-)

      Ben non, il dit qu'il faut faire un commit DANS LE DEPOT. Si tu fais un commit dans un autre dépôt, il faut évidement le push.
  • # Gollum et Pygments

    Posté par . Évalué à  3 .

    La coloration syntaxique de bloc de code grâce à Pygments

    Je ne connais pas grand-chose à l'écosystème Ruby mais je suis étonné de voir que la coloration syntaxique provient du pythonique Pygments. Savez-vous pourquoi ne pas avoir utilisé quelque chose comme CodeRay [http://coderay.rubychan.de/] ?
    • [^] # Re: Gollum et Pygments

      Posté par (page perso) . Évalué à  1 .

      Pygments est utilisé sur github, et c'est donc par cohérence que les développeurs ont choisi pygments pour Gollum. Maintenant, pourquoi ce choix de pygments pour github ? Je ne sais pas, mais j'imagine que ça doit venir du nombre de langages supportés.

      Par exemple, code ray ne fait pas de coloration syntaxique pour les langages de markup comme asciidoc, creole et markdown. Du coup, ça aurait été dommage pour un wiki comme gollum de ne pas avoir de coloration syntaxique sur ses propres langages de markup.
      • [^] # Re: Gollum et Pygments

        Posté par (page perso) . Évalué à  1 .

        Cependant, il existe Ultraviolet [http://ultraviolet.rubyforge.org/], qui propose énormément de languages (il utilise les bundles TextMate).

        Mais il est assez st chiant a installer (il faut compiler Ruby 1.8 avec les bindings Oniguruma), puis le gem oniguruma du même auteur, qui a tendance a foirer royalement sur FreeBSD.

        Et plus maintenu, donc il n'est plus compatible avec Ruby 1.9, qui, lui utilise par défaut Oniguruma. Quel dommage :-)
  • # Génial mais...

    Posté par . Évalué à  1 .

    J'aime bien l'idée d'utiliser le un dépôt Git pour faire un wiki. Cependant :
    - Peut-on le configurer pour qu'il se lance par un serveur web genre HTTPd ?
    - Est-il multi-wiki ? Peut-on avec une seul instance gérer plusieurs wiki ?
    - J'utilise gitolite pour la gestion de mes dépôts Git. Comment dois-je m'y prendre ?
    • [^] # Re: Génial mais...

      Posté par (page perso) . Évalué à  1 .

      Il me semble que ce n'est pas le wiki en lui même qui est géré par git mais plutôt les articles et l'historique.

      En gros, je pense que c'est un moteur web utilisant git. Après tout pour la gestion de l'historique c'est pas mal avec les diff que propose git entre deux commits.

      Pour ce qui est du multi-wiki je pense que c'est effectivement possible, il suffirait selon moi de créer une nouvelle branche dans le dépot git.

      Je dis ça sans connaître Gollum, c'est uniquement ce que je pense possible avec les fonctionnalités de git.

      David Delassus.
    • [^] # Re: Génial mais...

      Posté par . Évalué à  1 .

      - Peut-on le configurer pour qu'il se lance par un serveur web genre HTTPd ?

      Je ne comprends pas ce que tu veux dire par là.

      C'est quoi un "serveur web genre HTTPd" ? Et quel serait l'opposé de cet exemple ? Un serveur web qui ne soit pas un démon http ?
      • [^] # Re: Génial mais...

        Posté par . Évalué à  1 .

        httpd est le serveur HTTP d'Apache.

        Peut-être que je n'ai pas bien compris ce qu'est Gollum mais pour moi il s'agit d'un logiciel de wiki qui se base sur Git pour assurer les différentes versions de chaque page.

        Pour afficher les pages, on lance la commande gollum qui lancera un serveur HTTP et on pourra consulter notre wiki à l'adresse http://localhost:4567. Ce serveur fait un peu doublon avec un autre serveur HTTP tel que httpd.

        Pour httpd d'Apache, il existe mod_python (entre autres) pour exécuter les applications web python. Gollum étant une application web, je me demandais s'il existe une sorte de mod_ruby pour l'exécuter depuis httpd.
        • [^] # Re: Génial mais...

          Posté par . Évalué à  2 .

          httpd est le serveur HTTP d'Apache.

          Pas exactement.

          httpd, ça veut dire http daemon, soit démon http, c'est à dire serveur HTTP (ce qui est presque équivalent à serveur web).

          Le serveur http, d'apache se nomme "apache HTTP Server". C'est le nom complet qui lui permet d'être désigné de façon unique et bien différencié de la licence Apache, de la fondation Apache ou des projets de la fondation dont le nom commence par Apache.

          httpd est le nom du binaire (et du user je crois) des serveurs apaches sous RedHat par exemple. Mais pas sous Debian (où le user est www-data et le binaire apache2).

          D'autres softwares utilisent ce moyen de nommage (bind peut être appelé named par exemple). Mais ça n'en fait pas le nom officiel.
          • [^] # Re: Génial mais...

            Posté par (page perso) . Évalué à  0 .


            httpd est le nom du binaire (et du user je crois) des serveurs apaches sous RedHat par exemple. Mais pas sous Debian (où le user est www-data et le binaire apache2).


            C'est normal, Debian font toujours les choses à leur sauce.
            Par défaut, le serveur HTTP d'Apache s'appelle httpd.
  • # Gitit existe également depuis un certain temps

    Posté par . Évalué à  1 .

    Gitit est un Wiki appuyé sur git ou darcs écrit en Haskell, il supporte la plupart des fonctionnalités (formules, coloration syntaxique, etc) dont se targue Gollum depuis un certain temps. Pour plus de détail voyez la démo : [http://gitit.net/].
  • # Screenshots?

    Posté par (page perso) . Évalué à  1 .

    Screenshots?
    • [^] # Re: Screenshots?

      Posté par . Évalué à  1 .


      Gollum is a simple wiki system built on top of Git that powers GitHub Wikis.


      donc les pages wiki de github sont en gollum.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.