public
Description: A bare-bones wiki with a Git backend, Gliffy & Disqus integration
Homepage:
Clone URL: git://github.com/davetron5000/halen.git
halen /
README.rdoc

Halen

Halen is a very simple wiki that stores its wiki pages in a Git repository. It features:

 * Textfile formatting
 * Gliffy diagram integration.
 * Disqus Comments
 * Google Analytics

Install

    rake gems # show the needed gems; install any that are missing

Note that you cannot use the main Grit package, but must use mine; it contains an enhancement that isn’t in the main repo. Also note that, as of now, the Gliffy Ruby Client Library isn’t official, so you must use mine. Once it’s blessed, I’ll switch the requirements.

Configuration

  1. Configure your database as per normal with Rails.
  2. Create a new git repository for your content:
     mkdir /path/to/your/git/repo
     cd /path/to/your/git/repo
     mkdir wiki
     echo "h1. This is the Main Page" > wiki/MainPage
     touch stop_words
     git init
     git add .
     git commit -m 'initial commit'
    
  3. Configure halen. config/config.yml.example should be renamed config/config.yml and should contain placeholder for these options:
    git_root
    Full path to the Git repository that contains your content (see below)
    wiki_name
    Public-facing name of your wiki
    stop_words
    Set to `stop_words` (unless you have a burning desire to change it; change the file in your content repo, too)
    wiki_description
    A longer description of your wiki; this will show up in all HTML
    wiki_keywords
    A few short keywords for your wiki; this shows up in all HTML
    gliffy_account_id
    Gliffy account ID, if using Gliffy
    gliffy_consumer_key
    Gliffy consumer key, if using Gliffy
    gliffy_consumer_secret
    Gliffy consumer secret, if using Gliffy
    gliffy_description
    Description of your app, for Gliffy tracking
    gliffy_username
    Your Gliffy username, if using Gliffy
    gliffy_folder
    The folder in your Gliffy account where diagrams will live for this wiki
    copyright_holder
    The name of the owner of the copyright
    copyright_name
    Name of your copyright license
    copyright_link
    Link to you copyright license
    copyright_image
    Link to an image describing your copyright statement
    disqus_name
    the short name of your Disqus account for the site
    contact_email
    Email address for the contact link
  4. Run migrations
  5. Create an account for yourself. Currently, account creation is not enabled, as I wanted this for my own devices only. So, accounts must be created manually.
  6. Start ‘er up.
  7. When editing pages:
    • [w:WikiName(nicer name)] or just [w:WikiName] will create links to new pages. Click on them prompts for creation (if logged in).
    • gliffy. 1768557 | center | M adds a Gliffy diagram. The first "param" is the id from Gliffy, the second controls the alignment (left, center, right) and the final is the size (T, S, M, L).

Why?

I wanted to learn Rails from inception to deployment, and I wanted to do something that wasn’t just a vanilla CRUD application. I also didn’t want to get wrapped up in design or complexity. So, I figured that a wiki that had some cool features and used Git for content would be just the thing.

This is the result. I probably denied myself some ActiveRecord knowledge by using Git (though AR is used for the user info), but this was still pretty fun and I think I learned a lot.