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

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

Built distribution (wheel)

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

Total release size: 3.5 MB

Release files / knotis-0.1.6.tar.gz

Download URL knotis-0.1.6.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
aee2fa5edc19e7558cf88a0b8f6a93e87a1ed4c3a76db22830159496e84d284f
BLAKE2b-256 checksum
How to use checksums
662de5d19e618adb05800b92f0d3fe142b50ca8506b0db115ea5719068e33790
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.6-py3-none-any.whl

Download URL knotis-0.1.6-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9e8584df5148d2cb39845c72b0477c093dda3cfb683fef73a74214801ec0449d
BLAKE2b-256 checksum
How to use checksums
47b7785565fd6feac60159f2a8280117cfb3afa354a9105f983452b5b3928fff
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.6 This release

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