GithubHelp home page GithubHelp logo

idahoan / node-wiki Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thomaspeklak/node-wiki

0.0 1.0 0.0 8.7 MB

HTML5 editor powered wiki with drag and drop file upload and easy page creation

License: MIT License

JavaScript 97.46% Ruby 0.04% CSS 2.51%

node-wiki's Introduction

#Node Wiki

Build Status Dependency Status

This was formally a proof of concept of easily combing Aloha editor with a node backend to achieve a simple wiki. This project has now started to evolve into a decent wiki platform with tags, recent pages, autosaving and drag and drop file uploads.

##Simplicity

Node-Wiki is designed to have no barriers for content editors. The main two wiki actions creating a new page and editing an existing page are dead simple.

Contrary to other wikis you simply type an URL and if the page does not exist, edit it and you have created a new page. Editing is as simple as clicking in the content area.

##Installation

git clone [email protected]:thomaspeklak/node-wiki.git
cd node-wiki
npm install
./dev

Then simply open http://localhost:3000 and edit the page. Or go to another url (e.g. http://localhost:3000/new-entry) and edit this page.

###Configuration

To configure NodeWiki to your needs you can create a production.js in the config folder and start it with NODE_ENV=production node app.js

####Options

  • port: The port for the internal HTTP server
  • locales:: Used locales are defined as array, e.g. ["en", "de"]. The first locale is the default language.
  • wikiLanguage:: Used for the text search to provide stemming support.
  • siteName:: The name of the wiki.
  • secret: The encryption key for cookies.
  • db.url: The URL to MongoDB mongodb://localhost/nodewiki
  • keepDeletedItemsPeriod: This is the time in milliseconds that deleted pages are kept, before they are completly wiped.

NodeWiki has sensible defaults and if you do not wish to override an option you do not have to mention it in your configuration. Just provide what you want to be different.

###Text search

As search engine Mongodb 2.4 experimental text search is used. This feature has to be explicitly enabled as startup parameter textSearchEnabled=true or in the mongod.conf with setParameter = textSearchEnabled=true. If you do not have a MongoDB with text search or can not use it, please use the 0.1.x branch.

###Localization

Currently NodeWiki supports English and German out of the box. If you want a new locale you can define it in the locales directory. NodeWiki uses the i18n-2 module. Therefore it uses a JSON formattet list of key value pairs.

##Usage

see Documentation

##NodeWiki Versioning

As of version 0.2 Node Wiki follows the same versioning concept as NodeJs. Odd numbers represent unstable versions, even numbers represent stable versions. The master branch represents the latest unstable version. As of this writing 0.2 is stable and 0.3 is unstable.

##Contributing

Fork the project and send me a pull request. As long as it is aligned with node-wikis philosophy it will be merged in.

###Tests

As of version v0.4.0 a solid test base has been created. To run the tests you need to have mongod running, then fire up npm test.

###Frontend

Node Wiki uses browserify to modularize it's frontend. All frontend code is located in /frontend and is compiled into /public/javascripts/app.js. This is automatically done once if you start a server under production environment. If you start the dev server with ./dev, watchify is used to watch for changes and recompile when needed.

##What to expect next?

Take a look at the issue list

Anything you are missing? File an issue or send a pull request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.