Skip to content
calebwaldorf edited this page Jul 23, 2018 · 39 revisions

b-ber

lerna npm Version Build Status Coverage Status

b-ber is an authoring environment application suite that generates an array of formats—ePubs, Mobis, PDFs, websites, and more—from canonical source documents written in Markdown and custom syntax developed by Triple Canopy.

b-ber uses markdown-it extensions (based on the EPUB 3 Structural Semantics Vocabulary) that describe intent that can be understood by a wide array of actors: writers, editors, designers, technologists, and machines. Working with a standards-compliant output reduces overhead in converting between formats and simplifies the process of tagging content with metadata, as well as improving a publication's searchability and its archivability.

b-ber can be run on a personal computer or on a server. This user manual was written for both beginners who would like to author projects, as well as developers who like to contribute to the project. In addition, the repository includes further documentation and the code is heavily commented.

To get started, click here.

You can already check out some of the features of b-ber's web output here.

Demo projects for the following projects which include all of the functionality described in this wiki are forthcoming:

  • EPUB 3.0 TK
  • Mobi TK
  • PDF TK
  • IDML TK

Summary of Features

  • Builds static websites, pdfs, epubs, and mobi files;
  • Generated output follows the EPUB 3.0 spec;
  • Creates and embeds rich metadata in JSON-LD;
  • Creates metadata that conforms to the webpub specification for web-based publications;
  • It is easy to override styles or build your own themes;
  • Can be used as a utility library by accessing its component modules.

Project Roadmap

  • Ensure that b-ber runs smoothly on all supported operating systems and environments.
  • Further styling and testing for PDF and IDML.
  • Create more themes.
  • Create a more 'pluggable' interface:
    • Allowing users to create and integrate their own plugins;
    • Allowing users to customize the build process.
  • Modularize b-ber:
    • b-ber packages can continue to be extracted from the core b-ber package for maintainability and customizability.
  • Improve logger for more granular control (and to look nicer).
  • Readium integration:
    • Including necessary changes (if any) for supporting Readium2 streamer;
    • Update styles in b-ber themes to tie in more seamlessly with Readium's web reader;
    • Generate WebPub manifests during build;
    • Update generated metadata to take better advantage of the WebPub (or other) schemas.
  • Create integrations for third-party tools:
    • Atom integration for authoring environment.

Reporting Bugs

Issues should be reported at the b-ber project repository on GitHub and be as descriptive as possible. Please use the template when creating a new issue. Issues should be tagged with the appropriately scoped label (b-ber/create, b-ber/theme, etc.) if it's clear where the issue originates. Other labels (bug, enhancement, etc.) should also be used when applicable.

Contribution Guidelines

Pull requests are welcome. If you plan on making a contributing to b-ber's development and making a pull request, please send a notification to [email protected] so that we are aware of work that you are doing. There is no explicit style-guide, but a style of coding that's consistent with the existing codebase should be maintained.

Code of Conduct

We ask people to respect the code of conduct which can be read here.

License

GNU GPLv3

Clone this wiki locally