Skip to main content

Textual Markdown Browser

This project is an experiment to see how far I could take the idea of a "Markdown browser" in the terminal, using the Textual framework.

Markdown in the terminal is not unusual, Rich has a decent Markdown renderer, but its output is essentially static. Textual Markdown creates a more dynamic Markdown document you can interact with: there are working links, srollablr code fences, and tables.

Links must be relative only and on the filesystem for now. These could be made to load from the network for a more browser like experience. It is also relatively easy to intercept links and handle them programatically. Opening up custom hypertext like applications.

And finally, there is a TOC (Table Of Contents) extracted from the Markdown, which can be used to navigate the document.

Video

A short video of me playing with the demo Markdown.

https://user-images.githubusercontent.com/554369/208234316-be4e6626-c601-4dca-b8d1-59af9b4d08cd.mov

Screenshots

Screenshot 2022-12-17 at 08 41 58

Screenshot 2022-12-17 at 08 42 33

Screenshot 2022-12-17 at 08 42 38

Try it out

You can install textual-markdown from PyPI in the usual way:

pip install textual-markdown

Here's how you hopen a Markdown file:

python -m textual_markdown README.md

Disclaimer

At time of writing, there is less than a weeks work in this. Which means you may (likely) find bugs.

The future

Some (or all) of this repo will be rolled in to Textual. It may also become a project in its own right. If there is enough interest.

Release files for textual-markdown 0.1.1

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

Source distribution (sdist)

Source distribution for textual-markdown 0.1.1
File Size Uploaded
textual_markdown-0.1.1.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for textual-markdown 0.1.1
File Interpreter ABI Platform
textual_markdown-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 kB

Release files / textual_markdown-0.1.1.tar.gz

Download URL textual_markdown-0.1.1.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
105d752dad210304be58b593653721139793523a3ad87c650cb901011d107c47
BLAKE2b-256 checksum
How to use checksums
9eb42c0af9032e8ae65d588d0f6de4b271a4ae03a115062c857b560794214332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.4 Darwin/22.2.0

Release files / textual_markdown-0.1.1-py3-none-any.whl

Download URL textual_markdown-0.1.1-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f95689b46abb1b4ed876298c039c5846b22f90bca0eeb0212332064fa30c972
BLAKE2b-256 checksum
How to use checksums
ace536d846aa1cea93a381acc9c8b63d25a3425affd33c95c81b65d287d1eb55
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.4 Darwin/22.2.0

Release history Release notifications | RSS feed

This release

0.1.1 This release

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