Skip to content

Latest commit

 

History

History
59 lines (38 loc) · 4.08 KB

README.textile

File metadata and controls

59 lines (38 loc) · 4.08 KB

Oy! README

About

Oy! is a Wiki based on git. Purely written in Ruby with few dependencies. All you need to use it is clone Oy!, create a new git repos and start the application.

This is inspired by gollum, the github wiki. Ramaze is the framework.

The entire content is stored plaintext in the git repos, there are multiple ways to add/edit content. The Webfrontend, $EDITOR or the Oy! Ruby-API.

Pathnames for wikipages are as well available in the git repos. So the page you get while requesting /test/index is equivalent with /path/to/your/repos/test/index.textile. Media files, for now only images, are stored in media/ with full history.

  • Source on Github
  • Running Demo, feel free to play around.

Features

  • No Database backend but Git powered.
  • Nice default template. Besides this, the look of Oy! is 100% customizeable for every single repository. Thanks to MVC its possible to edit template files or customize Javascript or CSS. Just create a {_view,_public,_layout} directory within your repos and copy the original files to the right location and edit them for your needs.
  • Entire directories or single files are lockable from commandline. Given a file ./hello.textile in your repository run a touch ./hello.textile.locked && git add ./hello.textile.locked && git commit -m "lock hello" and /hello is readonly for the webinterface or through the Oy! Api.
  • Media files uploaded via the webinterface are stored with full history in the repository. To lock a directory: touch ./.locked && git add ./.locked [...] — every single file in this directory is write protected now.
  • Simple REST like api. Just try a curl http://wiki.kommunism.us/api/GET/index. Also its possible to POST — The Oy! executable provides a method to do this. I’ts done like this cat index.textile | oy.rb -P http://wiki.kommunism.us/index
  • Different Markups; for now RedCloth (which is default), Markdown, and ORG. I’ts dead simple to add your own.
  • Unicode support for pages, try [[test/ěĕėƒĝğġģĥ ěĕėƒĝğġģĥ]]
  • Support for graphs from tables, on top of Google graph api and gvChart gem
  • Syntax highlighting for for source code via [[http://softwaremaniacs.org/soft/highlight/en/ Hightlight.js]]
  • Support for [[https://gist.github.com/ Gists]] ’[[gist 1337]]
  • Youtube support. Its possible to embed videos ’[[yt asdf1234 embed]] or just show an image with a link to the video ’[[yt asdf1234]]

Markups

Installation

For now the best way is to clone the repos, run rake build and install the gem:

git clone git://github.com/entropie/oy.git && cd oy && rake build && sudo gem install pkg/*.gem

Running

After installation run oy.rb --help. For the lazy ones: oy.rb -r /path/to/initialised/git/repos -p <port> -h <hostname>

The default port ist 8200 and the default hostname is localhost.

Additional Infos

This is really an early release. There will be bugs, probably lots of it. If a bug bites you in your hand please file it. As well you might want to request features, which is totaly fine, but dont expect it will be done soon. You’re encouraged to make a fork and add features yourself.

Development