All Projects → oreillymedia → Htmlbook

oreillymedia / Htmlbook

Licence: mit
Let's write books in HTML!

=== HTMLBook

Let's write books in HTML! HTMLBook is an open, XHTML5-based standard for the authoring and production of both print and digital books. HTMLBook is built on the following premises:

  • Books are timeless. The basic "book" structure has persisted for hundreds of years and will continue to persist for our lifetimes, be it in digital or print form.
  • HTML is the markup language of the world for the foreseeable future.
  • Single-source document processing will remain valuable for the foreseeable future.

As such, HTMLBook can be characterized in the following ways:

  • HTMLBook is a subset of XHTML5. All HTMLBook is XHTML5, but not all XHTML5 is HTMLBook.
  • HTMLBook contains no additional elements or attributes outside of the XHTML5 specification.
  • HTMLBook is semantically tailored to the structure of a book, including more complex content used in technical and reference documents.
  • HTMLBook is defined with and can be validated against an XML schema.
  • HTMLBook stylesheets are written in CSS.

=== Getting Started with HTMLBook

Read the Working Draft of the HTMLBook Specification here:

http://oreillymedia.github.io/HTMLBook/

Get the HTMLBook schema here:

https://github.com/oreillymedia/HTMLBook/tree/master/schema

The main HTMLBook Schema file is +htmlbook.xsd+, which imports Schemas (via W3C) for MathML and SVG validation.

You can validate HTML documents against +htmlbook.xsd+ on the command line using +xmllint+:


$ xmllint --noout --schema htmlbook.xsd <your_html_filename>.html

Alternatively, to validate in a GUI XML editor like oXygen, add a +xsi:schemaLocation+ declaration to the root ++ element as follows:


----

=== Notes on HTMLBook

  • The HTMLBook specification is currently in Working Draft status, and will continue to be developed and revised for the foreseeable future.

  • If you have any bugs or feature requests for HTMLBook, please submit them via the Issues tab in GitHub.

  • In the coming months, we will be adding additional tools to the HTMLBook project for authoring and producing books with HTMLBook: CSS stylesheets, scripts for generating EPUB/Mobi, etc.

  • If you would like to contribute to the HTMLBook project, send us a pull request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].