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 | Knotis VS Code extension

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.8

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.8
File Size Uploaded
knotis-0.1.8.tar.gz 1.8 MB Details

Built distribution (wheel)

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

Total release size: 3.5 MB

Release files / knotis-0.1.8.tar.gz

Download URL knotis-0.1.8.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
0cb787d5006c458e0970461d622c479caa747e9d098c0ef31bc9b375188b02bf
BLAKE2b-256 checksum
How to use checksums
4935ae9963e4513f45b3bcc3d9c995c8d275d9f972017a097e2d405008ff6649
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.8-py3-none-any.whl

Download URL knotis-0.1.8-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
0c0d9bff822756e237cbbb7aee39aa1719ce2058bcdc57da50e921c15aa9d7f1
BLAKE2b-256 checksum
How to use checksums
452ac510c11ec85f6c0b1d141ef3a15854746ae0ba99db30272057ce1e748d14
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

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

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