In the ever-evolving landscape of web development, Static Site Generators have gained immense popularity due to their simplicity, speed, and ease of use. I migrated this site from WordPress to a SSG and have no regrets. However, navigating through the complexities of existing tools like Hugo and DocFX can sometimes be a daunting task, even for advanced developers. Recognizing this challenge, I decided to embark on a personal journey to create a solution. Thus, I give you SuCoS (JuiCeS in Portuguese - a playful nod to my roots and the delightful simplicity I aim for), a C# static site generator that simplifies the process while offering incredible performance.
The day I found myself tangled in a web of Hugo templates, I realized something had to change. It felt akin to wandering in a labyrinth without a torch; even ChatGPT, my trusty AI companion, seemed lost. I felt like Bilbo Baggins in the tunnels, minus a riddle-solving partner. I experimented with DocFX, but its rigidity left me wanting. I even dabbled with Rust’s Zola, but found it lacking in richness. I yearned for something more versatile, more fluid.
That’s when it hit me. Why not carve my own path? Why not conjure a static site generator that would render the process as simple as connecting the dots, rather than cracking the Enigma code? With .Net 7 back on track, I knew I had my foundation. It promised familiarity, richness in features, and a performance-driven mentality. Also, the new compilation options for a single file, trimmed and self-contained appeared to be an ideal match.
Thus, the seed of SuCoS was planted.
Building SuCoS, I focused on 3 critical features.
Firstly, I envisioned a site builder as fast as the wind, quick as a cheetah on the savanna. The result? A C# Dotnet 7 engine that churns out pages at breakneck speed. To curb my OCD, I created a test site with 100,000 pages (about 10% of the size of Portuguese Wikipedia) and it took less than 1ms per page!
Secondly, I aimed for an easy-to-use yet versatile template system. I wanted to sidestep the hieroglyph-like complexity of Hugo templates and embrace something more intuitive. Enter Liquid templates - as adaptable and refreshing as water, as straightforward as ABC.
Finally, the third critical feature: a live server for local development. I craved a system that would be as responsive and alive as an eager co-author, watching my every keystroke, reflecting each change I made to content or theme files on the local server, erasing the need for monotonous manual refreshing. To top it all off, I implemented a nifty little report that fires off at the end of the building process, allowing you to marvel at the lightning speed of your site’s creation.
SuCoS wouldn’t be complete without a trusty sidekick. Enter Nuke, an invaluable building system that automates the building and releasing process, even providing a Docker container image to make life easier.
The very v1.0.0 version is live! And to showcase its MVP (minimum viable product), its official site (https://sucos.brunomassa.com/) was built using SuCoS itself! How cool is it?! But this is just the ‘Iron Man Mark 1’ phase. Like Tony Stark, I’m constantly refining and improving. I’ve recruited Gitlab CI/CD as my faithful AI, J.A.R.V.I.S., who ensures that a fresh, improved version sees the light of day every week. The journey towards the ‘Endgame’ continues, each iteration bringing us one step closer.
One of my milestones is to convert this very site to SuCoS by the end of July 2023. Ambitious? Yes. Achievable? Absolutely.
Join in this adventure. Connect with the community on Twitter, Mastodon, Discord, and Matrix. Let’s steer this ship together, transforming the world of static site generation into an easy and delightful journey, one page at a time.