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.
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
strikethroughtext Inline codewith 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 |
Wiki-Link Navigation
Connect your documents with [[Wiki Links]]. BBS-MD resolves them at render time:
[[Page Name]]— links topage-name.md(case-insensitive, hyphenated)[[Directory]]— special magic link to the vault directory listing- Broken links are shown in
red strikethroughso 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:
qkey 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.