As developers, we can learn a lot by reading through Dawn's Codebase 
Shopify Development news and articles
 
Liquid Weekly

Karl Says


Another Slice of life! It's an embarrassment of riches! Be sure to check out Kirill's full slice for links to some awesome Shopify projects.

Kirill Platonov's Slice of Life

I like waking up early at 7 AM. It's the calmest and the most productive time for me. So I usually spend it working on some complex tasks that require full concentration. At 10 AM I make a break and have breakfast. And after that, I get back to work.

I develop Shopify apps. My work consists of part-time consulting and the development of my own apps. Usually, I split these activities between the beginning and the end of the month. At the moment I have two apps: Bulk Price Editor and Product Color Swatch. To develop apps I use Ruby on Rails with Hotwire, and Polaris ViewComponents (an open-source library I'm working on as well). I prefer this old good server-rendered stack other than the hyped SPA approach.

I use Things as my To-Do list app. I plan all the tasks for the day there. For high-level project planning and issues tracking I use Linear. My main code editor is VSCode. From time to time I also use RubyMine to debug some tricky bugs. As a terminal I use iTerm2. And as my daily git client, I use Git Tower. When I need to quickly check the documentation for some library or language the Kapeli Dash app is indispensable.

News & Articles

5 things I have learned from Shopify's new theme Dawn
As developers, we can learn a lot by reading the code base of this theme, as it was written to combine all the best practices for theme development in 2021, with a particular attention to accessibility, performance and on lean and maintainable code. In this article, I'll point out 5 things I have learned from reading the Dawn source code.
How to set up custom and personalized products on Shopify
A free method to create personalizable products in Shopify. In this video, we're covering how to set up custom products on Shopify, by adding new custom input fields and product options on the product page. This video might be especially interesting to anyone who is into print on demand or drop shipping.
The New Metafields (2021) - Unique Variant Descriptions
Learn how to use new metafield features to create unique descriptions for each variant that show on variant selection.
Massive community.shopify.com update
Last week Shopify released the first in a series of updates to their community platform. It includes a refreshed look and feel, the introduction of threaded private messaging, new filter and sort options, enhancements to the text editor, improved formatting, an implementation of floating and accepted solutions.
11 Mental Tricks to Stop Overthinking Everything
Overthinking causes us to spend too much time thinking, getting stuck in a loop of inaction, and turns positive reflection into debilitating worry. Not only does it not move us forward, it moves us backward and downward.

Code & Tools

How to get a Product's Metafields
Read along as a developer wrestles with retrieving metafields along with the product info using the REST API. In the end Corey reaches for GraphQL. Is there another way to do it? Was his GraphQL solution optimal? Check it out and contribute your thoughts to the conversation.
Quick browser Developer Tools tip: define and test interaction states in CSS using state simulation
Accessibility is a hot (and unfortunately, litigious) topic in ecommerce. See how to use state simulation to check the hover, active, visited and focused state of a link without interacting with it.
Ruby Next: Make all Rubies Quack Alike
Meet Ruby Next, the first transpiler for Ruby that allows you to use the latest language features, including the experimental ones, today—without the stress of a project-wide version upgrade.
Simple Ajax Drawer Cart
I recently added a drawer cart to a store who's theme did not contain an implementation. I found this code useful in getting the project off the ground and building out my own implementation.

Changelog

Nothing new this week.

Jobs

Front-End, Remote, PT Contract
Aeolidia, an ecommerce design/dev agency, is looking for a freelance front end web developer. This is a part time contract position for retainer work and smaller tasks on Shopify websites, not currently for full website creation projects.
Front-End, Remote
Electric Eye is looking for a full-time Front-end Shopify Developer. Proficiency in the Shopify ecosystem is required. Typical tasks include Shopify theme development, general site maintenance, custom feature creation, troubleshooting, and QA; all working alongside the lead developer and project managers.
Senior Front-End, Remote
Progress Labs is looking for someone to work closely with the team and help our clients launch highly functional, often complex Shopify stores. Javascript framework experience is desired - bonus for Vue.js or React

Tip of the Week

Convert a String to an Integer

Sometimes when working in Liquid you need a variable to be an integer, and not a string.

This can be troublesome when using metafields, for example, which even though you specify the type as 'integer' might come through as a string in your liquid template.

Luckily this is an easy problem to overcome with use of the 'plus' filter in liquid. To convert a string to an integer, simply add 0 to the value and the filter will return the result as an integer!

assign items_per_page = settings.collection_items_per_page | plus: 0