Entry Editor Links, a new Craft CMS plugin

I have published a new plugin on the Craft CMS plugin store: Entry Editor Links. This plugin is designed to help developers quickly create links to an entry’s edit page in the control panel for authorized users on the front end of a Craft site. ## Use Twig instead If you’re not statically caching your site, you can achieve a link in your Twig templates and avoid adding another plugin. One Darnley Road’s starter… + read on
Learning the FileMaker Data API by trial and error.
I’ve recently completed work on integrating the FileMaker Data API into a Javascript application. I fumbled around during the process and wanted to document my thoughts while my impressions were still fresh. ## The most significant issue: finding the correct documentation I’ll start with the conclusion. My searches didn’t surface the correct documentation when I began the process, so I’ll share some URLs to begin. The Claris FileMaker Data API documentation: https://help.claris.com/en/data-api-guide/content/index.html … + read on
Make Javascript module creation easier with Vite and automated GitHub Pages and npm publishing

Making a “share” button on a webpage is something that I repeatedly do. I recently decided to package up this code into an easily re-usable Javascript module. You can check out the Progressive Share Button on npm if you’re interested in the end result. The process of creating that module made me realize I didn’t have a good workflow to create a Javascript module. As I built the Progressive Share Button, I built a… + read on
Remaking Twitter thoughts
I created my Twitter account in 2007. It’s been my favorite social platform. The content and connections to people I get from Twitter aren’t replicated on any other platform that I’ve tried. There’s an obvious problem with my love of Twitter, and I’m not talking about the bad things it may or may not do to society. Twitter’s financials have never been good, and a company that regularly loses money is unsustainable. I want… + read on
Stable Diffusion: Exploring trained models and unique tokens for more accurate text-to-image results

Before I get started, I’ve got a preamble to this post. I’m only in the early discovery process of AI-powered text-to-image technology. There’s a good chance you know more than I do about this topic! I’m writing this to document what I’ve learned. If you’re reading this, you might be on the same journey. If so, I hope you find this helpful. If you peaked ahead in this post, you’d see all kinds of… + read on
RSS feeds and unbound prefix errors
I recently was asked to add an image to an existing RSS feed that had been working for a client for years. This is the simplified version, with only a single item
, of what I was starting with. `
rss Example Site Name http://example.com/ News from Example en-us Fri, 08 Apr 2022 09:53:25 ‑0500 Fri, 08 Apr 2022 09:53:25 ‑0500 My Example Entry Title http://example.com/news/my-example-entry Thu, 17 Feb 2022 16:33:00 ‑0600 http://example.com/news/my-example-entry `
If you… + read on
npm in a box: Containerizing package managers for security.

I’ve written about Docker quite a bit recently. This flurry of activity about Docker is directly related to a post by Andrew Welch, Dock Life: Using Docker for All The Things! He describes how to use aliases and Docker containers to run apps typically installed on a developer’s computer without needing to install software directly on the machine. I have wholeheartedly embraced the methodology. The idea of running development tools in Docker containers for… + read on
Containerizing a workflow: using Docker to “Build A Banner”

We use a custom-built animation workflow at JMX2 that we’ve containerized with Docker to ensure it runs consistently on any machine we work on. We’ll go over that process in this post. ## The background At JMX2, we build a lot of animated advertising banners. (You’re welcome! 😉) In 2015, we created a Yeoman generator called “Build A Banner” to quickly create a consistent starting point for each project. This required having Yeoman, Node,… + read on
Configuring Craft CMS with Redis for use on Heroku
This post is about connecting a Heroku app built in Craft CMS to Heroku Redis with an SSL connection. I’ve recently taken an app from the free tier to a paid tier on Heroku and was presented with a problem with connecting my Craft CMS app to Redis. I hope this post is helpful to someone else who’s found themselves in this situation. Upgrading Heroku Redis from the free tier to a paid tier… + read on
Build a basic Docker image

In this post, we’ll dissect a small Docker image I have on Docker Hub: johnfmorton/tree-cli. It’s not a complex image, but its simplicity is good because it is fairly easy to understand. Once you understand the basics, you can create your own more complex Docker images. The tree-cli image is based on an official Node image and has one customization: I’ve installed tree-cli from npm, which is a package that allows us to list… + read on