BookStack Overview What is BookStack? About BookStack BookStack is a simple, self-hosted, easy-to-use platform for organising and storing information. -- BookStack References Homepage: https://www.bookstackapp.com/ Setup Caddy Webserver # Bookstack @bookstack_statics { path /bookstack/*.png /bookstack/*.ico /bookstack/dist/* /bookstack/libs/* } handle @bookstack_statics { file_server } redir /bookstack /bookstack/ handle /bookstack/* { rewrite /bookstack/* /bookstack/index.php?{query}&p={path} php_fastcgi /bookstack/* unix//var/run/php/php7.4-fpm.sock { resolve_root_symlink } }Wishlist User Interface Easy Visually distinguish internal and external links Enable definition lists Less size spread between header levels. Activate "show blocks" button in the editor Make "inline code" a button like "B" UX Reduce visual distraction Too much information for only reading, Recent activity: too long Details: move to bottom Actions/Breadcrumbs Breadcrumbs: instead of using it for hierarchical navigation use for recently visited Single hierarhical navigation feature - best as tree with search button on top, like in chapter view, expand to include book and shelve navigation Make "Left" panel always look the same, don't move display elements around neither regroup them Code Editor Pains In code edit mode it is not possible to copy&paste to other windows. You have to close the code editor window. Then in edit mode it is also not possible to copy&paste. You have to save the page. Then in display mode it is not possible to copy&paste parts of the code.  You have to copy the whole thing over into an editor, edit it there and then paste it where you need. :( Previous - Next Navigation Add "UP" link Challenging Dynamic Heading Level Change Heading level with indent/outdent just like list nesting level, instead of selecting the format manually. In the "Formats" dropdown, there would just be one "Heading" item. Personal experience shows, that it is practical to select by default the previous heading level when writing text. Reorder content directly Instead of a separate menu, activate drag - sorting directly on the overview pages of books and chapters Semantic Editing Add html5 semantic elements, mostly inline: strong, em, kbd, abbr, cite, dfn, q, var, ...Functionality Backlinks For each Page all (internal) references to it can be listed. E.g. in original Wikis the page title is clickable, in "newer" wikis a "backlinks" or "references" menu entry allows to list them. A "macro" is available to show backlinks to a specific page (by default the current) Page search for referring pages can be done with "linkto:pagename" or similar syntax.Completely New Page Organisation Overview Changes for two concepts: Organising Content: Potentially infinite nesting of collections, which are an ordered list of collections and topics Reusing Page Content: any content can be 'mounted' into collections. Organising Content Collection* (Shelve) Collection* (Book) Collection (Chapter) Collection ... ... Topic (Page) ... ... (Book) ... (Shelve) Topic (Page) A topic is HTML5 Text with it's respective media. Collection A collection is a sorted list of topics and (sub)collections. Collections are typed and parameterized: Shelves are collections which can only contains Books Books are collections which can only contain Chapters Chapters are "normal" collections which can contain collections and topics Reusing Page Content Any content can be added multiple times to any collection. Reference counting is used and content is only deleted until it does not appear in any collection. Implementation idea: All Editors have a "Scrapbook" where newly created topics are added to automatically, even if it is added initially to a book or chapter.  So even if content is removed from all books, it still appears in the scrapbook. If an Editor account is deleted it can be decided to move over orphaned topics to a different account, a global scrapbook, or to delete it definitely If a topic is removed from the last book and the creating Editor account does not exist anymore it can be decided if it is moved to a different account, a global scrapbook or deleted.