Introduction

Santa came early to the Craft community
December is a busy time with wrapping up year-end projects, holiday parties, and just getting ready for travel, family time, and more. With all that on everyone's plate, the volume of great links to share with you this issue surprised me. You all have been busy!
A wealth of the links this issue comes from Andrew at NYStudio107. That man has been a publishing machine this month. Nice work and thank you!
He's not the only one contributing to the Craft community. You'll find a great tips from many others. I will stop naming names here in the intro because I'll leave someone out unintentionally. All the great tips and help you give to other in Slack make the Craft CMS community a great place to be.
Pour yourself an eggnog and let's hit the links.
-John Morton
Top Stories
Don't upgrade to PHP 7.1 yet if you use Craft
Here's the piece of coal in your stocking for this issue. New is tempting, but hold off on PHP 7.1 for now.
News
Featured Sponsor

Pic Puller: The Instagram plugin for Craft CMS
Pic Puller brings your Instagram media into Craft CMS. Full documentation and code samples get you up and running quickly.
Tools, tips, and fundamentals
PHP config in a macro (aka Another place to store configs)
This isn't a link, but just a comment in Slack from Marion Newlevant that I wanted to include.
I’ve taken to moving my macro configuration into a php config file, and then
{% set config = craft.config.get('configValue', 'configFile') %}
Makes for a more reusable macro, and more commentable config.the twig macro loads the php config file instead of
{% set config = {…super complicated thing…} %}
You put the super complicated thing in php where it is easier to express
craft.config.get('configValue', 'configFile')
doesn’t needconfigFile
to be an actual pluginin
/craft/config/configFile.php
- and it looks like all the other ones - multiple environments, etc.
Here's an example link from Slack: https://slack-files.com/T02M5G762-F3D1ZEHE0-39ea0fa207 -- Unfortunately, these links don't have a long shelf life. Get it while you can.
Craft macro to centralize the markup and config for responsive images
Brett Burwell, thanks for sharing.
ServerPilot, Digital Ocean and Craft CMS
Sean shares his experiences on setting up a server at Digital Ocean using Forge for a Craft site.
Perfecting your technique
Build Your Own Project Estimates in Craft CMS
Craft is happy being bent to your will. This post discusses and share code on making an estimate builder out of Craft. It just might spark creative ideas of your own on what you can build next with Craft. If you come up with something interesting, write a post and share it on Craft Link List.
Installing mozjpeg on Ubuntu 16.04 (Forge)
And more: Andrew on mozjpeg for even better image compression.
Craft Scripts
Shell scripts to manage permissions, asset syncing, and database syncing between Craft CMS environments.
Andrew continues his domination of this issue. Rock on.
Keeping Up w/ Craft Episode #13
Michael and some guy named Andrew talk about AMP, Freeform, Melbourne/Toronto meetups, and 'Straya.
Plugged In
Craft-Froala-WYSIWYG ownership change
Froala has taken over the repository for the Craft integration of the Froala editor. It still requires a license to be purchased, but having Froala own the Craft plugin for integration seems like a good thing for continued support.
Link Vault for Craft CMS
Link Vault allows you to protect your local and external Assets download links, track all downloads and track leech attempts.
Postmaster for Craft CMS
"Postmaster for Craft CMS is a plugin that makes communicating with users and other applications incredibly simple."
Snipcart Craft Plugin
A Craft plugin for browsing Snipcart API information from the Craft control panel.
The Craft Advantage
Beauty Meets Utility
Erik Reagan discusses the elegance that is Craft CMS and how it can elicit a "Wow! from content managers."
Case Study: Modjewel, Craft CMS Custom Snipcart Integration
Fred Carlsen is interviewed about Craft and Snipcart. (He mentions a good link as well, Integrating Snipcart with Craft CMS: A Child's Play!
It’s not Craft, but it’s interesting.
How to password protect your Serverpilot app
For anyone looking to password protect their staging sites.
Web Form to Google Sheet
A simple example of sending data from an ordinary web form straight to a Google Spreadsheet without a server.
IPS Community Suite 4
This service was shared in Slack a couple weeks ago regarding setting up a commenting system for a Craft site.