oy
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Git based Wiki build on top of Ramaze in spirit of the Github wiki Gollum
h1. Oy! README

!>https://github.com/downloads/entropie/oy/oy.jpg!

h1. 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":https://github.com/entropie/oy
* Running "Demo":http://wiki.kommunism.us, feel free to play around.

h2. 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(Model View Controller) its possible to edit template files or customize Javascript or CSS(Cascading style Sheets). 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(Representational State Transfer) 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":http://www.ivellios.toron.pl/technikalia/2010/06/22/gvchart-plugin-jquery-with-google-charts/ 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]]

h3. Markups

* "Textile/RedCloth":http://www.textism.com/tools/textile/ gem install RedCloth, the default markup system.
* "Markdown":http://daringfireball.net/projects/markdown/ gem install rdiscount
* "Org":http://orgmode.org/ gem install org-ruby

h2. 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

h3. Running

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

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

h3. 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":https://github.com/entropie/oy/issues. 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.

h4. Development

* [[about/todo Todo]] Generated by Rakefile from ./TODO.howm
* "Generated Documentation":/doc/frames.html (yard)
* "Rspec output":/spec.html
* "Coverage":/doc/coverage/index.html

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。