This is why I developed PureWiki

This is why I developed PureWiki

Wiki systems play a key role on the internet. They serve as knowledge bases for a wide variety of topics. From company-driven wikis about their products to community-maintained general knowledge, they are everywhere. We are all familiar with the massive open knowledge database Wikipedia, which we have all certainly used in one way or another. But how does the information get into the system, and how is it made available? Let's start by answering that question.

The Core of a Wiki

In order for us to access information via our web browser, it must be available somewhere as a website. However, with thousands of pages, it would be very tedious to create each page in HTML or code. This is where wiki systems (or wiki engines) come in. They are the software behind websites like Wikipedia and enable users to create, edit, delete, and publish posts and information. Using a simplified syntax or graphical text editors (WYSIWYG), anyone can easily write a post, even without any programming knowledge.

The wiki system then automatically generates appealing websites that can be accessed via a web browser. These systems are specifically designed to host thousands of pages of content and therefore differ in some ways from common CMS platforms such as WordPress or Typo3.

Common wiki systems

MediaWiki is one of the most well-known open-source wiki systems on the market and powers Wikipedia. DokuWiki is also very well known and is used in many large projects. If you prefer to work with databases, Wiki.js is definitely a good choice. In addition to well-known open-source solutions, there is also proprietary wiki software such as Confluence or Notion, though these are aimed more at businesses than at individual users.

So why develop your own wiki system?

The beginning of PureWiki

In the past, I’ve worked extensively with well-known wiki systems, both for work and for personal use. In Dokuwiki, in addition to creating posts, I also spent a lot of time programming my own themes and plugins, which allowed me to dive a little deeper into the programming of wiki systems. I’ve also been using the Automad CMS personally for years, and it has inspired me greatly in many areas.

A few years ago, I became so interested in the topic that I decided to create my own system. The focus was on learning more about web development and having complete freedom in the implementation. Due to a lack of time caused by work and school, it remained just an idea at first, until I began implementation in the middle of 2025.

The following was important to me from the very beginning:

No database

A database was a no-go for me. I’ve got used to flat-file wiki systems and love the advantages they offer. Wiki pages are stored in text files and can be edited manually if necessary. Backing them up is very easy, as is moving the wiki to other servers.

No build tools, just PHP, JS, HTML, and CSS

My focus has been on high speed, minimal code size, and code readability. For this reason, I intentionally avoided using package managers like Composer and npm. My wiki should be able to run without any installation and, as much as possible, without external dependencies.

Graphical Editor

Anyone should be able to work with a wiki system. Even though there are lots of plugins for visual editors for Dokuwiki and similar systems, documentation is usually written using a custom syntax or Markdown. From the very beginning, I decided to use a visual editor that also supports Markdown.

Free and Open Source

We all use open-source software in one way or another. Most projects are made available for free by people who enjoy programming and want to share their skills with others. By hosting this wiki on GitHub, I hope to contribute something to the open-source community. Those who take should also be able to give. I hope all the more to build a growing community through this project so that we can continuously improve it.

Implementation

I started working on my system in 2025, initially as a personal project. Before writing a single line of code, I wrote down my ideas and created a concept document. At first, I called the project PicoWiki (because of the small code base), but then renamed it PureWiki due to a project with a similar name. I started programming the routing and implemented the concept piece by piece, adapting it, reworking it... Every new feature caused the project structure to change. It’s impossible to do without external dependencies entirely, so I started including only the most essential libraries, such as Editor.js and Parsedown. However, this is done without build tools and still results in very compact code, since many necessary dependencies were included via CDNs.

By early 2026, I was so happy with the basic functionality and stability that I decided to push the project to GitHub and make the repository public. At the same time, I created a landing page on PureWiki.org that describes the project and serves as a home for the documentation. Of course, I used PureWiki for this. 

Apart from the website, I wanted to offer a live demo. To do this, I set up a Docker environment on one of my servers that allows users to test a completely fresh PureWiki installation. Even though it took me a week to set up, I’m very happy with the result.
You can find the demo at demo.purewiki.org

I’ve decided to create a separate GitHub organization for the project. This way, I can store new themes and extensions in one place and keep them clearly separated from my personal GitHub space. I also hope this will provide a better foundation for a growing community.

Final thoughts

It’s been quite some time since the initial idea until the first release on GitHub, and I’m still extremely motivated to keep working on this project and adding more and more features. In addition to programming in PHP, JS, CSS, and HTML, I’ve also been able to learn a ton of other stuff. This includes working with GitHub Actions, using Discussions, fixing security vulnerabilities, and, fundamentally, how to properly publish an open-source project on GitHub.

So why did I develop PureWiki? Simply because I felt like it and because I’m passionate about open source, web development, and creativity. I’ll continue to devote a fair amount of my personal time to the project, and I hope to inspire more and more people to use it, collaborate on it, and support it.

Click here to view the project on GitHub: 
https://github.com/PureWiki/PureWiki 

Official Website:
https://purewiki.org

Demo:
https://demo.purewiki.org

Github-Organization:
https://github.com/PureWiki