I want my users to be able to create and edit documents in Confluence
I then use Confluence as a CMS using the REST API to retrieve that content and display it on public facing websites.
I'm currently using NodeJS/Cheerio in conjunction with Handlebars templates to do this but to parse and manipulate the content effectively I need some way of identifying page elements and containers.
At the moment it appears as though the only solution is to create HTML elements but this will require additional training for the admin and documentation personnel which I would prefer to avoid.
Can anyone suggest an alternative course of action? My preference is to use ID elements but I can't see a way to have Confluence render HTML with ID elements.
Actually, if an ID could be applied to a container I think it would be quite an elegant hack. Users would be free to format the content in any way they saw fit and I'd be able to decompose the content blocks according to the container IDs - everybody's happy, no?
However, to answer your question, the answer is "Not really". There are a limited number of ways that Confluence decorates content marked up with the Confluence style tags but they tend to resolve to header and other standard HTML tags which aren't unique.
Currently the only robust solution I can find is to use a very strict template which uses HTML wrappers to surround content blocks.
I'll probably end up moving to a headless CMS at some point.. which is both a shame and not DRY
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot