BookStack Formatting & Style Guide
Test all the visual elements and formatting options available!
Text Formatting
Basic Text Styles
- Bold text - important information
- Italic text - emphasis
- Bold and italic - maximum emphasis
Strikethrough- deleted/deprecated contentInline code- variable names, commands- ==Highlighted text== - important notes
- H
2O - subscript for chemical formulas - E=mc^2^ - superscript for equations
Headers Hierarchy
Header 1 - Page Title
Header 2 - Main Sections
Header 3 - Subsections
Header 4 - Details
Header 5 - Fine Details
Header 6 - Smallest Header
Lists & Organization
Unordered Lists
- First level item
- Second level item
- Third level item
- Fourth level item
- Third level item
- Second level item
- Back to first level
- Another item
Ordered Lists
- First step
- Second step
- Sub-step A
- Sub-step B
- Detail 1
- Detail 2
- Third step
Task Lists
- Completed task
- Another finished item
- Pending task
- Future enhancement
- Subtask completed
- Subtask pending
Mixed Lists
- Planning Phase
- Define requirements
- Create mockups
- Get stakeholder approval
- Development Phase
- Set up environment
- Code implementation
- Write tests
- Deployment Phase
- Production deployment
- Monitor performance
Code & Technical Content
Inline Code Examples
Use npm install to install packages, then run npm start to begin development. The config file is located at ~/.config/app.json.
Code Blocks with Syntax Highlighting
JavaScript
// API client example
class QbitSparkAPI {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseURL = 'https://api.qbitspark.com/v1';
}
async getUsers() {
const response = await fetch(`${this.baseURL}/users`, {
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
}
});
return response.json();
}
}
Python
# Data processing script
import pandas as pd
import numpy as np
def process_user_data(df):
"""Process and clean user data"""
# Remove duplicates
df_clean = df.drop_duplicates(subset=['email'])
# Calculate metrics
metrics = {
'total_users': len(df_clean),
'active_users': len(df_clean[df_clean['status'] == 'active']),
'signup_rate': df_clean.groupby('signup_date').size()
}
return df_clean, metrics
SQL
-- User analytics query
SELECT
u.id,
u.email,
u.created_at,
COUNT(p.id) as project_count,
SUM(p.revenue) as total_revenue
FROM users u
LEFT JOIN projects p ON u.id = p.user_id
WHERE u.status = 'active'
AND u.created_at >= DATE('now', '-30 days')
GROUP BY u.id, u.email, u.created_at
HAVING project_count > 0
ORDER BY total_revenue DESC
LIMIT 50;
YAML Configuration
# Docker Compose configuration
version: '3.8'
services:
app:
image: qbitspark/api:latest
environment:
- NODE_ENV=production
- DATABASE_URL=postgres://user:pass@db:5432/app
- REDIS_URL=redis://redis:6379
ports:
- "3000:3000"
depends_on:
- db
- redis
db:
image: postgres:13
environment:
POSTGRES_DB: app
POSTGRES_USER: user
POSTGRES_PASSWORD: secure_password
volumes:
- postgres_data:/var/lib/postgresql/data
Tables & Data
Basic Table
| Feature | Free Plan | Pro Plan | Enterprise |
|---|---|---|---|
| API Calls | 1,000/day | 10,000/day | Unlimited |
| Storage | 1 GB | 10 GB | 100 GB |
| Support | Priority | Phone + Dedicated | |
| SLA | None | 99.9% | 99.95% |
Complex Table with Formatting
| Method | Endpoint | Description | Auth Required | Rate Limit |
|---|---|---|---|---|
GET |
/users |
List all users | ✅ Yes | 100/min |
POST |
/users |
Create new user | ✅ Yes | 20/min |
PUT |
/users/{id} |
Update user info | ✅ Yes | 50/min |
DELETE |
/users/{id} |
✅ Yes | 10/min |
Alignment Table
| Left Aligned | Center Aligned | Right Aligned |
|---|---|---|
| Text here | Centered text | $1,299.00 |
| More content | Another line | $2,599.99 |
| Final row | Last center | $999.00 |
Callouts & Alerts
💡 Pro Tip: Use callouts to highlight important information that users shouldn't miss!
⚠️ Warning: This action cannot be undone. Make sure to backup your data first.
❌ Error: Invalid API key. Check your credentials and try again.
✅ Success: Your webhook has been configured successfully and is now active.
📖 Note: This feature is available in Pro and Enterprise plans only.
🔒 Security: Always use HTTPS endpoints in production environments.
Links & References
External Links
- Visit our main website
- Check the API status page
- Join our Discord community
- Follow us on Twitter
Email Links
- Contact support: office@qbitspark.com
- Sales inquiries: sales@qbitspark.com
Internal References
- See: Authentication Guide
- Related: User Management API
- Next: Webhooks & Advanced Features
Images & Media
Image with Caption
Figure 1: API request/response flow diagram
Inline Images
The QbitSpark logo appears throughout our documentation.
Horizontal Rules & Separators
Use horizontal rules to separate major sections:
Mathematical Expressions
Inline Math
The formula for calculating API costs is: cost = requests × $0.001
Complex Formulas (if supported)
Rate Limit = (requests_per_minute / user_tier_multiplier) × geo_factor
Special Characters & Symbols
Common Symbols
- ✅ Checkmark (approved/working)
- ❌ Cross (error/not supported)
- ⚠️ Warning triangle
- 💡 Light bulb (tip/idea)
- 🔒 Lock (security)
- 🚀 Rocket (performance)
- 📊 Chart (analytics)
- 🛠️ Tools (configuration)
Technical Symbols
- → Arrow (flow/direction)
- ← Back arrow
- ↑ Up arrow (improvement)
- ↓ Down arrow (decrease)
- ∞ Infinity (unlimited)
- © Copyright
- ® Registered trademark
- ™ Trademark
Advanced Formatting
Definition Lists
API Key : A unique identifier used to authenticate requests to the QbitSpark API.
Webhook : An HTTP callback that occurs when something happens; a simple event-notification.
Rate Limiting : A technique to limit network traffic and prevent abuse by restricting the number of requests.
Nested Blockquotes
Main Quote: This is an important concept to understand.
Sub-quote: This provides additional context to the main point.
Deep quote: Sometimes you need multiple levels of emphasis.
Mixed Content Example
-
Setup Phase
📋 Checklist: Make sure you have completed all prerequisites
- API key generated
- Development environment ready
- Webhook endpoint configured
# Test your setup curl -H "Authorization: Bearer YOUR_KEY" https://api.qbitspark.com/health -
Implementation Phase
Task Status Notes User auth ✅ Complete Working perfectly Data sync 🔄 In Progress ~75% done Error handling ❌ Pending Needs attention
Keyboard Shortcuts & UI Elements
Use these to describe user interface interactions:
- Press Ctrl + S to save
- Click the Save button
- Navigate to Settings > API > Keys
- Select the
Productionenvironment - Toggle the Enable Webhooks switch
Color & Emphasis Combinations
You can combine different formatting:
- Bold and italic together: Very important information
- Bold with
code: Use thenpm startcommand - Italic with links: See our documentation
Strikethroughwith bold:Deprecated feature
🎨 Design Tip: Don't overuse formatting! Clean, readable documentation is more valuable than fancy styling. Use formatting purposefully to improve comprehension.
okay
No comments to display
No comments to display