Introduction
Accessibility tips the scales for Craft CMS, extendsConf nears, PHPStorm logging superpowers, deployment tips, and more.
Hello again, Craft friends. Welcome to another issue of Craft Link List.
As I've said before, after each issue publishes, I wonder how the next issue will come together since it starts blank every time. I'm happy to report, once again, there are a great collection of links that follow. Thank you to everyone who shares their Craft knowledge with the community.
Do you have a link for an upcoming issue? Visit the link submission page.
Thank you to the sponsors of this issue.
Fortrabbit is a preferred hosting provider for Craft CMS, offering a modern PHP application platform tailored for Craft, with Git deployments and Composer support. Try fortrabbit today.
Freeform is the feature-filled form plugin for Craft CMS that includes ready-to-use templates to get you up and running quickly. Learn about the power of Freeform.
Let’s hit the links.
-John Morton
Top Stories
CMS selection report - Working in the open with W3C and Studio 24
As Simon R Jones, the founder/managing director/tech architect of Studio 24, announced on Twitter, Craft CMS has been chosen as the CMS platform for the re-designed W3C website. The continued focus on accessibility by the Craft CMS team isn't just beneficial for users and developers, it's good for Craft CMS. Congratulations to the whole team.
W3C and Studio 24 have selected the Craft CMS to build the re-designed W3C website.
The process that led to that decision turned out to be a lot more convoluted than expected and taught us a lot about the state of accessibility of authoring tools on the web.
News
Craft 3.5.12.1
Craft is now at 3.5.12.1. Here are some notable changes since the previous CLL issue.
- ⛔🤖disallowRobots config setting
- ✂️ |truncate Twig filter
- ⬆️ PHP 8 support
- 🕙 Time field type
- 🌄 Better file uploading for Assets fields
- 👤 UX and #a11y improvements
Alex Aguilar also pointed out that in 3.5.11 you can hide Image labels in your admin listings.
extendsConf - October 21-22 ⭐️
Do you have Dot All withdrawal? You're in luck! Michael Rog and Jalen Davenport have been organizing extendsConf, a free Craft CMS online event, and you're encouraged to join.
- October 21-22
- 6 talks + 2 panels
- Starting each day at 9am PST / 5pm London
Keep in the loop by signing up at the website and following the extendsConf Twitter account.
Featured Sponsor

Craft CMS Hosting Partner
We like to automate ALL THE THINGS — except customer support.
Get started with a free trial today! And ask whenever you have any questions.
Tools, tips, and fundamentals
Customize activation and other system emails
Customizing system emails comes up fairly regularly in Discord. This Stack Exchange post might help you navigate this chore if you're looking to tweak your emails.
hosts.cx: the website previewer
h/t to Sean Smith for sharing this tool that will let you "access [a] site at the new location without any system or DNS modifications, so you and your clients can easily test it before repointing the domain."
nystudio107 | Atomic Deployments Without Tears ⭐️
Learn how to use atomic deployments to automatically and safely deploy changes to your website with zero downtime using Continuous Integration (CI) tools.
Create a Board Games section in Craft CMS ⭐️
Alex Aguilar from EaglePeak Consulting has started a new series for newcomers to Craft CMS. The series begins with a tutorial on building a favorite board games library. In this article, you will create a Board Games section.
Quickly set up a local Craft CMS dev site with the DDEV development tool | fortrabbit blog
Jascha Silbermann shows you how to use the DDEV development tool to quickly set up a Craft CMS dev site for local development.
(Note: fortrabbit is a sponsor of this issue, but sponsorship has no effect on the content of the newsletter.)
25 Craft CMS Plugins for Developers & Designers
Tim Green from SomeWhat Creative shares 25 plugins for Craft.
Perfecting your technique

PHPStorm log highlighting for Craft and Yii2 ⭐️
If you use PHPStorm, digging into this link will be worth your time but it takes a bit of context. First, check out the video Andrew Welch shared in this tweet. He shows the highlighting of the errors, etc., in the Craft log file is the goal. Next, click the link above. Here you'll find Andrew's reply in a message thread about highlighting logs in Yii.
If you follow the instructions he's provided, your PHPStorm will highlight your Craft log files errors, warnings, info, profile, and debug statements. The screenshot above is my own set up. Set the Pattern highlights to suit yourself. You will be happy that you did this. Guaranteed.
Deploy to fortrabbit with GitHub Actions | fortrabbit blog
This is a rough guide to use GitHub Actions as a deployment pipeline to fortrabbit.
This article was a reference for the next link in this issue.
Github actions: build and deploy Craft sites (WIP)
Jérôme Coupé shared a deploy script he's been using for Craft. As the title suggests, this is a work-in-progress script. Jérôme said in a comment on this page, "I wanted to reproduce a simplified version of what services like Buddy.Works are doing w/ Github Actions. Still a WIP but already tested it successfully with a small custom Craft website."
When asked how long his deployments are taking, he said "deploys are around 1min and 20 sec." If you wondering where the vars in the script are coming from, they are Github secrets.
How to Build a Marketplace powered by Craft and Stripe - YouTube
In this recording from the _ London Craft CMS Meetup_, Andre Lopez talks about building a marketplace powered by Craft and Stripe. Andre uses Stripe Connect to easily build a Marketplace in Craft CMS. The presentation includes a brief introduction of how a marketplace works and how to split payments to vendors.
After you watch the presentation, you can catch the Q&A that followed here.
Disability Simulator Toolbar by Silktide ⭐️
Experience your website with a range of simulated disabilities, including color blindness and dyslexia, with our free toolbar for Google Chrome.
Component Libraries with Fractal (and Twig) | CraftQuest
In this course, we’re going to build a component library using Fractal for the Crafty Coffee website.
This course requires a CraftQuest Premium account.
devMode.fm // Information Security: The Underbelly of the Beast
Infosec consultant Eugen Olteanu joins the devMode crew to discuss information security and the dark side of the web.
Sponsor

Features and design mean nothing when they don't work reliably.
Don't let any of your valuable form submissions fall through the cracks! Freeform has been meticulously designed and developed to be the most robust form solution for Craft.
Plugged In
Jitter
Jitter is a just in time image transformation plugin for Craft CMS with an API based on Imgix. It currently supports local storage or AWS S3 and requires ImageMagick.
The Craft Advantage
Craft CMS + Laravel: A match made in heaven? | Enovate ⭐️
Michael Walsh shares thoughts on a future where Laravel in the underlying framework for Craft CMS, saying "switching to Laravel makes great business sense for Craft. Being able to introduce the large Laravel community to such a polished CMS as Craft will be transformative both for Craft CMS as a business and potentially for us Craft CMS Partners and the developers who work with Craft CMS day-to-day."
"If we decided to stop using WordPress for university websites, what would you look for in a replacement?"
This is an interesting thread on the reasons behind Craft beating out WordPress for the WC3 site rebuild. (h/t Brandon)
Craft CMS 3 Feature Tour | Masuga Design
Catherine Kleimeier shares what Craft CMS has to offer the content editor with an overview of the basic functionalities of a standard Craft CMS website.
It’s not Craft, but it’s interesting.
devMode.fm // Using social media to accelerate your tech career
Pariss Athena joins the devMode crew to discuss how developers can use social media to advance a development career.
Contract Killer open-source contract — Stuff & Nonsense
This open-source contract is made available for you to use and adjust to your own circumstances. As the post states, the goals of a good contract are:
- A simple overview of who is hiring who, what they’re being hired to do, when and for how much
- What both parties agree to do and what their respective responsibilities are
- The specifics of the deal and what is or isn’t included in the scope
- What happens when people change their minds (as they almost always do)
- A simple overview of liabilities and other legal matters
Top 5 CORS Issues You Don't Want To Run Into
In this post, Tulsi Prasad will "walk you through all the CORS errors that kept me up at night this week and how to fix each one of them."
Study: How Often Google Ignores Our Meta Descriptions?
We found the rewrite rate for meta descriptions on the first page to be 71% in mobile search results and 68% on desktop. In other words, we should expect Google to use our meta description tag for the snippet around 30% of the time when we rank on the first page.
Visual Differ
A Node-based diffing tool to compare an array of URLs and flag differences between them.
The Ultimate Guide to Web Performance 🚀 - DEV
A collection of links featured in a newsletter that is a collection of links? Very meta.
Alpine Toolbox - Resources and Examples for Alpine.js
Getting Started Guides, Examples, Starter Templates, and Tools/Utilities to kick start your Alpine.js project.
A Node Email Service using AWS lambda - DEV
This post hopes "to help lambda newbies" by building an email service using AWS lambda.