@ Declarative Amsterdam 2024
2024-11-08
Senior Engineer @Evolved Binary
Web Development since 2008
Developer
TypeScript / Node.js
XML & XQuery
Engineer @Evolved Binary
Masters in Computer Vision
Developer
React / TypeScript / Node.js
Java
Contributor to eXist-db since 2022
An easy way to edit Technical Documentation
A WYSIWYG in-browser editor
Built on top of ProseMirror
Uses LwDITA (Lightweight DITA) Model
Uses our LwDITA library
Conversion between XML and JSON
Markdown and HTML to be added in future
For further details see our XML Prague 2024 talk:
Lightweight DITA
(LwDITA)
Lightweight DITA
An OASIS Standard
Expressive subset of DITA
Has ~50 elements
Multiple authoring formats:
XML - XDITA
HTML - HDITA
Markdown - MDITA
JSON - ???
Simple!
Open an XDITA document
Renders an editable representation of the document
Allows you to:
Edit the text and structure
Insert new elements
Save the updated XDITA document
LwDITA Support
Updated for compliance with LwDITA 1.0 Draft 7
Improved formatting and whitespace handling in XDITA parser and serializer
Petal Editor
Ability to insert images from via file upload or URL
Improved localization and configuration
Integration with GitHub
Offers an "Edit this page" button
Petal Bot - our GitHub App
Forks your documentation repository for the contributor
Presents the visual editor to the contributor
Creates a PR from the contributor back to you
You review the contributors PR and merge/reject it
Petal API URL parameters
ghrepo
The GitHub repo. i.e. the “my-org/my-repo” part from "https://github.com/my-org/my-repo"
source
Location of the document in the repo. e.g. "my-folder/my-doc.dita"
branch
The git branch
referer
The web location of the documentation page", e.g. "https://docs.com/my-folder/my-doc.html"
<a href="https://petal.evolvedbinary.com?ghrepo=my-org/my-repo
&source=my-folder/my-doc.dita
&branch=main
&referer=https://docs.com/my-folder/my-doc.html">
<input type="button" value="Edit this page...">
</a>
Petal allows you to edit Documents
User's don't need to know XML, Markdown, JSON, or any syntax
You don't need to install any tools - just your Web Browser
Petal can provide a publishing workflow with GitHub
User's don't need to know Git or GitHub
XML (LwDITA) at the core for all those good things
Such as Single Source Publishing
Such as Content Reuse
It's Open Source
Productisation
Polish and Branding
Offer Petal as a service
Further toolbar buttons for other LwDITA elements
Get people using it!
Support cityEHR as our first user
Write Petal documentation using Petal
Use Petal for Elemental's documentation
Publicise and Market it
Respond to user feedback and requests
lwdita repo:
https://github.com/evolvedbinary/lwdita
prosemirror-lwdita repo: https://github.com/evolvedbinary/prosemirror-lwdita