For simple snippets like templates I'm using Obsidian and Obsidian Templater ( - For any programmer I'd consider Obsidian the best note-taking-app by miles.)
For more complicated stuff I used to just build generators in code, but as you mentioned, that's kind of a nightmare to manage. So now I usually use Liquid Templates - and a custom parser I made to process them