# Need advice about organizing data files (yml, json, xml) for simple pages generated

**URL:** <https://zola.discourse.group/t/need-advice-about-organizing-data-files-yml-json-xml-for-simple-pages-generated/2644>\
**Category:** Support\
**Created:** [July 4, 2025, 3:36am UTC](https://zola.discourse.group/t/need-advice-about-organizing-data-files-yml-json-xml-for-simple-pages-generated/2644 "2025-07-04T03:36:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![hoanguyenn2015](https://avatars.discourse-cdn.com/v4/letter/h/839c29/32.png) [@hoanguyenn2015](https://zola.discourse.group/u/hoanguyenn2015)\
**Post date:** [July 4, 2025, 3:36am UTC](https://zola.discourse.group/t/need-advice-about-organizing-data-files-yml-json-xml-for-simple-pages-generated/2644/1 "2025-07-04T03:36:14Z")

</div>

I’m building a static site with dozens of quizzes/exams (currently ~50 and growing) with hard coded HTML, and I’m finding an approach to manage them. I’ve used Jekyll before but only for simple blogs and not data related.

There are many quiz types. Here is the demo of 2 of them.  
[https://demobbe.netlify.app/](https://demobbe.netlify.app/)  
[https://demobbe1.netlify.app/](https://demobbe1.netlify.app/)

Each exam page has a passage (300-900 words) and questions (5-15 questions).  
Should I use yml, toml or json for this task?

---

<div class="post-metadata">

**Author:** ![hoanguyenn2015](https://avatars.discourse-cdn.com/v4/letter/h/839c29/32.png) [@hoanguyenn2015](https://zola.discourse.group/u/hoanguyenn2015)\
**Post date:** [July 4, 2025, 3:38am UTC](https://zola.discourse.group/t/need-advice-about-organizing-data-files-yml-json-xml-for-simple-pages-generated/2644/2 "2025-07-04T03:38:10Z")

</div>

Currently I’m trying [Hugo Content Adapter](https://gohugo.io/content-management/content-adapters/). The syntax comprehension is difficult espcially white space management.  
I wonder if Zola can do this beginner friendlier.  
Thanks 🙏

---

<div class="post-metadata">

**Author:** ![adrianboston](https://yyz2.discourse-cdn.com/free1/user_avatar/zola.discourse.group/adrianboston/32/907_2.png) [@adrianboston](https://zola.discourse.group/u/adrianboston)\
**Post date:** [August 7, 2025, 10:37pm UTC](https://zola.discourse.group/t/need-advice-about-organizing-data-files-yml-json-xml-for-simple-pages-generated/2644/3 "2025-08-07T22:37:16Z")

</div>

Put the body of the written passage as the content of a single blog entry.

And add the exam questions as meta of the blog post under [extra]

test1.md

> +++
> 
> title = “Sample Academic Reading Multiple Choice (one answer)”  
> date = 2025-07-07  
> weight = 1
> 
> [extra]  
> questions = [{title=“In paragraph one, the writer suggests that companies could consider?”, selections=[{txt=“abolishing pay schemes based on age”}, {txt=“avoiding piece-rate pay”},]} ,
> 
> +++
> 
> The general assumption is that older workers are paid more in spite of, rather than because of, their productivity. That might partly explain why, when employers are under pressure to cut costs, they persuade a 55-year old to take early retirement. Take away seniority-base
> 
> ..

In the template that is effectively html

`{{page.content}}` will show the text

> - {% for q in page.extra.questions %}

I have done that with a site that uses plenty of offsite backend code. Also an important component of that is passing in ids and so forth in buttons and divs.

> data-item-id={{q.id}}
