1. Markdown files
Posts are stored as markdown files in several directories under the markdown directory. The number and name of the children directories varies from app to app. The markdown files across all of the children directories share the same frontmatter schema.
These markdown files create the "post" content for the site. Post content is the dynamic, article-centric content of the site. Knowledge base articles and case studies are examples of posts.
"Page" content is the more static content for the foundational site sections (ie, product and services information). Page content is not made with markdown files.
.
└── src
└── lib
└── markdown
├── about
├── blog
└── contact me
For single-language sites, the markdown files hvae an .md exension. For multi-language sites, the extension will be the locale specifier and .md. For example, English documents have an .em.md extension and Spanish documemts jvae .es.md extension. Generally, English is the base language for a site and there must be a en.md markdown fo
2a. A Json representation of the markdown
The create-markdown-objects.ts file reads all of the markdown files present under the markdown folder and creates an array of Json objects from their frontmatter and content. This frontmatter schema is type-checked (via a Zod object) and files with invalid frontmatter are flagged during this process.