BookStack

BookStack is a free and open-source wiki software aimed for a simple, self-hosted, and easy-to-use platform. Based on Laravel, a PHP framework, BookStack is released under the MIT License. It uses the ideas of books to organise pages and store information. BookStack is multilingual and available in over thirty languages.

History
BookStack’s first commit was published on 12 July 2015 by Dan Brown, an English web developer. Originally named ‘Oxbow’, the project was renamed to BookStack after only 11 days. The initial proper layout was inspired by DokuWiki, and in October of the same year, the current layout of BookStack was settled. The overall design was significantly optimised with the release of v0.26 on 6 May 2019, especially on the mobile experience.

After over five years of development by Brown and the community members, it ended the beta stage with the release of v21.04 on 9 April 2021. BookStack has become the most popular wiki software written in PHP on GitHub, as of June 2021.

Installation and configuration
PHP, MySQL or MariaDB, Git (for updates), and Composer are required for the installation of BookStack. It also can be installed via a Docker container. The name, logo and registration options can be changed, and whether the whole system is publicly viewable or not can be also changed.

Content levels
BookStack, as the name suggests, is based of the ideas of a normal stack of books. The categorisation of BookStack is limited to four levels— shelves, books, chapters, and pages. Books and pages are required for storing contents, while chapters are optional for better organisation of pages. Shelves can contain multiple books, and a single book could be placed on multiple shelves.

Organisation
On a BookStack website, chapters and pages can be sorted within a book. A chapter can be moved to another book, and a page can be moved to either another book or another chapter. Page revisions and image management are available, as well as a full role and permission system that allows to lock down contents and actions.

Editing and searching
BookStack provides WYSIWYG and Markdown editors, and the Markdown editor also provides a live preview. Books, chapters and pages are fully searchable, and it is available to link directly to any paragraph.

Integrated authentication
The email/password login social providers such as GitHub, Google, Slack, AzureAD and more can be used. Okta and LDAP options are available for enterprise environments.

Extensibility
BookStack does not have a traditional "Plugin" system, but it does offer a few methods of extension. BookStack's customization settings provide an input to add custom HTML content to the head of the page, which can then utilize "Editor Events" to customize the page editors. A REST API is built-in, covering CRUD actions for the core content types within BookStack. A "Visual Theme System" can be used to customize views, translation text and icons within the platform. A "Logical Theme System" allows back-end PHP-based logical customization without needing to alter core application files.