The Icky Stiki Wiki

Stiki is a Rails Engine for adding simple wiki support to site. Stiki is comprised of Spaces that have multiple Pages. A Page is comprised of a Title and Wiki Body.

Stiki is designed to work with twitter-bootstrap, but will work with any site that uses a compatible css.

Presently only wiki format supported is MarkDown.

Installation

In Rails 3, add this to your Gemfile and run the bundle command.

gem "stiki"

Getting Started

First, you will need to create the Stiki database migations:

rake stiki_engine:install:migrations

and migrate your database

rake db:migrate

Second, you will need to add Stiki to your config/routes.rb

mount Stiki::Engine => "/wiki"

That is all! Now you can start up your rails app and goto /wiki to start having wiki fun.

Stiki Configuration

To configure Stiki, create a config in config/initializers/stiki.rb

Stiki.config do |stiki|
  # Optional user class, required for author and devise
  stiki.user_class = 'User' 

  # Method to be called on user_class to display user name. Defaults to to_s
  stiki.user_name_via = :user_name

  # Optional, use devise for authentication
  stiki.authenticate_by = :devise 
  stiki.authenticate_pages = :all   # other options are :only => [actions]  or :except => [actions]
  stiki.authenticate_spaces = :all  # other options are :only => [actions] or :except => [actions]

  # Optional, use cancan for authorization
  stiki.authorize_by = :cancan
end

Loading Stiki Stylesheets

Latest Rails version does not appear to pick up the css from Stiki automatically, so you will likely have to edit your apps/assets/stylesheets/application.css and add

require "stiki/application"

To get the Stiki Stylehseets to be included.

Reloading Stiki in the development environment

To have Stiki reload correctly while running in the Rails development environment, add this to your config/environments/development.rb

config.to_prepare do
  Stiki.reload
end

This will re-apply changes to the Stiki models and controllers that were reloaded.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.