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.
- 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.
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.
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)
- [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
- [ ] Let users configure keyboard shortcuts
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")