Analytics a different way. Plausible Analytics on Laravel Forge with Traefik and Docker.
Nearly everyone uses Google Analytics. It’s the industry standard for a reason. It’s an extremely powerful tool, but legal and privacy issues may concern you. Want to try a different route? Come along with me. TLDR: Install a self-hosted instance of Plausible Analytics in a Docker container with routing by Traefik Proxy. Laravel Forge is used to provision the server and deploy code. Where we’re headed We’re going to use Laravel Forge to create… + read on
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 template… + 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 FileMaker 18 Data… + 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 someone to… + 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. <?xml version=“1.0” encoding=“utf‑8”?> <rss version=“2.0” xmlns:atom=“http://www.w3.org/2005/Atom”> <channel> <title>Example Site Name</title> <atom:link href=“http://example.com/feed” rel=“self” type=“application/rss+xml” /> <link>http://example.com/</link> <description>News from Example</description> <language>en-us</language> <pubDate>Fri, 08 Apr 2022 09:53:25 ‑0500</pubDate> <lastBuildDate>Fri, 08 Apr 2022 09:53:25 ‑0500</lastBuildDate> <item> <title>My Example Entry… + 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! :winking_face:) 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, Gulp.js,… + 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