droopy4096 / fliki

Flask-based, filesystem-backed miniature Wiki engine using reSturcturedText markup

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fliki

Flask-based, filesystem-backed miniature read-only Wiki rendering engine using reSturcturedText markup

Any modifications are done on filesystem, there is no editing capability (and none planned). However system should pick up changes on filesystem immediately.

Requirements

  • flask
    • Jinja2
  • docutils
  • whoosh

Usage

create folder stucture:

my_wiki/
  content/
  compiled/

and execute wiki.py from within my_wiki folder:

$ cd my_wiki
$ python /path/to/wiki.py

point your browser to "localhost:8000" and explore your Wiki

Special URLs

  • /search - invokes site-wide search (using index)
  • /any/path/search - search only under "/any/path" (using index)
  • /reindex - force reindex of the search DB
  • /some/path/file[.ext] - if file with this extension doesn't exist, extension will be dropped and other extensions with the same filename tried.

Customization

Currently if you add folder "templates":

my_wiki/
  content/
  compiled/
  templates/

under which you can create "dirlist.html" to override default template. More templating is planned in the future.

Scaling

As per Flask documentation one needs to employ Standalone WSGI Containers to scale Flask applications to something that can handle real-world loads.

Freezer

Freezer is a "compiler" for the content - converting whatever can be converted to static HTML. Freezer script is built using Frozen Flask so follow it's documentation for usage and tuning.

About

Flask-based, filesystem-backed miniature Wiki engine using reSturcturedText markup

License:GNU General Public License v3.0


Languages

Language:Python 96.7%Language:HTML 3.3%