Composing navigation files in Antora using the include macro
This third post in the series of Antora posts quickly addresses a feature I only recently discovered. It will show you some techniques you can use to compose the navigation menu in a multi-repository, multi-module setup. This is especially interesting if you have content spread across repositories that you want to present hierarchically in the navigation tree.
<!–more–>
Using multiple navigation files
Let us start with the basics: How to combine navigation files?
Continue readingPreview AsciiDoc with PlantUML in VS Code
This post is for everyone that likes to write AsciiDoc in VS Code but also wants to inline PlantUML diagrams within their docs. In a previous post about diagrams with PlantUML I gave an intro into PlantUML and how to preview images in VS Code. With the latest release of the asciidoctor plugin for VS Code it is possible to easily preview embedded PlantUML images within AsciiDocs. No more need to maintain attributes in each file 🎉
Continue readingAdvanced customization for Antora - PlantUML support & custom UI
This post will cover some slightly advanced steps for building a multi-repository Asciidoc documentation using Antora. My previous post blog.anoff.io/2019-02-15-antora-first-steps covered basics of Antora and how to migrate existing AsciiDoc files. In this post I will go through the steps of including content from another repository, building a custom UI and adding plantUML support to the (automated, dockerized) build.
plantUML support
One of the most important things for me when it comes to software docs is the ability to show relationships and interactions using diagrams. As you might know from my previous posts I am a huge plantUML fan. So plantUML support is important both for rendering the Antora website and the local development.
Continue readingContinuous Vitae - Auto built and git versioned CV
Versioning your CV is important.
One traditional approach is to date it whenever you send it out.
I chose to present my CV on my website and host it on GitHub.
In this blog post I want to explain how I set up continuous integration pipeline for building my CV that automatically injects a unique version into each build.
This method is applicable for anyone choosing to ascii-based CV - in my case LaTeX.
You also need some basic knowledge of git, Docker and CI services like Drone.
Hosting Gitea and Drone with Docker
This post will walk you through setting up a self hosted git based continuous integration environment on a two machine setup - assuming you already have two virtual machines at your disposal. Using Gitea* for git hosting and contribution management and Drone for docker-based build jobs, this will guide you through creating docker-compose* files as well as configuring the individual services and getting SSL certificates via traefik. Docker and docker-compose knowledge is required for this tutorial. It mostly focuses on the correct configuration of all the services at play here and not explaining their basic functionality.
Continue readingConfigure Azure Active Directory as Authentication Provider for Gitea
Gitea is an open source git hosting platform, written in Go forked from the Gogs project and seems to be highly inspired by GitHub. If you want to host your own git platform and want to use Azure Active Directory as an authentication provider - this post might help you.
Continue readingGet Hugo to render (nice) Asciidocs
While migrating my blog from Jekyll to Hugo I went down quite a rabbit hole.
While setup and migration to Hugo was a breeze, I spent a lot of time making my .adoc formatted post work with the new blog.
After working through several GitHub issues I ended up manipulating the DOM with Javascript to get admonitions working.
It still doesn’t feel right - but hey it works! 🤷♂️
This post will cover the steps I took in case I myself or anyone out there ever needs to do this again.
Converting existing AsciiDoc into an Antora project
After 2 years of working with the arc42 template in markdown, I spent the last few weeks learning about an asciidoc based site generator named Antora. The main reason for the interest in AsciiDoc was the fact that the limited feature set in markdown often impairs you while writing down complex things. But I had one problem; most of our documentation is scattered across multiple repositories as we try to keep the docs as close to the code as possible. That is why this series will cover how to get a multi repository (software) architecture template up and running using Antora.
Continue readingWhat I learned about Management and Recruiting
As [promised]({{ site.baseurl }}/2019-01-15-book-2018-in-books) my book series will start with two books out of the FAANG league. The book How Google works covers many aspects of the companies culture. The book has lots of management insights that - at the time of reading - were of little interest to me. Therefore I want to briefly highlight a few points about innovation that I find fascinating and then move to the human factors like recruiting and competence management that are also covered extensively in the book.
Continue readingMy year 2018 in books
For the last ~15 months I spent a lot of wasted time (commuting to work, waiting at the doctors, sitting on planes) with audio books. I have never been a big reader and the entry barrier to start listening to a book instead of music is a lot lower than packing books, reading instead of listening etc. That’s why I became a really big fan of listening to various audiobooks.
Continue readingGet the most out of hackathons
End of October I joined the Stuttgart Hackathon for the second time. It was my overall 4th public Hackathon. In this blog post I want to tell you why I enjoy doing Hackathons and why you should join one too if you have the chance!
Continue readingTL;DR; Network and play with expensive toys
RBAC with Google Firestore
This post will explain how to implement role based access control (RBAC) using the Google Firestore serverless database. Firebase and Firestore in particular with the concept presented in this post offers the most seamless integration of serverless infrastructure with a mobile client at this point. It has become my go to backend for all minor web apps I build.
Continue readingMarkdown native diagrams with PlantUML
This post covers PlantUML basics and how it can be used in GitLab or GitHub projects as well as a seamless local development environment using Visual Studio Code. I have been wanting to write this post for months. Lately I have been using PlantUML extensively at work but also in my private projects. You can see it being used in my plantbuddy and techradar projects on GitHub. Using it in different places and for various purposes I came across a bunch of issues that I want to share in this post.
Continue readingBuilding realtime apps with Vue and nodeJS
Wanting to build a simple SPA as a side project I struggled with things that might annoy a lot of newcomers that do not want to go full vanilla. Which web framework, which style library, which server framework - and more importantly how does it all work together?
In this post we will put together a bunch of great tools out there to build a realtime web app with a few single lines of code. A quick introduction into the tools that will be used:
Continue reading










