Skip to content

Latest commit

 

History

History
91 lines (71 loc) · 2.91 KB

README.org

File metadata and controls

91 lines (71 loc) · 2.91 KB

Org wiki

This is a simple project to host an org-powered wiki locally. Just point the package to the root of your directory and it will take care of the rest. It uses emacs as the rendering backend so the HTML files are rendered just the way you configured them to.

./screenshot.png

Features

  • Orgmode files are automatically rendered to html using Emacs
  • URLs ending in a folder name are automatically routed to display index.org
  • You can open the currently viewed file in emacs using C-x C-f in the browser
  • Source code snippets are rendered using Emacs and as such are colored exactly as they would be in your editor.

Installation

Right now, Org wiki isn’t yet available through a package archive, so you’ll have to install it manually. A Makefile is provided to make this as easy as possible. First, you have to make the package:

git clone https://github.com/jiri/org-wiki
cd org-wiki
make package

This will create a file called org-wiki-0.2.tar in the source directory. Now you just need to install it through package.el using M-x package-install-file RET and providing path to the tar file.

Usage

I’m aiming to make the package as simple as possible. All you have to do to get a wiki up and running is starting it. Unless you provide a port as a second argument, port 8000 will be used. Note that any one root directory can only be served on one port.

(org-wiki/start "~/org/wiki")
(org-wiki/start "~/org/wiki2" 8080)

You can stop an already running wiki by providing either the path to the root directory or the port the wiki is running on.

(org-wiki/stop "~/org/wiki")
(org-wiki/stop 8080)

Features to implement before v1.0

  • [X] Edit using `/path?edit` instead of `/edit/path`
  • [X] Support multiple Org-wiki instances
  • [X] Guard start / stop functions against multiple calls
  • [X] Make relative links in Org files work
  • [-] Better CSS support
    • [X] Generate highlighting CSS dynamically
    • [ ] Add an option to use static CSS
    • [ ] Let users supply their own CSS files
  • [ ] Add docstrings to all functions and variables
  • [X] Improve routing
  • [ ] Render a directory tree for navigation
  • [ ] Complete CSS styles for Org HTML exports
  • [X] Package Org-wiki
  • [X] Make start-wiki / stop-wiki interactive
  • [ ] Add a license file
  • [ ] Distribute Org-wiki through MELPA / Marmalade
  • [ ] Improve the 404 page
    • [ ] Easy creation of new pages in-browse
  • [ ] Make a screenshot for README.org

Features to implement in the future

  • [ ] Let users configure keyboard shortcuts

Improve the API

Right now, the setup is reusable, but the API could be better. Ideally, all you’d need to do to is use a macro / alist to define a wiki setup and run it with an independent handler.

(make-wiki :root "~/Org/wiki"
           :custom-css "~/Org/wiki/style.css")