4464774c7a
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.
78 lines
2.6 KiB
Markdown
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]].
|