Well, I´m a developer and used a lot of projects in my life. I´ve never really written anything like this:
Switching over from Jekyll should have been easy, but it turned into a bit of a nightmare.
Starting off seemed to work all right, choosing a theme and getting it installed didn´t work due to some use of deprecated syntax in the theme but was ok to fix, then took some time to figure out on how to make the right content show on the Homepage. It seems to be quite biased towards blogs.
The first bigger roadblock was deploying it, choosing Github pages with Actions - those failed to build due to the Theme being a subproject and the modifications won´t be able to be pushed. Which kinda makes sense, but I don´t know how non-technical users are ever gonna figure stuff like that out… I ended up just copying the theme files / removing git (a fork would be the other route, but got stuck somehow, too)
The second road block was new pages didn´t show up. Probably a issue with the theme, but replacing the theme with a new example theme didn´t help either for some reason. Mysterious.
What helped was creating a new site (which I ended up doing a bunch). It worked there. Copying things over. Adding the theme back. Suddenly the theme is broken. Did a diff and can´t figure out why. Maybe some caching the dev server does? Installed the standard version of the theme from the orignal git. Still broken.
I seems there is some level of stuff going on that´s not reflected in the files. Maybe some page build caching somewhere? Doing a new site seems to resolve one issue, creating another issue seemingly randomly. I´m kinda frustrated at this point.
On further investigation, It seems the theme CSS is rendered out to /public, but the dev server is serving a different CSS? Very strange. A bunch of things that should just work are a bit of a nightmare. How am I debugging a whole thing, I mean adding a template to a static site generator shouldn’t be rocket science…
On a separate note: Mixing yaml and toml is kinda confusing. Some come with the project, some with the theme, some with examples when looking for answers to fix things (total mix out there).
Summary/Suggestions:
- Themes install as own git modules by default are good in theory, bad in practise: Good to update if unchanged, bad setup to store modifications.
- A working, built-in default theme would be great:
– For Testing when things don´t work as expected
– For a quick start without dealing with themes (they often seem not to work / have deprecated things in them as things have changed in the meantime) - Allowing yaml and toml: Great in theory, bad in practice. Seemingly creates more issues than it´s worth.
A Theme install command would also help:
- A theme Installer that sets up a Theme in a way that of the box is setup to handle changes to the Theme. A subproject of a public theme repository isn´t great. Forcing you to fork it or just copying the plain files might be better.
- That theme installer should ideally keep the theme consistent with the yaml/toml choice of the project
- Also, it maybe should check for deprecated functions and remedy them or notify that the theme is out of date
Thanks