Builder hub blog#18146
Draft
mnelsonBT wants to merge 6 commits into
Draft
Conversation
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
3 tasks
Hub/index routes (`/[locale]/developers`, `/[locale]/developers/blog`, `/[locale]/developers/tutorials`, `/[locale]/videos`) read frontmatter from `public/content/` at render time and may be opted into ISR via revalidating data getters (events, video thumbnails, etc.). The global `outputFileTracingExcludes` rule for `public/content` then leaves those reads empty inside the Netlify serverless function on ISR re-render -- listings silently degrade to "no posts" / empty grids until the next deploy. Add `outputFileTracingIncludes` to re-pull the MD subset each hub reads (English + all locale translations). Per-route includes win over the global exclude. Drafted to test the function-bundle delta and ISR behavior on a Netlify preview before merging.
fix(netlify): include hub-route MD in the function bundle
…into builder-hub-blog # Conflicts: # app/[locale]/[...slug]/page-jsonld.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Launches a new blog section under /developers/blog/ for the Builder Growth team (and others) to publish long-form technical content.
Description
Blog infrastructure
BlogLayout— new layout template for individual blog posts, with table of contents, breadcrumbs, reading time, and file contributors. Mirrors the establishedTutorialLayoutpatterns.BlogPostMetadata— metadata strip component showing author, team, tags, published date, and reading time./developers/blog/listing page — server-rendered listing sorted by publish date (newest first), with per-post tags, team attribution, and reading time.getBlogPostsDatautility — uses the sharedgetContentListDatahelper to load posts fromblogPosts.jsonslug registry. Adding a new post only requires creating a content directory and appending its slug to the JSON array.BlogFrontmatterinterface — extendsSharedFrontmatterwithauthor,published,team,tags,sourceUrl,image,breadcrumb, andhideEditButton.Blog posts
JSON-LD structured data
KNOWN_PERSONS)page-jsonld.tsx) —CollectionPageschema withItemListof all posts, full breadcrumb trail, and contributor list.page-jsonld.tsxin[...slug]) — enhanced to emitBlogPostingtype for blog slugs, with author resolution viaKNOWN_PERSONSalias map.Developer hub integration
/developers/page linking to latest blog posts.Notes
sourceUrlwithoutsourceThe
TutorialFrontmatterhas bothsource(display label) andsourceUrl(link). We added onlysourceUrltoBlogFrontmatterbecause the display label can be derived from the URL if we ever build the component, and we are not building it now.blogPosts.jsonslug registryNew posts are added by creating a
public/content/developers/blog/<slug>/index.mddirectory and appending the slug tosrc/data/blogPosts.json. This mirrors theinternalTutorials.jsonpattern and keeps the content data layer simplePreview link
https://deploy-preview-18146.ethereum.it/developers/blog