Release status: experimental
|Implementation||User interface, ContentHandler|
|Description||Allows book content structuring|
|Author(s)||Molly White (GorillaWarfaretalk)|
|Latest version||0.1.0 (2013-07-02)|
|License||GPLv2 or later|
Translate the BookManagerv2 extension if it is available at translatewiki.net
|Check usage and version matrix; code metrics|
|Bugs: list open list all report|
The BookManagerv2 extension allows book content to be structured using a simple form. It then autogenerates navigation bars, which are added to the various subpages. More information on the project's development is available at meta:Book management.
Installation[edit | edit source]
- Download and extract the file(s) in a directory called
extensions/folder. If you're a developer and this extension is in a Git repository, then instead you should clone the repository.
- Add the following code at the bottom of your LocalSettings.php:
- Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.
Configuration[edit | edit source]
This extension makes use of two namespaces (or groups of namespaces):
- Main: These are the namespaces in which the sections of the book are stored, and where the navigation bars should appear. This defaults to the namespaces in $wgContentNamespaces, but can be overridden using the $wgBookManagerv2NavigationNamespaces variable described below.
- Book: These are the namespaces in which the JSON blocks describing the book are stored. This defaults to a localized version of "Book", but can be overridden. To override, add the following code to LocalSettings.php, directly below the code that loads the extension:
$wgExtraNamespaces[NS_BOOK] = 'YourCustomName'; $wgExtraNamespaces[NS_BOOK_TALK] = 'YourCustomName_talk';
|$wgBookManagerv2ExampleNavigation||false||If set to "true", this will add an example navigation bar to each page in the navigation namespace (see below) that does not already have one defined.|
|$wgBookManagerv2NavigationNamespaces||$wgContentNamespaces||This can be changed to an array of namespaces where the navigation bars should be added.|
|$wgBookManagerv2Metadata||true||If set to false, the metadata icon and dropdown are hidden from the navigation bar.|
|$wgBookManagerv2ChapterList||true||If set to false, the chapter list icon and dropdown are hidden from the navigation bar.|
|$wgBookManagerv2PrevNext||true||If set to false, the previous and next links and icons are hidden from the navigation bar.|
|$wgBookManagerv2JsonFrontend||false||If set to false, when a page in the book namespace is viewed, the raw JSON will be visible. If set to true, a nicer-looking view frontend will override it.|
|$wgBookManagerv2JsonEditor||false||If set to false, an edit box containing the raw JSON will be provided when a user tries to edit in the book namespace. If set to true, a custom JSON editor overrides this.|
|$wgBookManagerv2ImportSections||false||If set to true, an input box asking for title of contents page will appear on the custom editor, allowing you to import sections from that page.|
|$wgBookManagerv2ImportIndexMetadata||false||If set to true, an input box asking for title of an Index page containing proofreadPage book metadata will appear on the custom editor, allowing you to import metadata from that page.|
|$wgBookManagerv2ImportWikidataMetadata||false||If set to true, an input box asking for id of a wikidata item containing book metadata will appear on the custom editor, allowing you to import metadata from that item.|
|$wgBookManagerv2ReadabilityOptions||true||If set to false, this hides the readability options from the navigation bar.|
|$wgBookManagerv2Fullscreen||true||If set to false, this hides the full-screen option from the navigation bar.|
Usage[edit | edit source]
This extension stores metadata and structural information about a book in a JSON block. The fields in this block are defined by a JSON schema, such as the default on at meta:Schema:BookManagerv2. The JSON block for each book is stored in the NS_BOOK namespace, where a custom editor allows it to be easily edited. The editor provides following functionality:
- Import book metadata from a proofreadPage Index page.
- Import book metadata from a Wikidata item.
- Enter book metadata manually.
- Import table of contents from a pre-existing contents page.
- Add sections and chapters to the book.
- [[Category:Book_name]] is automatically added to the pages added to the book to allow book navigation bar on that page.
This block then allows navigation bars to be automatically added to each section of the book. The menu bar contains the following optiions:
- Full-screen reading mode.
- Readability options to adjust text appearance for reading.
- Book metadata.
- Table of contents.
- Links to previous and next chapters.
Notes[edit | edit source]
To add a date to a JSON schema, use "string" as the type. Add a "date_format" property to the additionalProperties object. This can consist of "y", "ym", or "ymd" to indicate that the date is a year, year and a month, or year, month, and day. These can be upper- or lowercase, and can come in any order. This will add the appropriate fields to the form (see image for example).