nuxt: Blog overview migration#5163
Conversation
Bring back the HubSpot email signup banner after the featured post on the blog listing page. Restructure the template to split featured post, banner, and regular posts into separate sections so all 18 grid posts render correctly. Replace NuxtImg with plain img tags for blog thumbnails — the Netlify image provider generates /.netlify/images URLs that 11ty cannot serve in dev, while plain src paths are correctly proxied to the 11ty dev server.
✅ Deploy Preview for flowforge-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for flowforge-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
n-lark
left a comment
There was a problem hiding this comment.
Looks good, a couple things to confirm below. The broken build is partly the tag-template deletion I flagged below, but it's also catching two separate bugs in the new blog page, left comments for both.
There was a problem hiding this comment.
Deleting these tag templates removes /blog/how-to/, /blog/dashboard/, etc. In prod those URLs now render an empty "Blog 1 of 1" page with no posts. They still look fine locally only because 11ty is serving stale _site output.
We also still link to a few of these internally, like the "See All PLC Articles" CTA on the PLC landing page → /blog/plc/, plus the dashboard platform/ebook pages → /blog/dashboard/, so those now dead-end on the empty page.
Is dropping them intentional? If so we'll likely want redirects to /blog/.
| @@ -0,0 +1,141 @@ | |||
| <script setup lang="ts"> | |||
There was a problem hiding this comment.
The old blog template had an search box right under the title so blog search goes away with this change, same for tabs. Just confirming that's intentional?
| date: p._date, | ||
| url: String(p.url), | ||
| description: String(p.description || ''), | ||
| image: p.image ? String(p.image) : null, |
There was a problem hiding this comment.
So the image value is passed through as-is here, but ~26 posts have a relative path like blog/2024/01/images/…png with no leading slash.
On a paginated URL like /blog/12/ those resolve to /blog/12/blog/2024/…png and break, that's the bulk of the CI failures. Probably want to normalize to an absolute path here so we don't have to fix every post.
| class="flex md:flex-initial w-40 justify-start pl-2 ff-nav-blog-p" | ||
| :style="currentPage <= 1 ? 'opacity: 0; pointer-events: none;' : ''" | ||
| > | ||
| <NuxtLink :href="prevHref">Previous</NuxtLink> |
There was a problem hiding this comment.
The prev/next links are always rendered and just hidden with opacity:0, so the out-of-range hrefs (/blog/0 on page 1, /blog/21 on the last page) stay in the HTML and fail the link checker.
Could we v-if these so the link isn't emitted at all when there's no prev/next page? That clears the build error and also avoids the hidden-but-focusable link.

Description
Picking up another about 20 pages to migrate.
Blog posts weren't move (yet) and that makes the blog migration a bit interesting soon, but for now this is a small change we can likely merge quickly.
Related Issue(s)
Checklist