Settings

Theme

Show HN: A Python script to convert DocBook books to QtHelp

github.com

2 points by dkrajzew 3 years ago · 5 comments · 1 min read

Reader

I usually write my user documentation using DocBook. For my recent applications built on top of Qt (e.g. PaletteWB (www.palettewb.com)), I needed something that generates in-app help pages. db2qthelp does this.

Any criticism or interest is appreciated.

moistly 3 years ago

I suggest using XSLT to transform Docbook to other XML. It’s purpose-built for that task. Saxonica offers a Python plug-in, though truth is that the XSLT solution can do everything you need.

  • dkrajzewOP 3 years ago

    Yes, I know. But DocBook generates fine HTML and HTML is what QtHelp shows.

    • moistly 3 years ago

      And you should then use XSLT to transform the docbook-generated html to Qt html. It is designed for that task, no weird Python regexes and string-splitting and indentation-tracking required. IOW, choosing the right tool for the job.

      • dkrajzewOP 3 years ago

        :-) You insist...

        Yeah, look, it's hacky, yes, and maybe runs only with a certain setting.

        But, well, you may be right, when I think a second time about this. Thanks...

        • moistly 3 years ago

          I should note that XPath is really the key here: it’s an elegant language to get and transform tree-structured and sequential data, so it could be well-used in a Pythonic template pipeline.

          XSLT is a functional programming language that leans heavily on XPath to support transformation of tree-based structures. XQuery is another in the same vein. But you can accomplish the same things using an imperative language like Python, calling into XPath for data.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection