Table of Contents

GOLLUM: Formats et extensions

Gollum prend en charge plusieurs formats de balisage. Lors de la création d'une nouvelle page, vous pouvez choisir le balisage cible via une liste déroulante. Ceci détermine directement l'extension de fichier de la nouvelle page (extension principale pour le balisage donné). De plus, Gollum a un ensemble prédéfini d’extensions pour chaque balise.

Tous les éléments ci-dessus peuvent être affichés en puts Gollum::Markup.formats.inspect dans le contexte de Gollum:

{
    # primary-extension => { markup-name, markup-file-extension-regex }

    :markdown => { :name => "Markdown", :regexp => /md|mkdn?|mdown|markdown/ },
    :textile => { :name => "Textile", :regexp => /textile/ },
    :rdoc => { :name => "RDoc", :regexp => /rdoc/ },
    :org => { :name => "Org-mode", :regexp => /org/ },
    :creole => { :name => "Creole", :regexp => /creole/ },
    :rest => { :name => "reStructuredText", :regexp => /re?st(\.txt)?/ },
    :asciidoc => { :name => "AsciiDoc", :regexp => /asciidoc/ },
    :mediawiki => { :name => "MediaWiki", :regexp => /(media)?wiki/ },
    :pod => { :name => "Pod", :regexp => /pod/ },
    :txt => { :name => "Plain Text", :regexp => /txt/ }
}

Seules les pages portant l’une des extensions ci-dessus sont rendues par Gollum.

Les chapitres suivants montreront comment personnaliser cette configuration. Tous les exemples fournis peuvent facilement être combinés. Si on utilise Gollum via Rack, ignorer simplement --config et config.rb et insérer le code dans config.ru.

Définition de l'extension principale pour un balisage (par exemple, AsciiDoc)

Lancer Gollum avec l’option --config et insérer ce qui suit dans votre fichier config.rb:

# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES

# remove the original AsciiDoc binding:
Gollum::Markup.formats.delete(:asciidoc)

# and define your own (".asc" is the new primary extension):
Gollum::Markup.formats[:asc] = {
    :name => "AsciiDoc",
    :regexp => /asciidoc/
}

Personnalisation des extensions liées à un balisage (par exemple, AsciiDoc)

Lancer Gollum avec l’option --config et insérer ce qui suit dans votre fichier config.rb :

# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES

# bind your own extension regex (the new set of extensions will also include `.asc` and `.adoc`):
Gollum::Markup.formats[:asciidoc][:regexp] = /(?:asciidoc|asc|adoc)/

Limiter les formats pris en charge (par exemple uniquement à AsciiDoc)

Lancer Gollum avec l’option --config et insérer ce qui suit dans votre fichier config.rb :

# always include this:
Gollum::Page.send :remove_const, :FORMAT_NAMES if defined? Gollum::Page::FORMAT_NAMES

# first remove all markups:
Gollum::Markup.formats.clear

# and then define the sole markup to be supported:
Gollum::Markup.formats[:asciidoc] = {
    :name => "AsciiDoc",
    :regexp => /asciidoc/
}