gollum

一个简单的 Git 驱动的 wiki, 带有甜美的 API 和本地前端。(A simple, Git-powered wiki with a sweet API and local frontend.)

Github星跟蹤圖

gollum -- A git-based Wiki

Gem Version
Build Status
Open Source Helpers

DESCRIPTION

Gollum is a simple wiki system built on top of Git. A Gollum Wiki is simply a git repository of a specific nature:

  • A Gollum repository's contents are human-editable. Pages are unique text files which may be organized into directories any way you choose, as long as they have a recognized file extension. Other content can also be included, for example images, PDFs and headers/footers.
  • Gollum pages:
    • May be written in a variety of markup languages.
    • Can be edited with your favourite system editor or IDE or with the built-in web interface.
    • Can be displayed in all versions, and can easily be rolled back.
  • Gollum supports advanced functionality like UML diagrams, macros, metadata, and more.

Some helpful documentation:

  1. Known limitations.
  2. Troubleshoot guide.
  3. Security overview.

Videos

SYSTEM REQUIREMENTS, Operating System, Ruby, Adapters, Supported, ----------------, --------------, ------------------, ---------, Unix/Linux-like, Ruby (MRI) 2.1.0+, all except RJGit, yes, Unix/Linux-like, JRuby (1.9.3+ compatible), RJGit, yes, Windows, Ruby (MRI) 2.1.0+, all except RJGit, no, Windows, JRuby (1.9.3+ compatible), RJGit, almost1, Notes:

  1. There are still some bugs and this setup is not ready for production yet. You can track the progress at Support Windows via JRuby - Meta Issue.

INSTALLATION

Varies depending on operating system, package manager and Ruby installation. Generally, you should first install Ruby and then Gollum.

  1. Ruby is best installed either via RVM or a package manager of choice.
  2. Gollum is best installed via RubyGems:
    [sudo] gem install gollum
    

Installation examples for individual systems can be seen here.

Notes:

  • Whichever Ruby implementation you're using, Gollum ships with the appropriate default git adapter. So the above installation procedure is common for both MRI and JRuby.

Markups

Gollum presently ships with support for the following markups:

Since all markups are rendered by the github-markup gem, you can easily add support for other markups by additional installation:

  • AsciiDoc -- [sudo] gem install asciidoctor
  • Creole -- [sudo] gem install creole
  • MediaWiki -- [sudo] gem install wikicloth
  • Org -- [sudo] gem install org-ruby
  • Pod -- requires Perl >= 5.10 (the perl command must be available on your command line)
    • Lower versions should install Pod::Simple from CPAN.
  • ReStructuredText -- requires python >= 2 (the python2 command must be available on your command line)
    • Note that Gollum will also need you to install docutils for your Python 2. Installation procedure can, again, vary depending on operating system and package manager.
  • Textile -- [sudo] gem install RedCloth

By default, Gollum ships with the kramdown gem to render Markdown. However, you can use any Markdown renderer supported by github-markup. The thing to remember is that the first installed renderer from the list will be used. So, for example, redcarpet will NOT be used if github/markdown is installed.

RUNNING

Simply:

  1. Navigate to your git repository (wiki) via the command line.
  2. Run: gollum.
  3. Open http://localhost:4567 in your browser.

This will start up a web server (WEBrick) running Gollum with a web interface, where you can view and edit your wiki.

Running from source

  1. git clone https://github.com/gollum/gollum
  2. cd gollum
  3. [sudo] bundle install (may not always be necessary).
  4. bundle exec bin/gollum
    • Like that, gollum assumes the target wiki (git repository) is the project repository itself. If it's not, execute bundle exec bin/gollum <path-to-wiki> instead.
  5. Open http://localhost:4567 in your browser.

Rack

Gollum can also be ran with any rack-compatible web server. More on that over here.

Rack, with an authentication server

Gollum can also be ran alongside a CAS (Central Authentication Service) SSO (single sign-on) server. With a bit of tweaking, this adds basic user-support to Gollum. To see an example and an explanation, navigate over here.

Docker

Gollum can also be ran via Docker. More on that over here.

Service

Gollum can also be ran as a service. More on that over here.

CONFIGURATION

Gollum comes with the following command line options:, Option, Arguments, Description, -----------------, ---------, -----------, --host, [HOST], 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., --adapter, [ADAPTER], Launch Gollum using a specific git adapter. Default: grit.2, --bare, none, Tell Gollum that the git repository should be treated as bare. This is only necessary when using the default grit adapter., --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., --css, none, Tell Gollum to inject custom CSS into each page. Uses custom.css from repository root.3,5, --js, none, Tell Gollum to inject custom JS into each page. Uses custom.js from repository root.3,5, --emoji, none, Parse and interpret emoji tags (e.g. :heart:)., --no-edit, none, Disable the feature of editing pages., --live-preview, none, Enable the live preview feature in page editor., --no-live-preview, none, Disable the live preview feature in page editor., --allow-uploads, [MODE], Enable file uploads. If set to dir, Gollum will store all uploads in the /uploads/ directory in repository root. If set to page, Gollum will store each upload at the currently edited page.4, --mathjax, none, Enables MathJax (renders mathematical equations). By default, uses the TeX-AMS-MML_HTMLorMML config with the autoload-all extension.5, --irb, none, Launch Gollum in "console mode", with a predefined API., --h1-title, none, Tell Gollum to use the first <h1> as page title., --show-all, none, Tell Gollum to also show files in the file view. By default, only valid pages are shown., --collapse-tree, none, Tell Gollum to collapse the file tree, when the file view is opened. By default, the tree is expanded., --user-icons, [MODE], Tell Gollum to use specific user icons for history view. Can be set to gravatar, identicon 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., --help, none, Display the list of options on the command line., --version, none, Display the current version of Gollum., Notes:

  1. The 0.0.0.0 IP address allows 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 (this is, however exclusive to the default editor, not the live preview editor).
  5. Read the relevant Security note before using these.

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 Rack's config file (config.ru).

CONTRIBUTING

Please consider helping out! See here for pointers on how to get started with development.

概覽

名稱與所有者gollum/gollum
主編程語言Ruby
編程語言Ruby (語言數: 9)
平台Docker, Linux, Windows
許可證MIT License
發布數93
最新版本名稱v6.0.0 (發布於 )
第一版名稱v1.0.0 (發布於 )
創建於2010-03-29 18:30:53
推送於2024-05-04 13:57:24
最后一次提交2024-05-03 13:39:53
星數13.6k
關注者數258
派生數1.6k
提交數2.5k
已啟用問題?
問題數1237
打開的問題數44
拉請求數575
打開的拉請求數4
關閉的拉請求數161
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?
去到頂部