How I made this site

#include "common.h"

int main()
{
        usagi::Page page = begin_making_page();

        std::string meow = "Building weird stuff people don't dare doing";

        std::vector<ProjectCard> notable_projects = {
        {
                "libUsagi",
                "HTML generator for C++, written in C++."
                " Most common HTML tags are implemented, so you don't need to know"
                " HTML tags to write a website. HTMX support is planned.",
                "https://codeberg.org/hourin/libUsagi"
        },
        {
                "Izuna",
                "In-memory DBMS with the ability to sync to file (with a custom data format),"
                "for C++. Filter is also available with izuna::FilterOpt and lambdas.",
                "https://codeberg.org/hourin/Izuna"
        },
        {
                "Izuna.NET",
                "Izuna for C# (tested on .NET only). This Izuna version allows using LINQ for"
                " better database set operations. The IZUNA data format isn't implemented, but"
                " can sync to JSON.",
                "https://codeberg.org/hourin/Izuna.NET"
        },
        {
                "Miyako-rs",
                "Alternative build tool and dependency management tool for Java,"
                " written in Rust. Config file uses S-expressions.",
                "https://codeberg.org/hourin/Miyako-rs"
        },
        };

        std::vector<ProjectCard> planned_projects = {
        {
                "SSaeki",
                "Game engine for Codename: Saejima (inner circle stuff, but I think it's cool"
                " to public the engine).",
                "https://codeberg.org/hourin/SSaeki"
        },
        {
                "UsagiBooru",
                "An image board site (similar to Danbooru or Gelbooru) written in"
                " C++ using httplib and libUsagi for the front-end, back-end not planned yet"
                " (but will probably be written in C#).",
        },
        {
                "Plana7",
                "An Operating System with its own programming language.",
        },
        {
                "UsagiDocs",
                "Documentation generation program written in C++ using libUsagi."
        }
        };

        const std::string aboutMe[] = {
                "I like learning languages, both human and machine languages.",

                "Human languages I can do: Vietnamese, English, Japanese."
                " Currently fighting with Tagalog.",

                "Machine languages I can do: C, C++, Rust (a little), C#, X86-64 ASM (NASM)."
                " Trying to learn OCaml.",
        };

        const std::vector<std::string> tools = {
                "OS: EndeavourOS with Hyprland (<u>lightly riced</u>)",
                "Terminal: st (I only added scrolling and transperency)",
                "File manager: ranger (not customized at all)",
                "Editor: Neovim (also <u><b>lightly</b></u> riced)",
        };

        page.body_section([&](usagi::Page &p)
        {
                p.begin_div("center")
                .header(1, "HELLO, I'm HOURIN")
                .end_child();

                p.begin_div("meow")
                .paragraph("<i>" + meow + "</i>")
                .end_child();

                for (const auto &para: aboutMe) {
                        p.begin_div("center")
                        .paragraph(para)
                        .end_child();
                }

                p.begin_div("center").header(2, "Tools I use:").end_child();

                p.begin_div("center");
                insert_list(p, tools);
                p.end_child();

                p.begin_div("blink center")
                .header(2, "Notable projects:")
                .end_child();
                p.begin_div("center");
                for (const auto &project: notable_projects)
                        p.div_section("card", [&](usagi::Page &p)
                        {
                                project.add_to_div_section(p);
                        });
                p.end_child();

                p.begin_div("center")
                .header(2, "Planned and ongoing projects:")
                .end_child();
                p.begin_div("center");
                for (const auto &project: planned_projects)
                        p.div_section("card", [&](usagi::Page &p)
                        {
                                project.add_to_div_section(p);
                        });
                p.end_child();

                auto header = usagi::make_header(2, "View page source");
                auto link = usagi::make_link(std::move(header), "source.html");

                p.begin_div("center")
                .add_element(link)
                .end_child();
        });

        output_to_stdout(insert_footer(page));
        return 0;
}

Go back