Removing Craft CMS plugins that you can’t uninstall

I was recently updating my site and decided to use Michael Rog’s Wordsmith plugin for some text manipulation. His Wordsmith plugin included some features that I liked that my own custom plugin, a simple port of Hacksaw, didn’t include. I had created this plugin when Craft 3 was early in development, a time when there were many fewer plugins available and no plugin store at all. Installing plugins through Craft 3’s Plugin Store makes… + read on
Using aliases on the command line.
If you use the command line and you’re lazy, this is for you. I’ve picked up a lot of tips in customzing my command line over the course of many years. Most of them I abandon after the “new” wears off, but a few stick around. Specifically, I have some aliases that I find useful enough that they’re part of the set up process when I get a new Mac. (Yes, these are Mac… + read on
A Checklist for the Craft Plugin Store

Like many of my posts here, this is another note to myself to help me when I have questions about getting things done. I recently finished Pic Puller for Craft 3, available in finer Craft 3 plugin stores everywhere. But the point of this post is how it actually got there. The conversion of the plugin from its Craft 2‑compatible version to Craft 3 was the first step of the process. Andrew Welch’s Pluginfactory.io… + read on
An S3 bucket policy to allow full-access for a single bucket.
When I have a new project that requires some Amazon S3 storage, I try to do the “right thing” for security by creating a new user and a new bucket entirely. I don’t want to share any credentials across projects. That means after I have created my S3 bucket I neeed to assign a user with the appropriate permissions. For me, that typically means I want this new user to have full access to… + read on
Keeping up with the Instagram API
On January 30, 2018, Instagram posted a deprecation notice for The Instagram API Platform. There is a newer API called the Instagram Graph API. The newer API’s focus is for businesses, not individual accounts though. This is the 2nd major change made to the API. The first major change was in November 2015. If you’re curious, here’s the announcment. The changes introduced a new app review process and limited 3rd party access to the… + read on
A Checklist When Transitioning from MAMP to Valet
I have used MAMP for local development for a long time. Several people I know through the Craft CMS Slack group have professed the benefits of [Laravel Valet](https://laravel.com/docs/5.5/valet ‘Laravel Valet documentation’) so I decided to give it a spin as an alternative to MAMP. When it comes to Craft CMS there is a built-in driver that allows Valet to serve a Craft site without any additional configuration. You just place your Craft site in… + read on
Extracting a YouTube ID from a URL with Twig

I had a client who wanted to embed YouTube videos in their Craft CMS site. It would have been easiest for me to have them only include the YouTube video ID but the sharing box on YouTube gives you a full YouTube URL. You can see that URL in the image at the beginning of this post. I didn’t want to add any plug-ins to my Craft CMS site to do this so I… + read on
Detecting and debugging the Instagram in-app browser

I had to debug an issue with a site I built when a friend discovered that the menu toggle icon disappeared only when visiting her site from within Instagram, specifically, on her bio page where she has a link to her site. Since I built her site, this is my problem to solve. Being an in-app browser within an application I have no control of, I struggled to debug this problem. The userAgent string,… + read on
How to re-add Github key to a server

Note to self: Don’t erase your knownhosts file. (headslap!) I provision servers with Laravel Forge and messed up my deployment from Github recently. I was messing around in the .ssh folder on my server and deleted the known_hosts file. The next time I tried to deploy my code base from Github though, I got the following error. Host key verification failed. fatal: Could not read from remote repository. I needed to get my server… + read on
Craft CMS: A bigger “Plain Text” field.
I inherited a Craft CMS site that I now maintain for a new client. When you inherit other people’s code, you need to see the project from their POV to get an understanding of they see things working. Luckily Craft seems to encourage logical structures being built so I’ve not had too much trouble getting up to speed on this site. One of the problems I did run into was with a simple Plain… + read on