Files
bbs-md/vault/features.md
T
ruohki 4464774c7a content: create demo vault with splash art and feature showcase pages
8 files: index.md with wiki-links, features overview, navigation guide,
markdown showcase (all constructs), about page, changelog, and two
guides (sysop handbook, writing content) in a subdirectory. Includes
ANSI art splash.txt for the index page header.
2026-03-01 11:58:01 +01:00

2.6 KiB

description
description
Full feature breakdown with examples

Features

BBS-MD is a terminal-based markdown vault reader built in Rust. Here's everything it can do.

Markdown Rendering

BBS-MD renders a full subset of GitHub-Flavored Markdown with retro CGA-themed styling:

  • Headers (H1-H6) with distinct colors and decorators
  • Bold, italic, and strikethrough text
  • Inline code with syntax highlighting
  • Fenced code blocks with language-aware highlighting
  • Ordered and unordered lists with nesting
  • Blockquotes with yellow pipe borders
  • Tables with full box-drawing grid borders
  • Horizontal rules
  • Image placeholders

Code Block Example

fn main() {
    println!("Welcome to BBS-MD!");
    let vault = Vault::new("./vault");
    vault.browse();
}

Table Example

Feature Status Since
Markdown Complete Phase 2
Wiki-Links Complete Phase 3
ANSI Splash Complete Phase 4
Live Reload Complete Phase 4

Connect your documents with [[Wiki Links]]. BBS-MD resolves them at render time:

  • [[Page Name]] — links to page-name.md (case-insensitive, hyphenated)
  • [[Directory]] — special magic link to the vault directory listing
  • Broken links are shown in red strikethrough so you know what needs fixing

See the Navigation Guide for the full key binding reference.

ANSI Art Splash Screen

Place a splash.txt file in your vault root containing ANSI escape codes. BBS-MD parses it with ansi-to-tui and displays it as a colorful header above your index.md content. If the file is missing, the index renders normally with no error.

Live Filesystem Watching

Edit your markdown files in any editor. BBS-MD watches for changes and auto-refreshes the currently displayed page within about a second. Rapid saves are debounced — you won't see flickering.

  • Watches the parent directory of the current file
  • Survives atomic saves (vim, neovim style)
  • Non-fatal: if the watcher fails, the app still works without live reload

Directory Listing

Navigate to [[Directory]] to see a tree view of every document in your vault. Directories appear in yellow bold, files as cyan bracketed links. Tab-cycle through entries and press Enter to open any document.

Safe Login Shell Mode

BBS-MD can be set as a user's login shell for SSH access. In this mode:

  • q key is disabled (only double Ctrl+C exits)
  • Panic hook restores the terminal before crashing
  • Signal handlers (SIGHUP, SIGTERM) clean up gracefully
  • The terminal is always left in a usable state

Back to index.