[{"data":1,"prerenderedAt":216},["ShallowReactive",2],{"tag-seo":3},[4,87],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"tags":11,"body":15,"_type":80,"_id":81,"_source":82,"_file":83,"_stem":84,"_extension":85,"sitemap":86},"/project/cv","project",false,"","CV","A website to function as a CV, created for fun to explore the Astro framework. Build on top of another open-source CV project, improved for my use case.",[12,13,14],"Astro","SEO","Vercel",{"type":16,"children":17,"toc":76},"root",[18,26,31,35,42],{"type":19,"tag":20,"props":21,"children":23},"element","h1",{"id":22},"cv",[24],{"type":25,"value":9},"text",{"type":19,"tag":27,"props":28,"children":29},"p",{},[30],{"type":25,"value":10},{"type":19,"tag":32,"props":33,"children":34},"tags",{},[],{"type":19,"tag":36,"props":37,"children":39},"h2",{"id":38},"technical-details",[40],{"type":25,"value":41},"Technical details",{"type":19,"tag":43,"props":44,"children":45},"ul",{},[46,58,66],{"type":19,"tag":47,"props":48,"children":49},"li",{},[50,56],{"type":19,"tag":51,"props":52,"children":53},"strong",{},[54],{"type":25,"value":55},"Astro as the web framework:",{"type":25,"value":57}," Using content collections to define the content",{"type":19,"tag":47,"props":59,"children":60},{},[61],{"type":19,"tag":51,"props":62,"children":63},{},[64],{"type":25,"value":65},"Tailwind for styling",{"type":19,"tag":47,"props":67,"children":68},{},[69,74],{"type":19,"tag":51,"props":70,"children":71},{},[72],{"type":25,"value":73},"Vercel for deployment:",{"type":25,"value":75}," Why make it hard when it can be so easy?",{"title":8,"searchDepth":77,"depth":77,"links":78},2,[79],{"id":38,"depth":77,"text":41},"markdown","content:project:cv.md","content","project/cv.md","project/cv","md",{"loc":5},{"_path":88,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":89,"description":8,"card_image":90,"tags":91,"featured":100,"body":101,"_type":80,"_id":212,"_source":82,"_file":213,"_stem":214,"_extension":85,"sitemap":215},"/project/zenmuseum","Zenmuseum","https://images.zenmuseum.com/684/picture.jpg",[92,93,94,95,13,96,97,98,14,99],"Nextjs","SSG/SSR","Tinacms","Sendgrid","Cloudflare","AWS","Google Search Console","TS",true,{"type":16,"children":102,"toc":209},[103,108,111,116,126,132],{"type":19,"tag":20,"props":104,"children":106},{"id":105},"zenmuseum",[107],{"type":25,"value":89},{"type":19,"tag":32,"props":109,"children":110},{},[],{"type":19,"tag":27,"props":112,"children":113},{},[114],{"type":25,"value":115},"A custom-made website for showcasing my art. Made for performance and to optimally showcase, and sell, my art.",{"type":19,"tag":117,"props":118,"children":120},"link-button",{"href":119},"https://www.zenmuseum.com",[121],{"type":19,"tag":27,"props":122,"children":123},{},[124],{"type":25,"value":125},"You can find it here",{"type":19,"tag":36,"props":127,"children":129},{"id":128},"technical-aspects",[130],{"type":25,"value":131},"Technical aspects",{"type":19,"tag":43,"props":133,"children":134},{},[135,145,155,163,173,181,189,199],{"type":19,"tag":47,"props":136,"children":137},{},[138,143],{"type":19,"tag":51,"props":139,"children":140},{},[141],{"type":25,"value":142},"Created with nextjs:",{"type":25,"value":144}," I've mostly used Vue or Nuxt in frontend projects of my job, so I like using different frameworks in my personal projects to be able to better compare and understand them. For instance, the next/image module is much more mature and easy to use than the nuxt equivalent",{"type":19,"tag":47,"props":146,"children":147},{},[148,153],{"type":19,"tag":51,"props":149,"children":150},{},[151],{"type":25,"value":152},"Using TinaCMS to manage content:",{"type":25,"value":154}," Tinacms is a headless CMS that can be used entirely locally. Only recently have I decided to use the cloud options to take advantage of a server-side rendered search page to increase performance.",{"type":19,"tag":47,"props":156,"children":157},{},[158],{"type":19,"tag":51,"props":159,"children":160},{},[161],{"type":25,"value":162},"Using Sendgrid for sending emails",{"type":19,"tag":47,"props":164,"children":165},{},[166,171],{"type":19,"tag":51,"props":167,"children":168},{},[169],{"type":25,"value":170},"SEO/performance focus:",{"type":25,"value":172}," I want people to see my art. Of course, I also want to show my art in the best way possible, but to be able to get people to visit the site I put a lot of effort into SEO and performance.",{"type":19,"tag":47,"props":174,"children":175},{},[176],{"type":19,"tag":51,"props":177,"children":178},{},[179],{"type":25,"value":180},"Cloudflare for caching images",{"type":19,"tag":47,"props":182,"children":183},{},[184],{"type":19,"tag":51,"props":185,"children":186},{},[187],{"type":25,"value":188},"AWS S3 for image storage",{"type":19,"tag":47,"props":190,"children":191},{},[192,197],{"type":19,"tag":51,"props":193,"children":194},{},[195],{"type":25,"value":196},"Google Search Console:",{"type":25,"value":198}," Used for just that, keeping track of the Google search performance",{"type":19,"tag":47,"props":200,"children":201},{},[202,207],{"type":19,"tag":51,"props":203,"children":204},{},[205],{"type":25,"value":206},"Vercel for hosting:",{"type":25,"value":208}," Vercel is a quick and easy option to get something hosted for free.",{"title":8,"searchDepth":77,"depth":77,"links":210},[211],{"id":128,"depth":77,"text":131},"content:project:zenmuseum.md","project/zenmuseum.md","project/zenmuseum",{"loc":88},1737552097191]