Sign inSign up

satangos/gollum

By satangos

•Updated about 5 years ago

Image
0

88

satangos/gollum repository overview

⁠Gollum tips

⁠About Gollum

Gollum version 5.0 is out! See here for a list of changes and new features compared to Gollum version 4.x, and see some Screenshots of Gollum's features.

  • A Gollum repository's contents are human-editable text or markup files;
  • Pages may be organized into directories any way you choose;
  • Other content can also be included, for example, images, PDFs, and headers/footers for your pages;
  • Gollum pages:
    • Maybe written in a variety of markups⁠;
    • Can be edited with your favorite system editor or IDE (changes will be visible after committing) or with the built-in web interface;
    • Can be displayed in all versions, reverted, etc;
  • Gollum strives to be compatible with GitHub wikis (see --lenient-tag-lookup)
  • Gollum supports advanced functionality like:
    • UML diagrams;
    • BibTeX and Citation support;
    • Annotations using CriticMarkup;
    • Mathematics via MathJax;
    • Macros;
    • Redirects;
    • RSS Feed of latest changes;
    • ...and more
⁠Installing
[user@hostname ~/] $: docker pull satangos/gollum
⁠Running the service
[user@hostname ~/] $: docker run \ 
    -p 4567:4567 \
    --name gollum-srv \
    --hostname pimp-gollum \
    --restart=always \
    --network=host \
    -v /srv/gollum/wiki:/wiki \
    -d satangos/gollum
⁠Enter in the matrix:
[user@hostname ~/] $: docker exec -it gollum-srv bash
⁠Install requirements

Updating and install some requirements

[root@cead-gollum ~/] $: apt update && apt install -y python3-pip cpanminus 

Ruby packges

[root@cead-gollum ~/] $: gem install commonmarker
[root@cead-gollum ~/] $: gem install RedCloth
[root@cead-gollum ~/] $: gem install rdoc
[root@cead-gollum ~/] $: gem install org-ruby
[root@cead-gollum ~/] $: gem install creole
[root@cead-gollum ~/] $: gem install wikicloth

Python requirements

[root@cead-gollum ~/] $: pip3 install --upgrade pip setuptools 
[root@cead-gollum ~/] $: pip3 install docutils

More Ruby requirement

[root@cead-gollum ~/] $:  gem install asciidoctor

Perl requirement

[root@cead-gollum ~/] $:cpan 
cpan[1]: install local::lib
cpan[2]: install Pod::Simple
cpan[3]: CTRL+D

At last

[root@cead-gollum ~/] $: gem install github-markup 
⁠Exit the matrix
[root@cead-gollum ~/] $: CTRL+D 
⁠Accessing the service

Use the browser: http://server-name.net:4567⁠

⁠Configuration

Gollum comes with the following command-line options:

OptionArgumentsDescription
--host[hostname]Specify the hostname or IP address to listen on. Default: '0.0.0.0'. (1)
--port[PORT]Specify the port to bind Gollum with. Default: 4567.
--config[FILE]Specify path to Gollum's configuration file.
--ref[REF]Specify the git branch to serve. Default: master.
--barenoneTell Gollum that the git repository should be treated as bare.
--adapter[ADAPTER]Launch Gollum using a specific git adapter. Default: rugged. (2)
--base-path[PATH]Specify the leading portion of all Gollum URLs (path info). Setting this to /wiki will make the wiki accessible under http://localhost:4567/wiki/⁠ Default: /.
--page-file-dir[PATH]Specify the subdirectory for all pages. If set, Gollum will only serve pages from this directory and its subdirectories. Default: repository root.
--static, --no-staticnoneUse static assets. Defaults to false in development/test, true in production/staging.
--assetsPATH]Set the path to look for static assets.
--cssnoneTell Gollum to inject custom CSS into each page. Uses custom.css from wiki root. (3)
--jsnoneTell Gollum to inject custom JS into each page. Uses custom. js from wiki root. (3)
--no-editnoneDisable the feature of editing pages.
--follow-renames, --no-follow-renamesnoneFollow pages across renames in the History view. Default: true.
--allow-uploads[MODE]Enable file uploads. If set to dir, Gollum will store all uploads in the /uploads/directory in the repository root. If set to page, Gollum will store each upload at the currently edited page. (4)
--mathjaxnoneEnables MathJax (renders mathematical equations). By default, uses the TeX, AMS, MML, HTML or MML, config with the autoload-allextension. (5)
--critic-markupnoneEnable support for annotations using CriticMarkup⁠.
--irbnoneLaunch Gollum in "console mode", with a predefined API⁠.
--h1-titlenoneTell Gollum to use the first <h1> as page title.
--no-display-metadatanoneDo not render metadata tables in pages.
--user-icons[MODE]Tell Gollum to use specific user icons for history view. Can be set to gravatar, identical or none. Default: none.
--mathjax-config[FILE]Specify path to a custom MathJax configuration. If not specified, uses the mathjax.config.js file from repository root.
--template-dir[PATH]Specify custom mustache template directory.
--template-pagenoneUse _Template in root as a template for new pages. Must be committed.
--template-pagenoneUse _Template in root as a template for new pages. Must be committed.
--emojinoneParse and interpret emoji tags (e.g. :heart:) except when the leading colon is backslashed (e.g. :heart:).
--lenient-tag-lookupnoneInternal links resolve case-insensitively, will treat spaces as hyphens, and will match the first page found with a certain filename, anywhere in the repository. Provides compatibility with Gollum 4.x.
--helpnoneDisplay the list of options on the command line.
--versionnoneDisplay the current version of Gollum.
--versionsDisplay the current version of Gollum and auxiliary gems.
⁠Notes
  1. The 0.0.0.0 IP address remote access. Should you wish for Gollum to turn into a personal Wiki, use 127.0.0.1;
  2. Before using --adapter, you should probably read this⁠ first;
  3. When --css or --js is used, respective files must be committed to your git repository or you will get a 302 redirect to the create a page;
  4. Files can be uploaded simply by dragging and dropping them onto the editor's text area when --allow-uploads is used;
⁠Config file

When --config option is used, certain inner parts of Gollum can be customized. This is used throughout our wiki for certain user-level alterations, among which customizing supported markups⁠ will probably stand out.

All of the mentioned alterations work both for Gollum's config file (config.rb) and hack's config file (config.ru).

⁠CONTRIBUTING

Please consider helping out! See CONTRIBUTING⁠ for information on how to submit issues, and how to start hacking on gollum.


Oficial Gollum source code⁠

Tag summary

Content type

Image

Digest

Size

454.9 MB

Last updated

about 5 years ago

docker pull satangos/gollum