Wiki.js is an open‑source, modern knowledge base built on Node.js and PostgreSQL. It combines a powerful editor with a flexible API so you can create, manage, and automate documentation in the way that best fits your workflow.
- Live preview: The editor is powered by Monaco (the same engine behind VS Code). You get syntax highlighting, auto‑completion, multi‑cursor support, and a scroll‑sync preview panel.
- Rich media: Embed images, videos, code blocks, tables, and even AsciiDoc. Images can be uploaded directly or linked from external storage.
- Customizable: Per‑user settings for font size, theme, word wrap, cursor blinking, etc.
- Every change is stored in a PostgreSQL table with author and timestamp.
- You can view the full revision history of any page, compare two versions side‑by‑side, or restore an older version with a single click.
- Pages can be nested arbitrarily deep using
parent_id when creating or updating pages.
- Spaces (or “sites”) let you group related content and apply permissions at the top level.
- The API exposes
tool_wikijs_create_page_post, tool_wikijs_update_page_post, and tool_wikijs_get_page_children_post for programmatic hierarchy management.
- Built‑in search powered by PostgreSQL’s full‑text engine, with optional external engines (Algolia, ElasticSearch, Solr).
- The API function
tool_wikijs_search_pages_post lets you query across all pages or limit to a specific space.
- All CRUD operations are exposed via the Wiki.js API – perfect for CI/CD pipelines, bots, or custom dashboards.
- Example functions:
tool_wikijs_create_page_post – create a new page with title, content, and optional parent/space.
tool_wikijs_update_page_post – modify an existing page’s title or content.
tool_wikijs_get_page_post – retrieve a page by ID or slug.
tool_wikijs_link_file_to_page_post & tool_wikijs_sync_file_docs_post – link source code files to pages and keep documentation in sync.
- Fine‑grained permissions: read, write, delete, admin per page or space.
- Supports LDAP/Active Directory, OAuth2, SAML, and custom authentication plugins.
- A plugin system allows you to add new features such as analytics dashboards, custom search backends, or integration with external services.
- The API can be extended by writing your own middleware in Node.js.
- Create a page:
tool_wikijs_create_page_post – provide a title and markdown content.
- Organize: Use the
parent_id field to nest pages or create spaces.
- Search:
tool_wikijs_search_pages_post "quick start" will return relevant results.
- Automate: Write scripts that call these endpoints whenever your codebase changes.
Happy documenting!