A Django-based personal website platform that works like a blog but flies like a document manager.
Python JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Ideas are meant to be shared

At the dawn of the millennium, blogs forever changed the way people communicate online. The creation and consumption of long-form essays was possible, with an ever-growing audience soon to number in the billions.

Blogs, however, haven't changed in the decade that they've been alive. Knod is the progression of the blog platform.


In our category-focused society, there is a gap between what is communication and what is data. By defining data and communication as two separate medias, the hybridized innovation that results from their union is stifled.

Unlike a blog, a knod allows the publisher to control his or her content as an organized, functional mechanism. It can change, expand, and be transformed with little effort. Additional content can be added cleanly.

In addition, a knod holds its form over time. Because blogs are simply an aggregation of blobs of HTML content, posts become amorphous and inconsistent. It is difficult or impossible to maintain a unified style across a large number of posts over time. Knod aggregates content at the data level rather than at the content level, meaning that posts don't "rot" over time.


Set up the repository:

git clone git://github.com/mattbasta/knod.git
cd knod
git submodule update --init

Install the dependencies:

pip install -r requirements.txt

Set up the database. Create settings_local.py with modified settings to suit your needs. Then, run the following commands:

./manage.py syncdb
./manage.py migrate

At some point, you will be asked to create a new user.

Planned Features

  • Comments per page
  • Comments per section
  • Exposed tags on the front-end
  • Don't render citation links in editor
  • On citation deletion, update inline citations