Have you had a look at the Strap template? Documentation on combostrap.com, where you will find examples of how to build up your website. It is based on Bootstrap 4, and while I know that was not what you were looking for, consider its ease of use, instead of making your own template from scratch. The most recent update includes the possibility to switch between bootswatch skins as well, so you can easily change the look and feel of it.
Combo is the plugin which adds UI components, URL Management, Web Metadata, SEO and more! It works in tandem with the template, and adds practical shortcodes and useful functions to the experience. Documentation is available on the same website, and the developer is very helpful and responsive, just like the template itself.
In the past I made my own theme, based on Base CSS framework. Because it used no prefixes in its css, I was able to just drop it into the Starter theme without much additional work. But Base changed from Less to Sass, and I lost some flexibility. I switched to Bootstrap3, and found it too bloated. Then to Bootie, which was good, but I had to customise. Later Bootie evolved into a flexible template framework, ComboStrap, and so far I have nothing but praise for it.
So take a look if it can help you with what you are trying to achieve with DokuWiki. There is another template based on Bootstrap 4, the mikio template, which also has a plugin for shortcodes, etc. I was impressed with its number of config options and customisability via style.ini, just to give you one more option to look into.
DokuWiki is very intuitive to work with, very extensible, and has a good community of developers and users who will try to help you. If you can contribute to some existing projects/themes instead of making your own, then everyone is benefitted: you, the developer, and the users, getting not just more choice, but better choice.
Hoping this helps! My 2 cents on the matter after 10 years of DokuWiki-ing...
NB! Beware, if you decide to try out these templates, that the mikio plugin breaks some functionality of ComboStrap, by inserting its own classes into html output. So you need to disable that plugin while using Strap.