--- title: Site generators tagline: open-source tools description: Top open-source site generators date: 2019-05-01 00:00:00 series: adsense: false image: /assets/images/modules/attics/building-blocks-1920x1280-bw.jpg tags: [ Jekyll, Generators ] index: [ Jekyll, Top, Open, Source, Static, Site, Generators ] categories: [] regenerate: false resources: [] resource_options: - attic: padding_top: 400 padding_bottom: 50 opacity: 0.5 slides: - url: /assets/images/modules/attics/building-blocks-1920x1280-bw.jpg alt: Photo by Ryan Quintal on Unsplash # caption: # text: Photo by Ryan Quintal on Unsplash # href: https://unsplash.com/@ryanquintal/portfolio badge: type: unsplash author: Ryan Quintal href: https://unsplash.com/@ryanquintal/portfolio --- // NOTE: General Asciidoc page attributes settings // ----------------------------------------------------------------------------- :page-liquid: // Additional Asciidoc page attributes goes here // ----------------------------------------------------------------------------- // :page-imagesdir: {{page.images.dir}} // Place an excerpt at the most top position // ----------------------------------------------------------------------------- People quite often ask, if static websites make sense for anything beyond a one-page website. Some other see in static websites the stone age of the World Wide Web. What's about static websites today? What's achiveable? This article highlights top open source projects, in many different programming languages. Have a look what's going on the market. [role="clearfix mb-3"] excerpt__end // Page content // ----------------------------------------------------------------------------- [[readmore]] == Static Site Generators [role="mb-3"] // image::{{page.image}}[{{page.title}}] image::/assets/images/collections/blog/featured/staticgen.jpg[{{page.title}}] A typical CMS driven website works by building each and every page dynamically. That means fetching the content from a database to pass them over to a template system for adding the required structure information (e.g. CSS styles). This means each page is assembled on demand. For many, many websites dynamic page generation is completely unnecessary and adds unwanted risks in terms of complexity, performance losses and security issues. After all, the content of most websites changes only, when the content authors makes changes. Why a hell should a web page always assembled on demand if there are no changes? NOTE: To be fair, most CMS are providing caching systems for web pages to prevent unnessesary creation processes. It is not easy to implement such a caching system and in the very end, it adds the next level of complexity. A Static Site Generator takes a different approach and generate all the pages of the website upfront. That does not nessesarily mean, that a static website is always generated from the scratch. Modern generators support a so-called incremental build; like Jekyll does. When there are changes detected to the content, only selected pages are rebuild. This means overall, statically build web pages having no moving parts in the deployed website. This results in browser-side caching only, the performance goes up and static sites are far more secure because they are build already. To find out what Open Source Static Site Generators are available today and their ranking in terms of popularity go for StaticGen You'll will find the most complete list of generators! Check https://www.staticgen.com[StaticGen]. Have fun!