When trying to share our team coding best practices, I wanted away to show off our code in Confluence in a way which allowed me to show the full context whilst also bringing attention to the most important parts/examples.
What it does
It automatically detects the programming language being supplied, performs syntax highlighting of all of it and then specifically highlights the requested parts of the code and renders all of this as a Confluence macro.
How I built it
Using Node.js for ease of development, the Confluence connect API for the macro intergration and Docker for ease of hosting.
Challenges I ran into
It was very difficult to produce a generic system which would performing full syntax highlighting and maintain that highlighting whilst allowing the freedom for people to highlight whatever part of the code they wanted, whether that was half way through a line or function or not.
Accomplishments that I'm proud of
Solving the challenge above.
What I learned
It's actually really easy to create content to be rendered for Confluence macros ad it is just needs standard HTML.
What's next for Custom Code Highlight for Confluence
Responding to customer feedback to make it the best code highlighting tool available.