Files
bbs-md/vault/about.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
About BBS-MD and its design philosophy

About BBS-MD

What Is This?

BBS-MD is a terminal-based markdown vault reader that channels the aesthetic of 1990s bulletin board systems. It turns a folder of markdown files into a navigable, interlinked information system — like a personal wiki you browse over SSH.

Design Philosophy

Terminal-Native

BBS-MD is built for the terminal. No web browser, no Electron, no GUI toolkit. Just your terminal emulator, a monospace font, and 16 colors. It runs over SSH, in tmux, on a Raspberry Pi, on a VPS — anywhere you have a shell.

Vault as Filesystem

Your content is just markdown files in a directory. No database, no proprietary format, no lock-in. Edit with vim, VS Code, or echo >>. BBS-MD watches for changes and refreshes live.

Retro Aesthetic

The CGA 16-color palette isn't a limitation — it's a feature. Box-drawing characters for code blocks and tables. ANSI art on the landing page. Reverse-video status bar. Every design choice asks: would a SysOp in 1994 approve?

Safe by Default

BBS-MD is designed to run as a login shell. That means:

  • A panic must never leave the terminal broken
  • A disconnect must never corrupt state
  • The user must always be able to exit
  • The app must always restore the terminal

These aren't nice-to-haves. When your app is the shell, safety is the foundation.

Tech Stack

Component Technology
Language Rust (Edition 2024)
TUI Framework ratatui 0.30
Terminal crossterm
Markdown pulldown-cmark (GFM)
Highlighting syntect
ANSI Art ansi-to-tui
File Watching notify 6.1
Dir Traversal walkdir 2.5

Architecture

bbs-md/
  src/
    main.rs        Entry point, terminal init, event loop
    app.rs         App state, navigation, key handling
    config.rs      TOML config loading (bbs.toml)
    vault.rs       Document loading, wiki-link resolution
    renderer.rs    Markdown-to-styled-lines pipeline
    highlighter.rs Syntax highlighting with CGA colors
    splash.rs      ANSI art splash screen loader
    signals.rs     Unix signal handlers (SIGHUP, SIGTERM)
    terminal.rs    Terminal init/restore, panic hook
  vault/
    index.md       Landing page (splash.txt prepended)
    splash.txt     ANSI art header (optional)
    *.md           Your content lives here

BBS-MD is a single binary with no runtime dependencies. Compile it, drop it on a server, point it at a vault.

Back to index or read the Changelog.