惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
Recorded Future
Recorded Future
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
The GitHub Blog
The GitHub Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Google DeepMind News
Google DeepMind News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
N
News | PayPal Newsroom
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
博客园 - Franky
SecWiki News
SecWiki News
Recent Announcements
Recent Announcements
T
Troy Hunt's Blog
The Register - Security
The Register - Security
The Last Watchdog
The Last Watchdog
Webroot Blog
Webroot Blog
S
Security Affairs
博客园 - 司徒正美
S
Schneier on Security
I
InfoQ
博客园_首页
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Threat Research - Cisco Blogs
Forbes - Security
Forbes - Security
腾讯CDC
N
Netflix TechBlog - Medium
N
News and Events Feed by Topic
Cloudbric
Cloudbric
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta
Recent Commits to openclaw:main
Recent Commits to openclaw:main
B
Blog
V
Vulnerabilities – Threatpost
C
Check Point Blog
Google DeepMind News
Google DeepMind News
Google Online Security Blog
Google Online Security Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Cisco Blogs
Schneier on Security
Schneier on Security
O
OpenAI News
K
Kaspersky official blog

CloudCannon Blog

Building with AI: Git-based vs headless vs traditional CMS CloudCannon + Astro: performance meets powerful content management Introducing the Astro Component Starter Introducing Jetstream — built on the Astro Component Starter Why we switched to the system font stack Redesigning CloudCannon’s docs with Diátaxis, Lume, and Pagefind Make content editing more visual: upgraded Editable Regions How Configuration Mode makes building editing interfaces easy Your hosting just got an upgrade (and a price cut) Custom testing domains for professional branding Keep your content consistent with input validation Managing multilingual content in CloudCannon Simplify team publishing with conflict resolution and domain tools Open Beta: Publishing Conflict Resolution Getting started with CloudCannon and Astro: Bookshop, components, and live editing Welcome to the CloudCannon Community! Omnichannel delivery is just marketing spin from API-based CMS companies Getting started with CloudCannon and Astro: Snippets and Collections Managing digital assets in CloudCannon: a guide to smart asset storage Understanding CloudCannon's branching workflows and Projects: a complete guide What is a static website? CloudCannon’s 2024 wrapped Getting started with CloudCannon and Astro: WYSIWYG blogging Jamstack vs. WordPress: reasons to make the change The top five static site generators for 2025 (and when to use them!) Free Jekyll themes for 2025: ten great community options Eleventy (11ty) vs. Hugo How to set up WYSIWYG editing with MkDocs Material The rise of static-first websites: why major brands are making the switch Watching your Core Web Vitals on Jamstack Understanding the difference between static, dynamic, and hybrid websites Looking for an alternative to Netlify CMS or Decap CMS? Designing components for your website editors: a CloudCannon case study Does my website look big in this? Six tips to lower your page weight Content is sacred — so own your revision history The eternal balancing act: load time vs. delay time Streamlined Headless Mode, Unified Configuration, and live data editing What is a headless CMS? Looking for a TinaCMS or Tina Cloud alternative? The ultimate guide to Hugo Sections Coming soon: Live config editing and data reloading Faster publishing workflows out now! Why information architecture matters for your website Website UX vs SEO: picking your battles Easily manage your multilingual Astro site in CloudCannon How you can optimize publishing workflows for your content team How you can optimize your CMS for SEO success How you can optimize your Content Editor for long-form articles How you can optimize your Visual Editor for page building Secure, swift, and stable: static sites for the financial sector Enhanced flexibility for teams with Custom Permissions Building static sites that scale The Inaugural 11ty International Symposium on Making Web Sites Real Good How to manage hundreds of connected websites with a Git-based headless CMS How we’re building CloudCannon for accessibility CloudCannon’s new editing improvements are here! Open Beta | New ways to collaborate on editing your websites Top 11 free Eleventy themes for 2024 Top 10 free Astro themes to use in 2024 Why choose a Git-based headless CMS over a monolithic DXP in 2024? Learning web development: a self-guided roadmap Partner Site of the Month: Blüthner Piano Centre, by Winteractive CloudCannon’s 2023 wrapup Let’s create a microblog with visual editing using Bookshop and Eleventy Update and visualize your branches with CloudCannon Projects What is a Git-based CMS and why you should use one CloudCannon secures SOC 2 certification The complete guide to growing your web development agency Automatically optimize your images with Eleventy Image and CloudCannon Share components and syndicate content with Site Mounting Partner Site of the Month: Cru Uncorked, by Ed Meehan New web component for responsive HTML tables Wrapping up HugoConf 2023 Partner Site of the Month: Van Dillen Antieke Bouwmaterialen, by Fulldev How to become a freelance web developer: a comprehensive guide Q3 2023: CloudCannon features and improvements 22 ways to deliver more value to your web development clients Partner Site of the Month: DC Gay Flag Football League, by Ed Cupaioli A new way to configure your CloudCannon sites CloudCannon — the official CMS partner of Eleventy Full CloudCannon support for Nuxt static sites Partner Site of the Month: Stadium Bike, by Insight Creative, Inc. HugoConf 2023, brought to you by CloudCannon DAM Support for Cloudflare R2 and DigitalOcean Spaces Eleventy (11ty) vs. Gatsby in 2023 – which SSG is best for you? How CloudCannon’s live editing works with Astro and Bookshop Partner Site of the Month: Fiducian, by Croissant & Baguette Eleventy (11ty) vs. Astro How to customize CloudCannon’s Client Sharing interface Let anyone, anywhere, edit your CloudCannon sites Top 23 free Astro themes for building out-of-this-world static sites in 2023 How Jampack optimizes our Eleventy website and improves performance Astro vs. Next.js CloudCannon.com is now built with Eleventy! Out-of-this-world support for all Astro users Introducing the CloudCannon Partner Program Full CloudCannon support for Gatsby Top 10 Free SvelteKit Themes for Building Lighting-Fast Static Sites in 2023 Enhanced CloudCannon support for Next.js users Upcoming CloudCannon Interface improvements (Open Beta)
The ‘Reinvention’ era'
2022-02-02 · via CloudCannon Blog

After years of recreating and iterating on Jekyll, the reinvention period sees a flurry of static site generators challenging some of Jekyll's underlying foundations.

We see SSGs doing new things with taxonomies, specialized SSGs that do less, plugin-based SSGs that can do anything. It's a wild period of play and experimentation that pushes the limits of SSGs.

Hugo Direct link to this section

First released in 2012 by Steve Francia

Prior to this point, the majority of SSGs have been about converting Jekyll's functionality into another language. Hugo is a standout in the history of SSGs because it directly addresses some of Jekyll's weaknesses. Most notably:

  • Build speed — Jekyll is notoriously slow and building sites. Hugo is written in Go (Golang programming language), which is a compiled language and, according to its current leader maintainer, a "perfect match for many of the tasks that Hugo performs". The result is Hugo's ability to build tens of thousands of pages in seconds.
  • Dependencies — Setting up Ruby, dealing with Gemfiles and installing Jekyll can be surprisingly challenging. Hugo is a binary file; just download it and run it.

The story of how Hugo came to be starts with Steve Francia. At the time, his blog used WordPress. Over time, he became frustrated at how WordPress was optimized for writing content rather than for the reader. The website was slow, and the WYSIWYG editor was introducing poorly rendered HTML. Steve was interested in static site generators and took his frustrations with WordPress as an opportunity to focus on both the content and structure of his site.

He evaluated other SSGs and found the build times too slow and content inflexible, typically restricted to blogging workflows.

Since I was already looking for a good project to write in golang I decided to build my own static site generator called hugo.

Hugo took some ideas from other static site generators like front matter and Markdown-based content and introduced some of its own. These include taxonomies, built-in image processing, i18n, custom outputs, RSS feeds, menus, and more. Everything is included. No plugins are required.

Hugo has seen success with corporate customers, including 1Password, Linode Digital.gov, KeyCDN, and Let's Encrypt, to name just a few. Bjørn Erik Pedersen took over as the lead maintainer in 2015 and continues to lead Hugo's thriving community.

See our introduction to getting started with Hugo on CloudCannon.

Sculpin Direct link to this section

First released in 2012 by Beau Simensen

Beau Simensen was using Jekyll to create static sites and hit issues he created pull requests to fix. After months of inactivity on his pull requests, he grew frustrated and set out to build a new SSG. Beau had experience in PHP and thought, "Maybe I could rewrite Jekyll in PHP". Symfony's HTTP Kernel SSG could serve as the heart of the SSG, Composer was making waves as a PHP dependency manager, and Twig was a popular PHP templating language. He had all the building blocks he needed. And so, Sculpin was born.

Sculpin has a similar feature set to Jekyll in that you can blog, there are custom content types (Jekyll's "collections"), layouts, and the ability to extend Sculpin for your own needs.

Hexo Direct link to this section

First released in 2012 by Tommy Chen

Tommy Chen was using Octopress on his personal blog and was running into performance issues.

[translated from Traditional Chinese] I think every Octopress user must have such troubles — as the number of articles increases, the speed of file creation becomes slower and slower. This site has grown to 54 articles, and it takes at least one minute to create a file every time.

He had been messing around with Node.js, and decided to create a Jekyll-inspired prototype using the framework. His prototype took the build time on his blog from one minute on Jekyll down to two seconds. Impressed with the results — and who wouldn't be? — he spent a month building out the rest of the SSG and released the first version of Hexo.

Hexo wasn't the first JavaScript-based SSG, but it was the first to gain a significant following. It has a similar feature set to Jekyll, a vast number of themes and plugins, and has the ability for deep customization for those familiar with Node.js.

Harp Direct link to this section

First released in 2012 by Brock Whitten

Coming off the success of creating PhoneGap, a way of building mobile apps with HTML, CSS, and JS, Brock Whitten set to work on a new kind of SSG, Harp.

The idea behind Harp is all the preprocessors are built in, so you can write your Sass CSS in a .sass file and Harp will automatically build it into a .css. It also supports Markdown, Jade, EJS, LESS, Stylus, and CoffeeScript.

Harp isn't just a static site generator, either. You can use it to 'compile' or build a site just as you would with a static site generator. You can also use it as a middleware for handling assets in a larger application, or as a production web server replacing something like Nginx or Apache.

Where Harp really shines is in its simplicity. Sure, it doesn't have some of the standard SSG features like front matter and blogging. But, if you don't need those, this is a neat little SSG. You can create Markdown files, wrap them in your HTML layout, and have your Sass automatically build.

First released in 2014 by Ian Storm Taylor

In 2011, Ian Storm Taylor cofounded Segment, a customer data platform that helps collect, clean, and control customer data. Years later, he created the SSG Metalsmith, which he used to power the Segment technical documentation. Just this week, after a 5-year maintenance mode break, Kevin Van Lierde took over as lead developer and maintainer, and shared his roadmap for future features and patches.

In some ways, Metalsmith is one of the simplest SSGs. The entire codebase is under 400 lines(!), but don't let that fool you — this is one of the most powerful and flexible SSGs out there. Everything in Metalsmith is a plugin. From layouts, to collections, pagination, drafts, permalinks, image processing — you name it, there's a plugin for that. You configure these plugins to process files on your site and have complete control over where and how they're run. If a plugin doesn't exist, you can always add your own using Metalsmith's simple Node.js API.

Metalsmith isn't just restricted to HTML-based websites either; on their website they have workflows for creating ebooks, building assets, and project scaffolding.

Zola Direct link to this section

First released in 2015 by Vincent Prouillet

Vincent gets straight to the point in his announcement of 'Gutenberg' (later renamed to Zola).

Why would we possibly want another static site engine? I already hear some say. That's a very valid question!

He initially used Pelican to power the static websites he worked on, and later switched to Hugo "for the speed and the standalone binary and [he] stayed for the instant live reload." Hugo was great, but he soon grew frustrated with the Go templating engine.

Vincent had been working on his own templating engine, Tera in Rust, and thought building a static site generator would be a great way to further his knowledge of the language. Before long, he had created Gutenberg, an opinionated yet flexible way to build "all kinds of sites, from landing pages to knowledge bases, not only blogs." Gutenberg launched with support for CommonMark for content, category and tag support, automatic RSS feeds, and a host of other features that made it a viable alternative to Hugo.

In 2018, WordPress announced its block-based editor, Gutenberg, and began a heavy marketing campaign. Up against the platform that powered most of the web (an SEO matchup he described as "a plankton vs a tsunami"), Vincent changed the name to Zola, after the famous French writer.

Zola is now a fully-fledged SSG with support for shortcodes, pagination, taxonomies, search, Sass preprocessing, image processing, and multilingual sites.


The era of reinvention saw developers flexing their creative muscles, and really pushing the boundaries of what a static site generator is capable of. An overlapping era of static generation was already underway, however, and single-page web applications were beginning to make waves. In my [N]ext article, I'll dig more deeply into the web's boundless enthusiasm for SPAs.

This is the third part of an ongoing series. If you’d like to read about the earlier history of static site generators, see Part 1: The ‘Before Jekyll’ era and Part 2: The 'After Jekyll' era.