Skip to main content

Knotis

Knotis logo

Connected instructional materials from Markdown.

Knotis is a teaching-focused extension to Zensical, distributed as a Python package with a command-line interface.

It helps instructors publish course notes in which readers can follow a lesson sequence, revisit concepts across pages, inspect their relationships and retrieve particular kinds of teaching content.

Instructors maintain Markdown files. Knotis indexes wikilinks such as [[concept]], outlining structure and content tags, then generates the Pane, Site graph, Page graph, Concept graph, Glossary and Search features, with optional Slide mode, alongside the rendered pages.

Documentation | Source code | PyPI | Issues

Documentation and Sample Site

Features

  • Outlining: headings and nested lists organize explanations, code, tables, images and media.
  • Wikilinks: [[concept]] markers connect occurrences across pages; aliases change the displayed wording without creating a separate concept.
  • Panes: inspect occurrences with surrounding teaching material, follow related concepts and return through pane history.
  • Graphs: explore site, page and concept views derived from authored structure and navigation.
  • Content tags: collect material such as #code, #output and #interpretation across the site.
  • Glossary: a site-wide list of every concept, generated from the wikilinks.
  • Slide mode: present lesson content without maintaining a separate slide deck.
  • Search: find concepts and sections, narrow searches with content tags.
  • Read aloud: a built-in text-to-speech control for pages.
  • Supporting media tools: browser-based read-aloud, image viewing, GIF/MP4 playback controls and caption support.

An optional Knotis VS Code extension supports authoring and previewing.

Requirements

  • Python 3.11 or later, with pip and virtual-environment support.
  • A terminal and a plain-text editor.
  • Git is needed only for source-based installation or Git-based publishing.

Knotis depends on Zensical. Installing Knotis installs its declared dependencies; do not independently upgrade Zensical beyond the version required by your Knotis release.

Installation

Create a working directory and an isolated Python environment. Keep the site in its own subdirectory.

macOS and Linux

python3 -m venv .venv
source .venv/bin/activate
pip install knotis

Windows PowerShell

python3 -m venv .venv
.venv\Scripts\activate
pip install knotis

Upgrade

pip install --upgrade knotis

Review the GitHub Releases page before upgrading.

It lists new features, renamed settings, removed settings, and any steps needed after an update.

Quick Start

With the environment active, create and preview a new site:

mkdir my-course
cd my-course
knotis new .
knotis serve

knotis new . creates a starter configuration, sample pages and supporting files, then performs an initial build. Use an empty site folder; the command refuses to scaffold over an existing zensical.toml.

Open the URL printed in the terminal, normally http://localhost:8000/. The server watches source changes and refreshes the local preview. Stop it with Ctrl+C.

To build without starting a server:

knotis build

Run build and serve commands from the site directory containing zensical.toml. The finished website is written to site/.

Configuration and Site Files

For newly scaffolded sites, the main files and directories are:

Path Purpose
zensical.toml Site identity, navigation, theme and Knotis feature settings.
docs/ Authored Markdown pages.
docs/assets/ Author-managed images, media, data and downloads.
docs/explore/ Entry pages for the site graph, glossary and content tags.
docs/stylesheets/knotis-theme.css Site-specific appearance overrides.
overrides/ Theme templates and hooks.
.knotis/assets/ Generated runtime and index staging files.
site/ Generated website, including assets/knotis/.

License

Knotis is released under the MIT License.

Release files for knotis 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for knotis 0.1.5
File Size Uploaded
knotis-0.1.5.tar.gz 1.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for knotis 0.1.5
File Interpreter ABI Platform
knotis-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / knotis-0.1.5.tar.gz

Download URL knotis-0.1.5.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
35948d229d3f5fc38110c8d696218f42ac7a3bd52f78c2841bfd3a1527374173
BLAKE2b-256 checksum
How to use checksums
f0cda6b3a3fa5db984dea7d576dfcb3f5069263f2829fa57c6fa9ba6c6c370b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / knotis-0.1.5-py3-none-any.whl

Download URL knotis-0.1.5-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a583c636c1f90ce84f1025dfbaa2cf3977c2d6038f9b40dcfe9b33db7fa8a53a
BLAKE2b-256 checksum
How to use checksums
4a157754444b85fbfce1977d69ae57ccbb202484872532006c3e08bb6a66337f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

0.1.6

2 release files

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page