Skip to content

vikeen/simple-wiki

Repository files navigation

Build Status

NPM

Simple Wiki

Simple file system based wiki for Nodejs.

Installation

npm install simple-wiki

Usage

var path = require('path'),
    simpleWiki = require('simple-wiki');

// required for page storage
simpleWiki.pagePath = path.join(__dirname, 'pages');

// port - 9000
// ip   - 127.0.0.1 (http://localhost)
simpleWiki.server.start(); 

Configuration

pagePath (String)

  • Absolute file system path for your wiki pages.
  • Required
// Using nodejs path module
simpleWiki.pagePath = path.join(__dirname, 'pages');

// Or as a constant string
simpleWiki.pagePath = '/absolute/path/to/page/storage/directory/';

#### faviconPath (*String*) - Absolute file system path for your favicon image.
// Using nodejs path module
simpleWiki.faviconPath = path.join(__dirname, 'favicon.ico');

// Or as a constant string
simpleWiki.faviconPath = '/absolute/path/to/favicon.ico';

#### info (*Function*) - Returns the current simple-wiki configuration
var config = simpleWiki.info();
console.log(config);

/*
 {
   env: 'production',
   root: '/Users/me/dev/simple-wiki/dist/',
   faviconPath: undefined,
   pagePath: '/Users/me/dev/simple-wiki-sandbox/pages',
   server: {
     port: 9000,
     ip: '127.0.0.1',
     start: [Function: start]
   },
   info: [Function: info]
 }
 */

#### server.port (*Integer*) - The port which you want the wiki to run on. **Default: 9000**.
// Default is 9000
simpleWiki.server.port = 9001;

#### server.ip (*String*) - The ip which you want the wiki to run on. **Default: 127.0.0.1**
// Default is 127.0.0.1
simpleWiki.server.ip = '130.541.7.6';

#### server.start (*Function*) - Starts the simple-wiki server
// Using nodejs path module
simpleWiki.server.start();

FAQ

Q. I found a bug. Where should I log it?

A. You can log issues here. Please do us a favor and search before creating a new ticket to reduce duplicate overhead.

Q. What can I expect in the future?

A. Tons of things! Here is a sneak peak of the roadmap.

  • Page versioning via git
  • Custom page templates
  • Custom css themes
  • Enhanced document content types
  • Embedded table of contents
  • Internal autocomplete links
  • Other storage mechanisms (considering database here)

Development

Fork and clone the source locally

  • fork and clone the source
  • git clone forked_simple-wiki
  • Install depencies
  • npm install && bower install
  • Get going!
  • grunt serve

Integrate as a third party user

  • Create sandbox project
    • mkdir simple-wiki-sandbox && cd $_
  • Create init node_modules.
    • mkdir node_modules
  • Create the server file to start simple-wiki.
    • touch app.js. The contents of this file should look similar to the usage instructions above.
  • Link the sandbox to our source code.
    • ln -sf ../simple-wiki node_modules

This will connect a development instance of simple-wiki to a user's production product. Because this is being connected via a node_module require it will also internally user the dist/ of simple-wiki. This means that any change you make to the simple-wiki source will require a grunt build to see it in the sandbox area.

Maintainers

vikeen

History

1.2.2

  • Adding test suite support for internal and external configuration settings

1.2.1

  • Added views meta data to pages. This feature has regression support in the source and test suite so don't worry about anything breaking on an update