Introduction
# BookStack Skill
**BookStack** is an open-source wiki and documentation platform. This skill lets you manage your entire knowledge base via API – perfect for automation and integration.
## Features
- 📚 **Books** – create, edit, delete - 📑 **Chapters** – organize content within books - 📄 **Pages** – create/edit with HTML or Markdown - 🔍 **Full-text search** – search across all content - 📁 **Shelves** – organize books into collections
## Quick Start
```bash # List all books python3 scripts/bookstack.py list_books
# Search the knowledge base python3 scripts/bookstack.py search "Home Assistant"
# Get a page python3 scripts/bookstack.py get_page 123
# Create a new page (Markdown) python3 scripts/bookstack.py create_page --book-id 1 --name "My Page" --markdown "# Title\n\nContent here..." ```
## All Commands
### Books ```bash python3 scripts/bookstack.py list_books # List all books python3 scripts/bookstack.py get_book <id> # Book details python3 scripts/bookstack.py create_book "Name" ["Desc"] # New book python3 scripts/bookstack.py update_book <id> [--name] [--description] python3 scripts/bookstack.py delete_book <id> ```
### Chapters ```bash python3 scripts/bookstack.py list_chapters # List all chapters python3 scripts/bookstack.py get_chapter <id> # Chapter details python3 scripts/bookstack.py create_chapter --book-id <id> --name "Name" python3 scripts/bookstack.py update_chapter <id> [--name] [--description] python3 scripts/bookstack.py delete_chapter <id> ```
### Pages ```bash python3 scripts/bookstack.py list_pages # List all pages python3 scripts/bookstack.py get_page <id> # Page preview python3 scripts/bookstack.py get_page <id> --content # With HTML content python3 scripts/bookstack.py get_page <id> --markdown # As Markdown
# Create page (in book or chapter) python3 scripts/bookstack.py create_page --book-id <id> --name "Name" --markdown "# Content" python3 scripts/bookstack.py create_page --chapter-id <id> --name "Name" --html "<p>HTML</p>"
# Edit page python3 scripts/bookstack.py update_page <id> [--name] [--content] [--markdown] python3 scripts/bookstack.py delete_page <id> ```
### Search ```bash python3 scripts/bookstack.py search "query" # Search everything python3 scripts/bookstack.py search "query" --type page # Pages only python3 scripts/bookstack.py search "query" --type book # Books only ```
### Shelves ```bash python3 scripts/bookstack.py list_shelves # List all shelves python3 scripts/bookstack.py get_shelf <id> # Shelf details python3 scripts/bookstack.py create_shelf "Name" ["Desc"] # New shelf ```
## Configuration
Set the following environment variables:
```bash export BOOKSTACK_URL="https://your-bookstack.example.com" export BOOKSTACK_TOKEN_ID="your-token-id" export BOOKSTACK_TOKEN_SECRET="your-token-secret" ```
Or configure via your gateway config file under `skills.entries.bookstack.env`.
### Create an API Token
1. Log in to your BookStack instance 2. Go to **Edit Profile** → **API Tokens** 3. Click **Create Token** 4. Copy the Token ID and Secret
⚠️ The user needs a role with **"Access System API"** permission!
## API Reference
- **Base URL**: `{BOOKSTACK_URL}/api` - **Auth Header**: `Authorization: Token {ID}:{SECRET}` - **Official Docs**: https://demo.bookstackapp.com/api/docs
---
**Author**: xenofex7 | **Version**: 1.0.2