BookStack

Last updated

BookStack
Original author(s) Dan Brown
Developer(s) Dan Brown
Initial release12 July 2015;8 years ago (2015-07-12)
Stable release
23.08.3 [1]   OOjs UI icon edit-ltr-progressive.svg / 2023-09-15; 17 days ago
Repository
Written in PHP
Operating system Cross-platform
Platform Cross-platform
Available in43 [2] languages
Type Wiki software
License MIT License
Website www.bookstackapp.com OOjs UI icon edit-ltr-progressive.svg

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. [3] BookStack is multilingual and available in over thirty languages. [2]

Contents

History

BookStack’s first commit was published on 12 July 2015 by Dan Brown, an English web developer. [4] 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. [5] The overall design was significantly optimised with the release of v0.26 on 6 May 2019, especially on the mobile experience. [6]

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. [7] BookStack has become the most popular wiki software written in PHP on GitHub, as of June 2021. [8]

Features

BookStack is compatible with mobile devices BookStack v21.05 editing page mobile dark mode.png
BookStack is compatible with mobile devices

Installation and configuration

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

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. [3]

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. [12] Page revisions and image management are available, as well as a full role and permission system that allows to lock down contents and actions. [11]

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. [11]

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. [11]

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. [13]

See also

Related Research Articles

<span class="mw-page-title-main">OpenCms</span> Content management system

OpenCms is an open-source content management system written in Java. It is distributed by Alkacon Software under the LGPL license. OpenCms requires a JSP Servlet container such as Apache Tomcat.

A lightweight markup language (LML), also termed a simple or humane markup language, is a markup language with simple, unobtrusive syntax. It is designed to be easy to write using any generic text editor and easy to read in its raw form. Lightweight markup languages are used in applications where it may be necessary to read the raw document as well as the final rendered output.

The following tables compare general and technical information for a number of wiki software packages.

Textile is a lightweight markup language that uses a text formatting syntax to convert plain text into structured HTML markup. Textile is used for writing articles, forum posts, readme documentation, and any other type of written content published online.

<span class="mw-page-title-main">Markdown</span> Plain text markup language

Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber created Markdown in 2004 as a markup language that is easy to read in its source code form. Markdown is widely used for blogging and instant messaging, and also used elsewhere in online forums, collaborative software, documentation pages, and readme files.

AsciiDoc is a human-readable document format, semantically equivalent to DocBook XML, but using plain-text mark-up conventions. AsciiDoc documents can be created using any text editor and read “as-is”, or rendered to HTML or any other format supported by a DocBook tool-chain, i.e. PDF, TeX, Unix manpages, e-books, slide presentations, etc. Common file extensions for AsciiDoc files are txt and adoc.

<span class="mw-page-title-main">GitHub</span> Hosting service for software projects

GitHub, Inc. is a platform and cloud-based service for software development and version control using Git, allowing developers to store and manage their code. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.

<span class="mw-page-title-main">Etherpad</span> Open-source web-based collaborative real-time editor

Etherpad is an open-source, web-based collaborative real-time editor, allowing authors to simultaneously edit a text document, and see all of the participants' edits in real-time, with the ability to display each author's text in their own color. There is also a chat box in the sidebar to allow meta communication.

<span class="mw-page-title-main">Org-mode</span>

Org Mode is a mode for document editing, formatting, and organizing within the free software text editor Emacs, designed for notes, planning, and authoring. The name is used to encompass plain text files that include simple marks to indicate levels of a hierarchy, and an editor with functions that can read the markup and manipulate hierarchy elements.

<span class="mw-page-title-main">Gitit (software)</span>

Gitit is a form of wiki software employing a distributed revision control system such as Git to manage the wiki history, and the Pandoc document conversion system to manage markup – permitting, among other things, the inclusion of LaTeX mathematical markup.

Apache Allura is an open-source forge software for managing source code repositories, bug reports, discussions, wiki pages, blogs and more for any number of individual projects. Allura graduated from incubation with the Apache Software Foundation in March 2013.

<span class="mw-page-title-main">Jekyll (software)</span> Ruby-based static website generator

Jekyll is a static site generator written in Ruby by Tom Preston-Werner. It is distributed under the open source MIT license.

Pandoc is a free-software document converter, widely used as a writing tool and as a basis for publishing workflows. It was created by John MacFarlane, a philosophy professor at the University of California, Berkeley.

Gollum is a wiki software using git as the back end storage mechanism, and written mostly in Ruby. It started life as the wiki system used by the GitHub web hosting system. Although the open source Gollum project and the software currently used to run GitHub wikis have diverged from one another, Gollum strives to maintain compatibility with the latter. Currently it is used by GitLab server to store and interconnect wiki-pages with wiki-links, but the plan is to move complete away from Gollum in the future.

qutebrowser Free keyboard-focused web browser with a minimal GUI

qutebrowser is a QTwebengine-web browser for Linux, Windows, and macOS operating systems with Vim-style key bindings and a minimal GUI. It is keyboard-driven and is inspired by similar software such as Vimperator and dwb. It uses DuckDuckGo as the default search engine. qutebrowser is included in the native repositories of Linux distributions such as Fedora and Arch Linux. qutebrowser is developed by Florian Bruhin, for which he received a CH Open Source award in 2016.

<span class="mw-page-title-main">Wiki.js</span> Wiki engine written in JavaScript

Wiki.js is a wiki engine running on Node.js and written in JavaScript. It is free software released under the Affero GNU General Public License. It is available as a self-hosted solution or using "single-click" install on the DigitalOcean and AWS marketplace.

<span class="mw-page-title-main">Fediverse</span> Network of federated social media servers

The fediverse is an ensemble of social networks, which, while independently hosted, can communicate with each other. ActivityPub, a W3C standard, is the most widely used protocol that powers the fediverse. Users on different websites can send and receive updates from others across the network. Noted fediverse platforms include Mastodon, Lemmy, PeerTube, and Pixelfed.

Hugo is a static site generator written in Go. Steve Francia originally created Hugo as an open source project in 2013. Since v0.14 in 2015, Hugo has continued development under the lead of Bjørn Erik Pedersen with other contributors. Hugo is licensed under the Apache License 2.0.

References

  1. "Release 23.08.3". 15 September 2023. Retrieved 18 September 2023.
  2. 1 2 "BookStack/resources/lang/". GitHub. BookStack. Retrieved 1 December 2022.
  3. 1 2 "Content Overview". BookStack. 23 September 2018. Retrieved 9 June 2021.
  4. Brown, Dan (28 July 2020). "Five Years of BookStack". BookStack. Retrieved 9 June 2021.
  5. Brown, Dan (11 July 2016). "A Year of BookStack". BookStack. Retrieved 9 June 2021.
  6. Brown, Dan (6 May 2019). "Beta Release v0.26.0". BookStack. Retrieved 9 June 2021.
  7. Brown, Dan (9 April 2021). "BookStack Release v21.04". BookStack. Retrieved 9 June 2021.
  8. "wiki". GitHub. Retrieved 9 June 2021.
  9. "Installation · BookStack". BookStack. 1 January 2017. Retrieved 11 March 2023.
  10. "Installation". BookStack. January 2017. Retrieved 28 June 2022.
  11. 1 2 3 4 "Features". BookStack. Retrieved 9 June 2021.
  12. "Organising Content". BookStack. January 2017. Retrieved 9 June 2021.
  13. "Hacking BookStack". BookStack. 2 February 2020. Retrieved 28 June 2022.