Gnosis is a PHP powered markdown rendering app.
Gnosis is the Greek word for
knowledge. The name came out of the fact that I developed the app with the intention of acting as a knowledge base for Tweetdig before realising that it could be used for displaying any markdown files.
For now, the code is only available via the Github repo. To install Gnosis, you’ll need to clone to repository, then install the dependencies using Composer. At the moment, there are a lot of dependencies (some of which aren’t used) that I’m working on removing. For now though, they aren’t doing any harm.
To use the app, you just start putting files into the content directory. There’s two kinds of special file. The first is the homepage, which lives in the root of the content folder and is named
home.md. Next, there is
index.md that can be in any subfolder, and will act as the page if someone tries to view a folder.
It supports unlimited nested folders, and as many files in each folder as you’d like to create. Here’s the structure for the example files:
├── 01-about-us │ └── index.md ├── 02-projects │ ├── project-a │ │ ├── api.md │ │ ├── database.md │ │ └── index.md │ └── project-b.md ├── 03-contributing │ └── index.md ├── 04-contact │ ├── email.md │ ├── index.md │ └── twitter.md └── home.md
Gnosis is still in very early development. It uses Twitter Bootstrap for some basic styling, and it has no tests at all. However, I’m going to start using it at work on Monday and will be adding some of the nice to have things as time goes on. What is currently in the repo is the bare minimum it needed to be usable.
If you fancy contributing anything, just fork the repo and send in a pull request. There’s no guidelines yet, so just do whatever you fancy and we’ll see how it goes.
Michael is a polyglot software engineer, committed to reducing complexity in systems and making them more predictable. Working with a variety of languages and tools, he shares his technical expertise to audiences all around the world at user groups and conferences. You can follow @mheap on Twitter