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

78 lines
2.6 KiB
Markdown

---
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
```rust
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 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|home]].