Introduction
Issue 87: Craft CMS News, Plugins, Tips and More.
Welcome to issue 87 of Craft Link List. We've got another issue of Craft CMS news, tips, and plugins. The Craft community comes through again.
If you're planning on going to DotAll, be aware that early bird pricing is in effect until May 30. The early bird gets the ticket.
Thank you to the sponsors of this issue.
Fortrabbit is an official Craft CMS hosting partner. Find out why Fortrabbit should be the host for your next Craft CMS project.
Solspace introduces Express Forms, a light-weight, easy-to-use form-builder plugin. The video overview has a soundtrack that belongs in a superhero movie. Buy a license before May 10 and save $20 with coupon code XFORMS20
.
Thank you to Jalen Davenport for help on this issue.
Let's hit the links.
-John Morton
News
Craft 3.1.25 released
Craft 3.1.25 introduces a new ascii
Twig filter and an updated jQuery library. Craft 3.1.24 brought Twig up to 2.8.1.
Speaking of Twig, a line in the Craft 3.1.23 changelog stood out: "Locked Twig down to ~2.7.2, to avoid a bug in 2.8.0." This prevented a breaking change in Twig from breaking Craft. Brandon commented on the lock-down strategy via Tweet.
Three Things Coming in Craft 3.2
CraftQuest has posted a free video on what you can expect from Craft 3.2. It's nice to see these new features in action. That starts around 2 minutes into the video.
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
A ParcelJS + CraftCMS starter project
This is a ParcelJS + CraftCMS starter project. Want to know more about Parcel? Here's the homepage for this fast, zero-configuration web application bundler.
(The more I read about Parcel, the more it seems like I need to try it. )
Git Commit Messages Guide
This is a guide about the importance of commit messages and how to write them well.
Perfecting your technique
Craft CMS + Storybook JS Starter
Storybook is an open source tool for developing UI components in an isolated Twig development environment. It makes building stunning UIs organized and efficient.
This starter sets up everything for you to be productive in Storybook and Craft. It makes it easy to produce a living style guide for your site or app. Also, check out the Storybook UI Starter Page.
Matt Stein on the Commerce Minded podcast
Matt Stein talks about his motivation to create the Snipcart plugin when there were already two great e-commerce plugin options on the market currently, Commerce Pro and Commerce Lite, and gives us insight into where Snipcart sits between the two, and who should be using it.
Craft CMS Freeform Event Module - Code Review
Jalen Davenport recorded a code review he did for another developer. He shared the recording here.
How to live-reload webpack-dev-server when saving external files
Sten Van den Bergh discusses "writing a small webpack plugin" for live-reloading and how this can work with Craft.
When I'm developing a site with Craft CMS, I watch my config folder, modules & templates folder.
How To Make Craft CMS 3 Highly Available
Matt Gray has had many Craft-related posts in the newsletter already. This is an older post on making Craft “highly available,” i.e. separating out services like your database, using Redis, and more.
Sponsor

Get Express Forms for as low as $19!
Introducing Express Forms, the intuitive and lightweight form builder that gets the job done but doesn’t get in your way. It’s a complete solution with unlimited email notifications, field types and validation, spam protection, managing and exporting submission data, popular API integrations, flexible templating and more! It was developed with a "developer first" mentality, so it’s also highly extendable. Use coupon code XFORMS20 (until May 10, 2019) and SAVE $20 on any purchase of Express Forms!
Plugged In
Custom Open Graph Images for repositories
Github repos, where devs commonly host the code bases for Craft plugins, now support Open Graph images. Adding an Open Graph image to a repo will provide a plugin (or any Git repo) with more visual power when shared on social media.
Smith
Smith extends the native behavior of matrix fields, by adding Copy, Paste and Clone functionality to each block.
Craft Log To File
The Log To File helper, by Ben Croker, provides a simple way for logging messages to a specific file. It is intended to be used as a helper class for modules and plugins in Craft CMS.
Sprout Redirects
The Sprout Redirects plugin includes a free 404 monitoring package that is upgradable to manage redirects for broken URLs, manage brand URLs and more.
Google Static Maps
The Google Static Maps plugin provides a TWIG variable, googleStaticMaps
that takes URL parameters to pass into the Google Maps API.
Faceted Navigation
This plugin provides the functionality necessary to implement faceted-navigation on a site built with Craft CMS 3.
Slug Alert
The Slug Alert plugin allows devs to warn clients with a customizable message before changing slugs.
Events
A full-featured event management and ticketing plugin for Craft Commerce. Sell tickets to events, create tickets, manage attendees and more.
Environment protection
Protects your different environments with an access password and IP whitelist.
Fingerprint Assets
Add fingerprints to your assets on an update to improve your caching and page load speed. For example, dog.jpg
becomes dog.f1553871350.jpg
after cropping the image, helping break the cache on a CDN.
SEO Fields
Fields for your meta & OG data, sitemaps & robots.txt. Fast to set up, easy to customize.
SEOMate
SEOMate provides the tools you need to craft all your meta tags, sitemaps and JSON-LD microdata - in one highly configurable, open package. Unlike other SEO plugins for Craft, there are no Control Panel settings or custom fieldtypes.
MatrixMate
Tidy up your Matrix by sorting block types into groups and block type fields into tabs. Doesn’t touch your content, making it easy to uninstall.
Annotated Notes
Annotated Notes is a variant of the Table fieldtype, where the table has two columns, a text field, and a non-editable text field with content generated by Twig.
Sprout Sitemaps
Sprout Sitemaps gives you fine-grained control over your XML Sitemaps for standalone, multi-lingual, and multi-regional sites. Sitemaps are managed directly within Craft – no template updates required.
Schedule for CraftCMS 3
Manage your CraftCMS application schedules in the control panel. Run a command, trigger an event, push a queue task, or access a URL at a specified time. You can flexibly customize the trigger time and even design your schedule type. The developer mentioned in Discord that this is not ready for production. It looks very useful. Keep an eye on this one.
Admin Bar
Admin Bar is a client-friendly plugin that helps a content editor quickly navigate between the front-end of your website to Craft CMS's Control Panel.
The Craft Advantage
Why We're Craft CMS Developers
Matt Ellis from Honcho Agency shares why the agency relies on Craft and if "you're regularly up against clients wanting to use Wordpress — this blog post should give you some ammo to fight back with".
Yii, Twig, PHP & More
Converting email addresses into links using Twig macro
Craft Snippets shares another helpful macro for your Twig templates.
How to us the Stringy PHP library preloaded in Craft
Craft CMS 3 tip on string manipulation in Twig.
Thanks, Andrew.
Overheard
Q: What is your Go-to CMS Community & Support
See this Twitter thread for a variety of answers to a question about CMS choice and the community that comes with it.
It’s not Craft, but it’s interesting.
devMode.fm // @pika/web brings 2014 simplicity to 2019 JavaScript
devMode talks to Fred K. Schott from the Pika Project, a project which looks to a world that doesn't need a complicated webpack to build a site.
Semi-related: devMode now has a calendar of upcoming episodes.
Web Reliability: Solspace Zen and the Art of Aircraft Maintenance by Mitchell Kimbrough
Mitchell Kimbrough from Solspace: "The Web Reliability Framework is a way of thinking about the problem of building and maintaining a reliable website."
Gulp PurgeCSS adds “rejected” functionality
Michael Rog has added a useful feature to Gulp PurgeCSS. You’re not the only one to see beautifully built CSS go wrong after PurgeCSS strips out something useful due to dynamically generated elements and class names.
[The new functionality is] extremely useful for the developer to sanity-check the list of rejected selectors, both to aid in identifying obsolete CSS that could be pruned from source files and to discover any dynamically generated selector patterns that need to be whitelisted.
Mailto UI
A simple way to enhance your mailto
links with a convenient user interface. It gives your users the flexibility to compose a new message using a browser-based email client or their default local email app.