I’m not great at JavaScript. Never have, never will, and I’m ok with that. I understand enough and can follow many others’ leads to do what I want with it.
Or, even better, just not use it. I grew up with HTML, then added CSS along the way. That was always enough.
At one point I had this stomach-dropping feeling that I may need to learn React to keep doing my job. That meant learning React AND JavaScript. No thanks.
Now I see several articles, posts, and mentions a week about how over-reliance on JS is damaging user experience, how it is creating a pointless situation when things could be much simpler.
And I’m glad. It wasn’t the way things were going after all, just the way some people thought it should and we all got swept up along the way.
Some of the tools I use in my day-to-day website building activities are very JS-heavy, and it is starting to show. Simple web builders are now bloated to the point they can’t perform their basic functions without difficulties (and let’s not get started on the shoe-horned AI obsession).
Now I just need to convince my clients they don’t need all the bells and whistles!
I keep coming back to reading about web components.
The opportunity to try them out hasn’t come up yet but I still don’t think I get it. Is it just another way of sneaking JavaScript into a site build? Do they work without JavaScript?
With all the Eleventy talk about moving to Font Awesome and their Web Awesome stuff I really want to learn it and like it, but I’m coming at it from an HTML/CSS-only standpoint (static sites lend themselves to a lack of JS) and am trying to understand how it carefully adds to a build, instead of taking it over or relying on JS. Or maybe I’m way off.
For several years now I’ve used “builders” for some clients, mostly on WordPress, which are a swamp of JavaScript and awful performance. So as I look to simpler project builds in the future I want to factor in nice solutions for things that aren’t going to turn into a hassle down the line.
The idea of browsers supporting it sounds fantastic though. Maybe I’ll figure it out one day.
Among many things, I build a lot of WordPress sites for my clients. For the most part I use Elementor, ACF, and other stuff, and tend to leave the actual block post editor alone. My clients are often responsible for general post/page content.
Last week I had to do a bunch of editor work and wow – I didn’t realise how unusable the block editor is:
for the most part there is no indication where you’re dragging a block to
the toolbar popup constantly gets in the way
just a general lack of good UX practice
so much white space for no reason
the up/down arrows are useful, but thet don’t work cross-block, so if I have a paragraph and want to put it inside a column I can’t. Press up and it goes above the column block.
There are more, these are just off the top of my head. I’m a little surprised but also not very surprised, WordPress has been changing for the worse for a long time, but it still broadly a decent CMS.
That’s not to say the old TinyMCE editor was any better, but mixing content and layout is always a messy situation and I don’t think either editors handle it well.
I much prefer how modern editor’s approach this and use Markdown, and no interpretation of layout (columns, etc), however WordPress have heavily invested in their block editor so I can’t see them changing any time soon.
Is there a flat-file CMS I could point to my Eleventy dev folder that would act as a nice front end to manage the Markdown content?
I’ve looked at a few (such as Grav, TinaCMS, Pico CMS, SpinalCMS) but they seem to do their own thing and manage files/site themselves, whereas I’d want Eleventy to handle everything and just have a nice UI instead of dealing with files.
The idea being when you save a post/page (.md file) it would update the e.g. GitHub repo and trigger the build. Any ideas?
Bonus points for being open source and also an accommodating free plan, or at least decent upgrade levels that don’t go from free to $500 pm for an additional seat.
Mattrbld looks good but I’m not sure how mature/stable it is and so does PagesCMS if it can do what I’m after. I guess it also depends on hosting and my options there too.
We’ve had a Dell Inspiron laptop knocking around for a couple of years now and I’ve never known what to do with it.
One time I tried installing Batocera and then ChimeraOS on it to use as a console in the living room but got bored with the fiddling and it wasn’t a good set up anyway.
I’ve recently come across ZorinOS and liked the look of it. It has been suggested for people moving from Windows, but ironically I found it more macos-like – especially after a few UI tweaks.
My daily driver is an M3 iMac and I use an old MacBook Air for some home server stuff, and when I need it I can use the Air for some dev work. It’s a slow machine though and I don’t like using it for that.
I’m hoping if I need to do work away from my desk now I can use this laptop instead.
I had a spare moment yesterday [sorry, a what?] so I jumped in with the most straight-forward looking option to try out – PagesCMS.
I have no affiliation with this platform so anything positive below is sincere and I will continue to review it as I use it as my CMS.
It was actually even easier than I expected to set up, although I did go with the hosted version rather than trying to host it myself since their instructions only cover Vercel and involve setting up a database, which I don’t have time to manage at this point.
For those not aware – as I wasn’t a few days ago – PagesCMS connects to your GitHub account and manages the flat files you have in there before they get built. It is also completely customisable in terms of what you can choose to edit since you point the CMS to the content, it doesn’t take over or try to make you do things you don’t want to. You can edit posts, but also any custom post types you have and single pages as well. Saving them will update your repository and in turn trigger a build of your site if you have that set up.
Once the initial account signup process is done (via GitHub) I am presented with a dashboard where I can see my current repository, add new ones, create a new project or even add another GitHub account.
The most important thing you need to do is add a config file. The docs are well written and even have an 11ty example config file to get you started.
My blog is based off the eleventy-base-blog-v8 so is a little out of date and honestly at some point I plan on changing it to something homemade – but that’s getting off on a tangent. The downside here is that I wrote additional pieces of text content (such as the blurb on my homepage) like this:
module.exports = {
description: "I'm a web developer based in Australia. I build with WordPress, Shopify and now also Eleventy, sometimes mixing them all together.",
}
But in the config file it only likes JSON for this format, so ‘description’ doesn’t auto-populate and is uneditable. I’m not sure if this was something I did for some reason, or if v8 of the blog did this and was changed for v9.
This also goes for my About page and site meta as well; it’s not an issue as I’m not planning on changing these immediately, but worth noting for future reference.
Another issue I ran into was getting my post tags working. I like the way these work in Eleventy, generating a post list for each tag and wanted to be able to edit these easily in the CMS too. After searching the GitHub issues page I came across the answer, which it turned out was also in their docs all along. Here’s the important part of my config file covering the posts:
content:
- name: blog
label: Blog
type: collection
path: 'content/blog'
filename: "{fields.title}.md"
view:
fields: [ title, description, date, tags ]
fields:
- name: title
label: Title
type: string
- name: description
label: Description
type: string
- name: date
label: Date
type: date
- name: tags
label: Tags
type: string
list: true
fields:
- name: tag
label: Tag
type: string
- name: body
label: Body
type: rich-text
In this config I added:
‘filename’ – I added this in because I like to use the title as the post slug. In Obsidian I was doing this manually in the frontmatter so it’s nice to automate it. You can also use variables like {year} to build a slug.
fields > name: tags – this got my tags in place by using the ‘list’ field type. It will then repeat the fields within for each entry, so here I just have a single text field for each tag.
However, although this creates a nice interface for adding new tags and correctly adds the tags frontmatter to my post, the build fails each time and I cannot figure out why.
This is how the tags selection should look in the CMS, but unfortunately when I add any tags it breaks the build:
If I can get this working it will mean I can keep adding tags, the only downside is I can’t see tags I’ve already added to reuse but I tend to write them off the cuff anyway. Also in the config you can have min/max settings to limit these options as well.
This is my first post written using PagesCMS (and that above is my first embedded image in the entire blog so fingers crossed) so we’ll see how it goes, but I would like to get my tags working.
I mentioned earlier about changing my blog theme and having a functional CMS has made me think about how I want to redo that as well, but I also need to figure out what I want from this blog too.
If you are currently manually editing your markdown files for your Eleventy blog and want an easier way to handle things, give it a shot. I’ll try and keep updates on using it and any issues I may run into.
We’ve had an old (2021) Dell laptop lying around for a while and I thought turning it into a gaming machine for the living room might be fun.
Now when I say gaming, I’m not really a gamer. I grew up playing point and click adventures (still the best game format in my opinion) and in the late 00’s I had an XBox 360 where I played a lot of Red Dead Redemption. Oh, and I have a WiiU in a box somewhere but it has a UK plug and it seems dangerous to have it plugged in to an adapter all the time.
I like playing old games. I got my daughter a Miyoo game boy-style handheld for Christmas and under the guise of “testing” to make sure it would be good to go on the big day I also picked one up for myself.
I’ve looked into a few options for this Dell laptop (Inspiron 5502 for those who are wondering, whatever that signifies), I’m not a big PC guy – I use a Mac as my daily driver – so removing Windows was a priority. I’ve played with Linux here and there over the years so that’s always an option.
I first tried Batocera, a convenient living room display-style screen mode for retro gaming but I wasn’t able to install it off the USB stick to the drive in the laptop.
So now I’m trying out ChimeraOS. It bases itself off Steam so I can access games I have on there, as well as retro emulated games.
I’ve realised I don’t actually have any games in Steam so the homepage is a little lackluster right now (mainly Half Life when it was on a free promo and classic YNAB), but that can be added to.
I found my old WiiU Pro controller and it connected instantly which I was impressed with. The next step is to get Steam Link working on my iPad so I can play some new point and click games I’ve been interested in but they’re only on PC.
Now I need to find some time to actually play some games…
I have an old MacBook Air 13″ from 2019 which was my work horse for a while until I forked out for a new iMac last year. It comes in handy sometimes when I need to do work away from my desk but it’s pretty slow so that’s mostly limited to simple coding stuff.
Recently I’ve been adding self-hosting platforms to it – namely Jellyfin and other media-related treats.
A while back I came across Kavita, an ebook organisation platform in a similar vein to Jellyfin but for ebooks. I keep all my ebooks in a folder and occasionally sort through them using Calibre, which is great for tweaking metadata and all that.
I sync my local files with MEGA.io so everything is backed up, and I also share the local MEGA folder (the main sync is on my iMac) with the MacBook Air so it can access all the files. This is handy for both coding and ebook management.
So I’ve set Kavita up now and it has imported all my books. Some of the metadata is off so I’ll need to do some tidying up in Calibre, but so far so good. I also set up the email-to-device config so if I add new ebooks to Kavita first I can then send them to my Kindle. Easy!
I was watching the news this morning and they were talking about Green Day and the new ‘dynamic pricing’ for gig tickets being used, which basically means if more people are trying to book tickets the price will go up.
It’s not just Green Day either, it’s the ticket companies pushing the feature.
It’s a horrific capitalism invention and all I can say is people should go check out local bands instead. This is just making nice things available only to the rich.
My question is, why can’t we make these ticket companies pay a tax that goes towards local music/art investment?
This was done with Netflix; they have to commit to making a certain amount of Aussie content per year. If you’re taking money from people to go see major foreign acts, some of that should be reinvested.