> For the complete documentation index, see [llms.txt](https://flexi-library.gitbook.io/flexi-sections/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://flexi-library.gitbook.io/flexi-sections/sections/blog-articles/blog-grid.md).

# Blog Grid

The **Blog Grid** section displays articles from a selected Shopify blog in a responsive, paginated grid—built for blog listing pages and anywhere you want a full archive of posts. Pick a blog and the section automatically renders its articles as customizable cards in a grid you can set to 2–6 columns on desktop, 1–3 on tablet, and 1–3 on mobile, with built-in pagination to control how many articles appear per page. An optional header row displays the blog title and a custom description, with the choice to center or left-align the heading. Each **Article card** pulls in the featured image, title, date, and excerpt, with controls for image aspect ratio, hover effects, card backgrounds, and typography. Control section width (fixed, full, or theme-native containers for Dawn, Horizon, or custom themes), background colors or images with overlay, spacing, grid gap, and alignment—all without code, directly in the Shopify Theme Editor. It works with any Shopify 2.0 theme and is ideal for replacing default blog templates with a branded, editorial archive layout.

### Setup Instructions

{% stepper %}
{% step %}
**Install the App**

Visit the Shopify App Store and install Flexi Slider Sections. Start your free trial to access all features and sections.

<figure><img src="/files/3Kq8leWNeWGjYJIespWq" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Install Section**

Open the Flexi app and navigate to the sections library. Search for "Blog Grid" and click "Add to Theme" to install it instantly.

<figure><img src="/files/QW086DMW4oUKT6rRSfQH" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Add to Your Store**

Go to your Shopify admin → Online Store → Themes → Customize. Open your **blog** template (or any page where you want the grid), click "Add section", and select "Blog Grid" from the available sections.

<figure><img src="/files/EOD9uByNtAor5iRSKMBb" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Set Section Width**

In the section settings, choose your preferred layout:

* **Fixed**: Set a custom maximum width (320px - 1440px)
* **Full**: Spans the entire page width
* **Custom Theme**: Use your theme's page width class (e.g. `section` on Horizon)
* **Dawn Theme** / **Horizon Theme**: Match those theme container widths

<figure><img src="/files/Cnbyt8A1h6m9WIzfyK01" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Add Content**

In the section settings, select the **Blog** you want to display. Configure the optional header row to show the blog title and an optional description. Inside the **Blog grid layout** block, customize the **Article card** template—the featured image, title, date, and excerpt blocks apply to every article in the grid.
{% endstep %}

{% step %}
**Customize & Style**

Fine-tune the section with the built-in settings:

* Adjust background colors or add background images with overlay opacity
* Control section spacing and grid gap
* Set desktop, tablet, and mobile column counts
* Configure pagination (articles per page)
* Customize card image aspect ratios, hover effects, and typography
  {% endstep %}
  {% endstepper %}

{% hint style="info" %}

#### Why Use Flexi Sections?

**Designed to Feel Native**\
Flexi sections are built to inherit your theme’s structure and styles, so they blend in naturally instead of feeling bolted on. Spend less time overriding CSS and more time shipping polished layouts that feel intentional.

**Prebuilt, Not Prescriptive**\
Each section provides a production-ready foundation without locking you into rigid layouts. Configure content, spacing, and structure to match your client’s needs—without rebuilding the same patterns from scratch.

**Theme-First Customization**\
All styling and layout adjustments happen through the Shopify Theme Editor. Tweak typography, spacing, alignment, and behavior using familiar theme controls, just like native sections.

**Built for Performance & SEO**\
Flexi sections are optimized for real storefronts, not demos. Lightweight markup and thoughtful defaults help keep pages fast, stable, and search-friendly across devices.

**Works Across Any Shopify Theme**\
Flexi sections work with any Shopify 2.0 theme, including Dawn, Horizon, and custom builds. Test safely on duplicate themes and ship with confidence.

**Easy to Maintain Over Time**\
Once a section is in place, it’s easy to manage. Update content, swap images, or adjust layout directly in the Shopify admin—no fragile custom code or one-off fixes to maintain later.

**Built for Reuse Across Projects**\
Flexi is designed for builders shipping real work. Reuse the same section patterns across client projects to stay consistent, move faster, and avoid unnecessary technical debt.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://flexi-library.gitbook.io/flexi-sections/sections/blog-articles/blog-grid.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
