[{"data":1,"prerenderedAt":86},["ShallowReactive",2],{"blog-nuxt-series-content":3},{"id":4,"title":5,"body":6,"date":64,"description":65,"extension":66,"image":67,"meta":68,"navigation":69,"next":70,"path":71,"prev":72,"seo":73,"series":74,"stem":75,"tags":76,"__hash__":80,"prevPost":81,"nextPost":83},"blog\u002Fblog\u002Fnuxt-series-content.md","Building a Nuxt CV, Part 2: Content",{"type":7,"value":8,"toc":57},"minimark",[9,19,24,32,36,47,51,54],[10,11,12,13,18],"p",{},"With the foundations laid in ",[14,15,17],"a",{"href":16},"\u002Fblog\u002Fnuxt-series-foundations","Part 1",", it's time to feed the site.\nContent splits cleanly into two kinds: the structured CV facts and the free-form blog.",[20,21,23],"h2",{"id":22},"typed-cv-data","Typed CV data",[10,25,26,27,31],{},"Experience, skills, and projects live as plain TypeScript objects in ",[28,29,30],"code",{},"app\u002Fdata\u002F",", each backed by an\ninterface. The payoff is that a typo in a field name is a build error, not a silent blank on the page.",[20,33,35],{"id":34},"markdown-for-the-blog","Markdown for the blog",[10,37,38,39,42,43,46],{},"The blog is different — it's prose, and prose belongs in Markdown. ",[28,40,41],{},"@nuxt\u002Fcontent"," turns each file in\n",[28,44,45],{},"content\u002Fblog\u002F"," into a queryable document with front-matter, so a post can declare its own title,\ntags, and — as of this series — a thumbnail image and previous\u002Fnext links.",[20,48,50],{"id":49},"keeping-it-dry","Keeping it DRY",[10,52,53],{},"Because every fact has exactly one home, the résumé feed, the rendered page, and the structured data\nall stay in sync automatically.",[10,55,56],{},"Next up: shipping it.",{"title":58,"searchDepth":59,"depth":59,"links":60},"",2,[61,62,63],{"id":22,"depth":59,"text":23},{"id":34,"depth":59,"text":35},{"id":49,"depth":59,"text":50},"2026-07-08","Modelling CV data as typed TypeScript objects and wiring the blog with @nuxt\u002Fcontent, so facts live in one place and render everywhere.","md","\u002Fimages\u002Fblog\u002Fnuxt-series-2.svg",{},true,"nuxt-series-deploy","\u002Fblog\u002Fnuxt-series-content","nuxt-series-foundations",{"title":5,"description":65},"Building a Nuxt CV","blog\u002Fnuxt-series-content",[77,78,79],"Nuxt","Content","Series","PBkWNkq1H0GjjzLvR9wcbhtCvXhePg6LTZlapQhMrsw",{"path":16,"title":82},"Building a Nuxt CV, Part 1: Foundations",{"path":84,"title":85},"\u002Fblog\u002Fnuxt-series-deploy","Building a Nuxt CV, Part 3: Deploy",1786402986432]