enu Main menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Print/export Download as PDF Printable version In other projects Wikidata item Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 Architecture 2 Examples 3 Comparison with server-side systems 4 References 5 External links Toggle the table of contents Static site generator 6 languages Deutsch Español فارسی Français 日本語 Русский Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Software system in web publishing Static site generators ( SSGs ) are software engines that use text input files (such as Markdown , reStructuredText , AsciiDoc and JSON ) to generate static web pages . [ 1 ] Unlike dynamic websites, these static pages do not change based on the request. This simplifies the requirements for the backend and allows the site to be distributed via content delivery networks (CDNs). The simple design also makes it harder for attackers to modify the website due to the smaller attack surface of these relatively simple backends. Some of the most popular static site generators are Jekyll , Hugo , Eleventy , Gatsby , and Next.js . [ 2 ] [ 3 ] SSGs are typically for rarely changing, informative content, such as product pages, news articles, software documentation, and blogs. Architecture [ edit ] SSGs typically consist of a template written in HTML with a templating system , such as Liquid (Jekyll) or Go template (Hugo). The same structure (typically a Git repository) includes content in a plain-text format such as Markdown or reStructuredText , or in a structural meta format such as JSON or XML . A single plain-text file may correspond to a single web page. Alternatively, a single structural metadata file may correspond to an entire website if a single-page application framework like AngularJS is used. The website variable settings are stored in a plaintext configuration file _config.yml ( YAML ), _config.toml ( TOML ) or _config.json ( JSON ). Page files typically also start with a YAML, TOML, or JSON preamble to define variables such as title, permalink, or date. Files with names that begin with an underscore ( _ ) such as _index.md (as opposed to index.md ) are considered templates or archetypes and are thus not rendered as pages themselves. Examples [ edit ] Several hundred SSGs have been documented to exist, with the vast majority being written in languages that are already prominent on the web, such as Python, Go, JavaScript and TypeScript. [ 4 ] System label/name Language Notes Jekyll Ruby Uses Liquid templating language. [ 4 ] Hugo Go Uses Go templates and its main selling point is its high speed when compiling. [ 4 ] Next.js JavaScript Uses React templates. [ 4 ] Pelican Python Uses Jinja2 templates. [ 4 ] Compiles HTML from reStructuredText or Markdown. Astro JavaScript Uses the .astro syntax language by default (familiar to HTML or JSX). Supports multiple frameworks: Svelte , React , Preact, Vue , SolidJS, Lit, AlpineJS. Compiles HTML from Markdown or MDX. [ 4 ] Docusaurus JavaScript Compiles HTML from MDX, Markdown, JavaScript and React. Uses Node.js . Customization with React . Eleventy JavaScript Supports 10 template languages. [ 4 ] Comparison with server-side systems [ edit ] Server-side template system Many server-side template systems have the option to publish output pages on the server, where the published pages are static . This is common on content management systems , like Vignette , but is not considered out-server generation. In the majority of cases, this "publish option" doesn't interfere with the template system , and it can be made by external software, as Wget . [ 5 ] People began to use server-side dynamic pages generated from templates with pre-existing software adapted for this task. This early software was the preprocessors and macro languages , adapted for web use, running on CGI . Next, a simple but relevant technology was the direct execution made on extension modules, starting with SSI . References [ edit ] ^ "What is a Static Site Generator? How do I find the best one to use?" . Netlify . Archived from the original on 2022-09-18 . Retrieved 2022-09-18 . ^ "What Is a Static Site Generator, and How Can It Help Your Website Creation Process?" . TeleportHQ . 2021-12-15. Archived from the original on 2022-09-18 . Retrieved 2022-09-18 . ^ "What is a static site generator?" . 2022-09-18. Archived from the original on 2022-09-18 . Retrieved 2022-09-18 . ^ a b c d e f g "Static Site Generators - Top Open Source SSGs | Jamstack" . Jamstack.org . Archived from the original on 2022-09-18 . Retrieved 2022-09-18 . ^ "Static Site Generator" . Gatsby . Archived from the original on 2022-09-18 . Retrieved 2022-09-18 . External links [ edit ] Enforcing Strict Model–View Separation in Template Engines Retrieved from " https://en.wikipedia.org/w/index.php?title=Static_site_generator&oldid=1352009010 " Categories : Template engines Web design Static website generators Hidden categories: Articles with short description Short description is different from Wikidata This page was last edited on 1 May 2026, at 13:31  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Static site generator 6 languages Add topic