[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: ANN: Docbook Publishing Shell, based on XMLSH
https://github.com/davidpriest/dps git@github.com:davidpriest/dps.git Using David Lee's wonderful XMLSH, "…derived from the design and goals the unix shell and core commands but with XML expressions and documents added as core features to the shell. xmlsh can be used as a drop-in replacement for scripting xml transformations instead of sh." http://www.xmlsh.org/HomePage The unix bash commandline has been around forever, and is highly tuned to doing the sorts of things system administrators needed to do lo those many years ago: pipe data streams through transformations to create reports. This is not very far off from what we wish to do with our XML source files. David has made it possible to create bash-like shell scripts that do arbitrarily complicated XML transformation workflows. The Docbook Publishing Shell is a set of shell utilities that convert Docbook XML to PDF (using XEP), Webhelp, CHM, etceteras. It's fairly modularized, so that you can create new supercommands that modify the data on-the-fly; and you can use DPS as a submodule in a documentation superproject; or clone DPS and place your documentation as submodules. I suggest the superproject model, as it couples a specific revision of DPS, document source, and transformation source into a single project. As much as possible, DPS is self-installing. On Windows you'll have to manually install XMLSH; on Linux/OS X systems the shell scripts will install XMLSH. After XMLSH is installed and the system can boot, it performs some sanity checks and downloads missing components (ie. docbook-ns, xalan, docbook schema, etc). If all goes well, you'll end up at new shell prompt and can type `dls` to see a listing of documents. If you've cloned the project, you'll see "dps_ug.xml" — the DPS User Guide. Anyhoo, I've had a helluva lot of fun implementing this, and use it in production for clients. It gives me an easy way to have powerful workflows at my fingertips, while at the same time allowing me to provide dead-easy publishing supercommands for my client contact, who is responsible for publishing the release documents. While basic publishing is pretty much a completed deal, I'm still working on a few things: profiling needs to be improved, automatic targets generation still needs a massage, and I haven't implemented catalogs yet. Nonetheless, it's probably useful to many of you. I'm open to feedback and forking. Have fun! - david priest
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]