== Welcome to bookshop
bookshop is an open-source ruby-based development framework for working with DocBook/XSL production flows. The framework is optimized to help developers quickly ramp-up, allowing them to more rapidly jump in and develop their DocBook-to-Output flows, by favoring convention over configuration, setting them up with best practices from the get-go.
bookshop hopes to simplify the process by:
* providing a Ruby Gem to make working with DocBook as easy as 'sudo gem install bookshop'
* pulling all the DocBook tools together into one place (DocBook DTD, XSL Stylesheets, XSLT Processor, XSL-FO Processor)
* giving the developer a set of scripts to automate the redundant stuff
* providing an architecture/structure that follows best-practices and simplification (DRY... Don't Repeat Yourself)
* providing an extendable framework for other developers to add their own custom templates (and hopefully provide them for the community)
== How to Install
=== System Requirements
* Ruby v1.8.7 or v1.9.2 http://www.ruby-lang.org/en/downloads/
* Rubygems v1.3.6 http://docs.rubygems.org/read/chapter/3
* Java v1.6 http://www.java.com/
=== Install bookshop
$ sudo gem install bookshop
=== Create a bookshop application
$ bookshop new ~/Path/to/NewApplication
This will create a new bookshop app in ~/Path/to/NewApplication
=== Install the java tools. All of the java tools (.jars, etc) can be found in /tools/java/ in the new application.
* For Mac you should copy the contents of /tools/java/ into your system /Library/Java/Extensions or your user ~/Library/Java/Extensions folder. This is the default location for the Java Classpath
* For *nix systems, you can define your classpath by creating a CLASSPATH variable in your .bash_profile (or whatever shell/profile you are using) profile, so:
CLASSPATH="YOUR_APP_PATH/tools/java/"
* For Windows systems you can either use Cygwin and follow the directions for *nix systems above, or edit your Classpath via the Control Panel
== Getting Help
* Checkout the wiki page which is in development currently for installation help and links to other articles and help content. https://github.com/blueheadpublishing/bookshop/wiki
* bookshop comes with a built in help feature. Simply run 'bookshop --help' from the command line to get list of possible commands to issue including possible options. You can also run 'bookshop COMMAND --help' (where COMMAND is the command you want) to get a list of possible options for that particular command
== Thanks
We would like to thank:
* The Xerces Team
* The DocBook Team
* The Ruby/Rubygems Team
== Description of Gem Contents
The basic bookshop gem architecture:
|-- bin
|-- lib
bin
command file copied to /usr/bin upon installation (which is then called from the command line)
lib
bookshop gem library files
== Description of bookshop app contents
The default directory structure of a generated bookshop app:
|-- book
|-- builds
| |-- epub
| |-- html
| |-- mobi
`-- pdf
|-- stylesheets
|-- tools
| |-- dtd
| |-- xsl
| `-- java
book
Holds all the manuscript DocBook code/files. This is where your master manuscript lives from which everything is built.
builds
Holds all the output files built from the DocBook using their specific Stylesheets
builds/epub
When building the epub, the generated output will reside here in an .epub file. You can rename the .epub extension to .zip then unzip the file to view the contents.
builds/html
When building the html asset, the generated output will reside here.
build/mobi
When building the mobi asset, the generated output will reside here as "book.mobi".
build/pdf
When building the pdf book, the generated output will reside here as "book.pdf".
stylesheets
Holds the XSL stylesheets for customizing your book output.
tools
Holds the DocBook DTD, DocBook-XSL specs and Java tools which serve as the base for building formats. Customization should not happen here, but rather with the stylesheets in the "stylesheets" folder. Files here should remain largely unchanged unless you know what you are doing.
== Copyright (MIT-LICENSE)
Copyright (C) 2010, 2011 by D.A. "Dave" Thompson
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.