Changes

Jump to navigation Jump to search
Reorganization of feature list, features added
https://github.com/pmazaitis/context_command_reference_prototype
 
This is meant to be a small scale, easily digestible prototype to show how DITA might be used to develop a comprehensive documentation set.
 
=== Output Products ===
 
From the hand-built prototype, The DITA Open Toolkit (dita-ot) can generate lots of different formats out of the box, and use plugins for others. Here are some examples, all generated from the above DITA document set.
 
==== HTML5 ====
 
`dita-ot` can generate an HTML version of the documentation set:
 
`dita --input=context_command_reference.ditamap --format=html5`
 
...as hosted here:
 
https://paul.mazaitis.org/ctx_comref/prototype-html5/
 
This is without any CSS, etc. - just the structure.
 
==== XSL-FO PDF ====
 
`dita-ot` can generate an XSL-FO version of the documentation set:
 
dita --input=context_command_reference.ditamap --format=pdf
 
...as hosted here:
 
https://paul.mazaitis.org/ctx_comref/prototype-pdf/context_command_reference.pdf
 
This is pretty straightforward FO. (I imagine ConTeXt could do a nicer job...)
 
==== Normalized XML ====
 
`dita-ot` can generate a normalized version of the documentation set:
 
dita --input=context_command_reference.ditamap --format=dita
 
...as available here:
 
https://paul.mazaitis.org/ctx_comref/prototype-normalized-topics/
 
This transformation does all of the processing work on individual topics (coping content, resolving lints, etc.) but keeps the content as XML files for further processing.
 
==== Web Help ====
 
I also use the Oxygen XML Editor, which comes with several other transformations. One transformation of the documentation set that might be interesting as an example of what is possible is their Web Help implementation, hosted here:
 
https://paul.mazaitis.org/ctx_comref/prototype-webhelp-responsive/
 
==== Other Available Transformations ====
 
There are many other transformations available, and it is possible to create new ones.
 
== A Full Command Set ==
 
=== Dita Sources ===
 
A full DITA rendering of the ConTeXt command interface is tracked here:
 
https://github.com/pmazaitis/context_command_reference
 
These files are generated by a Python script from the command interface files distributed with ConTeXt. The Script is available here:
 
https://github.com/pmazaitis/context-interface2dita
 
...with a noted lack of documentation as of yet.
 
This documentation set is tested to build to PDF, HTML5 and Normalized DITA.
=== Topic Level Features ===
The `category` element describes one or more categories that this command is part of. A command topic can have multiple `category` elements.
 
The `keywords` element can support one or more `keyword` elements, to tag commands that fall into more than one area.
The `prodinfo` element contains metadata about how this command topic related to the entire project. The `prodname` element generally links the command to ConTeXt, while the `vrmlist` allows tracking of version (whatever makes sense) and release (which might be useful for production/experimental commands, etc.).
These elements can be used for conditional processing. For example, we could instruct the DITA processor to only include topics that are user-focused, etc.
 
In addition to the formal metadata, the `prolog` also supports two other pieces of information: the `source` element, and the `critdates` element.
 
The `source` element may be useful here to describe a full (non-rooted?) path to the source file in the standard ConTeXt distribution.
 
The `critdates` element can contain `created` and `revised` elements to capture creating, modification, and expiry dates. This element can be used progamatically to identify documentation that is scheduled for an edit.
==== Syntax ====
This is a simple two column table that describes commands (column one) and the commands related to that command (column two).
== Output Products == From the hand-built prototype, The DITA Open Toolkit (dita-ot) can generate lots of different formats out of the box, and use plugins Multiple Maps for others. Here are some examples, all generated from the above DITA document set. ==Multiple Products = HTML5 === `dita-ot` can generate an HTML version of the documentation set:
`dita --input=context_command_reference.ditamap --format=html5`At the moment, the distribution supports three maps of command topics:
...as hosted here:* The full command set* User-facing commands* System commands
https://paul.mazaitis.org/ctx_comref/prototype-html5/.each drawing on the same pool of command topics to build the final product.
This is without any CSSMaps could also be made to support command glossaries for manuals, etc. - just the structure.
=== XSL-FO PDF ===
`dita-ot` can generate an XSL-FO version ==== Keeping Track of the documentation set:What Needs To Be Worked On ====
dita --input=context_command_reference.ditamap --format=pdf ...as hosted here: https://paul.mazaitis.org/ctx_comref/prototype-pdf/context_command_reference.pdf This is pretty straightforward FO. (I imagine ConTeXt could do a nicer job...) === Normalized XML === Several elements in the topics now have the `dita-otrev` can generate a normalized version of the documentation set: dita --input=context_command_reference.ditamap --format=dita ...as available here: https://paulattribute.mazaitis.org/ctx_comref/prototype-normalized-topics/ This transformation does all of the processing work on individual topics (coping content, resolving lints, etc.) but keeps the content as XML files for further processing. === Web Help === I also use the Oxygen XML Editor, which comes with several other transformations. One transformation of the documentation set that might can be interesting as an example used to keep track of what is possible is their Web Help implementation, hosted here: https://paul.mazaitis.org/ctx_comref/prototype-webhelp-responsive/ === Other Available Transformations === There are many other transformations available, and it is possible to create new ones. == A Full Command Set == === Dita Sources === A full DITA rendering of elements in the ConTeXt command interface is tracked here: https://github.com/pmazaitis/context_command_reference These files set are generated still boilerplate by a Python script from incrementing the command interface files distributed with ConTeXt. The Script is available here: https://github.com/pmazaitis/context-interface2dita ...with a noted lack of documentation as of yet. This documentation set builds Normalized DITA. (Other transformation types (HTML5, PDF) are mysteriously failing. Looking into it..attribute value after edit.)
=== Output Products ===
I've prepared three formats for The Normalized DITA version of the entire command setcurrent effort is here: HTML, PDF, and Normalized Dita.
The HTML5 version is hosted herehttps://paul.mazaitis.org/ctx_comref/ctx_com_ref-ditanorm-20200622_002.zip
https://paul.mazaitis.org/ctx_comref/full-html5/index.htmlpresented as a zip file (to browse though a smaller example, the prototype is still available online).
...This one is interesting to me, in that it might be useful as a basis for interactive explorationinclusion and formatting in both ConTeXt documents (through the XML interface) and/or the Wiki (if current methods could be adopted).
The PDF (XSL-FO) version is hereOther available formats:
HTML5 (No CSS, Zipped): https://paul.mazaitis.org/ctx_comref/fullctx_com_ref-pdf/context_command_referencehtml5-20200622_002.pdfzip
PDF (XSL-FO, Full Command Set): https://paul.mazaitis.org/ctx_comref/ctx_com_ref-pdf-20200622_002.and it's worth noting that this behemoth requires upping the Java memory limit to 3GB (!) to finish compiling, and the resulting output is functional, but could be more pleasant.pdf
Which brings us There are also maps available to build a reference manual with only system commands, and a reference manual with only user commands. A PDF version of the Normalized DITAlatter:
https://paul.mazaitis.org/ctx_comref/fullctx_user_ref-normalized_dita.zip ...presented as a zip file (to browse though a smaller example, the prototype is still available online).  This one is interesting to me, in that it might be useful as a basis for inclusion and formatting in both ConTeXt documents (through the XML interface) and/or the Wiki (if current methods could be adopted)pdf-20200622_002.pdf
=== Much Yet to Do ===
51

edits

Navigation menu