///|
fn find_page(pages : Array[@ssg.GeneratedPage], path : String) -> String {
for page in pages {
if page.path == path {
return page.html
}
}
""
}
///|
fn main {
let post =
#|---
#|title: Example Post
#|date: 2026-07-28
#|tags: [MoonBit, SSG]
#|categories: [Examples]
#|---
#|# Hello
#|
#|This page was generated by the pure `generate_site` API.
let post_layout = "{{title}}{{content}}{{tags}}"
let index_layout = "{{title}}{{posts}}{{pagination}}"
let tag_layout = "{{tag}}
{{posts}}"
let category_layout = "{{category}}
{{posts}}"
let config = @ssg.Config::make(
"Example Site", "A generated MoonBit site", "https://example.com", 10, "content",
"layouts", "public", "static",
)
let pages = @ssg.generate_site(
[("example post.md", post)],
post_layout,
index_layout,
tag_layout,
category_layout,
config,
false,
)
println("generated pages: " + pages.length().to_string())
println(find_page(pages, "example-post.html"))
}