Everytime I start a new golang project that needs a database, I make the same mistake. I add the most recommended sqlite mod to my project, build it and get told, that I miss gcc on my machine. As I dont want to install mingw or something like that, I have then to search again for that pure-golang implementation.
Here it is, so I don't have to search for that again:
I wanted to have a website again, to collect information I found in the internet that I might need again some time,
and maybe to present some pictures, when I take some on vacations.
Because I didn't want to use wordpress or write my own web cms, and I started to look into "new" languages, I built
a small cli application in GO, that reads .md files and converts them into .html files for a blog.
Currently it is extremly limited and there are still some features I'd like to add, like adding static content pages,
generate a json file to support javascript-search etc. At this moment I am not able to use more than one image per
post, so the idea of showing photos from vacations isn't possible yet.
As soons as I am done with a basic featureset, I might make the github for this little project public. Perhaps someone
is interested in using it.
Edit 2025-03-15
I can now generate content pages (see impressum) with blogger.
Edit 2025-03-28
I wrote my own template that I seem to like. I also added the generation a javascript file that contains a json object
with keywords to implement a javascript search.
Edit 2025-04-18
Finally the website updates itself after I pushed the artice into my "cms-repository"
To cross compile a golang application on windows to run on linux you need to set the environment first:
set GOARCH=amd64
set GOOS=linux
If you are using a powershell, this needs to be set differently
$Env:GOARCH="amd64";$Env:GOOS="linux"
If you don't have the environment install already, golang documentation recommends the following 2 steps. The first one didn't work on my machine, but seems it wasn't needed.
go tool dist install -v pkg/runtime
go install -v -a std
After that you can simply build the project. It should generate an executable without the .exe
I want to test some webservices written in go. I don't want to have that application run with root permissions, so I want to start it as user.
As all ports below 1024 are seen as privileged, I have to "sign" the executable for it.
To backup and share my configurations for neovim, tmux, bash etc. I wanted to sync my local dotfiles to github.
I found the following article, that I used to it.