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.
This commit is contained in:
2026-03-01 11:58:01 +01:00
parent f3d787a2b7
commit 4464774c7a
9 changed files with 641 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
---
description: Running BBS-MD as a public SSH service
---
# SysOp Handbook
So you want to run a BBS. Welcome to the club.
## Setting Up SSH Access
The classic BBS experience: users connect via SSH and land directly in BBS-MD.
### 1. Create a BBS User
```bash
# Create user with bbs-md as their login shell
sudo useradd -m -s /usr/local/bin/bbs-md bbsguest
# Set up their vault
sudo mkdir -p /home/bbsguest/vault
sudo cp -r /path/to/your/vault/* /home/bbsguest/vault/
# Set a password (or use SSH keys)
sudo passwd bbsguest
```
### 2. Configure bbs.toml
Place `bbs.toml` next to the binary or in the user's home directory:
```toml
vault_path = "/home/bbsguest/vault"
theme = "default"
```
### 3. Test the Connection
```bash
ssh bbsguest@your-server.com
```
The user lands directly on the index page. No shell prompt, no confusion. Just content.
## Security Considerations
- BBS-MD runs as a **login shell** — there is no escape to bash
- The `q` key is **disabled** in login shell mode
- Only double `Ctrl+C` can exit (returns to SSH disconnect)
- Path traversal is guarded — `../../etc/passwd` won't resolve
- Only `.md` files inside the vault are accessible
## Content Management
Your vault is just a directory of markdown files. You can:
- Edit files over SFTP or SCP
- Use `rsync` to sync from a local copy
- Mount a Git repository and pull updates
- Write a cron job to generate content
BBS-MD watches for changes. Your updates appear live.
> The best BBS is the one that's always fresh.
## Monitoring
Watch the process with standard Unix tools:
```bash
# Check if bbs-md is running for connected users
ps aux | grep bbs-md
# Watch vault changes in real time
inotifywait -m /home/bbsguest/vault/
```
---
Back to [[index|home]] or see the [[Features]].
+69
View File
@@ -0,0 +1,69 @@
---
description: Tips for writing vault content
---
# Writing Content
Tips for creating great content for your BBS-MD vault.
## File Structure
Every `.md` file in your vault directory is a page. Subdirectories create sections:
```
vault/
index.md <- Landing page (always loads first)
splash.txt <- ANSI art header (optional)
features.md <- Top-level page
guides/
sysop-handbook.md
writing-content.md
```
## Frontmatter
Add YAML frontmatter to your pages for metadata:
```
---
description: A short summary shown in the directory listing
---
```
The `description` field appears beside your file in the [[Directory]] listing, helping visitors find what they're looking for.
## Linking Between Pages
### Wiki-Links (Recommended)
Use double-bracket syntax to link between pages:
- `[[Page Name]]` resolves to `page-name.md`
- Case-insensitive: `[[features]]` and `[[Features]]` both work
- Cross-directory: `[[SysOp Handbook]]` finds `guides/sysop-handbook.md`
### Standard Links
Standard markdown links work too:
- `[Click here](features.md)` — relative to vault root
- `[Guide](guides/sysop-handbook.md)` — path to subdirectory files
### Special Links
- `[[Directory]]` — opens the virtual directory listing page
## Best Practices
1. **Start with index.md** — it's your front door
2. **Use frontmatter descriptions** — they show up in the directory
3. **Link generously** — wiki-links make your vault navigable
4. **Keep files small** — one topic per page, like a real BBS
5. **Use all six heading levels** — they each have distinct styling
6. **Add a splash.txt** — ANSI art makes everything better
> A well-linked vault is a joy to browse. A pile of unlinked pages is a graveyard.
---
Back to [[index|home]] or browse the [[Directory]].