On 18/07/2019 15:36, Sebastian Huber wrote:
On 11/07/2019 15:44, Sebastian Huber wrote:
On 11/07/2019 15:19, Joel Sherrill wrote:
Early on, we discussed that there wasn't a Rest backend to Doorstop. If we are having
to add that anyway, can each "category" be generated as a chapter?

We could generate 100+ chapters but we can't have 100+ requirements documents.

We will have custom attributes, such as type and verification-method, so we need a custom documentation generator anyway:

YAML files -> Doorstop -> Custom Translator -> Sphinx/ReST -> PDF | HTML

It will be sections or chapters not documents.

I just had a look at Doorstop to figure out how difficult it is to write a custom translator. It is very easy. The following script visits all items of a Doorstop document hierarchy loaded from the current directory. In the ItemVisitor() you can aggregate all the data you need and then dump it in your custom format. This is currently not documented:

https://github.com/jacebrowning/doorstop/blob/develop/docs/api/scripting.md

If we start to use this, then we should improve the Doorstop documentation.

Here is the script:

from doorstop.core.builder import build

class ItemVisitor:
     def __call__(self, item, document, tree):
         print(f"item {item} document {document} tree {tree}")
         return
         yield

tree = build()
tree.load()
tree.validate(item_hook=ItemVisitor())

Just for reference, you can also export the data via Doorstop into various formats, e.g.

doorstop export RTEMS-APPL-CONF output.yml

will export it into a YAML output format. The benefit of a scripting API would be that no intermediate document must be generated. I am not sure what is better in the long run. The scripting approach relies on API stability.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to