Liquid Weekly #31 - Using Shopify CLI for continuous integration

Did you know that Shopify now has built in support for CI workflows? 
Shopify Development news and articles
 
Liquid Weekly

Karl Says


I'm currently enjoying "second winter" here in central Ohio. An early Merry Christmas to you all!

News & Articles

Shopify Store 2.0 Storefront Filters Explained
Filters on the Collection and Search page of the Shopify theme are very important. In this video I will explain how they work in simple terms.
Recording & Links for Post-purchase strategies to boost your AOV
A post-purchase offer is just as it sounds. After your customer completes the purchase online, you can show them additional products. Think of it like candy at the checkout counter. They may have completed their purchase, but since they are here, why not add something else to their order before they leave.
Dawn product page link/popup for only certain products
Dawn has a product information section block called "Pop-up" that we could extend to provide the same base functionality. It already lets you provide text that is used as a link which triggers a pop-up and the contents of that pop-up can come from a page record or metafield. The main thing missing is the ability to conditionally show this for only certain products.
Turbo Rails Tutorial
Learn how to leverage the power of the turbo-rails library now included by default in Rails 7 to write reactive single-page applications without having to write a single line of custom JavaScript.
Spent weeks on auth, again? Building yet another full text search?

WELL DON'T. Let Gadget's instant APIs and built-in state machines do the busywork, so that you can focus your time on writing the code that matters. Build and scale apps in a fraction of the time it takes today by skipping the boilerplate.

Try it for free, today

Code & Tools

The Code Review Pyramid
When it comes to code reviews, it’s a common phenomenon that there is much focus and long-winded discussions around mundane aspects like code formatting and style, whereas important aspects (does the code change do what it is supposed to do, is it performant, is it backwards-compatible for existing clients, and many others) tend to get less attention.
Build a referral program for your client and earn $100
Conjured Referrals is an app built by devs, for devs. That's why we want to reward devs for recommending us to their clients. Install the app free on any development store, and check out the top 3 ways using Conjured Referrals will make you look good in the eyes of your clients.
Customizable Announcement Bar - Part 1
Today we will be coding a customizable announcement bar for our Shopify store. Whether you want to create this for yourself or for a client, learning how to navigate Shopify's backend is a valuable skill to have!
Using Shopify CLI for continuous integration
In this tutorial, you'll learn how to set up your CI/CD pipeline to push your scripts and app extensions programmatically. To do so, you'll gather the information necessary to run the CLI commands programmatically, and then add a step to your CI/CD pipeline that installs the Shopify CLI and pushes your app extension or script to Shopify.
Cut your Rails boot times on Heroku in half with a single command
The bootsnap gem has been a default Rails gem since version 5.2 which was released back in 2018 and has been improving boot times in most environments ever since. But what about on Heroku?

Changelog

API

Changes to metafield definition error codes
As of GraphQL Admin API version 2022-04, an error returns when a metafield definition is created with invalid characters in either the key or the namespace fields. The key and namespace fields can contain only alphanumeric characters, hyphens, and underscores.

Themes

New theme editor setting types: product list and collection list
Two new input setting types have been added to the theme editor: product_list and collection_list. They allow merchants to quickly create curated, ordered and paginatable lists of products and collections. Learn more about product_list and collection_list on shopify.dev.

Tools

CI/CD support for scripts, extensions
Developers can now programmatically push their scripts and extensions to Shopify from their CI/CD pipelines with CLI authentication tokens. For more information on how to set up CI/CD for your scripts and extensions, visit our developer documentation.

Events

March 29th - More organic traffic without fighting for rankings
Let's bring more qualified buyers to your Shopify store using the free search enhancement systems Google, Bing, Pinterest, and other search engines. After this presentation, you’ll understand: - What search enhancements are - How your store can qualify for them - Warning signs that something could be wrong (and what to ignore) - How to solve common search enhancement problems
April 13 - Introduction to Working With Shopify Themes
Following this practical workshop you’ll be able to set up a local development environment and edit theme code to customize an example storefront. We’ll also explore Shopify’s Liquid templating language and learn how it can be leveraged to display dynamic store content.

Jobs

Shopify - Lead/Staff Production Engineer (Remote, Americas and Europe)
If the idea of working on one of the most impactful component of infrastructure that has a reach to every single application (hundreds of them) across our infrastructure, serving millions of requests per minute excites you, join us!
Content Marketing Manager, FT, Remote
The ideal candidate loves writing and topic research but also understands how to structure the article from the SEO point of view. We expect someone who will be autonomous and data-driven. Knowledge of the Shopify environment is a big plus, but general e-commerce understanding is fine, too.
Technical Lead, FT, Remote
Invisible Themes is looking for a full-time Technical Lead with deep Javascript knowledge to join our growing team! You will be building features, writing exemplary code for the development team to follow and defining the development roadmap.

Tip of the Week

Dynamic Variable Assignment

Hopefully you know that you can assign and use variables in liquid (if not, we need to talk..)

But what about situations where you need to dynamically create the variable name?

For example, what if you have five metafields to represent carousel slide data and want to loop through them?

It's possible - with the clever use of the append tag


Example

﹛% for i in (1..5) %﹜

﹛% assign objectName = ‘image_carousel_slide_’ | append:i %﹜

﹛% if collection.metafields.my_fields[objectName] != blank %﹜

image carousel slide has content

﹛% endif %﹜

﹛% endfor %﹜


Thanks to Mathews Joseph for the excellent tip!

 

Older messages

Liquid Weekly #30 - Achieve Maximum Performance with Laziness

Tuesday, March 22, 2022

Achieve Maximum Performance with Laziness Shopify Development news and articles Issue #30 - 3/22/2022 Read Online Liquid Weekly Karl Says Sometimes being lazy is good - at least for improving theme

Liquid Weekly #29 - Don't Lose Your App Store Listing, Ditch EASDK!

Tuesday, March 15, 2022

Don't Lose your Apps Store Listing - Switch From EASDK To App Bridge! Shopify Development news and articles Issue #29 - 3/15/2022 Read Online Liquid Weekly Karl Says Lots of great content this week

Liquid Weekly #28 - Dawn Theme Transparent Header

Tuesday, March 8, 2022

Learn How to Add a Transparent Header to Dawn Shopify Development news and articles Issue #28 - 3/8/2022 Read Online Liquid Weekly Karl Says Got any plans for Spring Break 2022? What's one new

Liquid Weekly #27 - How Shopify Writes React Native Apps

Tuesday, March 1, 2022

Learn how Shopify Writes React Native Apps Shopify Development news and articles Issue #27 - 3/1/2022 Read Online Liquid Weekly Karl Says Spring is right around the corner. How can you help your

Liquid Weekly #26 - Accessibility on Shopify

Tuesday, February 22, 2022

How to Get Started with Accessibility on Shopify Shopify Development news and articles Issue #26 - 2/22/2022 Read Online Liquid Weekly Karl Says Each winter after Christmas I make it a mental goal to

You Might Also Like

Overcoming Perfectionism: How to Break Free from the Enemy of Progress

Wednesday, November 27, 2024

Discover how perfectionism hinders progress and learn practical strategies to overcome the fear of imperfection, boost productivity, and achieve your goals without getting stuck in the pursuit of

🖤 Laravel Black Friday Deals!

Wednesday, November 27, 2024

The biggest deals of the year Laravel Black Friday Deals View in browser Laravel News Editor Note: We are sending this outside the regular Sunday newsletter schedule because some of these specials end

BetterDev #271 - Memory: The Forgotten History and Why did Windows 95 setup use three operating systems?

Wednesday, November 27, 2024

Better Dev #271 Nov 26, 2024 Hi all, Welcome to thanksgiving issue of BetterDev. Hope everyone had a safe and warm thanksgiving. It's getting so cold these days. If you are in warzone such as

Mapped | Unemployment Rate By U.S. State in 2024 💼

Tuesday, November 26, 2024

As of October 2024, DC and Nevada tied for the highest unemployment rate in the US at 5.7%. Which states saw the lowest rates? View Online | Subscribe | Download Our App FINAL CHANCE - ENDS TONIGHT!

🔊 7 DIY Tips for Soundproofing a Room — Why I Switched to Xfce for Linux Mint

Tuesday, November 26, 2024

Also: Home Theater Sound Terms Explained, and More! How-To Geek Logo November 26, 2024 Did You Know The shiny layer of a CD doesn't contain the data; the plastic polycarbonate layer does. The shiny

JSK Daily for Nov 26, 2024

Tuesday, November 26, 2024

JSK Daily for Nov 26, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted

NumPy, Loop Targets, Vector Animation, and More

Tuesday, November 26, 2024

NumPy Practical Examples: Useful Techniques #657 – NOVEMBER 26, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo NumPy Practical Examples: Useful Techniques In this tutorial, you'll learn how to

Your Games Quarterly newsletter has arrived

Tuesday, November 26, 2024

What's new for games in Google Play and Android Email not displaying correctly? View it online November 2024 The First Developer Preview of Android 16 The First Developer Preview of Android 16

Daily Coding Problem: Problem #1620 [Hard]

Tuesday, November 26, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Dropbox. Sudoku is a puzzle where you're given a partially-filled 9 by 9 grid with

Final Hours: Help Save "The Art of Data" From Falling Short 🙏

Tuesday, November 26, 2024

Will Visual Capitalist end up revealing the secrets behind data storytelling? There are 12 hours left to change the fate of "The Art of Data". View Online | Subscribe | Download Our App Help