Introduction
Chock full of tips.
Welcome to another issue of Craft Link List. Once again this issue overflows with content created by the Craft community. This is a great place to hang out.
If you made it to Peers Conference the two decks in the top stories section will be familiar to you already. They are Brandon's presentations on Craft 3 and plug-in development for Craft 3. Good stuff there. You'll also find all the links, plugins, bits and bobs that fill a regular CLL issue.
There are also three sponsors for this issue!
- Mijingo has a new course on Git. I'm a customer myself. It's good course.
- DesignKarma is ready to help with your next Craft build. Check out their blog and you'll find lots of Craft know-how.
- Solspace wants to let you know about Freeform, the powerful and flexible form build. You use forms, right? There doesn't seem to be form need this can't cover.
Thanks for sponsoring, sponsors!
Enough talk. Let's hit the links.
-John Morton
Top Stories
Intro to Craft 3
A look at the new features coming in Craft CMS 3 from Brandon's presentation at Peers 2017.
Craft 3 Plugin Development
A look at some of the under-the-hood changes coming in Craft CMS 3, also from Peers 2017.
News
Craft 3 - Beta 13
Craft 3 beta is getting swole. At the time I write this though, the list of unreleased fixes in the next beta are even swoler.
Featured Sponsor

Git Essentials: 40+ videos, 6 hours of learning, 4 courses
Have you been unsure about adding version control to your workflow? Do you need a refresher to keep up with your co-workers? Git Essentials is a bundle of video courses that helps you learn the fundamentals and best practices of using Git. But don’t take my word for it: it's the same material I teach engineers at NASA.
Tools, tips, and fundamentals
Localization & Craft Multi-Environment Setup
Ian Ebden from DesignKarma, a sponsor of this issue of CLL, presented these slides at Craft CMS Manchester recently and has shared them with the world.
How do you remove “index.php” from URLs?
Everyone has asked this question at some point in their dev life.
Disable CSRF verification for select plugin controllers in Craft 3
Craft's Cross-Site Request Forgery protection, aka CSRF, is an important security feature. How do you enable it in Craft 3?
Here's a bit from Slack on that topic:
[Enable it by] either by setting this on the Controller class:
public $enableCsrfValidation = true;
or if you only need to disable it for certain actions:
{
if (in_array($action->id, ['foo-bar'], true)) {
$this->enableCsrfValidation = false;
}
return parent::beforeAction($action);
}

Tip on searching Craft CMS documentation
Christian Seelbach had a great tip in Slack on how to find exactly what you're looking for in the Craft 3 docs. Use the Github page of the docs and use the "Search this repository" field.
Getting Started with Craft CMS by Udemy
This 2-hour Udemy course ($20) will get you up and running with Craft CMS where you will learn the fundamentals of Craft CMS.
Optimizing your already-existing Craft 3 composer.json file.
A note from Brandon in case you've been building sites with the Craft 3 beta. (This affects you if you have created your Craft 3 site before this commit. If you fall into this category you need to update your composer.json manually. ) :
Composer has a
optimize-autoloader
config setting that will get it to generate a class map each time dependencies change (gives you a 2X performance boost). https://getcomposer.org/doc/06-config.md#optimize-autoloaderI've added it to the
craftcms/craft
project's composer.json (https://github.com/craftcms/craft/commit/90acb326a8ef14e75660566ef7576836a6e0b2f9) so any Craft projects created with that going forward will get this automatically. Existing Craft 3 projects should add it manually.
Perfecting your technique
HTML Purifier Config File in Craft CMS
Did you know that Craft 2.6.2973 "Added the “HTML Purifier Config” setting to Rich Text fields."?
This post from the Craft StackExchange sheds some light on how to set that up.
Tips for Craft multilingual websites
Jérôme Coupé with a post from 2015 on the topic of localizing Craft sites.
Sponsor

Your front-end dev partner
DesignKarma is an experienced designer-developer with Craft chops. We deliver beautiful, fast, responsive pages. Need a hand with your next Craft project? Get in touch.

Solspace Freeform
Freeform is the most powerful form building plugin on the market for Craft. The intuitive live preview field layout editor gives you full control to create simple or complex multi-column and multi-page forms. It also includes flexible email notification options, powerful and flexible templating, and has options for several API integrations.
Plugged In
Pathtools
This plugin for Craft CMS brings convenient path & url manipulation functions & filters to your Twig templates.
Pushover for Craft
Send messages to Pushover from Craft.
Next question... what is Pushover? "Pushover makes it easy to get real-time notifications on your Android, iPhone, iPad, and Desktop (Pebble, Android Wear, and Apple Watch, too!)." Find out more here.
SSE (Server Sent Events) utilities for Craft
SSE is utility set for using Server Sent Events with Craft. Some examples of SSE events include:
- Checking if a user is online
- Pushing the latest notifications
- Showing a site-wide message from the site administrator saying the site will be going down for upgrades in x minutes
Versioneer
Matt Stein has a new plugin in case you want to "to see an entry’s entire version history from within the control panel".
Craft Huebee Fieldtype
This plugin brings the Huebee user-centric color picker to Craft CMS. That looks fancy.
Sprout Invisible Captcha Plugin
Invisible Captcha provides several user-friendly methods to protect your forms from vile spammers and evil robots.
The Craft Advantage
Is Craft Suitable for Large Public Body website?
This post is more than just a "yeah, of course." Worth a read, especially when you're trying to sell your clients on your next Craft site. Being professional is being informed.
Overheard
9 a day
The #CraftCMS Stack Exchange site is now averaging 9 questions/day. Just need one more to graduate out of beta.
It’s not Craft, but it’s interesting.
Postal
Postal is a complete and fully featured mail server for use by websites & web servers. Think Sendgrid, Mailgun or Postmark, but open source and ready for you to run on your own servers.
Oh My Zsh
Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes.
Oh My Fish: The Fishshell Framework.
Oh My Fish provides core infrastructure to allow you to install packages which extend or modify the look of your shell. It's fast, extensible and easy to use.
Static Starter 🏃
If you're thinking of checking out Webpack, this was suggested as a place to start your build.