Gollum
gollum -- A wiki built on top of Git
A simple, Git-powered wiki with a sweet API and local frontend.
syon/wiki¶
このサイト http://syon-wiki.herokuapp.com は Gollum で構築されています。
- ソースコード(forked): https://github.com/syon/gollum
- 記事の Markdown ファイル: https://github.com/syon/wiki/tree/master/source
- Gollum に至るまでの経緯: 蓄積したノウハウをどう管理するか - X X X
Features¶
よく挙げられている特徴¶
- Markdown, MediaWiki, Textileなど大抵の記法で書ける。
- 基本的にgitリポジトリ一つで完結しており、MySQLなどのDBが不要で、簡単にprivate wikiを立ち上げられる。
- セットアップが非常に楽。
- gitで動いているので、バージョン管理や差分、コミットを遡ってrevertする、なんてこともWebのUIから簡単に操作できる。
- 全文検索も実装されている。
- ruby+sinatraで実装されているので、分かる人は拡張を簡単に書ける気がする。
- シンタックスハイライトが効く
- ファイルアップロード機能も一応ある(あんま重要視してない)
- 管理がGit任せなので、操作に慣れていると楽
- ほとんどそれだけしか機能が無いこと(ユーザ登録機能すら無いです)
使ってみて気づいたイマイチな点¶
- プライベート用途が想定されている
- 右上のボタンは誰でも操作できる
dl
dt
dd
相当の記法がない- これは Markdown の仕様っぽいから仕方ない
- そのままタグで書けば反映される
- ページ数が増えると
- リポジトリのディレクトリ内が Markdown ファイルで溢れかえる
- サブディレクトリを使おうとすると弊害が出る Issue #1 · syon/wiki
- 公開にあたって
- なんとか Heroku 上で見られるようにはできた ⇛ すべて 無料 でシステムが動いている
- ページタイトル、URL がファイル名に依存。サイト名もつけて判別できるようにしたい
- Google Web Master Tools の静的ファイルを置くためにソースに手を加える必要がある
- サイトマップどうしよう。。 → サイトマップの追加 · Issue #4 · syon/wiki
- トップページだけはいい感じにレイアウトしたい
- Nginx + Unicorn で分離?難しそう。。
Setup¶
$ mkdir mywiki $ cd mywiki $ git init $ bundle init (Gemfile) gem "gollum" $ brew install icu4c $ bundle install --path vendor/bundle $ bundle exec gollum
Gollum on Heroku¶
Gollum on Heroku¶
Heroku上でGollumを運用する方法。ただし編集内容は再デプロイ後に消える。Herokuの ephemeral filesystem のため。要するにHeroku上の変更をGitHubにpushできないから変更を維持できない。
Customize¶
Custom CSS & JS¶
リポジトリ直下に置いたcustom.css
, custom.js
を読み込ませることができる。
Gollum¶
$ bundle exec gollum --css --js
Rack (config.ru)¶
Precious::App.set(:wiki_options, { universal_toc: false, live_preview: true, css: true, js: true })
Articles¶
- githubのwikiエンジン"gollum"の導入と細かい設定 - yukke::note
- 数式を書く
- 画像をはりつける
- ヘッダやフッタなど
- カスタマイズ
- 画像のアップローダー
- wikiに認証をつける
- ヘッダーをつける
- gollumを使って個人用wikiをサーバに立てた | blog: takahiro okumura
- GitベースのWiki gollumを使い始めた - Gaishimo
- CentOS 5.9 (さくらVPS), Webサーバ: nginx 1.2.3
Error¶
icu required¶
*************************************************************************************** *********** icu required (brew install icu4c or apt-get install libicu-dev) *********** *************************************************************************************** *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.
言われたとおり実行。Macなので:
$ brew install icu4c
Cygwinの場合:
$ apt-cyg find icu Searching for installable packages matching icu: icu icu-doc libicu-devel libicu38 libicu45 libicu48 ploticus ploticus-common ploticus-doc sqlite3-icu $ apt-cyg install libicu-devel
Gollum::InvalidGitRepositoryError¶
Gollum::InvalidGitRepositoryErrorGitリポジトリになってない。
$ git init