Question: I hope the problem is clear. Is there an alternative way not to get undefined reference error without implementing template functions in header files? Thanks in advance.

Answer: 
Gollum (https://github.com/github/gollum) is a Git-powered wiki written by GitHub in Sinatra. You can both push and pull from command line or use the included web interface to edit content.

Unfortunately it seems like GitHub have some what abandon development/maintenance of it, so it has some rough edges. It's also very basic, so it does not include features such as authentication[1].

I'm gonna use Gollum with gollum-site (https://github.com/dreverri/gollum-site), a static file generator for Gollum, and just use Gollum as the admin backend.

1: A basic solution to authentication can be found at <https://github.com/github/gollum/issues/107#issuecomment-2608061>

---

There is also Regulate, <https://github.com/quickleft/regulate>:

> 
> Rails 3 engine that provides a Git backed CMS that allows for an admin to define editable regions in a page view.
> 
> 
>
I ended up implementing a [micro-CMS called Hardwired](http://hardwiredcms.com) that does an excellent job of staying out of my way. 

Give it a try.