github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

geekq / git-wiki forked from sr/git-wiki

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 5
    • 42
  • Source
  • Commits
  • Network (42)
  • Issues (0)
  • Downloads (0)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (4)
    • deep_folder_support
    • grit
    • master ✓
    • try-redux
  • Tags (0)
Sending Request…
Enable Donations

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

A quick & dirty git-powered Sinatra wiki — Read more

  cancel

http://atonie.org/2008/02/git-wiki

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Serve attachments, e.g. PDF documents including correct mime type 
geekq (author)
Mon Feb 08 04:05:25 -0800 2010
commit  5ef02428dd0696c468b5d0247cb937d1f779ad6c
tree    e64771559855a8326959cfc8b12958fc23af4547
parent  96e249e2584225c5182c76a9765b47e892f8d1e4
git-wiki /
name age
history
message
file .gitignore Thu Mar 27 16:36:33 -0700 2008 Ignore *.swp [sr]
file README.markdown Sun Feb 07 00:29:43 -0800 2010 Switch recursion on or off with `recursion:true` [geekq]
file git-wiki.rb Mon Feb 08 04:05:25 -0800 2010 Serve attachments, e.g. PDF documents including... [geekq]
file run.ru Loading commit data...
README.markdown

git-wiki

git-wiki is a wiki that relies on git to keep pages' history and Sinatra to serve them. This geek brain overlay system aims to replace trac (wiki and ticket system), a CMS and sticky notes.

Features of this fork (by geekQ)

Support for images

You can add images to /img folder of your git repository. Subfolders are also supported. At least gif, png and jpg supported - content type is set automatically by Sinatra. You can reference the images then from your wiki pages like ![My picture](/img/2009/my_picture.jpg)

No web interface at this time - use git commit.

Custom h1 header

If your wiki page contains a markdown h1 header, then this one is used on the page. If not, then h1 is created out of the file name (as in original git-wiki).

Integrated TODO list(s)

Just write TODO or DONE at the beginning of a line with task you would like to remember.

Inclusion

You can include tasks from other wiki pages. So it is possible to have one separate page per project, e.g. ProjectGitWiki, ProjectWorkflow and to aggregate all coding tasks on one, say ContextCoding page with INCLUDE project:GitWiki, INCLUDE project:Workflow.

You can also reference other contexts with INCLUDE context:AtHome.

Recursion can be turned on with INCLUDE context:AtHome recursive:true. It is off by default.

You can also reference a source on the web. I prefer to manage my tasks related to git-wiki development in this README file. So on my ContextCoding page I have following reference: INCLUDE http://github.com/geekq/git-wiki/raw/master/README.markdown

  • DONE: include via http
  • DONE: recursive inclusion
  • DONE: mark included tasks in special way
  • DONE: switch recursion on or off
  • DONE: avoid endless recursion by saving a list of visited nodes
  • TODO: include a task list filtered by tagged value, e.g. TASKS context:home should list all the tasks for the specified context.
  • DONE: allow optional asterisk in front of TODO
  • TODO: group included lists by project
  • TODO: merge and resort tasks from subsequent INCLUDE statements
  • DONE: gather all tasks from all pages with INCLUDE wiki:all
  • TODO: gather all the remaining (not referenced) tasks into task inventory page

No wiki words

For a hacker the wiki words is more a distraction than a help. Example: if I mention ActiveRecord, than it should not link to the wiki article ActiveRecord but appear as it is.

  • DONE: do not rely on wiki words

Other plans

  • TODO: keyboard short cuts for edit and saving
  • TODO: check dead links
  • TODO: search engine
  • IDEA: presentation system - markdown + my S5 alternative
  • IDEA: support for attachments
  • IDEA: support for deeper Wiki page folder structure
  • IDEA: support for special programmed pages - via haml or liquid template engine

Install

The following gems are required to run git-wiki:

  • Sinatra
  • mojombo-grit
  • HAML
  • RDiscount
  • RestClient

Run with mkdir ~/wiki && (cd ~/wiki && git init) && ./run.ru -sthin -p4567 and point your browser at http://0.0.0.0:4567/. Enjoy!

See also

  • How to use vim to edit <textarea> in lynx
  • WiGit think git-wiki except implemented in PHP
  • ikiwiki is a wiki compiler supporting git

Quotes

[...] the first wiki engine I'd consider worth using for my own projects.

Steve Dekorte

Oh, it looks like Git Wiki may be the starting point for what I need...

Tom Morris on "How to build the perfect wiki"

What makes git-wiki so cool is because it is backed by a git store, you can clone your wiki just like you could any other git repository. I’ve always wanted a wiki that I could a.) pull offline when I didn’t have access to the Internets and b.) edit (perhaps in bulk) in my favorite text editor. git-wiki allows both.

Cloning your wiki

Numerous people have written diff and merge systems for wikis; TWiki even uses RCS. If they used git instead, the repository would be tiny, and you could make a personal copy of the entire wiki to take on the plane with you, then sync your changes back when you're done.

Git is the next Unix

MIT license

Copyright (c) 2009 Vladimir Dobriakov, vladimir.dobriakov@innoq.com

Copyright (c) Simon Rozet

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server