CINXE.COM
What is a static site generator? - IONOS
<!DOCTYPE html> <html lang="en" class="no-js"> <head itemscope itemtype="http://schema.org/WebSite"> <meta itemprop="name" content="IONOS Digital Guide"/> <meta charset="utf-8"><link rel="preconnect" href="https://cdn.ionos.de/"><link rel="preconnect" href="https://shop-api.ionos.com/"><link rel="preconnect" href="https://dpm.demdex.net/"><link rel="preconnect" href="https://1and1internetag.demdex.net/"><script src="https://cdn.ionos.de/guides/9c2134ba72b4/047afaab1ab6/launch-bffa846ee117.min.js" async nonce=""></script><!-- Guides Datalayer --> <script id="guides_datalayer" nonce=""> (function() { var dataLayer = {"application":"T3.DG.US","market":"US","guide":"DG","context":"prod","shopname":"dg-us","internalPageName":"websites_website-creation_what-is-a-static-site-generator","land":"us","s_account":"iaglive","prop1":"websites_website-creation_what-is-a-static-site-generator","prop5":"dg-websites","prop6":"dg-us","prop7":"www.ionos.com","prop11":"New contract shop","prop16":"","prop17":"us","prop21":"","prop23":"","prop51":"","prop73":"iaglive","mcorgid":"AC42148954F5FEDA0A4C98BC@AdobeOrg","ns":"1und1internetag","eVar1":"digitalguide","eVar2":"websites_website-creation_what-is-a-static-site-generator","eVar6":"dg-websites","eVar7":"dg-us","eVar13":"New contract shop","eVar23":"","eVar24":"","eVar25":"","eVar45":"us","eVar72":"","eVar74":"","eVar79":"","eVar91":"","eVar97":"","eVar98":"","eVar99":"","eVar83":"en-US"}; function addToDataLayer(key, value) { if (typeof value === 'object' && value !== null) { dataLayer[key] = value; } else { dataLayer[key] = value.toString(); } } function isValidJson(str) { try { JSON.parse(str); return true; } catch (e) { return false; } } const handler = { get: function(target, prop) { if (prop in target) { if (isValidJson(target[prop])) { return JSON.parse(target[prop]); } return target[prop]; } else if (prop in methods) { return methods[prop]; } return null; } }; const methods = { push: function(key, value) { if (typeof key === 'object') { for (var k in key) { if (key.hasOwnProperty(k)) { addToDataLayer(k, key[k]); } } } else if (typeof key === 'string') { addToDataLayer(key, value); } }, set: function(key, value) { if (typeof key === 'string') { addToDataLayer(key, value); } }, get: function(key) { if (typeof key === 'string') { return dataLayer[key] || null; } return null; }, getAll: function() { return { ...dataLayer }; } }; const proxy = new Proxy(dataLayer, handler); window.guidesDataLayer = proxy; })(); guidesDataLayer.push({'prop23': window.navigator.userAgent}); var preparedUrlSearchParams = decodeURI(location.search.replace(/\?/g, "").replace(/&/g, "\",\"").replace(/=/g,"\":\"")); var urlSearchParams = JSON.parse(preparedUrlSearchParams ? '{"' + preparedUrlSearchParams + '"}' : '{}'); var utmSource = urlSearchParams.utm_source || ''; var utmCampaign = urlSearchParams.utm_campaign || ''; var utmTerm = urlSearchParams.utm_term || ''; var utmMedium = urlSearchParams.utm_medium || ''; var utmContent = urlSearchParams.utm_content || ''; if (utmSource || utmCampaign) { guidesDataLayer.push({'eVar25': utmSource + '|' + utmCampaign}); } if (utmTerm || utmMedium || utmContent) { guidesDataLayer.push({'eVar72': utmTerm + '|' + utmMedium + '|' + utmContent}); } </script> <!-- Guides Datalayer --><link class="preload" rel="preload" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-regular.1732717586.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link class="preload" rel="preload" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-regular.1732717586.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link class="preload" rel="preload" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-semibold.1732717586.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link class="preload" rel="preload" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-bold.1732717586.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link as="image" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Icons/logo-icon-nlement-48px-and-smaller.svg" rel="preload" /><link as="image" href="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_8baa7da110.webp" imagesrcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_16b27babe3.webp 684w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_077207c93c.webp 644w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_1481653595.webp 554w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_87ae2273d7.webp 464w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_8baa7da110.webp 704w" imagesizes="(min-width: 1680px) 684px,(min-width: 1400px) 644px,(min-width: 1200px) 554px,(min-width: 922px) 464px,(min-width: 768px) 704px" rel="preload" /><link as="style" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Css/ionos/styles.bundled.1732717586.css" rel="preload" /><link as="style" href="https://www.ionos.com/modules/hosting-common/script/privacy/bundle.css" rel="preload" /> <!-- build by IONOS SE This website is powered by TYPO3 - inspiring people to share! TYPO3 is a free open source Content Management Framework initially created by Kasper Skaarhoj and licensed under GNU/GPL. TYPO3 is copyright 1998-2024 of Kasper Skaarhoj. Extensions are copyright of their respective owners. Information and contribution at https://typo3.org/ --> <link rel="icon" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Icons/logo-icon-nlement-48px-and-smaller.svg" type="image/svg+xml"> <title>What is a static site generator? - IONOS</title> <meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1"> <meta name="generator" content="TYPO3 CMS"> <meta name="description" content="CMS and website builders are practical, but usually too complex for smaller projects. A good alternative could be a static website generator. Find out more about this option here."> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=5.0"> <meta name="robots" content="index,follow"> <meta property="og:image" content="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/eigene-website-baukasten-t.jpg"> <meta property="og:image:url" content="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/eigene-website-baukasten-t.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:description" content="CMS and website builders are practical, but usually too complex for smaller projects. A good alternative could be a static website generator. Find out more about this option here."> <meta property="og:type" content="article"> <meta property="og:title" content="What is a static site generator?"> <meta property="og:site_name" content="IONOS Digital Guide"> <meta property="og:locale" content="en_US"> <meta property="og:url" content="https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/"> <meta name="twitter:card" content="summary"> <meta name="meta-category" content="Digital Guide"> <meta name="apple-mobile-web-app-capable" content="no"> <link class="preload" href="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Css/ionos/styles.bundled.1732717586.css" rel="stylesheet" > <link class="preload" href="https://www.ionos.com/modules/hosting-common/script/privacy/bundle.css" rel="stylesheet" > <style> @font-face { font-family:'Open Sans Regular'; font-weight:400; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-regular.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Open Sans'; font-weight:400; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-regular.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Open Sans Semi Bold'; font-weight:600; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-semibold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Open Sans'; font-weight:600; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-semibold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Open Sans Bold'; font-weight:700; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-bold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Open Sans'; font-weight:700; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/OpenSans/opensans-bold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Overpass Regular'; font-weight:400; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-regular.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Overpass'; font-weight:400; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-regular.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Overpass Semi Bold'; font-weight:600; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-semibold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Overpass'; font-weight:600; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-semibold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Overpass Bold'; font-weight:700; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-bold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } @font-face { font-family:'Overpass'; font-weight:700; font-display:swap; src:url('https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Fonts/Overpass/overpass-bold.1732717586.woff2')format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD,U+2713,U+2714,U+2718,U+0308 } </style> <script type="application/ld+json"> {"@context":"https:\/\/schema.org\/","@type":"Article","author":{"@type":"Person","name":"IONOS editorial team"},"headline":"What is a static site generator?","image":{"@type":"ImageObject","url":"https:\/\/www.ionos.com\/digitalguide\/fileadmin\/DigitalGuide\/Teaser\/eigene-website-baukasten-t.jpg"},"datePublished":"2023-03-01","publisher":{"@type":"Organization","name":"IONOS","logo":{"@type":"ImageObject","url":"https:\/\/www.ionos.com\/digitalguide\/_assets\/b76f27cb02ebc538ac6fbabcf1a88e7f\/Images\/ionos_logo.svg"}}} </script> <script>/* src: https://github.com/taylorhakes/promise-polyfill */!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t():"function"==typeof define&&define.amd?define(t):t()}(0,function(){"use strict";function e(e){var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){return t.reject(n)})})}function t(e){return new this(function(t,n){function r(e,n){if(n&&("object"==typeof n||"function"==typeof n)){var f=n.then;if("function"==typeof f)return void f.call(n,function(t){r(e,t)},function(n){o[e]={status:"rejected",reason:n},0==--i&&t(o)})}o[e]={status:"fulfilled",value:n},0==--i&&t(o)}if(!e||"undefined"==typeof e.length)return n(new TypeError(typeof e+" "+e+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var o=Array.prototype.slice.call(e);if(0===o.length)return t([]);for(var i=o.length,f=0;o.length>f;f++)r(f,o[f])})}function n(e,t){this.name="AggregateError",this.errors=e,this.message=t||""}function r(e){var t=this;return new t(function(r,o){if(!e||"undefined"==typeof e.length)return o(new TypeError("Promise.any accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return o();for(var f=[],u=0;i.length>u;u++)try{t.resolve(i[u]).then(r)["catch"](function(e){f.push(e),f.length===i.length&&o(new n(f,"All promises were rejected"))})}catch(c){o(c)}})}function o(e){return!(!e||"undefined"==typeof e.length)}function i(){}function f(e){if(!(this instanceof f))throw new TypeError("Promises must be constructed via new");if("function"!=typeof e)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=undefined,this._deferreds=[],s(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,f._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(o){return void a(t.promise,o)}c(t.promise,r)}else(1===e._state?c:a)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if(t instanceof f)return e._state=3,e._value=t,void l(e);if("function"==typeof n)return void s(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,l(e)}catch(r){a(e,r)}}function a(e,t){e._state=2,e._value=t,l(e)}function l(e){2===e._state&&0===e._deferreds.length&&f._immediateFn(function(){e._handled||f._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;n>t;t++)u(e,e._deferreds[t]);e._deferreds=null}function s(e,t){var n=!1;try{e(function(e){n||(n=!0,c(t,e))},function(e){n||(n=!0,a(t,e))})}catch(r){if(n)return;n=!0,a(t,r)}}n.prototype=Error.prototype;var d=setTimeout;f.prototype["catch"]=function(e){return this.then(null,e)},f.prototype.then=function(e,t){var n=new this.constructor(i);return u(this,new function(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}(e,t,n)),n},f.prototype["finally"]=e,f.all=function(e){return new f(function(t,n){function r(e,o){try{if(o&&("object"==typeof o||"function"==typeof o)){var u=o.then;if("function"==typeof u)return void u.call(o,function(t){r(e,t)},n)}i[e]=o,0==--f&&t(i)}catch(c){n(c)}}if(!o(e))return n(new TypeError("Promise.all accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);for(var f=i.length,u=0;i.length>u;u++)r(u,i[u])})},f.any=r,f.allSettled=t,f.resolve=function(e){return e&&"object"==typeof e&&e.constructor===f?e:new f(function(t){t(e)})},f.reject=function(e){return new f(function(t,n){n(e)})},f.race=function(e){return new f(function(t,n){if(!o(e))return n(new TypeError("Promise.race accepts an array"));for(var r=0,i=e.length;i>r;r++)f.resolve(e[r]).then(t,n)})},f._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){d(e,0)},f._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var p=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();"function"!=typeof p.Promise?p.Promise=f:(p.Promise.prototype["finally"]||(p.Promise.prototype["finally"]=e),p.Promise.allSettled||(p.Promise.allSettled=t),p.Promise.any||(p.Promise.any=r))}); </script> <script> window.promisedConsentScriptsBefore = window.promisedConsentScriptsBefore || []; window.promisedConsentScriptsAfter = window.promisedConsentScriptsAfter || []; // Define a whitelist of allowed URLs or domains const allowedUrls = [ /^https:\/\/(.*\.)?ionos\.(de|at|com|ca|co\.uk|mx|it|fr|es)$/, /^https:\/\/(.*\.)?uicdn\.net$/, /^https:\/\/(.*\.)?(youtube(-nocookie)?\.com|youtu\.be)$/, /^https:\/\/(.*\.)?server\.lan$/, /^https:\/\/(.*\.)?ddev\.site$/ ]; // Function to validate the URL function isValidUrl(url) { try { const parsedUrl = new URL(url); return allowedUrls.some(pattern => pattern.test(parsedUrl.origin)); } catch (e) { console.error(url + ' is an invalid url'); return false; } } // Function to load a script function loadScript(url) { return new Promise((resolve, reject) => { if (!isValidUrl(url)) { return reject(new Error(`Forbidden url: ${url}`)); } const script = document.createElement('script'); script.src = url; script.async = true; script.onload = () => resolve(script); script.onerror = () => reject(new Error(`Failed to load script: ${url}`)); document.head.appendChild(script); }); } // Function to execute scripts or functions with specific data for each function executeScripts(scriptsWithData) { return scriptsWithData.reduce((promise, { scriptOrFunction, data = {} }) => { return promise.then(() => { if (typeof scriptOrFunction === 'string') { if (typeof window[scriptOrFunction] === 'function') { return Promise.resolve(window[scriptOrFunction](data)); } else { return loadScript(scriptOrFunction); } } else if (typeof scriptOrFunction === 'function') { return Promise.resolve(scriptOrFunction(data)); } }); }, Promise.resolve()); } function loadPromisedConsentScripts({ consentUrl, consentType, before = [], after = [] }) { executeScripts(before) .then(() => { return new Promise((resolve) => { if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", () => resolve(loadScript(consentUrl))); } else { resolve(loadScript(consentUrl)); } }); }) .then(() => { const consentLoaded = new CustomEvent('consentLoaded'); if (typeof window.privacyConsent === "undefined") { if (consentType === 'default') { window.privacyConsent = new window.PrivacyConsent({defaultConsent: {[window.PrivacyConsentEnum.TECHNICAL]: true, [window.PrivacyConsentEnum.MARKETING]: true, [window.PrivacyConsentEnum.STATISTICS]: true, [window.PrivacyConsentEnum.PARTNERSHIPS]: true}}); } else { window.privacyConsent = new window.PrivacyConsent({whitelist: true}); } } window.privacyConsent.initialize(); if (typeof window.privacyConsent === 'object') { if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function() { let consentBodyTag = document.querySelector('body'); consentBodyTag.dataset.consentLoaded = 1; }); } else { let consentBodyTag = document.querySelector('body'); consentBodyTag.dataset.consentLoaded = 1; } window.dispatchEvent(consentLoaded); } }) .then(() => { if (typeof window.privacyConsent !== "undefined") { return executeScripts(after); } else { throw new Error('window.privacyConsent is undefined'); } }) .catch(error => { console.error(error); }); } const salesChannelControllerIdentifier = 'salesChannelGuides'; let getTld = function (dl = {}) { let host = (window.location.host); if (dl.hasOwnProperty('prop7') && dl.prop7) { host = dl.prop7; } let hostArray = host.split('.'); let tld = hostArray[hostArray.length - 1]; if (host.indexOf('.co.uk') !== -1) { tld = hostArray[hostArray.length - 2] + '.' + hostArray[hostArray.length - 1]; } return (tld !== 'site' && tld !== 'lan') ? tld : 'de'; } let getCookieDomain = function (dl = {}) { let host = (window.location.host); if (dl.hasOwnProperty('prop7') && dl.prop7) { host = dl.prop7; } var hostArray = host.split('.'); if (hostArray[hostArray.length - 1] === 'uk') { return '.' + hostArray[hostArray.length - 3] + '.' + hostArray[hostArray.length - 2] + '.' + hostArray[hostArray.length - 1] } return '.' + hostArray[hostArray.length - 2] + '.' + hostArray[hostArray.length - 1]; } let setCookie = function (cname, cvalue, tInSecs, dl = {}) { const d = new Date(); d.setTime(d.getTime() + (tInSecs * 1000)); let expires = 'expires='+ d.toUTCString(); document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/' + ';domain=' + getCookieDomain(dl); } let getParams = function () { var preparedUrlSearchParams = decodeURI(location.search.replace(/\?/g, "").replace(/&/g, "\",\"").replace(/=/g,"\":\"")); return JSON.parse(preparedUrlSearchParams ? '{"' + preparedUrlSearchParams + '"}' : '{}'); } let listCookies = function () { var theCookies = document.cookie.split(';'); var returnCookies = []; var cookieKeyValuePair = {}; var cookieString = ''; for (var i = 0; i <= theCookies.length; i++) { if (typeof theCookies[i] !== 'undefined') { cookieString = theCookies[i].trim(); cookieKeyValuePair = cookieString.match(/([^=]+?)[=\s](.*)/i); if (cookieKeyValuePair !== null && cookieKeyValuePair.length === 3) { returnCookies.push({ 'name': cookieKeyValuePair['1'], 'value': cookieKeyValuePair['2'] }); } } } return returnCookies; } let getSalesChannelController = function(salesChannelControllerIdentifier, url) { if (sessionStorage.getItem(salesChannelControllerIdentifier)) { return data = JSON.parse(sessionStorage.getItem(salesChannelControllerIdentifier)); } else { let salesChannelControllerApplicationArray = (typeof window.guidesDataLayer.application !== 'undefined') ? window.guidesDataLayer.application.split('.') : []; let salesChannelControllerOrigin = salesChannelControllerApplicationArray !== null && salesChannelControllerApplicationArray.length >= 3 ? salesChannelControllerApplicationArray[2] : 'DE'; let salesChannelControllerPath = salesChannelControllerApplicationArray !== null && salesChannelControllerApplicationArray.length >= 2 && salesChannelControllerApplicationArray[1] === 'SG' ? '/startupguide/' : '/digitalguide/'; let salesChannelControllerReferrer = document.referrer || ''; let salesChannelController = {}; salesChannelController.origin = salesChannelControllerOrigin; salesChannelController.path = salesChannelControllerPath; salesChannelController.cookies = {}; salesChannelController.requestParameter = {}; salesChannelController.referer = salesChannelControllerReferrer; salesChannelController.requestParameter = getParams(); salesChannelController.cookies = listCookies(); console.info('fetch SCC'); return fetch(url, { cache: 'no-store', method: 'POST', mode: 'cors', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(salesChannelController) }) .then((response) => { console.info('fetch SCC done'); return response.json(); }) .then((data) => { setSalesChannelController(salesChannelControllerIdentifier, data); return data; }) .catch((error) => { console.info('missing data from salesChannelController'); throw error; }); } } let setSalesChannelController = function(salesChannelControllerIdentifier, data) { sessionStorage.setItem(salesChannelControllerIdentifier, JSON.stringify(data)); } let processSalesChannelController = function(config) { let sCCId = config.salesChannelControllerIdentifier || salesChannelControllerIdentifier; setSalesChannelController(sCCId, getSalesChannelController(sCCId, config.url)); try { if (sCCId && config.url) { setSalesChannelController(sCCId, getSalesChannelController(sCCId, config.url)); } } catch (e) { console.error(e, 'we have a problem with the sales channel controller ' + sCCId) } let salesChannelControllerDataString = sessionStorage.getItem(salesChannelControllerIdentifier); if (salesChannelControllerDataString) { let salesChannelControllerData = JSON.parse(salesChannelControllerDataString); // @Todo: After successful testing, remove comment from following line // processActionsAndUpdateDl(salesChannelControllerData, 'guidesDataLayer'); } } function processActionsAndUpdateDl (data, dlName) { if (typeof data.actions !== 'undefined' && data.actions.length >= 1 && window[dlName] !== 'undefined') { for (var i = 0; i <= data.actions.length; i++) { if (typeof data.actions[i] !== 'undefined' && data.actions[i].hasOwnProperty('action') && data.actions[i].hasOwnProperty('actionAttributes')) { if (data.actions[i].action === 'ADD_COOKIE') { if (data.actions[i].actionAttributes['cookie.name'] && data.actions[i].actionAttributes['cookie.value'] && data.actions[i].actionAttributes['cookie.lifetime']) { setCookie( data.actions[i].actionAttributes['cookie.name'], data.actions[i].actionAttributes['cookie.value'], data.actions[i].actionAttributes['cookie.lifetime'], data ); } } if (data.actions[i].action === 'ADD_ACTIONCODE') { if (data.actions[i].actionAttributes['actioncode.code']) { window[dlName].eVar23 = window[dlName].eVar23 || data.actions[i].actionAttributes['actioncode.code']; window[dlName].eVar74 = window[dlName].eVar23; } } if (data.actions[i].action === 'ADD_MEDIUMCODE') { if (data.actions[i].actionAttributes['mediumcode.code']) { window[dlName].eVar22 = data.actions[i].actionAttributes['mediumcode.code'] || window[dlName].eVar22; window[dlName].eVar24 = window[dlName].eVar24 || data.actions[i].actionAttributes['mediumcode.code']; } } if (data.actions[i].action === 'ADD_TRACKINGCODE_COMP') { var itcChannel = ''; var itcProduct = ''; var itcCampaign = ''; if (data.actions[i].actionAttributes.channelcode) { window[dlName].eVar97 = window[dlName].eVar97 || data.actions[i].actionAttributes.channelcode; itcChannel = window[dlName].eVar97; } if (data.actions[i].actionAttributes.productcode) { window[dlName].eVar98 = window[dlName].eVar98 || data.actions[i].actionAttributes.productcode; itcProduct = window[dlName].eVar98; } if (data.actions[i].actionAttributes.campaigncode) { window[dlName].eVar99 = window[dlName].eVar99 || data.actions[i].actionAttributes.campaigncode; itcCampaign = window[dlName].eVar99; } var OAO = window.OAO || {}; OAO.q = OAO.q || {}; OAO.q.ias = OAO.q.ias || []; OAO.q.ias.push(["addVisitorData", "itc-channel", itcChannel]); OAO.q.ias.push(["addVisitorData", "itc-product", itcProduct]); OAO.q.ias.push(["addVisitorData", "itc-campaign", itcCampaign]); } } } } } window.processSalesChannelController = processSalesChannelController; window.promisedConsentScriptsBefore.push({ scriptOrFunction: 'processSalesChannelController', data: { salesChannelControllerIdentifier: 'salesChannelGuidesPreview', url: 'https://www.ionos.com/shop-api/api/v1/saleschannel' } }); let jentis = function () { const jentisConfig = new Map([ ['de', {endpoint: 'https://6zqtim.ionos.de', project: 'ionos_de', jsFile: 'aljmf5.js'}], ['uk', {endpoint: 'https://xxwre7.ionos.co.uk', project: 'ionos_co_uk', jsFile: 'akbbdz.js'}], ['us', {endpoint: 'https://54ft7i.ionos.com', project: 'ionos_com', jsFile: '48gpcp.js'}], ['ca', {endpoint: 'https://nsupig.ionos.ca', project: 'ionos_ca', jsFile: 'j05pa0.js'}], ['fr', {endpoint: 'https://948si5.ionos.fr', project: 'ionos_fr', jsFile: 'b44g5k.js'}], ['es', {endpoint: 'https://v0v7kq.ionos.es', project: 'ionos_es', jsFile: 'bp6upp.js'}], ['it', {endpoint: 'https://kt8986.ionos.it', project: 'ionos_it', jsFile: 'td7zu1.js'}], ['mx', {endpoint: 'https://e5xnsj.ionos.mx', project: 'ionos_mx', jsFile: 'tvjenp.js'}], ['at', {endpoint: 'https://6kudki.ionos.at', project: 'ionos_at', jsFile: '9t1jfx.js'}], ]); let country = window.guidesDataLayer.market.toLowerCase(); const jentisRuntimeConfig = jentisConfig.has(country) ? jentisConfig.get(country) : null; if (jentisRuntimeConfig === null) { throw new Error('Jentis runtime configuration not available!'); } (function (sCDN, sCDNProject, sCDNWorkspace, sCDNVers) { if ( window.localStorage !== null && typeof window.localStorage === "object" && typeof window.localStorage.getItem === "function" && window.sessionStorage !== null && typeof window.sessionStorage === "object" && typeof window.sessionStorage.getItem === "function" ) { sCDNVers = window.sessionStorage.getItem("jts_preview_version") || window.localStorage.getItem("jts_preview_version") || sCDNVers; } window.jentis = window.jentis || {}; window.jentis.config = window.jentis.config || {}; window.jentis.config.frontend = window.jentis.config.frontend || {}; window.jentis.config.frontend.cdnhost = sCDN + "/get/" + sCDNWorkspace + "/web/" + sCDNVers + "/"; window.jentis.config.frontend.vers = sCDNVers; window.jentis.config.frontend.env = sCDNWorkspace; window.jentis.config.frontend.project = sCDNProject; window._jts = window._jts || []; var f = document.getElementsByTagName("script")[0]; var j = document.createElement("script"); j.async = true; j.src = window.jentis.config.frontend.cdnhost + jentisRuntimeConfig.jsFile; f.parentNode.insertBefore(j, f); })(jentisRuntimeConfig.endpoint, jentisRuntimeConfig.project, "live", "_"); } const jentisPageView = function () { const dataLayerNs = window.ionos.datalayer.pageview; dataLayerNs.applicationName = window.guidesDataLayer.shopname; dataLayerNs.subShopname = null; dataLayerNs.page = window.guidesDataLayer.prop1; dataLayerNs.productArea = window.guidesDataLayer.eVar1; dataLayerNs.section = window.guidesDataLayer.eVar6; dataLayerNs.hashedIp = null; dataLayerNs.loginStatus = null; dataLayerNs.hashedCustomerId = null; window.privacyConsent.invoke( window.ionos.datalayer.pageview.sendData, window.PrivacyConsentEnum.STATISTICS, null, true, ); window.privacyConsent.initialize(); window?.ionos?.datalayer?.initConsent(); } let doJentisPageView = function() { window.privacyConsent.invoke( jentisPageView, PrivacyConsentEnum.STATISTICS, window.privacyConsent, true ); window.privacyConsent.initialize(); window?.ionos?.datalayer?.initConsent(); } window.jentis = jentis; window.jentisPageView = jentisPageView; window.doJentisPageView = doJentisPageView; window.promisedConsentScriptsBefore.push({scriptOrFunction: 'jentis'}); window.promisedConsentScriptsAfter.push({scriptOrFunction: 'https://var.uicdn.net/shopsshort/ionos-datalayer/datalayer.min.js'}); window.promisedConsentScriptsAfter.push({scriptOrFunction: 'doJentisPageView'}); let hubspot = function () { let hubspotFn = function () { var n = document.createElement("script"); n.setAttribute("id", 'hs-script-loader'); n.async = true; n.defer = true; n.setAttribute("src", 'https://js-eu1.hs-scripts.com/8230984.js'); window.document.head.appendChild(n); }; window.privacyConsent.invoke( hubspotFn, PrivacyConsentEnum.STATISTICS, window.privacyConsent, true ); window.privacyConsent.initialize(); } window.hubspot = hubspot; window.promisedConsentScriptsAfter.push({scriptOrFunction: 'hubspot'}); function consentRelatedScriptsInsertAfter(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } let consentRelatedScripts = function() { var consentRelatedScriptsFn = document.querySelectorAll('script[type="text/plain"][data-consent]'); console.info(consentRelatedScriptsFn); var consentedFunctions = []; consentRelatedScriptsFn.forEach(function (item) { var consentCategoryFromDataSet = item.dataset.consent || ''; if (consentCategoryFromDataSet !== '') { var consentCategory = consentCategoryFromDataSet.toUpperCase(); if (!(consentCategory in consentedFunctions)) { consentedFunctions[consentCategory] = []; } consentedFunctions[consentCategory].push(item); } }) var activateConsentRelatedScripts = []; for (var consentCategory in consentedFunctions) { activateConsentRelatedScripts[consentCategory] = function() { consentedFunctions[consentCategory].forEach(function(item) { var newScriptContent = item.text; const newScript = document.createElement("script"); newScript.text = newScriptContent; newScript.type = "text/javascript"; newScript.dataset.consentGiven = true; consentRelatedScriptsInsertAfter(newScript, item); }); }; window.privacyConsent.invoke( activateConsentRelatedScripts[consentCategory], PrivacyConsentEnum[consentCategory], window.privacyConsent, false ); window.privacyConsent.initialize(); } } window.consentRelatedScripts = consentRelatedScripts; window.consentRelatedScriptsInsertAfter = consentRelatedScriptsInsertAfter; window.promisedConsentScriptsAfter.push({scriptOrFunction: 'consentRelatedScripts'}); window.promisedConsentScriptsBefore = window.promisedConsentScriptsBefore || []; window.promisedConsentScriptsAfter = window.promisedConsentScriptsAfter || []; loadPromisedConsentScripts({ consentUrl: 'https://www.ionos.com/modules/hosting-common/script/privacy/bundle.js', consentType: 'default', before: window.promisedConsentScriptsBefore, after: window.promisedConsentScriptsAfter }); let scg = sessionStorage.getItem('salesChannelGuides'); let scgp = sessionStorage.getItem('salesChannelGuidesPreview'); console.info(scg, 'salesChannelGuides'); console.info(scgp, 'salesChannelGuidesPreview'); console.info(scg === scgp, 'salesChannelGuides === salesChannelGuidesPreview'); </script> <script> "use strict"; if (typeof ready !== 'function') { var ready=function(e){"loading"!==document.readyState?e():document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&e()})}; } /** Polyfill for NodeList.forEach */ if ('NodeList' in window && !NodeList.prototype.forEach) {NodeList.prototype.forEach = function (callback, thisArg) {thisArg = thisArg || window;for (var i = 0; i < this.length; i++) callback.call(thisArg, this[i], i, this);};} /** Polyfill for HTMLCollection.forEach */ if ('HTMLCollection' in window && !HTMLCollection.prototype.forEach) {HTMLCollection.prototype.forEach = function (callback, thisArg) {thisArg = thisArg || window;for (var i = 0; i < this.length; i++) callback.call(thisArg, this[i], i, this);};} /** Array.prototype.includes() polyfill @author Chris Ferdinandi @license MIT */ if (!Array.prototype.includes) {Array.prototype.includes = function (search, start) {'use strict';if (search instanceof RegExp) throw TypeError('first argument must not be a RegExp');if (start === undefined) start = 0;return this.indexOf(search, start) !== -1;};} /** Polyfill for Element.matches */ if (Element && !Element.prototype.matches) {Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;} </script> <meta name="theme-color" content="#02102b"/> <link rel="canonical" href="https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/"/> <link rel="alternate" hreflang="de" href="https://www.ionos.de/digitalguide/websites/webseiten-erstellen/was-ist-ein-static-site-generator/"/> <link rel="alternate" hreflang="de-AT" href="https://www.ionos.at/digitalguide/websites/webseiten-erstellen/was-ist-ein-static-site-generator/"/> <link rel="alternate" hreflang="de-DE" href="https://www.ionos.de/digitalguide/websites/webseiten-erstellen/was-ist-ein-static-site-generator/"/> <link rel="alternate" hreflang="en-CA" href="https://www.ionos.ca/digitalguide/websites/website-creation/what-is-a-static-site-generator/"/> <link rel="alternate" hreflang="en-GB" href="https://www.ionos.co.uk/digitalguide/websites/website-creation/what-is-a-static-site-generator/"/> <link rel="alternate" hreflang="en-US" href="https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/"/> <link rel="alternate" hreflang="es" href="https://www.ionos.com/es-us/digitalguide/paginas-web/creacion-de-paginas-web/que-es-un-static-site-generator/"/> <link rel="alternate" hreflang="es-AR" href="https://www.ionos.com/es-us/digitalguide/paginas-web/creacion-de-paginas-web/que-es-un-static-site-generator/"/> <link rel="alternate" hreflang="es-ES" href="https://www.ionos.es/digitalguide/paginas-web/creacion-de-paginas-web/que-es-un-static-site-generator/"/> <link rel="alternate" hreflang="es-MX" href="https://www.ionos.mx/digitalguide/paginas-web/creacion-de-paginas-web/que-es-un-static-site-generator/"/> <link rel="alternate" hreflang="fr" href="https://www.ionos.fr/digitalguide/sites-internet/creation-de-sites-internet/quest-ce-quun-generateur-de-site-statique/"/> <link rel="alternate" hreflang="it" href="https://www.ionos.it/digitalguide/siti-web/creare-siti/che-cosa-sono-i-generatori-di-siti-web-statici/"/> <link rel="alternate" hreflang="x-default" href="https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/"/> </head> <body class="position-relative page-1726"> <nav id="navigation-main" class="navbar brand-header-bg brand-header-color position-fixed fixed-top contain-style" data-bs-theme="dark"><span class="scroll-indicator d-block fixed-top w-100"><span class="d-block brand-scroll-indicator-bg"></span></span><div class="container-fluid container-sm"><a data-linkid="guides.logo.header" class="navbar-brand mx-0 d-flex align-items-center link-internal" href="https://www.ionos.com/digitalguide/" target="_top" title="Digital Guide" data-guides-target-uid="1"><svg class="d-inline-block m-0 brand-logo brand-header-color"><use xlink:href="#ionos-logo" /></svg><span class="brand-entity d-inline-block m-0 ms-3 brand-header-color lh-1">Digital Guide</span></a><form id="search-bar" class="search-form input-group input-group-sm w-auto mx-5 d-none d-lg-flex flex-fill" role="search" action="https://www.ionos.com/digitalguide/search/" method="POST" autocomplete="off"><span class="input-group-text rounded-start-5 border-0 px-0 brand-header-search-bg"><button class="btn btn-sm brand-header-search-bg brand-header-muted-color" type="submit" id="navbar-search" data-linkid="guides.module.search.btn"><svg width="16" height="16"><use xlink:href="#icon-search"></use></svg><span class="visually-hidden">Search</span></button></span><input class="form-control rounded-end-5 border-0 ps-1 brand-header-search-bg brand-header-muted-color" type="text" name="search" onkeyup="javascript:localStorage.setItem('searchTerm', cleanupSearchString(this.value))" placeholder="Search" autocomplete="off" aria-label="Search" aria-describedby="navbar-search" spellcheck="false" ></form><button class="btn btn-sm btn-cta px-3 ms-auto me-5 d-none d-sm-block" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbar-products" aria-controls="navbar-products" aria-labelledby="navbar-products"> IONOS Products </button><div class="offcanvas offcanvas-top brand-header-bg brand-header-color" data-bs-hideresize="true" tabindex="-1" id="navbar-products" aria-labelledby="navbar-products"><div class="offcanvas-header"><span class="offcanvas-title h5 brand-header-color" id="offcanvas-label-navigation-products">IONOS Products</span><button type="button" class="btn-close brand-header-color navbar-toggler" data-bs-dismiss="offcanvas" aria-label="Close"></button></div><div class="offcanvas-body pt-0 position-relative align-items-center"><ul class="nav"><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><span class="nav-link disabled brand-header-muted-color">Domains & SSL</span><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/domains/domain-names" target="_top" data-linkid="guides.navigation.products.domains-ssl.domain-names" class="nav-link link-internal">Domain Names</a></li><li class="nav-item"><a href="https://www.ionos.com/domains/domain-check" target="_top" data-linkid="guides.navigation.products.domains-ssl.domain-name-search" class="nav-link link-internal">Domain Name Search</a></li><li class="nav-item"><a href="https://www.ionos.com/domains/domain-transfer" target="_top" data-linkid="guides.navigation.products.domains-ssl.free-domain-transfer" class="nav-link link-internal">Free Domain Transfer</a></li><li class="nav-item"><a href="https://www.ionos.com/domains/com-domain" target="_top" data-linkid="guides.navigation.products.domains-ssl.com-domain" class="nav-link link-internal">.com Domain</a></li><li class="nav-item"><a href="https://www.ionos.com/domains/1-dollar-domains" target="_top" data-linkid="guides.navigation.products.domains-ssl.1-dollar-domain" class="nav-link link-internal">1 Dollar Domain</a></li><li class="nav-item"><a href="https://www.ionos.com/domains/cheap-domain-names" target="_top" data-linkid="guides.navigation.products.domains-ssl.cheap-domain" class="nav-link link-internal">Cheap Domain</a></li><li class="nav-item"><a href="https://www.ionos.com/domains/free-domain-name" target="_top" data-linkid="guides.navigation.products.domains-ssl.free-domain" class="nav-link link-internal">Free Domain</a></li><li class="nav-item"><a href="https://www.ionos.com/security/ssl-certificate" target="_top" data-linkid="guides.navigation.products.domains-ssl.buy-ssl-certificate" class="nav-link link-internal">Buy SSL Certificate</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><span class="nav-link disabled brand-header-muted-color">Websites & eCommerce</span><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/websites/website-builder" target="_top" data-linkid="guides.navigation.products.websites-ecommerce.website-builder" class="nav-link link-internal">Website Builder</a></li><li class="nav-item"><a href="https://www.ionos.com/websites/launch-your-website" target="_top" data-linkid="guides.navigation.products.websites-ecommerce.website-platforms" class="nav-link link-internal">Website Platforms</a></li><li class="nav-item"><a href="https://www.ionos.com/websites/templates" target="_top" data-linkid="guides.navigation.products.websites-ecommerce.website-templates" class="nav-link link-internal">Website Templates</a></li><li class="nav-item"><a href="https://www.ionos.com/websites/custom-made-website" target="_top" data-linkid="guides.navigation.products.websites-ecommerce.web-design-services" class="nav-link link-internal">Web Design Services</a></li><li class="nav-item"><a href="https://www.ionos.com/ecommerce-solutions/ecommerce-website-builder" target="_top" data-linkid="guides.navigation.products.websites-ecommerce.ecommerce-website-builder" class="nav-link link-internal">eCommerce Website Builder</a></li><li class="nav-item"><a href="https://www.ionos.com/marketing/local-business-listings" target="_top" data-linkid="guides.navigation.products.websites-ecommerce.search-engine-optimization-tool" class="nav-link link-internal">Search Engine Optimization Tool</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><span class="nav-link disabled brand-header-muted-color">Hosting & WordPress</span><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/hosting/web-hosting" target="_top" data-linkid="guides.navigation.products.hosting-wordpress.web-hosting" class="nav-link link-internal">Web Hosting</a></li><li class="nav-item"><a href="https://www.ionos.com/hosting/managed-wordpress" target="_top" data-linkid="guides.navigation.products.hosting-wordpress.wordpress-hosting" class="nav-link link-internal">WordPress Hosting</a></li><li class="nav-item"><a href="https://www.ionos.com/hosting/1-dollar-web-hosting" target="_top" data-linkid="guides.navigation.products.hosting-wordpress.1-dollar-hosting" class="nav-link link-internal">1 Dollar Hosting</a></li><li class="nav-item"><a href="https://www.ionos.com/hosting/windows-hosting" target="_top" data-linkid="guides.navigation.products.hosting-wordpress.windows-hosting" class="nav-link link-internal">Windows Hosting</a></li><li class="nav-item"><a href="https://www.ionos.com/hosting/free-website-hosting" target="_top" data-linkid="guides.navigation.products.hosting-wordpress.free-website-hosting" class="nav-link link-internal">Free Website Hosting</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><span class="nav-link disabled brand-header-muted-color">Office</span><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/office-solutions/create-an-email-address" target="_top" data-linkid="guides.navigation.products.office.create-business-email" class="nav-link link-internal">Create Business Email</a></li><li class="nav-item"><a href="https://www.ionos.com/office-solutions/hidrive-cloud-storage" target="_top" data-linkid="guides.navigation.products.office.hidrive-cloud-storage" class="nav-link link-internal">HiDrive Cloud Storage</a></li><li class="nav-item"><a href="https://www.ionos.com/office-solutions/microsoft-office" target="_top" data-linkid="guides.navigation.products.office.microsoft-365-business" class="nav-link link-internal">Microsoft 365 Business</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><span class="nav-link disabled brand-header-muted-color">Servers</span><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/cloud/cloud-servers" target="_top" data-linkid="guides.navigation.products.servers.cloud-server" class="nav-link link-internal">Cloud Server</a></li><li class="nav-item"><a href="https://www.ionos.com/servers/vps" target="_top" data-linkid="guides.navigation.products.servers.vps-hosting" class="nav-link link-internal">VPS Hosting</a></li><li class="nav-item"><a href="https://www.ionos.com/servers/free-vps" target="_top" data-linkid="guides.navigation.products.servers.free-vps" class="nav-link link-internal">Free VPS</a></li><li class="nav-item"><a href="https://www.ionos.com/servers/dedicated-servers" target="_top" data-linkid="guides.navigation.products.servers.dedicated-servers" class="nav-link link-internal">Dedicated Servers</a></li><li class="nav-item"><a href="https://www.ionos.com/servers/rent-a-server" target="_top" data-linkid="guides.navigation.products.servers.rent-a-server" class="nav-link link-internal">Rent a Server</a></li><li class="nav-item"><a href="https://cloud.ionos.com/" target="_top" data-linkid="guides.navigation.products.servers.ionos-cloud" class="nav-link link-internal">IONOS Cloud</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><span class="nav-link disabled brand-header-muted-color">Tools</span><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/tools/business-name-generator" target="_top" data-linkid="guides.navigation.products.tools.business-name-generator" class="nav-link link-internal">Business Name Generator</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/logo-maker" target="_top" data-linkid="guides.navigation.products.tools.logo-creator" class="nav-link link-internal">Logo Creator</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/favicon-generator" target="_top" data-linkid="guides.navigation.products.tools.favicon-generator" class="nav-link link-internal">Favicon Generator</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/whois-domain-lookup" target="_top" data-linkid="guides.navigation.products.tools.whois-lookup" class="nav-link link-internal">Whois Lookup</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/website-checker" target="_top" data-linkid="guides.navigation.products.tools.website-checker" class="nav-link link-internal">Website Checker</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/seo-check" target="_top" data-linkid="guides.navigation.products.tools.seo-check" class="nav-link link-internal">SEO Check</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/ssl-checker" target="_top" data-linkid="guides.navigation.products.tools.ssl-checker" class="nav-link link-internal">SSL Checker</a></li><li class="nav-item"><a href="https://www.ionos.com/tools/ip-address" target="_top" data-linkid="guides.navigation.products.tools.ip-address-check" class="nav-link link-internal">IP Address Check</a></li></ul></li></ul></div></div><button class="navbar-toggler border-0 collapsed" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbar-main" aria-controls="navbar-main" aria-labelledby="navbar-main"><span class="navbar-toggler-icon"></span></button><div class="offcanvas offcanvas-top brand-header-bg brand-header-color" data-bs-hideresize="true" tabindex="-1" id="navbar-main" aria-labelledby="navbar-main"><div class="offcanvas-header"><span class="offcanvas-title h5 brand-header-color" id="offcanvas-label-navigation-main">Main menu</span><button type="button" class="btn-close brand-header-color navbar-toggler" data-bs-dismiss="offcanvas" aria-label="Close"></button></div><div class="offcanvas-body pt-0 position-relative align-items-center"><div class="row"><div class="col-12 col-sm-6 align-self-center order-1 px-3 py-1"><form id="search-navigation" class="search-form input-group input-group-sm w-auto" role="search" action="https://www.ionos.com/digitalguide/search/" method="POST" autocomplete="off"><span class="input-group-text rounded-start-5 border-0 px-0 brand-header-search-bg"><button class="btn btn-sm brand-header-search-bg brand-header-muted-color" type="submit" id="offcanvas-search" data-linkid="guides.module.search.btn"><svg width="16" height="16"><use xlink:href="#icon-search"></use></svg><span class="visually-hidden">Search</span></button></span><input class="form-control rounded-end-5 border-0 ps-1 brand-header-search-bg brand-header-muted-color" type="text" name="search" onkeyup="javascript:localStorage.setItem('searchTerm', cleanupSearchString(this.value))" placeholder="Search" autocomplete="off" aria-label="Search" aria-describedby="navbar-search" spellcheck="false" ></form></div><div class="col-12 col-sm-6 align-self-center order-3 order-sm-2 px-3"><button class="btn btn-sm btn-cta px-3" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbar-products" aria-controls="navbar-products" aria-labelledby="navbar-products">IONOS Products</button></div><div class="col-12 order-2 order-sm-3"><ul class="nav"><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><a href="https://www.ionos.com/digitalguide/websites/" target="_top" data-linkid="guides.navigation.main.websites" title="Websites" class="nav-link active link-internal">Websites</a><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/digitalguide/websites/website-creation/" target="_top" data-linkid="guides.navigation.main.websites.website-creation" title="Website creation" class="nav-link active link-internal">Website creation</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/websites/web-design/" target="_top" data-linkid="guides.navigation.main.websites.web-design" title="Web design" class="nav-link link-internal">Web design</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/websites/web-development/" target="_top" data-linkid="guides.navigation.main.websites.web-development" title="Web development" class="nav-link link-internal">Web development</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/websites/digital-law/" target="_top" data-linkid="guides.navigation.main.websites.digital-law" title="Digital law" class="nav-link link-internal">Digital law</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><a href="https://www.ionos.com/digitalguide/hosting/" target="_top" data-linkid="guides.navigation.main.hosting" title="Hosting" class="nav-link link-internal">Hosting</a><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/digitalguide/hosting/cms/" target="_top" data-linkid="guides.navigation.main.hosting.cms" title="CMS" class="nav-link link-internal">CMS</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/hosting/blogs/" target="_top" data-linkid="guides.navigation.main.hosting.blogs" title="Blogs" class="nav-link link-internal">Blogs</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/hosting/technical-matters/" target="_top" data-linkid="guides.navigation.main.hosting.technical-matters" title="Technical matters" class="nav-link link-internal">Technical matters</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><a href="https://www.ionos.com/digitalguide/server/" target="_top" data-linkid="guides.navigation.main.server" title="Server" class="nav-link link-internal">Server</a><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/digitalguide/server/know-how/" target="_top" data-linkid="guides.navigation.main.server.know-how" title="Know-how" class="nav-link link-internal">Know-how</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/server/configuration/" target="_top" data-linkid="guides.navigation.main.server.configuration" title="Configuration" class="nav-link link-internal">Configuration</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/server/security/" target="_top" data-linkid="guides.navigation.main.server.security" title="Security" class="nav-link link-internal">Security</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/server/tools/" target="_top" data-linkid="guides.navigation.main.server.tools" title="Tools" class="nav-link link-internal">Tools</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><a href="https://www.ionos.com/digitalguide/domains/" target="_top" data-linkid="guides.navigation.main.domains" title="Domains" class="nav-link link-internal">Domains</a><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/digitalguide/domains/domain-extensions/" target="_top" data-linkid="guides.navigation.main.domains.domain-extensions" title="Domain extensions" class="nav-link link-internal">Domain extensions</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/domains/domain-administration/" target="_top" data-linkid="guides.navigation.main.domains.domain-administration" title="Domain administration" class="nav-link link-internal">Domain administration</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/domains/domain-news/" target="_top" data-linkid="guides.navigation.main.domains.domain-news" title="Domain news" class="nav-link link-internal">Domain news</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/domains/domain-tips/" target="_top" data-linkid="guides.navigation.main.domains.domain-tips" title="Domain tips" class="nav-link link-internal">Domain tips</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><a href="https://www.ionos.com/digitalguide/online-marketing/" target="_top" data-linkid="guides.navigation.main.online-marketing" title="Online marketing" class="nav-link link-internal">Online marketing</a><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/digitalguide/online-marketing/online-sales/" target="_top" data-linkid="guides.navigation.main.online-marketing.online-sales" title="Online sales" class="nav-link link-internal">Online sales</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/online-marketing/search-engine-marketing/" target="_top" data-linkid="guides.navigation.main.online-marketing.search-engine-marketing" title="Search engine marketing" class="nav-link link-internal">Search engine marketing</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/online-marketing/social-media/" target="_top" data-linkid="guides.navigation.main.online-marketing.social-media" title="Social media" class="nav-link link-internal">Social media</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/online-marketing/web-analytics/" target="_top" data-linkid="guides.navigation.main.online-marketing.web-analytics" title="Web analytics" class="nav-link link-internal">Web analytics</a></li></ul></li><li class="nav-item col-12 col-sm-6 col-lg-4 col-xxl-2 px-1 my-2"><a href="https://www.ionos.com/digitalguide/e-mail/" target="_top" data-linkid="guides.navigation.main.e-mail" title="E-mail" class="nav-link link-internal">E-mail</a><ul class="nav flex-column mt-2 pt-2 border-top brand-header-border-color"><li class="nav-item"><a href="https://www.ionos.com/digitalguide/e-mail/e-mail-marketing/" target="_top" data-linkid="guides.navigation.main.e-mail.e-mail-marketing" title="E-mail marketing" class="nav-link link-internal">E-mail marketing</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/e-mail/e-mail-security/" target="_top" data-linkid="guides.navigation.main.e-mail.e-mail-security" title="E-Mail security" class="nav-link link-internal">E-Mail security</a></li><li class="nav-item"><a href="https://www.ionos.com/digitalguide/e-mail/technical-matters/" target="_top" data-linkid="guides.navigation.main.e-mail.technical-matters" title="Technical matters" class="nav-link link-internal">Technical matters</a></li></ul></li></ul></div></div></div></div></div></nav> <article> <div class="bg-transparent bg-md-brand-gray-100"> <nav aria-label="breadcrumb" class="d-none d-md-flex pt-2 pt-lg-5 container-fluid container-sm contain-style"> <script type="application/ld+json">{"@context": "http://schema.org","@type": "BreadcrumbList","itemListElement": [{"@type":"ListItem","position":1,"name":"IONOS","item":"https:\/\/www.ionos.com"},{"@type":"ListItem","position":2,"name":"Digital Guide","item":"https:\/\/www.ionos.com\/digitalguide\/"},{"@type":"ListItem","position":3,"name":"Websites","item":"https:\/\/www.ionos.com\/digitalguide\/websites\/"},{"@type":"ListItem","position":4,"name":"Website creation","item":"https:\/\/www.ionos.com\/digitalguide\/websites\/website-creation\/"},{"@type":"ListItem","position":5,"name":"What is a static site generator?"}]}</script> <ol class="breadcrumb m-0"> <li class="breadcrumb-item m-0 p-0"><a class="text-decoration-none link-internal" href="https://www.ionos.com" title="IONOS" data-linkid="guides.navigation.breadcrumb.ionos" target="_top">IONOS</a></li> <li class="breadcrumb-item m-0 p-0"><svg width="16" height="16" class="mx-1 brand-breadcrumb-icon-color"><use xlink:href="#icon-breadcrumb-divider"/></svg><a data-linkid="guides.navigation.breadcrumb.digital-guide" class="text-decoration-none link-internal" title="Digital Guide" href="https://www.ionos.com/digitalguide/" target="_top">Digital Guide</a></li> <li class="breadcrumb-item m-0 p-0"><svg width="16" height="16" class="mx-1 brand-breadcrumb-icon-color"><use xlink:href="#icon-breadcrumb-divider"/></svg><a data-linkid="guides.navigation.breadcrumb.websites" class="text-decoration-none link-internal" title="Websites" href="https://www.ionos.com/digitalguide/websites/" target="_top">Websites</a></li> <li class="breadcrumb-item m-0 p-0"><svg width="16" height="16" class="mx-1 brand-breadcrumb-icon-color"><use xlink:href="#icon-breadcrumb-divider"/></svg><a data-linkid="guides.navigation.breadcrumb.website-creation" class="text-decoration-none link-internal" title="Website creation" href="https://www.ionos.com/digitalguide/websites/website-creation/" target="_top">Website creation</a></li> <li class="breadcrumb-item active m-0 p-0" aria-current="page"><svg width="16" height="16" class="mx-1 brand-breadcrumb-icon-color"><use xlink:href="#icon-breadcrumb-divider"/></svg>What is a static site generator?</li> </ol> </nav> <div class="container-fluid container-sm py-2 pb-md-5 py-lg-5 contain-style position-relative overflow-hidden"> <div class="row contain-style gap-2"> <div class="col d-flex flex-column contain-style gap-2 justify-content-around order-lg-last"> <h1 class="m-0 order-lg-2">What is a static site generator?</h1> <ul class="nav flex-row justify-content-between align-items-center my-0 gap-2 order-lg-last contain-style"><li class="my-0 d-flex flex-nowrap align-items-center position-relative"><img class="img-fluid brand-btn-bg rounded-circle me-2 border border-1 brand-btn-border-color overflow-hidden d-none d-sm-block" title="IONOS editorial team" alt="IONOS editorial team" src="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Icons/logo-icon-nlement-48px-and-smaller.svg" width="48" height="48" /><span class="d-block"><span class="d-block">IONOS editorial team</span><span class=" d-flex fs-sm align-items-center gap-1"><svg width="16" height="16"><use xlink:href="#icon-calendar-event"></use></svg><time datetime="2023-03-01">03/01/2023</time></span><span class="time-to-read d-flex fs-sm align-items-center gap-1"><svg width="16" height="16"><use xlink:href="#icon-stopwatch"></use></svg><span>9 mins</span></span></span></li><li class="my-0"><ul class="nav flex-row"><li><a data-linkid="guides.article.share.facebook" target="_blank" title="Share on Facebook" href="https://www.facebook.com/sharer/sharer.php?u=https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/" class="btn btn-lg btn-skeleton p-1 rounded-circle lh-1 facebook link-external" rel="noopener noreferrer"><svg width="16" height="16"><use xlink:href="#facebook-logo"/></svg><span class="visually-hidden">Share on Facebook</span></a></li><li class="mx-1"><a data-linkid="guides.article.share.twitter" target="_blank" title="Share on Twitter" href="https://twitter.com/intent/tweet?source=https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/&text=What%20is%20a%20static%20site%20generator%3F&hashtags=DigitalGuide&url=https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/" class="btn btn-lg btn-skeleton p-1 rounded-circle lh-1 twitter-x link-external" rel="noopener noreferrer"><svg width="16" height="16"><use xlink:href="#twitter-logo"/></svg><span class="visually-hidden">Share on Twitter</span></a></li><li><a data-linkid="guides.article.share.linkedin" target="_blank" title="Share on LinkedIn" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.ionos.com/digitalguide/websites/website-creation/what-is-a-static-site-generator/" class="btn btn-lg btn-skeleton p-1 rounded-circle lh-1 linkedin link-external" rel="noopener noreferrer"><svg width="16" height="16"><use xlink:href="#linkedin-logo"/></svg><span class="visually-hidden">Share on LinkedIn</span></a></li></ul></li></ul> <aside class="tags d-none order-lg-first d-lg-flex flex-wrap gap-2 align-items-center contain-style"> <ul class="nav d-flex flex-wrap gap-2 z-1"><li><a data-linkid="guides.article.tags.html" class="btn btn-sm btn-default z-1 link-internal" href="https://www.ionos.com/digitalguide/tags/html/" target="_top">HTML</a></li><li><a data-linkid="guides.article.tags.css" class="btn btn-sm btn-default z-1 link-internal" href="https://www.ionos.com/digitalguide/tags/css/" target="_top">CSS</a></li></ul> </aside> </div> <div class="col-12 col-lg-6 d-none d-md-block mt-2 mt-lg-0" style="display: none"> <figure class="image position-relative overflow-hidden align-center visual-img contain-style my-0 w-100 h-100"> <picture><source media="(min-width: 1680px)" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_16b27babe3.webp"/><source media="(min-width: 1400px)" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_077207c93c.webp"/><source media="(min-width: 1200px)" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_1481653595.webp"/><source media="(min-width: 922px)" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_87ae2273d7.webp"/><source media="(min-width: 768px)" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_8baa7da110.webp"/><img src="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMSAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idHJhbnNwYXJlbnQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K" width="1200" height="630" title="What is a static site generator?" alt="What is a static site generator?" class="img-fluid d-block mx-auto img-format-landscape w-100 h-100 object-fit-cover rounded-4 border border-1 border-brand-gray-100" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/eigene-website-baukasten-t.jpg"/></picture> </figure> </div> </div> </div> </div> <div class="container-fluid container-sm"> <div class="row py-2 py-lg-5 contain-style position-relative gap-4 flex-xl-nowrap"> <section class="content col-12 col-xl-6 col-xxxl-7 contain-style order-2 position-relative overflow-hidden mw-xl-content-area"> <div id="c431578" class="textmedia" data-ctype="textmedia"> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>To implement static web presences, developers are increasingly turning to Jamstacks with static site or static website generators, which greatly simplify the programming process for <strong>rapid page deployment</strong>. Any dynamic functionality is offloaded to a distributed architecture. <a href="https://www.ionos.com/digitalguide/websites/web-development/server-side-and-client-side-scripting-the-differences/" target="_top" title="Server-side and client-side scripting: the differences" data-linkid="guides.content.link.int.client-side" class="link-internal">Client-side</a> JavaScript, which communicates with API microservices, provides the necessary dynamism. But what exactly is a static site generator?</p> </div> </div> </div> <div id="c431579" class="textmedia" data-ctype="textmedia"> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Static website generators are ready-made code frameworks on the basis of which static web pages are developed. Unlike content management systems that retrieve content from databases, static site generators create the HTML files of a page <strong>using a script</strong> from input files stored in a file system. This process occurs <strong>at the time of creation</strong>, while changes are being made to code and content, rather than when the user views the page in a browser.</p> </div> </div> </div> <div id="c431580" class="textmedia my-4 position-relative d-flex flex-column rounded-4 p-3 border brand-box-alt-bg brand-box-alt-border-color brand-box-alt-color" data-ctype="textmedia"> <div class="h2 has-icon"><svg width="16" height="16"><use xlink:href="#icon-exclamation-circle"></use></svg> Note </div> <div class="ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>The static site generator script for converting input files into output files can be written in a <strong>variety of languages</strong>. JavaScript in connection with Jamstacks is particularly popular here. Alternatives such as PHP, Python, Ruby or <a href="https://www.ionos.com/digitalguide/server/know-how/golang/" target="_top" title="Golang" data-linkid="guides.content.link.int.go" class="link-internal">Go</a> are also in demand.</p> </div> </div> </div> <div id="c431581" class="textmedia" data-ctype="textmedia"> <div class="text-row ce-textpic ce-center ce-below"> <div class="ce-bodytext"> <p>Installation and operation of a static site generator uses the <strong>command line</strong>. The actual website content is written in a <strong>markup language </strong>like <a href="https://www.ionos.com/digitalguide/websites/web-development/markdown/" target="_top" title="Markdown" data-linkid="guides.content.link.int.markdown" class="link-internal">Markdown</a>. Markdown documents can be easily customized in GitHub’s browser tool. Alternatively, using a text editor or special <a href="https://www.ionos.com/digitalguide/websites/web-development/markdown-editors/" target="_top" title="Markdown editors" data-linkid="guides.content.link.int.markdown-editors" class="link-internal">markdown editors</a> works as well. By adding <strong>metadata </strong>to the beginning of the file (often referred to as “front matter”), the generator ensures that the website is displayed in the visitor’s browser.</p> </div> <div class="aligncenter ce-gallery" data-ce-columns="1" data-ce-images="1"> <div class="ce-outer"> <div class="ce-inner"> <div class="row ce-row"> <div class="col ce-column"> <figure class="rounded-4 w-auto mx-auto image position-relative overflow-hidden d-flex flex-column my-4 contain-style" style="max-width: 1920px"><a href="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/Static-site-generator-functional-principle.png" aria-label="🔎 Static site generator: functional principle" data-bs-toggle="modal" data-bs-target="#modal-85331" data-lightbox="85331" data-title="" class="img-holder d-block pe-none pe-lg-auto link-internal" target="_top"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/Static-site-generator-functional-principle.png" width="1920" height="1080" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_8f68f6e6e9.webp 750w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_65de15f564.webp 644w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_d55ad6f6b2.webp 554w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_55771a3dbe.webp 944w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_7098a68f16.webp 704w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_e13dec95c7.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_ad19f9716d.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_48135583fe.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_48135583fe.webp 304w" sizes="(min-width: 1680px) 750px,(min-width: 1400px) 644px,(min-width: 1200px) 554px,(min-width: 992px) 944px,(min-width: 768px) 704px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="Static site generator: functional principle" alt="Static site generator: functional principle" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape w-100 rounded-4 border border-1 border-brand-gray-100" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/Static-site-generator-functional-principle.png"></a><figcaption class="img-caption fs-sm text-start mx-2 d-block"> Static site generator: functional principle </figcaption></figure><div class="modal fade lightbox" id="modal-85331" tabindex="-1" aria-label="" aria-hidden="true" style="display: none"><div class="modal-dialog modal-dialog-centered modal-xl" style="max-width: 1000px"><div class="modal-content overflow-hidden rounded-4"><div class="modal-body p-0 m-0"><figure class="rounded-4 w-auto mx-auto image position-relative overflow-hidden align-items-center d-flex flex-column contain-style"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/Static-site-generator-functional-principle.png" width="1920" height="1080" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_406becf43d.png 1920w,https://www.ionos.com/digitalguide/fileadmin/_processed_/5/0/csm_Static-site-generator-functional-principle_406becf43d.png 1920w" sizes="(min-width: 992px) 1920px,(max-width:991px) 1920px" title="Static site generator: functional principle" alt="Static site generator: functional principle" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape w-100 rounded-4 border border-1 border-brand-gray-100" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Screenshots_2022/Static-site-generator-functional-principle.png"><figcaption class="img-caption fs-sm text-start mx-2 d-block"> Static site generator: functional principle </figcaption></figure></div><button type="button" class="btn-close position-absolute top-0 end-0 me-2 mt-2" data-bs-dismiss="modal" aria-label="Close" style="filter:invert(1);background-color:rgba(0,0,0,.5)"></button></div></div></div> </div> </div> </div> </div> </div> </div> </div> <div id="c431582" class="textmedia" data-ctype="textmedia"> <h2> What are the advantages of a static website? </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>In the case of blogs or company websites, the focus of a website is mostly on <strong>sharing information</strong>. Content management systems and website builders can be used to that end, but static site generators have <strong>decisive advantages</strong> compared to classic solutions:</p><ul> <li><strong>Speed</strong>: Projects created with a static website generator are characterized by excellent user speed. Processing of files occurs at a time when pages are being created and not only at the time of querying the page (keyword: database query) by the user.</li> <li><strong>Content version control</strong>: Though content of dynamic web projects is stored separately from the code in databases, the content of a static website typically exists in <strong>simple text files</strong>. Structurally, the content elements are no different from other components of the code base, which is why version management can be set up without any problems. For example, not only can the code framework of a blog be <strong>managed in a GitHub directory</strong>, but individual blog posts can be managed in a GitHub directory.</li> <li><strong>Security</strong>: Another advantage of websites created using static website generators is that they offer <strong>small potential for attacks</strong>, unlike, for example, content management systems such as WordPress, which are prone to security vulnerabilities and need to be updated regularly. The risk potential is limited to single access by the client when accessing the site. Since this usually does not involve more than delivering <strong>structured HTML pages</strong>, the probability of unwanted access is reduced to a minimum.</li> <li><strong>Simple server maintenance</strong>: As a software package, a static site generator has dependencies that must be fulfilled. The number of required components is comparatively low, but these are only relevant during the development process anyway. While other solutions require diverse modules, databases, libraries, frameworks, and packets for <strong>live operation</strong> and need to be updated regularly, static sites are <strong>only bound to a functioning web server</strong>.</li> </ul> </div> </div> </div> <div id="c431583" class="textmedia" data-ctype="textmedia"> <h2> What’s the difference between a static site generator and classic CMS? </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Content management systems revolutionized the way websites are built. The high <strong>manual effort</strong> required for programming classic static websites quickly became a thing of the past thanks to practical systems. The key innovation and change from the previous approach is the <strong>storing of content in databases</strong> and the ability to assemble and display pages in a suitable way only when users request them.</p> <p>Static site generators bridge the gap between the classic static websites and CMS. As with classic programming approaches, pages and their content are pre-generated before they are accessed by users. Like content management systems, static site generators can use <strong>templates and generate pages automatically</strong>.</p> </div> </div> </div> <div id="c431584" class="textmedia my-4 position-relative d-flex flex-column rounded-4 p-3 border brand-box-alt-bg brand-box-alt-border-color brand-box-alt-color" data-ctype="textmedia"> <div class="h2 has-icon"><svg width="16" height="16"><use xlink:href="#icon-exclamation-circle"></use></svg> Note </div> <div class="ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Content management systems and static site generators can complement each other in a useful way: they are a combination of <a href="https://www.ionos.com/digitalguide/hosting/cms/headless-cms-what-are-the-benefits/" target="_top" title="Headless CMS: What are the benefits?" data-linkid="guides.content.link.int.headless-cms" class="link-internal">headless CMS</a> and generator, using the latter as a driving force for linking code and content.</p> </div> </div> </div> <div id="c431585" class="textmedia" data-ctype="textmedia"> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>The key difference between a static site generator and CMS is the <strong>point in time at which the web pages are created</strong> – in the former this occurs during the development process, and in the latter, at the user’s request. The generator eliminates the dependence on databases or any other external data source, as well as <strong>server-side data processing</strong> when accessing the website. Of course, it is also possible to integrate external data sources with an <a href="https://www.ionos.com/digitalguide/websites/web-development/what-is-an-api/" target="_top" title="What is an API?" data-linkid="guides.content.link.int.api" class="link-internal">API</a> if required.</p> </div> </div> </div> <div id="c626581" class="textmedia" data-ctype="textmedia"> <div class="text-row ce-textpic ce-center ce-above"> <div class="aligncenter ce-gallery" data-ce-columns="1" data-ce-images="1"> <div class="ce-outer"> <div class="ce-inner"> <div class="row ce-row"> <div class="col ce-column"> <figure class="video"> <div class="video-embed"> <div class="ratio ratio-16x9 my-4 rounded-4 overflow-hidden"> <div class="youtube-media-container media-present" id="yt___NZJW7IoGR4"> <img class="object-fit-cover position-absolute w-100 h-100 top-0 end-0 bottom-0 start-0" alt="_NZJW7IoGR4.jpg" loading="lazy" src="https://www.ionos.com/digitalguide/typo3temp/assets/_processed_/a/8/csm__NZJW7IoGR4_ff5b9ded4e.jpg" width="1280" height="720" /> <span class="yt_title d-flex align-items-center justify-content-center p-5 position-absolute top-0 right-0 bottom-0 start-0"> <span class="d-inline-block"> To display this video, third-party cookies are required. You can access and change your cookie settings <a href="javascript:void(privacyConsent.initialize(true));">here</a>. </span> </span> </div> </div> </div> </figure> </div> </div> </div> </div> </div> </div> </div> <div id="c431587" class="textmedia" data-ctype="textmedia"> <h2> Why use a static site generator? </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Using static website generators to build your own web project can pay off for several reasons. Probably the most decisive reason is the performance advantage that websites offer. Loading times resulting from the ready-generated content have a <strong>positive effect on the user experience</strong>. Since all website files are stored centrally at one point, projects based on a static site generator also offer <strong>maximum flexibility and availability</strong>. In addition, the administrative effort is minimal.</p> <p>However, if you intend to:</p><ul> <li>Regularly <strong>update</strong> content</li> <li><strong>Add features </strong>later</li> <li>Process <strong>user entries </strong></li> <li>Or make<strong> optical adjustments </strong>at any time and with little know-how,</li> </ul><p>solutions such as website builders and content management systems are preferable.</p> </div> </div> </div> <div id="c431588" class="textmedia" data-ctype="textmedia"> <h2> Weaknesses of static site generators </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>While the static pages offer plenty of advantages, such as excellent delivery speed or high security, static site generators are <strong>unsuitable for larger projects</strong>. For example, working with a generator not only requires extensive knowledge of Markdown, HTML, etc., but also lacks numerous <strong>automatic features</strong> traditionally included in content management systems and website builders. Other disadvantages of working with static website generators are:</p><ul> <li><strong>No real-time content: </strong>A static site generator does not provide any means of generating dynamic content (recommendations, price updates, full-text search, etc.). Elements that automatically adapt to the respective user by evaluating real-time data can only be realized <strong>with the help of client-side scripts</strong> (especially JavaScript).</li> <li><strong>Tedious utilization of user input: </strong>Another problem of missing server scripts and databases becomes apparent if the web project is to enable <strong>user input</strong> (for example, in a contact form). In that case, JavaScript or other third-party services are required. The platform <a href="https://disqus.com" target="_blank" class="link-external-blank link-external" title="External Comment Service for Websites: DISQUS" rel="noreferrer noopener noreferrer" data-linkid="guides.content.link.ext.disqus">DISQUS</a>, for example, can be used to add a comment function (including moderation and spam management) to static website generator projects.</li> <li><strong>No standard user interface: </strong>Static site generators, like <a href="https://www.ionos.com/digitalguide/hosting/cms/headless-cms-what-are-the-benefits/" target="_top" data-linkid="guides.content.link.int.headless-cms" class="link-internal" title="Headless CMS: What are the benefits?" data-guides-target-uid="1653">headless CMS</a>, do not include an out-of-the-box interface to insert new content or adjust or delete existing content, but are operated from the terminal. <a href="https://www.ionos.com/digitalguide/websites/website-creation/what-does-wysiwyg-mean/" target="_top" data-linkid="guides.content.link.int.wysiwyg-editors" class="link-internal" title="What does WYSIWYG mean?" data-guides-target-uid="1729">WYSIWYG editors</a> help to write the required Markdown code and to inspect the result in advance via the preview function, but finished files still need to be <strong>uploaded to the server</strong>.</li> </ul><p>To summarize, projects based on static pages have their weaknesses especially <strong>where timeliness, modification, and user interaction</strong> are required.</p> </div> </div> </div> <div id="c431589" class="textmedia" data-ctype="textmedia"> <h2> What are some well-known static website generators? </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>The number of static site generators has grown dramatically in recent years. On GitHub you can find the project directories of numerous open-source solutions that can be used free of charge to create your own website and customize it as needed.</p> <p>An overview of the most popular ones can be found on <a href="https://www.staticgen.com/" target="_blank" class="link-external-blank link-external" title="Overview of the best static site generators on StaticGen" rel="noreferrer noopener noreferrer" data-linkid="guides.content.link.ext.staticgen-com">staticgen.com</a> which lists options alphabetically or <strong>sorted by GitHub stars, forks, or issues</strong> (optimization suggestions/tasks). Additionally, website scaffolds can be filtered by the underlying programming language (including Ruby, JavaScript, Go...).</p> <p>The following table lists some of the most important generators based on the StaticGen information:</p><div class="table-responsive"><table class="table"> <tbody> <tr> <td> </td> <td><strong>License</strong></td> <td><strong>Language</strong></td> <td><strong>Template engine</strong></td> <td><strong>Website/Project site</strong></td> </tr> <tr> <td><strong>Jekyll</strong></td> <td>MIT</td> <td>Ruby</td> <td>Liquid</td> <td>jekyllrb.com</td> </tr> <tr> <td><strong>Hugo</strong></td> <td>APL 2.0</td> <td>Go</td> <td>Go</td> <td>gohugo.io</td> </tr> <tr> <td><strong>Gatsby</strong></td> <td>MIT</td> <td>JavaScript</td> <td>React</td> <td>gatsbyjs.com</td> </tr> <tr> <td><strong>Eleventy</strong></td> <td>MIT</td> <td>JavaScript</td> <td>Liquid, Nunjucks, and others</td> <td>11ty.dev</td> </tr> <tr> <td><strong>Hexo</strong></td> <td>MIT</td> <td>JavaScript</td> <td>EJS, Pug, and others</td> <td>hexo.io</td> </tr> <tr> <td><strong>Next.js</strong></td> <td>MIT</td> <td>JavaScript</td> <td>React</td> <td>nextjs.org</td> </tr> <tr> <td><strong>Nuxt</strong></td> <td>MIT</td> <td>JavaScript</td> <td>Vue</td> <td>nuxtjs.org</td> </tr> <tr> <td><strong>Gridsome</strong></td> <td>MIT</td> <td>JavaScript</td> <td>Vue</td> <td>gridsome.org</td> </tr> <tr> <td><strong>Metalsmith</strong></td> <td>MIT</td> <td>JavaScript</td> <td>Handlebars, Any JS</td> <td>metalsmith.io</td> </tr> <tr> <td><strong>Jigsaw</strong></td> <td>MIT</td> <td>PHP</td> <td>Blade</td> <td>jigsaw.tighten.co</td> </tr> <tr> <td><strong>Vuepress</strong></td> <td>MIT</td> <td>JavaScript</td> <td>Vue</td> <td>vuepress.vuejs.org</td> </tr> </tbody> </table></div> </div> </div> </div> <div id="c431590" class="textmedia my-4 position-relative d-flex flex-column rounded-4 p-3 border brand-box-alt-bg brand-box-alt-border-color brand-box-alt-color" data-ctype="textmedia"> <div class="h2 has-icon"><svg width="16" height="16"><use xlink:href="#icon-lightbulb"></use></svg> Tip </div> <div class="ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Read more about <a href="https://www.ionos.com/digitalguide/websites/website-creation/the-best-static-site-generators/" target="_top" title="The best static site generators" data-linkid="guides.content.link.int.the-best-static-site-generators" class="link-internal">“The best static site generators”</a> like Hugo or <a href="https://www.ionos.com/digitalguide/hosting/blogs/jekyll-the-basic-framework-for-web-projects-without-databases/" target="_top" title="Jekyll: the basic framework for web projects without databases" data-linkid="guides.content.link.int.jekyll" class="link-internal">Jekyll</a> as well as their strengths and weaknesses in our dedicated article.</p> </div> </div> </div> <div id="c431591" class="textmedia" data-ctype="textmedia"> <h2> Deploy a static site generator via GitHub – here’s how </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>You can simply <strong>store and maintain</strong> the code of static site generators, including content, assets, and scripts for generating the output in<strong> a GitHub repository</strong>. Your project is then linked to a version control and code collaboration is possible.</p> <p>All you need to do is deploy the files to a web server, and repeat the <strong>building process for HTML and CSS files</strong> each time the repository is updated. You can simplify this task by using hosted services for static site generators like <a href="https://www.ionos.com/hosting/deploy-now" target="_top" class="link-external-blank link-internal" title="Deploy Now from IONOS" data-linkid="guides.content.link.int.deploy-now">Deploy Now</a>. IONOS’ solution automatically triggers an <strong>update of static content</strong> on your web space in the background when you make changes to your static site generator’s directory. For this, Deploy Now uses a <a href="https://www.ionos.com/digitalguide/websites/web-development/github-actions/" target="_top" data-linkid="guides.content.link.int.github-actions" class="link-internal" title="GitHub Actions" data-guides-target-uid="24855">GitHub Actions</a> workflow that allows you to observe the build logs directly in the GitHub user interface.</p> </div> </div> </div> <div id="c431592" class="textmedia" data-ctype="textmedia"> <h2> Deploy Now: the new way to build websites </h2> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Deploy Now is a useful hosting service that offers support for popular static site generators and is best suited for <a href="https://www.ionos.com/hosting/jamstack" target="_top" class="link-external-blank link-internal" title="Jamstack: Secure and Fast Web Development - IONOS" data-linkid="guides.content.link.int.jamstack-hosting">Jamstack Hosting</a>. Furthermore, Deploy Now features easy staging and provides you with a free SSL/TLS certificate and DDoS protection for your project.</p> </div> </div> </div> <div id="c431594" class="textmedia" data-ctype="textmedia"> <div class="text-row ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>You decide whether to integrate your <strong>own domain</strong> or <a href="https://www.ionos.com/domains/domain-names" target="_top" class="link-external-blank link-internal" title="Buy domain and register it with IONOS" data-linkid="guides.content.link.int.register-a-new-domain">register a new domain</a>. For more information on technical configurations, tutorials, and starter projects, see the official <a href="https://docs.ionos.space/" target="_top" class="link-external-blank link-internal" title="Deploy Now: Online Documentation" data-linkid="guides.content.link.int.deploy-now-documentation">Deploy Now documentation</a>.</p> </div> </div> </div> <div id="c431595" class="textmedia my-4 position-relative d-flex flex-column rounded-4 p-3 border brand-box-alt-bg brand-box-alt-border-color brand-box-alt-color" data-ctype="textmedia"> <div class="h2 has-icon"><svg width="16" height="16"><use xlink:href="#icon-lightbulb"></use></svg> Tip </div> <div class="ce-textpic ce-center ce-above"> <div class="ce-bodytext"> <p>Create customer websites efficiently and securely with Jamstack. Learn all about issues with conventional CMS, why static pages become a good alternative when used in conjunction with Jamstack, and how you can use it for leaner workflows and better customer results in our whitepaper.</p> </div> </div> </div> <div id="c372268" class="mx-auto guides_cta_images" data-ctype="guides_cta_images"> <div class="position-relative my-4 rounded-4 p-4 layout-0 overflow-hidden"><div class="row d-flex flex-wrap align-items-bottom"><div class="col-12" style="z-index: 1"><div class="d-block mt-0 mx-0 mb-3 h3 headline"> Jamstack for modern web development </div></div><div class="col-12 col-sm"><p>Build faster websites through prerendering and leaner hosting.</p></div><div class="col-12 col-sm-4 d-flex align-items-center justify-content-start justify-content-sm-end"><button data-linkid="" type="submit" class="btn btn-cta stretched-link mb-sm-1 mt-3 mt-sm-0" onclick="globalSBSitecat('event121');window.open('https://www.ionos.com/hosting/jamstack','_top')">Host a Jamstack site</button></div></div></div> </div> <span class="d-block h4 text-center mb-4">Was this article helpful?</span> <div id="ratingContainer1726" class="mb-4"> <div class="d-flex justify-content-center align-items-bottom gap-2 recordrating-container"><button class="btn btn-default btn-lg position-relative lh-1 m-0 p-2" data-linkid="guides.rating.5" data-url="https://www.ionos.com/digitalguide/api/rating.json?tx_recordrating_recordrating%5Baction%5D=update&tx_recordrating_recordrating%5Bcontroller%5D=RecordRating&tx_recordrating_recordrating%5Brating%5D=5&tx_recordrating_recordrating%5BrecordUid%5D=1726&tx_recordrating_recordrating%5BsysLanguageUid%5D=3&tx_recordrating_recordrating%5Btable%5D=pages" onclick="getThisDataUrl.call(this, event, 'ratingContainer1726')"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M34 22.5C34 27.123 32.668 34 29 34H17.5C15.621 34 13.556 33.099 12 32.235V14.794L13.34 13.956C14.083 12.395 15 10.044 15 9V3.5C15 2.671 15.671 2 16.5 2H19.5C19.947 2 20.371 2.2 20.656 2.544C21.197 3.198 23.893 6.582 23.893 9C23.893 10.293 23.565 12.46 23.3 14H30.5C30.898 14 31.279 14.158 31.561 14.439C31.811 14.689 34 17.036 34 22.5ZM10 30.988V16C10 14.895 9.105 14 8 14H4C2.895 14 2 14.895 2 16V31C2 32.105 2.895 33 4 33H8C9.105 33 10 32.105 10 31V30.988Z" fill="currentColor"/></svg></button><button type="button" class="btn btn-default btn-lg position-relative lh-1 m-0 p-2" data-bs-toggle="modal" data-bs-target="#recordrating1726"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M31.561 21.561C31.28 21.842 30.898 22 30.5 22H23.3C23.565 23.54 23.893 25.707 23.893 27C23.893 29.417 21.197 32.802 20.656 33.456C20.371 33.801 19.947 34 19.5 34H16.5C15.671 34 15 33.329 15 32.5V27C15 25.956 14.083 23.604 13.34 22.044L12 21.206V3.765C13.556 2.9 15.621 2 17.5 2H29C32.668 2 34 8.877 34 13.5C34 18.963 31.811 21.311 31.561 21.561ZM10 5C10 3.895 9.105 3 8 3H4C2.895 3 2 3.895 2 5V20C2 21.105 2.895 22 4 22H8C9.105 22 10 21.105 10 20V5Z" fill="currentColor"/></svg></button><div class="modal fade" id="recordrating1726" tabindex="-1" aria-label="Was this article helpful?" aria-hidden="true"><div class="modal-dialog modal-dialog-centered"><div class="modal-content"><div class="modal-body"><span class="d-block h4 text-center m-0">Why not?</span><ul class="nav flex-column"><li class="nav-item"><button class="nav-link" data-linkid="guides.rating.1.1" data-url="https://www.ionos.com/digitalguide/api/rating.json?tx_recordrating_recordrating%5Baction%5D=update&tx_recordrating_recordrating%5Bcontroller%5D=RecordRating&tx_recordrating_recordrating%5Brating%5D=1&tx_recordrating_recordrating%5Breason%5D=1&tx_recordrating_recordrating%5BrecordUid%5D=1726&tx_recordrating_recordrating%5BsysLanguageUid%5D=3&tx_recordrating_recordrating%5Btable%5D=pages" onclick="getThisDataUrl.call(this, event, 'ratingContainer1726')" data-bs-dismiss="modal" aria-label="Close"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M31.561 21.561C31.28 21.842 30.898 22 30.5 22H23.3C23.565 23.54 23.893 25.707 23.893 27C23.893 29.417 21.197 32.802 20.656 33.456C20.371 33.801 19.947 34 19.5 34H16.5C15.671 34 15 33.329 15 32.5V27C15 25.956 14.083 23.604 13.34 22.044L12 21.206V3.765C13.556 2.9 15.621 2 17.5 2H29C32.668 2 34 8.877 34 13.5C34 18.963 31.811 21.311 31.561 21.561ZM10 5C10 3.895 9.105 3 8 3H4C2.895 3 2 3.895 2 5V20C2 21.105 2.895 22 4 22H8C9.105 22 10 21.105 10 20V5Z" fill="currentColor"/></svg> Outdated </button></li><li class="nav-item"><button class="nav-link" data-linkid="guides.rating.1.2" data-url="https://www.ionos.com/digitalguide/api/rating.json?tx_recordrating_recordrating%5Baction%5D=update&tx_recordrating_recordrating%5Bcontroller%5D=RecordRating&tx_recordrating_recordrating%5Brating%5D=1&tx_recordrating_recordrating%5Breason%5D=2&tx_recordrating_recordrating%5BrecordUid%5D=1726&tx_recordrating_recordrating%5BsysLanguageUid%5D=3&tx_recordrating_recordrating%5Btable%5D=pages" onclick="getThisDataUrl.call(this, event, 'ratingContainer1726')" data-bs-dismiss="modal" aria-label="Close"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M31.561 21.561C31.28 21.842 30.898 22 30.5 22H23.3C23.565 23.54 23.893 25.707 23.893 27C23.893 29.417 21.197 32.802 20.656 33.456C20.371 33.801 19.947 34 19.5 34H16.5C15.671 34 15 33.329 15 32.5V27C15 25.956 14.083 23.604 13.34 22.044L12 21.206V3.765C13.556 2.9 15.621 2 17.5 2H29C32.668 2 34 8.877 34 13.5C34 18.963 31.811 21.311 31.561 21.561ZM10 5C10 3.895 9.105 3 8 3H4C2.895 3 2 3.895 2 5V20C2 21.105 2.895 22 4 22H8C9.105 22 10 21.105 10 20V5Z" fill="currentColor"/></svg> Incorrect </button></li><li class="nav-item"><button class="nav-link" data-linkid="guides.rating.1.3" data-url="https://www.ionos.com/digitalguide/api/rating.json?tx_recordrating_recordrating%5Baction%5D=update&tx_recordrating_recordrating%5Bcontroller%5D=RecordRating&tx_recordrating_recordrating%5Brating%5D=1&tx_recordrating_recordrating%5Breason%5D=3&tx_recordrating_recordrating%5BrecordUid%5D=1726&tx_recordrating_recordrating%5BsysLanguageUid%5D=3&tx_recordrating_recordrating%5Btable%5D=pages" onclick="getThisDataUrl.call(this, event, 'ratingContainer1726')" data-bs-dismiss="modal" aria-label="Close"><svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M31.561 21.561C31.28 21.842 30.898 22 30.5 22H23.3C23.565 23.54 23.893 25.707 23.893 27C23.893 29.417 21.197 32.802 20.656 33.456C20.371 33.801 19.947 34 19.5 34H16.5C15.671 34 15 33.329 15 32.5V27C15 25.956 14.083 23.604 13.34 22.044L12 21.206V3.765C13.556 2.9 15.621 2 17.5 2H29C32.668 2 34 8.877 34 13.5C34 18.963 31.811 21.311 31.561 21.561ZM10 5C10 3.895 9.105 3 8 3H4C2.895 3 2 3.895 2 5V20C2 21.105 2.895 22 4 22H8C9.105 22 10 21.105 10 20V5Z" fill="currentColor"/></svg> Difficult to understand </button></li></ul></div></div></div></div></div> </div> <aside class="tags d-flex flex-wrap d-lg-none gap-2 align-items-center my-4 py-2 border-top border-bottom"> <span class="d-block">Related tags</span> <ul class="nav d-flex flex-wrap gap-2 z-1"><li><a data-linkid="guides.article.tags.html" class="btn btn-sm btn-default z-1 link-internal" href="https://www.ionos.com/digitalguide/tags/html/" target="_top">HTML</a></li><li><a data-linkid="guides.article.tags.css" class="btn btn-sm btn-default z-1 link-internal" href="https://www.ionos.com/digitalguide/tags/css/" target="_top">CSS</a></li></ul> </aside> </section> <section id="articleinfo" class="col-12 col-xl contain-style order-1 position-relative d-flex flex-column gap-4"> <div class="sticky-xl-top"><!-- TOC start --><div class="accordion"><div class="accordion-item bg-xl-transparent rounded-xl-0"><h3 class="accordion-header" id="navigationTocCollapseHeading"><button class="accordion-button collapsed d-xl-block pe-xl-none px-xl-0 bg-xl-transparent border-radius-0" type="button" data-bs-toggle="collapse" data-bs-target="#navigationTocCollapse" aria-expanded="false" aria-controls="navigationTocCollapse"><svg class="d-inline-block me-1" width="20" height="20"><use xlink:href="#icon-list-ul" /></svg> Contents </button></h3><div id="navigationTocCollapse" class="accordion-collapse collapse d-xl-block" aria-labelledby="navigationTocCollapseHeading"><div class="accordion-body px-xl-0"><nav id="navigationToc" class="max-vh-75 overflow-y-auto"><ul class="nav"><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431582" id="toc-link-431582">What are the advantages of a static website?</a></li><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431583" id="toc-link-431583">What’s the difference between a static site generator and classic CMS?</a></li><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431587" id="toc-link-431587">Why use a static site generator?</a></li><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431588" id="toc-link-431588">Weaknesses of static site generators</a></li><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431589" id="toc-link-431589">What are some well-known static website generators?</a></li><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431591" id="toc-link-431591">Deploy a static site generator via GitHub – here’s how</a></li><li class="nav-item w-100"><a class="nav-link toc-item-link" href="#c431592" id="toc-link-431592">Deploy Now: the new way to build websites</a></li></ul></nav></div></div></div></div><!-- TOC end --></div> </section> <aside class="sidebar col-12 col-xl contain-style order-3 position-relative mw-sm-50 mx-auto"> <div id="c427700" class="mx-auto sticky-xl-top guides_box_sidebar" data-ctype="guides_box_sidebar"> <div class="mx-auto w-auto position-relative d-flex flex-column rounded-4 brand-box-bg p-3 sidebar-sticky-box shadow"><h3 class="h4">Related Products</h3><div class="row d-flex flex-wrap align-items-center mb-2 sidebar-sticky-box-inhalt"><div class="col-4"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Product_Icons/deploy-now.svg" width="168" height="128" title="" alt="deploy-now.svg" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape " data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Product_Icons/deploy-now.svg"></div><div class="col"><div class="sidebar-sticky-box-text"> Deploy Now </div></div></div><button class="btn btn-cta btn-block stretched-link" type="button" onclick="globalSBSitecat('event114');window.open('https://www.ionos.com/hosting/deploy-now','_top')" role="button" data-linkid="guides.guides-box-sidebar.sticky-box.btn.deploy-now.see-plans"> See plans </button></div> </div> <div id="c566405" class="menu_pages" data-ctype="menu_pages"> <div class="row g-grid mx-auto"><div class="h3"> Popular Articles </div><article class="col-12 position-relative d-flex flex-column rounded-4 brand-box-bg p-2"><div class="h6 position-static"><a data-linkid="guides.menu-pages.personal-email-domain-what-is-it-and-how-to-create-an-email-address" class="stretched-link text-decoration-none brand-box-color link-internal" title="Personal email domain: What is it and how to create an email address" href="https://www.ionos.com/digitalguide/e-mail/technical-matters/reasons-to-get-your-own-email-domain/" target="_top"> Personal email domain: What is it and how to create an email address </a></div><p>Create your personal email address with your own email domain to demonstrate…</p><div class="read-more p-0 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></article><article class="col-12 position-relative d-flex flex-column rounded-4 brand-box-bg p-2"><div class="h6 position-static"><a data-linkid="guides.menu-pages.how-do-you-buy-a-domain-name-a-guide" class="stretched-link text-decoration-none brand-box-color link-internal" title="How do you buy a domain name? A guide" href="https://www.ionos.com/digitalguide/domains/domain-tips/how-do-you-buy-a-domain-name/" target="_top"> How do you buy a domain name? A guide </a></div><p>How do you register and secure a domain name? And how do you buy a domain that’s already…</p><div class="read-more p-0 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></article><article class="col-12 position-relative d-flex flex-column rounded-4 brand-box-bg p-2"><div class="h6 position-static"><a data-linkid="guides.menu-pages.what-are-the-different-types-of-domains" class="stretched-link text-decoration-none brand-box-color link-internal" title="What are the different types of domains?" href="https://www.ionos.com/digitalguide/domains/domain-extensions/types-of-domain/" target="_top"> What are the different types of domains? </a></div><p>What are the different types of domain endings? And what’s the difference between…</p><div class="read-more p-0 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></article><article class="col-12 position-relative d-flex flex-column rounded-4 brand-box-bg p-2"><div class="h6 position-static"><a data-linkid="guides.menu-pages.what-is-prompt-engineering-and-how-does-it-work" class="stretched-link text-decoration-none brand-box-color link-internal" title="What is prompt engineering and how does it work?" href="https://www.ionos.com/digitalguide/websites/website-creation/prompt-engineering/" target="_top"> What is prompt engineering and how does it work? </a></div><p>What is prompt engineering and how can it be used to improve the results of ChatGPT and…</p><div class="read-more p-0 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></article><article class="col-12 position-relative d-flex flex-column rounded-4 brand-box-bg p-2"><div class="h6 position-static"><a data-linkid="guides.menu-pages.different-website-types-compared" class="stretched-link text-decoration-none brand-box-color link-internal" title="Different Website Types compared" href="https://www.ionos.com/digitalguide/websites/website-creation/website-types/" target="_top"> Different Website Types compared </a></div><p>Choosing the right type of website is critical to the success of any online endeavor.…</p><div class="read-more p-0 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></article></div> </div> </aside> </div> <aside class="row my-2 my-lg-5 g-grid"> <h3 class="col-12"> Related articles </h3> <div class="col col-12 col-md-6 col-lg-4"> <article class="card brand-card-bg rounded-4 overflow-hidden contain-style h-100 w-100" id="article-1276"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/one-pager-t.jpg" width="1200" height="630" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_f4fa0de95b.webp 456w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_0b13999b02.webp 430w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_eced70f02f.webp 370w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_64ed652bc7.webp 310w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_ddfdf5bd21.webp 348w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_5bb00691f5.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_8b7a4245ef.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_13d561d1a4.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/3/b/csm_one-pager-t_ab59886f7a.webp 304w" sizes="(min-width: 1680px) 456px,(min-width: 1400px) 430px,(min-width: 1200px) 370px,(min-width: 992px) 310px,(min-width: 768px) 348px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="What is a one pager and how are they created?" alt="What is a one pager and how are they created?" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape card-img-top h-auto rounded-top-4" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/one-pager-t.jpg"><div class="card-body d-flex flex-column p-3"><h3 class="h4 card-title mt-0 mb-3 position-static"><a data-linkid="guides.article.teaser.web-design-trends-one-page-design" class="stretched-link brand-card-color text-decoration-none link-internal" title="What is a one pager and how are they created?" href="https://www.ionos.com/digitalguide/websites/web-design/web-design-trends-one-page-design/" target="_top"> What is a one pager and how are they created? </a></h3><p class="card-text brand-card-color mt-auto mb-0">The one pager is seen a lot in web design, because more and more companies are choosing to present their products, campaigns or project websites using a single-page design. This means users navigate their way through a single HTML page by scrolling and exploring content. These…</p><div class="mt-2 minh-5 d-flex flex-nowrap overflow-hidden"><ul class="nav d-flex flex-nowrap card-tags-fade-end w-100 gap-2"><li><span class="btn btn-sm btn-default">HTML</span></li></ul></div><div class="read-more px-0 pb-0 pt-1 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></div></article> </div> <div class="col col-12 col-md-6 col-lg-4"> <article class="card brand-card-bg rounded-4 overflow-hidden contain-style h-100 w-100" id="article-1104"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/website-mockup-t.jpg" width="1200" height="630" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_89f479c4e5.webp 456w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_f79492ba4c.webp 430w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_d3583e780b.webp 370w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_bdaaf11b10.webp 310w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_b764ec19cc.webp 348w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_8150db4365.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_39bd8f6389.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_eaf4e20c76.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/7/c/csm_website-mockup-t_83cc16680e.webp 304w" sizes="(min-width: 1680px) 456px,(min-width: 1400px) 430px,(min-width: 1200px) 370px,(min-width: 992px) 310px,(min-width: 768px) 348px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="The best mock-up and wireframe tools" alt="The best mock-up and wireframe tools" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape card-img-top h-auto rounded-top-4" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/website-mockup-t.jpg"><div class="card-body d-flex flex-column p-3"><h3 class="h4 card-title mt-0 mb-3 position-static"><a data-linkid="guides.article.teaser.the-best-mock-up-and-wireframe-tools" class="stretched-link brand-card-color text-decoration-none link-internal" title="The best mock-up and wireframe tools" href="https://www.ionos.com/digitalguide/websites/website-creation/the-best-mock-up-and-wireframe-tools/" target="_top"> The best mock-up and wireframe tools </a></h3><p class="card-text brand-card-color mt-auto mb-0">Designers and developers put a lot of time and effort into creating a web project. During the journey from initial idea to finished product, there are many decisions to be made, plans to be devised, as well as there being the possibility of having to start all over again.…</p><div class="mt-2 minh-5 d-flex flex-nowrap overflow-hidden"><ul class="nav d-flex flex-nowrap card-tags-fade-end w-100 gap-2"><li><span class="btn btn-sm btn-default">HTML</span></li></ul></div><div class="read-more px-0 pb-0 pt-1 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></div></article> </div> <div class="col col-12 col-md-6 col-lg-4"> <article class="card brand-card-bg rounded-4 overflow-hidden contain-style h-100 w-100" id="article-3430"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/eigene-website-baukasten-t.jpg" width="1200" height="630" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_09887af7d3.webp 456w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_946780f9c4.webp 430w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_30650c7b2d.webp 370w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_39d0b34a78.webp 310w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_ff99467ef9.webp 348w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_fe093e9cb8.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_e5e7778ca3.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_f5d26bdb64.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/9/csm_eigene-website-baukasten-t_d573e0b5f5.webp 304w" sizes="(min-width: 1680px) 456px,(min-width: 1400px) 430px,(min-width: 1200px) 370px,(min-width: 992px) 310px,(min-width: 768px) 348px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="10 best static site generators" alt="10 best static site generators" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape card-img-top h-auto rounded-top-4" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/eigene-website-baukasten-t.jpg"><div class="card-body d-flex flex-column p-3"><h3 class="h4 card-title mt-0 mb-3 position-static"><a data-linkid="guides.article.teaser.the-best-static-site-generators" class="stretched-link brand-card-color text-decoration-none link-internal" title="10 best static site generators" href="https://www.ionos.com/digitalguide/websites/website-creation/the-best-static-site-generators/" target="_top"> 10 best static site generators </a></h3><p class="card-text brand-card-color mt-auto mb-0">If you want to create a static website, modern static site generators (SSG) are the first choice to create performant websites without much effort. Highly optimized frontends can be generated from by using technologies like Vue, React and GraphQL. Read on to explore the best…</p><div class="mt-2 minh-5 d-flex flex-nowrap overflow-hidden"><ul class="nav d-flex flex-nowrap card-tags-fade-end w-100 gap-2"></ul></div><div class="read-more px-0 pb-0 pt-1 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></div></article> </div> <div class="col col-12 col-md-6 col-lg-4"> <article class="card brand-card-bg rounded-4 overflow-hidden contain-style h-100 w-100" id="article-3534"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/website-mit-wordpress-erstellen-t.jpg" width="1200" height="630" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_cc4b0d0cf6.webp 456w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_d7431e5179.webp 430w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_7ade09b996.webp 370w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_55ffb5caa7.webp 310w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_2ce4541b69.webp 348w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_063a3bdae6.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_2b9cc34cbc.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_47ba3f243a.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/4/b/csm_website-mit-wordpress-erstellen-t_633efba5f9.webp 304w" sizes="(min-width: 1680px) 456px,(min-width: 1400px) 430px,(min-width: 1200px) 370px,(min-width: 992px) 310px,(min-width: 768px) 348px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="Single Page Application" alt="Single Page Application" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape card-img-top h-auto rounded-top-4" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/website-mit-wordpress-erstellen-t.jpg"><span class="media-credits d-flex position-absolute top-0 end-0 start-unset bottom-unset w-auto h-auto fs-sm"><span class="media-artist">vectorfusionart</span><span class="media-source">Shutterstock</span></span><div class="card-body d-flex flex-column p-3"><h3 class="h4 card-title mt-0 mb-3 position-static"><a data-linkid="guides.article.teaser.single-page-application" class="stretched-link brand-card-color text-decoration-none link-internal" title="Single Page Application" href="https://www.ionos.com/digitalguide/websites/website-creation/single-page-application/" target="_top"> Single Page Application </a></h3><p class="card-text brand-card-color mt-auto mb-0">We all use a plethora of dynamic websites every day. In many cases, these are down to so-called single page applications, in which only a single HTML document is used. This article shows you exactly how single page applications work, when it makes sense to use them, and which…</p><div class="mt-2 minh-5 d-flex flex-nowrap overflow-hidden"><ul class="nav d-flex flex-nowrap card-tags-fade-end w-100 gap-2"><li><span class="btn btn-sm btn-default">Encyclopedia</span></li></ul></div><div class="read-more px-0 pb-0 pt-1 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></div></article> </div> <div class="col col-12 col-md-6 col-lg-4"> <article class="card brand-card-bg rounded-4 overflow-hidden contain-style h-100 w-100" id="article-3535"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/cms-t.jpg" width="1200" height="630" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_8be922fcd7.webp 456w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_b17f799b97.webp 430w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_8e6c410257.webp 370w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_84e279e47e.webp 310w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_7bc1d802e0.webp 348w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_903d018ab4.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_04175cf20e.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_e3e425f123.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/2/1/csm_cms-t_2e52ac2680.webp 304w" sizes="(min-width: 1680px) 456px,(min-width: 1400px) 430px,(min-width: 1200px) 370px,(min-width: 992px) 310px,(min-width: 768px) 348px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="Headless CMS vs. traditional CMS" alt="Headless CMS vs. traditional CMS" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape card-img-top h-auto rounded-top-4" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/Teaser/cms-t.jpg"><span class="media-credits d-flex position-absolute top-0 end-0 start-unset bottom-unset w-auto h-auto fs-sm"><span class="media-artist">Gustavo Frazao</span><span class="media-source">Shutterstock</span></span><div class="card-body d-flex flex-column p-3"><h3 class="h4 card-title mt-0 mb-3 position-static"><a data-linkid="guides.article.teaser.headless-cms-vs-traditional-cms" class="stretched-link brand-card-color text-decoration-none link-internal" title="Headless CMS vs. traditional CMS" href="https://www.ionos.com/digitalguide/hosting/cms/headless-cms-vs-traditional-cms/" target="_top"> Headless CMS vs. traditional CMS </a></h3><p class="card-text brand-card-color mt-auto mb-0">Content management systems have dominated the Internet for several years. The ability to publish new content quickly and easily has become an indispensable part of today’s web. But classic CMSs have difficulty coping with developments such as mobile apps, wearables, and the IoT.…</p><div class="mt-2 minh-5 d-flex flex-nowrap overflow-hidden"><ul class="nav d-flex flex-nowrap card-tags-fade-end w-100 gap-2"><li><span class="btn btn-sm btn-default">Encyclopedia</span></li></ul></div><div class="read-more px-0 pb-0 pt-1 m-0 position-relative end-0 text-end lh-1 d-flex align-items-center justify-content-end"><span class="d-inline-block me-1">Read more</span><svg width="16" height="16" class="icon-arrow-right"><use xlink:href="#icon-arrow-right"></use></svg></div></div></article> </div> </aside> </div> </article> <footer class="d-flex flex-wrap justify-content-center align-items-center brand-footer-bg brand-footer-color mt-2 mt-lg-5 py-6 py-lg-12 contain-style" data-bs-theme="dark"><div class="container-fluid container-sm"><div class="row pb-4 pb-lg-8"><div class="col-12 col-md-4 col-lg-3 d-flex flex-column order-last order-md-first pt-4 pt-md-0"><a href="https://www.ionos.com" title="IONOS Inc." class="m-0 d-block link-internal" data-linkid="guides.logo.footer" target="_top"><svg class="d-inline-block m-0 brand-logo brand-footer-color"><use xlink:href="#ionos-logo" /></svg></a><span class="brand-footer-muted-color pt-2">Your digital partner</span></div><div class="col-12 col-md-8 col-lg-9"><ul class="nav justify-content-start justify-content-md-end flex-column flex-md-row ms-n2 ms-md-0"><li class="nav-item"><a href="https://www.ionos.com/about" target="_top" data-linkid="guides.navigation.footer.about-ionos" title="About IONOS" class="nav-link link-internal"> About IONOS </a></li><li class="nav-item"><a href="https://ionos.applicantpool.com/jobs/" target="_blank" data-linkid="guides.navigation.footer.careers" rel="noreferrer noopener noreferrer" title="Careers" class="nav-link link-external"> Careers </a></li><li class="nav-item"><a href="https://www.ionos.com/newsroom/" target="_top" data-linkid="guides.navigation.footer.newsroom" title="Newsroom" class="nav-link link-internal"> Newsroom </a></li><li class="nav-item"><a href="https://www.ionos.com/startupguide/" target="_top" data-linkid="guides.navigation.footer.startup-guide" title="Startup Guide" class="nav-link link-internal"> Startup Guide </a></li><li class="nav-item"><a href="https://www.ionos.com/help/" target="_top" data-linkid="guides.navigation.footer.help-center" title="Help Center" class="nav-link link-internal"> Help Center </a></li><li class="nav-item"><a href="https://www.ionos.com/terms-gtc/general-terms-and-conditions/" target="_top" data-linkid="guides.navigation.footer.terms-and-conditions" title="Terms and Conditions" class="nav-link link-internal"> Terms and Conditions </a></li><li class="nav-item"><a href="https://www.ionos.com/terms-gtc/terms-privacy/" target="_top" data-linkid="guides.navigation.footer.privacy-policy" title="Privacy Policy" class="nav-link link-internal"> Privacy Policy </a></li></ul></div></div><div class="row pt-4 pt-lg-8 border-top brand-footer-border-color align-items-center"><div class="copyright brand-footer-muted-color col-12 col-md-4 order-last order-md-first">© 2024 <a href="https://www.ionos.com" title="IONOS Inc." data-linkid="guides.logo.footer" target="_top" class="link-internal">IONOS Inc.</a></div><div class="col-12 col-md-8"><ul class="nav justify-content-start justify-content-md-end flex-nowrap ms-n2 ms-md-0"><li class="nav-item"><a data-linkid="guides.module.channels-and-rss.rss" class="nav-link link-internal" title="RSS" target="_top" href="https://www.ionos.com/digitalguide/websites/website-creation/feed.rss"><svg class="d-inline-block" width="20" height="20"><use xlink:href="#icon-rss" /></svg></a></li><li class="nav-item"><a href="https://ionos.ly/IONOS_IN" title="LinkedIn" class="nav-link link-external" target="_blank" data-linkid="guides.module.channels-and-rss.linkedin" rel="noopener noreferrer"><svg class="d-inline-block" width="24" height="24"><use xlink:href="#linkedin-logo" /></svg></a></li><li class="nav-item"><a href="https://ionos.ly/IONOS_FB_US" title="facebook" class="nav-link link-external" target="_blank" data-linkid="guides.module.channels-and-rss.facebook" rel="noopener noreferrer"><svg class="d-inline-block" width="24" height="24"><use xlink:href="#facebook-logo" /></svg></a></li><li class="nav-item"><a href="https://ionos.ly/IONOS_YT_US" title="YouTube" class="nav-link link-external" target="_blank" data-linkid="guides.module.channels-and-rss.youtube" rel="noopener noreferrer"><svg class="d-inline-block" width="24" height="24"><use xlink:href="#youtube-logo" /></svg></a></li></ul></div></div></div></footer><div id="cookieinfo-container" class="show"><div class="cookieinfo container p-relative"><div class="row align-items-center"><div class="col"><div class="cookieinfo-text"> We use cookies on our website to provide you with the best possible user experience. By continuing to use our website or services, you agree to their use. <a href="https://www.ionos.com/cookies" target="_top" class="link-internal"> More Information. </a></div></div><div class="col-auto"><button id="cookieinfo-close" class="chars px-20 py-12 c-pointer">OK</button></div></div></div></div><div class="modal fade exit-intent-ionos" id="exitIntent" data-bs-backdrop="static" tabindex="-1" aria-label="exit-intent-header" aria-modal="true" role="dialog"><div class="modal-dialog modal-dialog-centered modal-xl w-md-100 mw-md-90 mw-xl-75" style="max-width: 1000px !important"><div class="modal-content rounded-4 overflow-hidden"><div class="modal-body position-relative p-0"><div id="c514954" class="mx-auto guides_exit_intent_content" data-ctype="guides_exit_intent_content"><div class="row exit-intent-container has-image" id="exit-intent-2045-514954"><div class="exit-intent-area-content col-12 col-md"><div class="exit-intent-content p-4 pb-0 pb-md-4"><svg class="d-inline-block m-0 exit-intent-brand-logo exit-intent-ionos-logo mb-5"><use xlink:href="#ionos-logo" /></svg><div class="exit-intent-headline d-block mt-0 mx-0 mb-3 h3">Special Deals<span class="exit-intent-subline d-block mt-3 mx-0 mb-0 h5">Save on great business-boosting products</span></div><div class="exit-intent-text"><p>Build or host a website, launch a server, or store your data and more with our most popular products for less.</p><button type="submit" class="btn btn-cta mt-2 stretched-link" onclick="globalSBSitecat('event121');window.open('https://www.ionos.com/special-deals','_top')">Find a deal</button></div></div></div><div class="exit-intent-area-stage col-12 col-md-5 d-none d-md-flex pt-4 ps-4"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/exit_intent_visuals/exit-intent-bg-male-offer-sign_desktop.png" width="725" height="700" srcset="https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_b97a6aa21c.webp 725w,https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_2b474a2d43.webp 554w,https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_b406e76138.webp 704w,https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_2cbf428a16.webp 524w,https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_b6fdc6d5ba.webp 396w,https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_11e39cea85.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/a/d/csm_exit-intent-bg-male-offer-sign_desktop_11e39cea85.webp 304w" sizes="(min-width: 1400px) 725px,(min-width: 1200px) 554px,(min-width: 768px) 704px,(min-width: 576px) 524px,(min-width: 412px) 396px,(min-width: 320px) 304px,(max-width:319px) 304px" title="" alt="exit-intent-bg-male-offer-sign_desktop.png" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape mw-100 ms-auto mt-auto me-0 mb-0" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/exit_intent_visuals/exit-intent-bg-male-offer-sign_desktop.png"></div><div class="exit-intent-area-stage col-8 mx-auto d-flex d-md-none pt-4"><img src="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/exit_intent_visuals/exit-intent-bg-male-offer-sign_mobile.png" width="400" height="325" srcset="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/exit_intent_visuals/exit-intent-bg-male-offer-sign_mobile.png 400w,https://www.ionos.com/digitalguide/fileadmin/_processed_/d/1/csm_exit-intent-bg-male-offer-sign_mobile_ce0c94982c.webp 304w,https://www.ionos.com/digitalguide/fileadmin/_processed_/d/1/csm_exit-intent-bg-male-offer-sign_mobile_ce0c94982c.webp 304w" sizes="(min-width: 412px) 400px,(min-width: 320px) 304px,(max-width:319px) 304px" title="" alt="exit-intent-bg-male-offer-sign_mobile.png" loading="lazy" class="img-fluid d-block mx-auto img-format-landscape mw-100 ms-auto mt-auto me-0 mb-0" data-originalfile="https://www.ionos.com/digitalguide/fileadmin/DigitalGuide/exit_intent_visuals/exit-intent-bg-male-offer-sign_mobile.png"></div></div></div><button type="button" class="btn-close position-absolute top-0 end-0 me-2 mt-2" data-bs-dismiss="modal" aria-label="Close"></button></div></div></div></div><span id="top" class="d-block visually-hidden position-absolute top-0 end-0 start-0">Page top</span> <script async="async" src="https://www.ionos.com/digitalguide/_assets/7e35ab74f2a05357de057794d49a7804/JavaScript/LoadAndReplaceContent.1732717587.js"></script> <script async="async" src="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/Vendor/bootstrap/dist/js/bootstrap.bundle.min.1732717586.js"></script> <script async="async" src="https://www.ionos.com/digitalguide/_assets/b76f27cb02ebc538ac6fbabcf1a88e7f/JavaScript/scrollProgressRelated.min.1732717586.js"></script> <script type="module"> function cleanupSearchString(string) { if (string) { return string.replaceAll(/[^_.\w\s\-\p{Alphabetic}\p{Mark}\p{Decimal_Number}\p{Connector_Punctuation}\p{Join_Control}]+/gu, ''); } return string; } function filterResults(searchTerm) { const results = document.querySelectorAll('#article-result-list .article-result'); if (!searchTerm || searchTerm.trim() === '') { results.forEach(result => { result.style.display = 'none'; }); return; } const searchWords = searchTerm.trim().toLowerCase().split(/\s+/).filter(word => word.length > 0); results.forEach(result => { const text = result.textContent.toLowerCase(); const foundAllWords = searchWords.every(word => text.includes(word)); result.style.display = foundAllWords ? 'block' : 'none'; }); // Update all search term inputs with the current search term document.querySelectorAll('.search-form input').forEach(input => { input.value = searchTerm; }); } function handleFormSubmit(event) { event.preventDefault(); const searchTerm = cleanupSearchString(event.target.querySelector('.search-form input').value); localStorage.setItem('searchTerm', searchTerm.trim()); filterResults(searchTerm); if (event.target.action !== window.location.href) { window.location.href = event.target.action; } } function setupSearchForms() { const searchForms = document.querySelectorAll('.search-form'); searchForms.forEach(form => { form.addEventListener('submit', handleFormSubmit); form.querySelectorAll('.search-form input').forEach(input => { const searchTerm = localStorage.getItem('searchTerm'); input.value = searchTerm ? searchTerm : ''; input.addEventListener('input', function() { filterResults(this.value.toLowerCase()); }); }); const searchTerm = localStorage.getItem('searchTerm'); if (searchTerm) { filterResults(searchTerm.toLowerCase()); } }); } window.cleanupSearchString = cleanupSearchString; window.filterResults = filterResults; window.handleFormSubmit = handleFormSubmit; window.setupSearchForms = setupSearchForms; setupSearchForms(); localStorage.setItem('searchTerm', ''); </script> <script> const contentElements = document.querySelectorAll('.content h2[id], .content h2[id] ~ *:not(h2[id])'); const sections = []; let currentSection = null; // Construct sections array contentElements.forEach((element) => { if (element.tagName === 'H2') { if (currentSection) { sections.push(currentSection); } currentSection = { id: element.id, title: element.textContent, content: [] }; } else if (currentSection) { currentSection.content.push(element); } }); if (currentSection) { sections.push(currentSection); } // Set the initial active index to 0 let activeIndex = 0; // Get the navigation links const tocLinks = document.querySelectorAll('#navigationToc a'); // Function to update the active link function updateActiveLink() { // Remove active class from all links tocLinks.forEach(link => { link.classList.remove('active'); }); // Add active class to the link corresponding to activeIndex const activeLink = document.querySelector(`#navigationToc a[href="#${sections[activeIndex].id}"]`); if (activeLink) { activeLink.classList.add('active'); } } // Call to set the initial active link updateActiveLink(); // Create an Intersection Observer const observer = new IntersectionObserver((entries) => { let maxArea = 0; // The maximum area of elements intersecting in the viewport let newActiveIndex = -1; entries.forEach(entry => { if (entry.isIntersecting) { const rect = entry.boundingClientRect; const area = rect.height * rect.width; // Calculate the area in the viewport // Determine the section with the largest area if (area > maxArea) { maxArea = area; newActiveIndex = sections.findIndex(section => section.id === entry.target.id); } } }); // If we found a new active index, update it if (newActiveIndex !== -1) { activeIndex = newActiveIndex; // Set the new active index updateActiveLink(); // Update the active link } }, { root: null, // Use the viewport as the container threshold: 0.25 // Trigger callback when 10% of the section is in view }); // Observe each section by creating an h2 element for each section in the navigation sections.forEach(section => { const sectionElement = document.getElementById(section.id); if (sectionElement) { observer.observe(sectionElement); } }); </script> <script> var cookieinfoContainer = document.querySelector('#cookieinfo-container'); var cookieinfoContainerButton = document.querySelector('#cookieinfo-close'); function getCookieByName(name) { function escape(s) { return s.replace(/([.*+?\^$(){}|\[\]\/\\])/g, '\\$1'); } var match = document.cookie.match(RegExp('(?:^|;\\s*)' + escape(name) + '=([^;]*)')); return match ? match[1] : null; } function setCookieByName(cookieName, cookieValue, cookieDurationInDays, cookieDomain, cookieDomainPath) { var now = new Date(); now.setTime(now.getTime() + +cookieDurationInDays * 24 * 60 * 60 * 1000); var expires = now.toUTCString(); var cookie = cookieName + '=' + cookieValue + ';expires=' + expires + ';domain=' + cookieDomain + ';path=' + cookieDomainPath + ';SameSite=lax'; document.cookie = cookie; } function checkCookieInfoContainer() { var cookieinfoContainerAccepted = getCookieByName('banner-cookieinfo'); if (cookieinfoContainerAccepted) { cookieinfoContainer.classList.remove('show'); } } function getCookieDomainAndPath() { var currentHostArray = window.location.host.split('.'); var domain = currentHostArray[currentHostArray.length - 2]; var tld = currentHostArray[currentHostArray.length - 1]; if (window.location.host.indexOf('.co.uk') !== -1) { domain = currentHostArray[currentHostArray.length - 3]; tld = currentHostArray[currentHostArray.length - 2] + '.' + currentHostArray[currentHostArray.length - 1]; } var cookieDomainPath = '/'; if (tld === 'com') { var href = window.location.href; if (href.indexOf('/pt-br/') !== -1) { cookieDomainPath = '/pt-br/'; } } var cookieDomain = '.' + domain + '.' + tld; return [cookieDomain, cookieDomainPath]; } var dismissAndSetCookie = function () { var cookieDomain = getCookieDomainAndPath()[0]; var cookieDomainPath = getCookieDomainAndPath()[1]; setCookieByName('banner-cookieinfo', '1', 30, cookieDomain, cookieDomainPath); checkCookieInfoContainer(); }; checkCookieInfoContainer(); cookieinfoContainerButton.addEventListener("click", dismissAndSetCookie); </script> <script type="module"> var exitIntentLocalStorageKey = 'guidesExitIntentShown'; var exitIntentIdentifier = 'exitIntent'; var privacyConsentSelector = '.privacy-consent--modal'; var isUserActive = false; var hasFiredExitIntent = false; // Detect user activity inside the viewport document.addEventListener('mousemove', function(event) { isUserActive = true; }); // Check for exit intent only after the first 5 seconds of page visit setTimeout(function() { // Monitor user interaction to trigger exit intent document.addEventListener('mouseleave', handleExitIntent); window.addEventListener('blur', handleExitIntent); }, 5000); // 5 seconds delay function handleExitIntent() { if (isUserActive && !hasFiredExitIntent && !isPrivacyConsentOpen() && !isOffcanvasOpen() && shouldDisplayExitIntent()) { showModal(); hasFiredExitIntent = true; } } function isOffcanvasOpen() { return document.querySelector('.offcanvas.show') !== null; } function isPrivacyConsentOpen() { return document.querySelector(privacyConsentSelector) !== null; } function shouldDisplayExitIntent() { var exitIntentShownTimestamp = localStorage.getItem(exitIntentLocalStorageKey); if (!exitIntentShownTimestamp) { return true; // Show the exit intent if it has not been shown before } else { var currentTime = new Date().getTime(); var thirtyDaysInMillis = 30 * 24 * 60 * 60 * 1000; return currentTime - parseInt(exitIntentShownTimestamp, 10) >= thirtyDaysInMillis; } } function updateExitIntentLocalStorage() { localStorage.setItem(exitIntentLocalStorageKey, new Date().getTime().toString()); } function showModal() { // Show the modal var myModal = new bootstrap.Modal(document.getElementById(exitIntentIdentifier)); myModal.show(); // Update the exit intent shown timestamp in Local Storage updateExitIntentLocalStorage(); } window.handleExitIntent = handleExitIntent; window.isOffcanvasOpen = isOffcanvasOpen; window.isPrivacyConsentOpen = isPrivacyConsentOpen; window.shouldDisplayExitIntent = shouldDisplayExitIntent; window.updateExitIntentLocalStorage = updateExitIntentLocalStorage; window.showModal = showModal; </script> <script>window.addEventListener('load', (event) => { window.addEventListener('resize', function() { if (window.innerWidth < 992) { const modals = Array.from(document.querySelectorAll('.modal.lightbox')); const modalInstances = modals.map(modal => bootstrap.Modal.getInstance(modal)); modalInstances.filter(Boolean).forEach(modalInstance => modalInstance.hide()); } }); let tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]'); let tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)); }); </script> <script> var globalSBSitecat = function (eventName){ if (typeof window.s === "object" && typeof window.s.t === 'function') { if (eventName) { if (s.events2) { if (s.events2.indexOf(eventName) === -1) { s.events2 + ',' + eventName; } } else { s.events2 = eventName; } s.t(s); console.info('globalSBSitecat: ' + eventName + ' sent'); } else { console.info('globalSBSitecat: eventName is missing'); } } }; var globalSBSitecatNPV = function (eventName){ if (typeof window.s === "object" && typeof window.s.t === 'function') { if (eventName) { if (s.events2) { if (s.events2.indexOf(eventName) === -1) { s.events2 + ',' + eventName; } } else { s.events2 = eventName; } s.tl(s); console.info('globalSBSitecatNPV: ' + eventName + ' sent'); } else { console.info('globalSBSitecat: eventName is missing'); } } }; var websiteSBSitecat = function () {globalSBSitecat('event114')}; </script> <script> var boxLinks = document.querySelectorAll('.content [class*="-box"] a, #content [class*="-box"] a, .content [class*="box-"] a, #content [class*="box-"] a') || {}; for (var i = 0, len = boxLinks.length; i < len; i++) { boxLinks[i].addEventListener('click', globalSBSitecatNPV('event115'), boxLinks[i].href, false); } var nonBoxLinks = document.querySelectorAll('*:not([class*="-box"]):not([class*="box-"]) a') || {}; for (var i = 0, len = boxLinks.length; i < len; i++) { nonBoxLinks[i].addEventListener('click', globalSBSitecatNPV('event116'), nonBoxLinks[i].href, false); } </script> <script type="module">document.addEventListener("DOMContentLoaded", function() { const tableResponsiveElements = document.querySelectorAll('.table-responsive'); function addListenerMulti(el, s, fn) { s.split(',').forEach(e => el.addEventListener(e, fn, false)); } function setupScrollButtons(table, scrollLeftButton, scrollRightButton) { const averageTdWidth = () => Array.from(table.querySelectorAll('td')).reduce((acc, td) => acc + td.offsetWidth, 0) / table.querySelectorAll('td').length; scrollLeftButton.addEventListener('click', function() { table.scrollLeft -= averageTdWidth(); // Scroll the average td width }); scrollRightButton.addEventListener('click', function() { table.scrollLeft += averageTdWidth(); // Scroll the average td width }); if (table.scrollLeft === 0) { scrollLeftButton.setAttribute('disabled', 'disabled'); } else { scrollLeftButton.removeAttribute('disabled'); } if (table.scrollLeft + table.clientWidth >= table.scrollWidth) { scrollRightButton.setAttribute('disabled', 'disabled'); } else { scrollRightButton.removeAttribute('disabled'); } addListenerMulti(table, "scroll", function() { if (table.scrollLeft === 0) { scrollLeftButton.setAttribute('disabled', 'disabled'); } else { scrollLeftButton.removeAttribute('disabled'); } if (table.scrollLeft + table.clientWidth >= table.scrollWidth) { scrollRightButton.setAttribute('disabled', 'disabled'); } else { scrollRightButton.removeAttribute('disabled'); } }) } tableResponsiveElements.forEach(function(tableResponsive) { if (tableResponsive.scrollWidth > tableResponsive.clientWidth) { const container = document.createElement('div'); container.classList.add('table-responsive-scroll-container'); const scrollButtonClass = 'table-responsive-scroll-button'; const scrollLeftButton = document.createElement('button'); scrollLeftButton.setAttribute('aria-label', 'Scroll Left'); scrollLeftButton.classList.add(scrollButtonClass, 'scroll-left'); const scrollRightButton = document.createElement('button'); scrollRightButton.setAttribute('aria-label', 'Scroll Right'); scrollRightButton.classList.add(scrollButtonClass, 'scroll-right'); setupScrollButtons(tableResponsive, scrollLeftButton, scrollRightButton); container.appendChild(scrollLeftButton); container.appendChild(scrollRightButton); const clonedTable = tableResponsive.cloneNode(true); container.appendChild(clonedTable); tableResponsive.parentNode.replaceChild(container, tableResponsive); // Replace original with container const clonedTableResponsive = container.querySelector('.table-responsive'); setupScrollButtons(clonedTableResponsive, scrollLeftButton, scrollRightButton); } }); }); </script> <script type="text/plain" data-consent="partnerships"> if (!document.getElementById('ytplayer')) { var tag = document.createElement('script'); tag.id = 'ytplayer'; tag.src = 'https://www.youtube.com/player_api'; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); } var ytname___NZJW7IoGR4; function onYouTubePlayerAPIReady() { ytname___NZJW7IoGR4 = new YT.Player('yt___NZJW7IoGR4', { host: 'https://www.youtube-nocookie.com', height: '390', width: '640', videoId: '_NZJW7IoGR4', playerVars: {rel: 0, enablejsapi: 1, loop: 1} }); } </script><svg style="display:none" id="guides-svgs"> <symbol id="ionos-logo" shape-rendering="geometricPrecision" viewBox="0 0 254.25 74.13"> <title>IONOS</title> <g fill="currentColor" transform="translate(-7.52 -5.46)"><path d="m242.51 79.58a18.12 18.12 0 0 1 -3.74-.38 19.37 19.37 0 0 1 -12.77-9.14l-.07-.13a5.75 5.75 0 0 1 2.07-7.58 5.52 5.52 0 0 1 2.85-.79 5.64 5.64 0 0 1 4.91 2.88l.19.32.6.81.8.81a7.84 7.84 0 0 0 3.65 1.77 8 8 0 0 0 6.3-1.44 7.63 7.63 0 0 0 3.19-5.71 7.86 7.86 0 0 0 -2.19-6.12s-18.44-19-18.84-19.53l-.91-1.35a18 18 0 0 1 -2.77-11.34 18.41 18.41 0 0 1 2.39-7.84l.8-1.4a17 17 0 0 1 5.57-5.06l.91-.65a18.54 18.54 0 0 1 25 7 5.51 5.51 0 0 1 .58 4.26 5.63 5.63 0 0 1 -2.67 3.46 5.36 5.36 0 0 1 -2.75.75 5.61 5.61 0 0 1 -4.88-2.87 7.35 7.35 0 0 0 -4.93-3.49 7.65 7.65 0 0 0 -6 1.35 7.3 7.3 0 0 0 -2.8 5.33 7.44 7.44 0 0 0 2 5.72l17.33 17.87a19.18 19.18 0 0 1 -13.85 32.49z"/><path d="m187.69 79.57a18.65 18.65 0 0 1 -18.63-18.63v-36.85a18.63 18.63 0 1 1 37.26 0v36.85a18.65 18.65 0 0 1 -18.63 18.63zm0-62.86a7.39 7.39 0 0 0 -7.38 7.38v36.85a7.3 7.3 0 0 0 7.38 7.38 7.39 7.39 0 0 0 7.38-7.38v-36.85a7.48 7.48 0 0 0 -7.38-7.38z"/><path d="m115.33 43.47v30.53a5.62 5.62 0 0 1 -11.24 0v-53.87zm30.35 21.46v-53.85a5.63 5.63 0 0 0 -11.25 0v30.5zm-30.88-56.28v-.11a5.86 5.86 0 0 0 -5.09-3 5.15 5.15 0 0 0 -1.13.12 5.49 5.49 0 0 0 -4.44 5.47v1.29l30.86 64.07a5.8 5.8 0 0 0 5 3.08 5.18 5.18 0 0 0 1.29-.16 5.52 5.52 0 0 0 4.39-5.41v-1.27s-30.05-62.37-30.88-64.08z"/><path d="m61.92 79.57a18.64 18.64 0 0 1 -18.63-18.63v-36.85a18.63 18.63 0 0 1 37.26 0v36.85a18.64 18.64 0 0 1 -18.63 18.63zm0-62.86a7.37 7.37 0 0 0 -7.38 7.38v36.85a7.38 7.38 0 1 0 14.76 0v-36.85a7.48 7.48 0 0 0 -7.38-7.38z"/><path d="m13.63 79.54a6.08 6.08 0 0 1 -6.11-6.18v-61.87a6.11 6.11 0 0 1 6.15-6 6 6 0 0 1 5.9 4.51 4 4 0 0 1 .1.43v.27a5.47 5.47 0 0 1 .08 1s0 61 0 61.7a6.1 6.1 0 0 1 -6.12 6.14z"/></g> </symbol> <symbol id="arsys-logo" shape-rendering="geometricPrecision" viewBox="0 0 1277 356"> <title>arsys</title> <path fill="currentColor" d="M365,139V289H299V149c0-29,5-53,14-72s23-34,39-45,35-19,57-24a308.4,308.4,0,0,1,68-8V55H461c-31,0-54,7-70,21C374,88,365,110,365,139ZM877,345q18-13.5,30-45L1013,0H972c-15,0-24,6-27,19L886,212,822,0H755l97,262c8,22,0,34-7,40-10,8-19,7-39,7h-5v47h16C845,356,865,355,877,345Zm185-81c19,16,49,24,89,24,42,0,74-8,94-23,21-16,32-38,32-68,0-20-6-35-18-47-14-12-39-22-75-31l-21-4c-44-9-64-21-64-38,0-12,5-21,14-27,9-5,21-8,38-8s31,4,42,12l1,1,3,3a43.49,43.49,0,0,1,6,7c10,12,16,16,25,16h38q-4.5-34.5-30-57c-21-16-50-24-86-24q-49.5,0-81,24c-19,17-29,37-29,63,0,20,6,35,19,47,12,12,37,23,74,32h1c6,2,16,4,29,6,14,3,54,11,54,38,0,8-3,20-17,28q-16.5,9-39,9c-20,0-37-4-49-12-11-8-17-18-19-32h-59C1034,229,1044,250,1062,264Zm-534,1c19,16,49,24,89,24,42,0,74-8,95-23,22-16,32-39,32-69,0-20-6-35-18-47-14-12-39-22-75-31l-21-4c-45-9-64-21-64-38,0-12,5-21,14-27s21-8,38-8,31,4,42,12l1,1,3,3,7,7c10,12,16,16,26,16h38q-4.5-34.5-30-57Q673.5,0,618,0c-33,0-61,8-81,24-20,17-29,38-29,63,0,20,6,35,19,47,12,12,37,23,75,32h1c6,2,16,4,29,6,14,3,54,11,54,38,0,8-3,20-18,28q-16.5,9-39,9c-20,0-37-4-49-13-11-8-17-18-20-32H501c-1,28,9,48,27,63ZM254,75V176c0,28-5,49-16,65-11,15-24,26-38,33-16,8-33,12-51,14l-49,3c-27,0-51-7-71-20C10,258,0,237,0,206c0-28,8-48,26-60,18-13,43-21,72-25l34-4c15-2,61-8,61-37,0-14-8-25-25-30a126.09,126.09,0,0,0-37-5,114.18,114.18,0,0,0-33,5c-10,2-18,7-23,15H22c-10,0-10-7-8-10A67.87,67.87,0,0,1,39,24Q69,0,126,0c43,0,76,7,97,20S254,51,254,75Zm-61,56-12,6c-11,5-26,10-45,14l-28,6c-16,4-27,9-35,16-10,9-11,21-11,31,0,14,5,25,14,33,9,7,21,11,37,11,25,0,44-7,59-20s22-32,22-55V131Z"></path> </symbol> <symbol id="strato-logo" shape-rendering="geometricPrecision" viewBox="0 0 663 142"> <title>STRATO</title> <g transform="matrix(1.25,0,0,-1.25,0,142.175)" id="g3012"> <g transform="scale(0.1,0.1)" id="g3014"> <path d="m 555.586,978.672 c -87.676,0 -158.738,71.098 -158.738,158.748 l 555.593,0 c 87.669,0 158.729,-71.06 158.729,-158.748 l -0.01,-555.602 c -87.67,0 -158.738,71.075 -158.738,158.735 l 0.019,317.5 c 0,43.828 -35.546,79.367 -79.375,79.367 l -317.48,0" id="path3016" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 793.691,740.547 c 0,43.836 -35.539,79.383 -79.367,79.383 l -634.9607,0 C 35.5273,819.93 0,784.383 0,740.547 L 0,105.578 C 0,61.7383 35.5273,26.1992 79.3633,26.1992 l 634.9607,0 c 43.828,0 79.367,35.5391 79.367,79.3788 l 0,634.969" id="path3018" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 1902.31,103.531 c -44.02,-83.3005 -158.27,-89.2615 -246.33,-89.2615 -67.84,0 -135.67,4.7696 -174.94,8.3321 -48.78,4.7695 -61.88,16.6601 -61.88,41.6484 l 0,40.469 c 0,42.851 7.15,57.129 45.22,57.129 70.22,0 105.91,-9.52 209.45,-9.52 79.73,0 95.2,5.945 95.2,77.352 0,80.918 -1.18,86.867 -41.65,103.527 -51.17,21.426 -99.96,41.66 -149.94,63.074 -123.77,53.555 -148.75,77.356 -148.75,218.961 0,90.457 16.66,160.672 117.81,193.992 44.03,14.282 95.2,19.036 165.41,19.036 54.75,0 83.3,-2.372 134.48,-5.95 48.79,-3.574 63.07,-15.465 63.07,-41.648 l 0,-39.277 c 0,-42.832 -8.34,-57.122 -46.41,-57.122 -41.65,0 -45.23,7.141 -214.2,7.141 -66.65,0 -64.27,-28.555 -64.27,-86.875 0,-42.844 1.19,-52.367 41.65,-70.211 32.13,-14.285 65.45,-27.371 97.58,-41.648 165.42,-70.215 201.12,-86.875 201.12,-222.539 0,-45.227 -1.19,-124.953 -22.62,-166.61" id="path3020" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 2553.92,683.082 c -67.84,0 -123.75,1.191 -174.93,2.387 l 0,-608.1174 c 0,-35.711 -16.66,-52.3711 -51.17,-52.3711 l -51.17,0 c -39.28,0 -57.13,10.7187 -57.13,52.3711 l 0,608.1174 c -51.17,-1.196 -108.29,-2.387 -176.12,-2.387 -48.79,0 -49.98,30.941 -49.98,55.93 l 0,32.148 c 0,40.457 22.61,48.781 49.98,48.781 l 510.52,0 c 27.38,0 51.17,-8.324 51.17,-48.781 l 0,-32.148 c 0,-24.989 -2.38,-55.93 -51.17,-55.93" id="path3022" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 3042.47,674.754 c -19.02,9.519 -70.19,9.519 -91.62,9.519 -38.09,0 -69.02,-1.191 -102.34,-2.371 l 0,-232.066 134.47,0 c 42.83,0 64.26,7.141 77.34,23.801 10.72,14.285 14.28,33.32 14.28,77.351 0,48.793 -4.75,109.489 -32.13,123.766 z m 189.22,-649.7735 -71.41,0 c -29.74,0 -49.98,3.5781 -72.57,32.1289 l -202.31,257.0626 -36.89,0 0,-236.8204 c 0,-35.711 -15.47,-52.3711 -49.98,-52.3711 l -51.18,0 c -39.27,0 -58.32,10.7187 -58.32,52.3711 l 0,693.8084 c 0,46.406 32.13,48.781 58.32,48.781 l 220.16,0 c 124.94,0 157.09,-8.324 203.5,-55.929 44.02,-44.032 61.87,-120.203 61.87,-222.543 0,-97.578 -28.55,-158.281 -78.53,-192.785 -21.43,-14.286 -46.41,-23.797 -79.75,-28.563 L 3256.69,98.7617 c 23.79,-28.5508 28.55,-73.7812 -25,-73.7812" id="path3024" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 3690.75,618.816 -95.19,-280.843 c 27.36,0 59.51,1.191 94.02,1.191 36.88,0 61.88,-1.191 96.39,-1.191 l -95.22,280.843 z m 314.18,-593.8355 -65.45,0 c -36.89,0 -47.6,17.8593 -55.92,41.6484 L 3831.2,215.402 c -51.17,-1.191 -89.28,-1.191 -141.62,-1.191 -50,0 -94.02,0 -136.86,1.191 L 3505.11,74.9609 C 3494.4,42.8398 3484.89,24.9805 3444.42,24.9805 l -54.74,0 c -40.45,0 -46.41,10.7187 -46.41,28.5703 0,7.1406 3.58,21.4101 9.51,36.8789 L 3596.75,771.16 c 13.08,36.887 26.17,53.543 70.21,53.543 l 48.79,0 c 44.04,0 57.13,-16.656 70.22,-52.359 L 4043.02,78.5391 c 2.38,-5.961 4.76,-11.9102 4.76,-17.8477 0,-29.7617 -23.81,-35.7109 -42.85,-35.7109" id="path3026" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 4542.78,683.082 c -67.83,0 -123.77,1.191 -174.94,2.387 l 0,-608.1174 c 0,-35.711 -16.66,-52.3711 -51.17,-52.3711 l -51.17,0 c -39.28,0 -57.13,10.7187 -57.13,52.3711 l 0,608.1174 c -51.17,-1.196 -108.28,-2.387 -176.11,-2.387 -48.79,0 -49.98,30.941 -49.98,55.93 l 0,32.148 c 0,40.457 22.59,48.781 49.98,48.781 l 510.52,0 c 27.37,0 51.18,-8.324 51.18,-48.781 l 0,-32.148 c 0,-24.989 -2.39,-55.93 -51.18,-55.93" id="path3028" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> <path d="m 5113.25,627.148 c -26.17,55.926 -80.92,76.161 -147.56,76.161 -66.64,0 -121.38,-20.235 -147.56,-76.161 -22.61,-49.984 -26.19,-145.183 -26.19,-205.875 0,-60.683 3.58,-154.707 26.19,-204.687 26.18,-55.93 80.92,-77.356 147.56,-77.356 66.64,0 121.39,21.426 147.56,77.356 22.62,49.98 26.19,144.004 26.19,204.687 0,60.692 -3.57,155.891 -26.19,205.875 z M 5215.6,99.9609 C 5158.47,32.1289 5078.74,0 4965.69,0 4852.63,0 4770.52,32.1289 4714.6,99.9609 c -70.22,83.3051 -88.07,198.7341 -88.07,321.3121 0,122.567 17.85,238 88.07,321.313 58.3,69.023 140.41,99.973 251.09,99.973 110.67,0 191.59,-30.95 249.91,-99.973 70.21,-83.313 89.25,-198.746 89.25,-321.313 0,-122.578 -19.04,-238.007 -89.25,-321.3121" id="path3030" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" /> </g> </g> </symbol> <symbol id="we22-logo" shape-rendering="geometricPrecision" viewBox="0 0 160 89"> <title>we22</title> <g id="logo" transform="translate(30 28)"> <path fill="currentColor" d="M0.235452 6.47916C0.164427 6.29001 0.0943755 5.67551 0.0943755 5.20214C0.0943755 2.45896 2.13658 0 5.7968 0C9.29356 0 11.4525 2.29333 11.4525 5.03652C11.4525 7.02309 10.3969 8.65489 8.44904 9.81429L5.56232 11.5412C5.11671 11.8244 4.74115 12.1321 4.53003 12.581L11.5702 12.581L11.5702 15.7025L0 15.7025C0 12.8887 0.798787 10.5709 3.59113 8.9391L6.07798 7.47294C7.2747 6.76338 7.74463 6.12536 7.74463 5.10806C7.74463 4.1378 7.06454 3.28711 5.70339 3.28711C4.27122 3.28711 3.56778 4.27991 3.56778 5.55791C3.56778 5.85682 3.61254 6.17828 3.70205 6.47916L0.235452 6.47916Z" transform="translate(73.55372 0)" stroke="none"></path> <path fill="currentColor" d="M0.234499 6.47916C0.164441 6.29001 0.0934105 5.67551 0.0934105 5.20214C0.0934105 2.45896 2.13579 0 5.79729 0C9.29337 0 11.4525 2.29333 11.4525 5.03652C11.4525 7.02309 10.3958 8.65489 8.44878 9.81429L5.56182 11.5412C5.11617 11.8244 4.74058 12.1321 4.52944 12.581L11.5703 12.581L11.5703 15.7025L0 15.7025C0 12.8887 0.797881 10.5709 3.59047 8.9391L6.07849 7.47294C7.27532 6.76338 7.74431 6.12536 7.74431 5.10806C7.74431 4.1378 7.06417 3.28711 5.70291 3.28711C4.27158 3.28711 3.56711 4.27991 3.56711 5.55791C3.56711 5.85682 3.61187 6.17828 3.70139 6.47916L0.234499 6.47916Z" transform="translate(88.42975 0)" stroke="none"></path> <path fill="currentColor" d="M26.0643 19.702C24.7008 24.2775 20.4479 28.0992 13.85 28.0992C6.48912 28.0992 0 22.8783 0 13.9422C0 5.49135 6.32486 0 13.1959 0C21.4839 0 26.4463 5.22186 26.4463 13.7274C26.4463 14.7497 26.3364 15.8267 26.3364 15.9341L7.14318 15.9341C7.30644 19.4325 10.3056 21.9634 13.9044 21.9634C17.2855 21.9634 19.1388 20.2947 20.0116 17.926L26.0643 19.702ZM19.3031 11.0364C19.1943 8.39813 17.4488 5.81455 13.3048 5.81455C9.5417 5.81455 7.47071 8.61293 7.30644 11.0364L19.3031 11.0364Z" transform="translate(42.97521 0)" stroke="none"></path> <path fill="currentColor" d="M36.6368 0L31.6972 17.0398L25.9438 0L18.345 0L12.5374 16.9861L7.5978 0L0 0L8.52103 26.4463L15.8486 26.4463L21.9817 8.38516L28.2233 26.4463L35.4434 26.4463L43.8017 0L36.6368 0Z" transform="translate(0 0.8264463)" stroke="none"></path> </g> </symbol> <symbol id="linkedin-logo" viewBox="0 0 24 24"> <title>LinkedIn</title> <path fill="currentColor" d="M19.591 2.9998H4.345C4.1717 2.99379 3.99896 3.02251 3.83693 3.08427C3.6749 3.14603 3.52686 3.23957 3.40153 3.35941C3.2762 3.47924 3.17611 3.62293 3.10715 3.78203C3.0382 3.94113 3.00176 4.11241 3 4.2858V19.7138C3.00176 19.8872 3.0382 20.0585 3.10715 20.2176C3.17611 20.3767 3.2762 20.5204 3.40153 20.6402C3.52686 20.76 3.6749 20.8536 3.83693 20.9153C3.99896 20.9771 4.1717 21.0058 4.345 20.9998H19.655C20.0018 21.0004 20.3354 20.8669 20.5861 20.6272C20.8367 20.3876 20.985 20.0603 21 19.7138V4.2858C20.9712 3.93304 20.8099 3.60428 20.5484 3.36568C20.287 3.12708 19.9449 2.99636 19.591 2.9998ZM8.317 18.3638H5.69V9.7498H8.381V18.3638H8.317ZM6.972 8.59281C6.66657 8.59399 6.36766 8.50451 6.11313 8.33568C5.85859 8.16686 5.65989 7.92629 5.54218 7.64445C5.42448 7.36262 5.39306 7.05218 5.45192 6.75248C5.51078 6.45277 5.65726 6.17727 5.87281 5.96088C6.08836 5.74449 6.36329 5.59693 6.66276 5.53691C6.96224 5.47688 7.27279 5.50709 7.55509 5.62369C7.83738 5.7403 8.07872 5.93807 8.24854 6.19194C8.41835 6.44581 8.509 6.74437 8.509 7.04981C8.51208 7.25278 8.47448 7.45432 8.39841 7.64252C8.32233 7.83073 8.20933 8.00179 8.06607 8.14561C7.92281 8.28943 7.75219 8.4031 7.56428 8.4799C7.37637 8.55671 7.17499 8.5951 6.972 8.59281ZM18.31 18.3638H15.683V14.1858C15.683 13.2208 15.683 11.9358 14.274 11.9358C12.865 11.9358 12.674 13.0288 12.674 14.1208V18.3638H10.046V9.7498H12.609V10.9068H12.673C12.9311 10.4743 13.2973 10.1165 13.7357 9.86857C14.174 9.62063 14.6694 9.49113 15.173 9.49281C17.863 9.49281 18.373 11.2928 18.373 13.6068V18.3638H18.31Z"/> </symbol> <symbol id="facebook-logo" viewBox="0 0 24 24"> <title>facebook</title> <path fill="currentColor" d="M11.9999 2C9.48243 1.99856 7.05705 2.94668 5.20799 4.65507C3.35894 6.36346 2.22227 8.70641 2.02493 11.2161C1.82759 13.7258 2.58411 16.2176 4.14343 18.194C5.70275 20.1704 7.95014 21.486 10.4369 21.878V14.891H7.89989V12H10.4389V9.8C10.3845 9.28542 10.4439 8.76517 10.6129 8.27608C10.7818 7.787 11.0563 7.34105 11.4167 6.96981C11.7772 6.59856 12.2149 6.3111 12.6988 6.12779C13.1827 5.94447 13.7009 5.86978 14.2169 5.909C14.9668 5.92078 15.7148 5.98763 16.4549 6.109V8.569H15.1919C14.977 8.54056 14.7585 8.5608 14.5524 8.62821C14.3464 8.69563 14.1582 8.8085 14.0017 8.95848C13.8452 9.10846 13.7244 9.2917 13.6483 9.49466C13.5722 9.69762 13.5426 9.91509 13.5619 10.131V12H16.3359L15.8929 14.891H13.5619V21.878C16.0486 21.486 18.2959 20.1705 19.8552 18.1942C21.4145 16.2179 22.1711 13.7263 21.9739 11.2166C21.7767 8.70699 20.6402 6.36405 18.7913 4.65558C16.9425 2.94711 14.5173 1.99881 11.9999 2Z"/> </symbol> <symbol id="twitter-logo" viewBox="0 0 1200 1227"> <title>twitter x</title> <path fill="currentColor" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"></path> </symbol> <symbol id="youtube-logo" viewBox="0 0 24 24"> <title>YouTube</title> <path fill="currentColor" d="M21.5816 7.15508C21.4684 6.72959 21.2456 6.34125 20.9353 6.02888C20.6251 5.71652 20.2383 5.49107 19.8135 5.37508C18.2535 4.95508 11.9995 4.95508 11.9995 4.95508C11.9995 4.95508 5.74555 4.95508 4.18555 5.37508C3.76084 5.49107 3.37401 5.71652 3.06375 6.02888C2.75349 6.34125 2.53066 6.72959 2.41755 7.15508C2.12921 8.75375 1.98928 10.3756 1.99955 12.0001C1.98928 13.6245 2.12921 15.2464 2.41755 16.8451C2.53066 17.2706 2.75349 17.6589 3.06375 17.9713C3.37401 18.2836 3.76084 18.5091 4.18555 18.6251C5.74555 19.0451 11.9995 19.0451 11.9995 19.0451C11.9995 19.0451 18.2535 19.0451 19.8135 18.6251C20.2383 18.5091 20.6251 18.2836 20.9353 17.9713C21.2456 17.6589 21.4684 17.2706 21.5816 16.8451C21.8699 15.2464 22.0098 13.6245 21.9995 12.0001C22.0098 10.3756 21.8699 8.75375 21.5816 7.15508ZM9.95455 14.9741V9.02608L15.1816 12.0001L9.95455 14.9741Z"/> </symbol> <symbol id="icon-lightbulb" viewBox="0 0 36 36"> <title>Lightbulb</title> <path fill="currentColor" d="M16.774 6V3C16.774 2.448 17.221 2 17.774 2C18.327 2 18.774 2.448 18.774 3V6C18.774 6.552 18.327 7 17.774 7C17.221 7 16.774 6.552 16.774 6ZM31.274 24.639L28.668 23.134C28.189 22.858 27.579 23.021 27.302 23.5C27.026 23.978 27.19 24.59 27.668 24.866L30.274 26.371C30.431 26.462 30.603 26.505 30.773 26.505C31.119 26.505 31.455 26.326 31.64 26.005C31.916 25.527 31.752 24.915 31.274 24.639ZM25.486 9.808C25.772 9.808 26.055 9.686 26.253 9.451L28.182 7.153C28.537 6.73 28.482 6.099 28.059 5.744C27.635 5.389 27.004 5.446 26.651 5.867L24.722 8.165C24.367 8.588 24.422 9.219 24.845 9.574C25.033 9.731 25.259 9.808 25.486 9.808ZM32.374 14.41L29.42 14.931C28.876 15.027 28.513 15.546 28.609 16.09C28.694 16.575 29.116 16.916 29.592 16.916C29.65 16.916 29.708 16.911 29.767 16.901L32.721 16.38C33.265 16.284 33.628 15.765 33.532 15.221C33.436 14.677 32.914 14.312 32.374 14.41ZM5.95604 16.916C6.43304 16.916 6.85404 16.575 6.93904 16.09C7.03604 15.546 6.67204 15.027 6.12804 14.931L3.17304 14.41C2.62904 14.313 2.11104 14.677 2.01504 15.221C1.91804 15.765 2.28204 16.284 2.82604 16.38L5.78104 16.901C5.84004 16.911 5.89804 16.916 5.95604 16.916ZM9.29604 9.451C9.49304 9.686 9.77604 9.808 10.063 9.808C10.29 9.808 10.517 9.731 10.705 9.574C11.129 9.219 11.184 8.588 10.828 8.165L8.89904 5.867C8.54604 5.446 7.91604 5.388 7.49104 5.744C7.06704 6.099 7.01204 6.73 7.36804 7.153L9.29604 9.451ZM6.88204 23.134L4.23704 24.661C3.75804 24.937 3.59404 25.549 3.87104 26.027C4.05704 26.348 4.39204 26.527 4.73804 26.527C4.90804 26.527 5.08004 26.484 5.23704 26.393L7.88204 24.866C8.36104 24.59 8.52504 23.978 8.24804 23.5C7.97104 23.021 7.35804 22.857 6.88204 23.134ZM23.84 25.619C23.369 26.114 22.938 26.571 22.64 27H22.774C23.327 27 23.774 27.448 23.774 28V31.499C23.774 32.878 22.652 34 21.273 34H14.275C12.896 34 11.774 32.878 11.774 31.499V28C11.774 27.448 12.221 27 12.774 27H12.908C12.611 26.572 12.18 26.114 11.708 25.619C10.259 24.097 8.27304 22.012 8.27304 18.5C8.27304 13.262 12.535 9 17.773 9C23.011 9 27.273 13.262 27.273 18.5C27.273 22.012 25.288 24.097 23.838 25.619H23.84ZM21.774 29H13.774V31.499C13.774 31.775 13.999 32 14.275 32H21.273C21.549 32 21.774 31.775 21.774 31.499V29ZM20.401 27C20.736 25.979 21.546 25.128 22.391 24.24C23.743 22.821 25.274 21.212 25.274 18.5C25.274 14.364 21.91 11 17.774 11C13.638 11 10.274 14.364 10.274 18.5C10.274 21.212 11.805 22.821 13.157 24.24C14.003 25.128 14.812 25.979 15.147 27H20.401Z"/> </symbol> <symbol id="icon-hand-thumbs-up" viewBox="0 0 36 36"> <title>Hand thumbs up</title> <path fill="currentColor" d="M30.872 14.071C30.754 14.024 30.628 14 30.5 14H22.229C22.5 12.622 22.893 10.393 22.893 9C22.893 6.742 20.126 2.85 19.81 2.414C19.622 2.154 19.321 2 19 2H16C15.448 2 15 2.448 15 3V9C15 10.343 13.817 13.079 13.228 14.303L10.566 15.967C10.041 15.092 9.093 14.5 8.001 14.5H3C2.448 14.5 2 14.948 2 15.5V32C2 32.552 2.448 33 3 33H8C9.056 33 9.982 32.448 10.517 31.621C11.96 32.582 14.581 34 17.5 34H29C32.088 34 34 27.771 34 22C34 15.51 31.191 14.2 30.872 14.071ZM9 30C9 30.551 8.551 31 8 31H4V16.5H8C8.551 16.5 9 16.949 9 17.5V30ZM29 32H17.5C14.612 32 11.935 30.211 11 29.514V18.055L14.53 15.849C14.686 15.751 14.812 15.613 14.895 15.448C15.11 15.017 17 11.174 17 9.001V4H18.481C19.516 5.509 20.893 7.89 20.893 9C20.893 10.866 20.033 14.743 20.024 14.782C19.958 15.078 20.03 15.388 20.22 15.625C20.41 15.862 20.697 16 21 16H30.224C30.652 16.327 32 17.699 32 22C32 28.222 29.917 32 29 32Z"/> </symbol> <symbol id="icon-balance-scale" viewBox="0 0 2176 1792"> <title>FA Balance Scale</title> <path fill="currentColor" d="m1728 448l-384 704h768zm-1280 0L64 1152h768zm821-192q-14 40-45.5 71.5T1152 373v1291h608q14 0 23 9t9 23v64q0 14-9 23t-23 9H416q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h608V373q-40-14-71.5-45.5T907 256H416q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h491q21-57 70-92.5T1088 0t111 35.5t70 92.5h491q14 0 23 9t9 23v64q0 14-9 23t-23 9zm-181 16q33 0 56.5-23.5T1168 192t-23.5-56.5T1088 112t-56.5 23.5T1008 192t23.5 56.5T1088 272m1088 880q0 73-46.5 131t-117.5 91t-144.5 49.5T1728 1440t-139.5-16.5T1444 1374t-117.5-91t-46.5-131q0-11 35-81t92-174.5T1514 701t102-184t56-100q18-33 56-33t56 33q4 7 56 100t102 184t107 195.5t92 174.5t35 81m-1280 0q0 73-46.5 131T732 1374t-144.5 49.5T448 1440t-139.5-16.5T164 1374t-117.5-91T0 1152q0-11 35-81t92-174.5T234 701t102-184t56-100q18-33 56-33t56 33q4 7 56 100t102 184t107 195.5t92 174.5t35 81" /> </symbol> <symbol id="icon-exclamation-circle" viewBox="0 0 36 36"> <title>Exclamation circle</title> <path fill="currentColor" d="M18 1C8.611 1 1 8.611 1 18C1 27.389 8.611 35 18 35C27.389 35 35 27.389 35 18C35 8.611 27.389 1 18 1ZM18 33C9.729 33 3 26.271 3 18C3 9.729 9.729 3 18 3C26.271 3 33 9.729 33 18C33 26.271 26.271 33 18 33ZM19.5 26.5C19.5 27.328 18.828 28 18 28C17.172 28 16.5 27.328 16.5 26.5C16.5 25.672 17.172 25 18 25C18.828 25 19.5 25.672 19.5 26.5ZM17 21V9C17 8.448 17.448 8 18 8C18.552 8 19 8.448 19 9V21C19 21.552 18.552 22 18 22C17.448 22 17 21.552 17 21Z"/> </symbol> <symbol id="icon-list" viewBox="0 0 36 36"> <title>List</title> <path fill="currentColor" d="M33 7.978H12C11.447 7.978 11 7.53 11 6.978C11 6.426 11.447 5.978 12 5.978H33C33.553 5.978 34 6.426 34 6.978C34 7.53 33.553 7.978 33 7.978ZM34 18C34 17.448 33.553 17 33 17H12C11.447 17 11 17.448 11 18C11 18.552 11.447 19 12 19H33C33.553 19 34 18.552 34 18ZM34 29C34 28.448 33.553 28 33 28H12C11.447 28 11 28.448 11 29C11 29.552 11.447 30 12 30H33C33.553 30 34 29.552 34 29ZM8 30.5V27.5C8 26.673 7.327 26 6.5 26H3.5C2.673 26 2 26.673 2 27.5V30.5C2 31.327 2.673 32 3.5 32H6.5C7.327 32 8 31.327 8 30.5ZM4 28H6V30H4V28ZM8 19.5V16.5C8 15.673 7.327 15 6.5 15H3.5C2.673 15 2 15.673 2 16.5V19.5C2 20.327 2.673 21 3.5 21H6.5C7.327 21 8 20.327 8 19.5ZM4 17H6V19H4V17ZM8 8.5V5.5C8 4.673 7.327 4 6.5 4H3.5C2.673 4 2 4.673 2 5.5V8.5C2 9.327 2.673 10 3.5 10H6.5C7.327 10 8 9.327 8 8.5ZM4 6H6V8H4V6Z"/> </symbol> <symbol id="icon-list-ul" viewBox="0 0 16 16"> <title>List ul</title> <path fill="currentColor" fill-rule="evenodd" d="M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m-3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2m0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2"/> </symbol> <symbol id="icon-book" viewBox="0 0 16 16"> <title>Book</title> <path fill="currentColor" d="M1 2.828c.885-.37 2.154-.769 3.388-.893 1.33-.134 2.458.063 3.112.752v9.746c-.935-.53-2.12-.603-3.213-.493-1.18.12-2.37.461-3.287.811V2.828zm7.5-.141c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783"/> </symbol> <symbol id="icon-chat-left-quote" viewBox="0 0 16 16"> <title>Chat left quote</title> <path fill="currentColor" d="M14 1a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H4.414A2 2 0 0 0 3 11.586l-2 2V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12.793a.5.5 0 0 0 .854.353l2.853-2.853A1 1 0 0 1 4.414 12H14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z"/> <path fill="currentColor" d="M7.066 4.76A1.665 1.665 0 0 0 4 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112zm4 0A1.665 1.665 0 0 0 8 5.668a1.667 1.667 0 0 0 2.561 1.406c-.131.389-.375.804-.777 1.22a.417.417 0 1 0 .6.58c1.486-1.54 1.293-3.214.682-4.112z"/> </symbol> <symbol id="icon-breadcrumb-divider" viewBox="0 0 16 16"> <title>Breadcrumb divider</title> <path fill="currentColor" fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/> </symbol> <symbol id="icon-toc" viewBox="0 0 16 16"> <title>Table of contents</title> <path fill="currentColor" fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5"/> </symbol> <symbol id="icon-toc2" viewBox="0 0 16 16"> <title>Table of contents</title> <path fill="currentColor" fill-rule="evenodd" d="M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m-3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2m0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2"/> </symbol> <symbol id="icon-download" viewBox="0 0 16 16"> <title>Download</title> <path fill="currentColor" d="M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5"/> <path fill="currentColor" d="M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z"/> </symbol> <symbol id="icon-send" viewBox="0 0 16 16"> <title>Send</title> <path fill="currentColor" d="M15.854.146a.5.5 0 0 1 .11.54l-5.819 14.547a.75.75 0 0 1-1.329.124l-3.178-4.995L.643 7.184a.75.75 0 0 1 .124-1.33L15.314.037a.5.5 0 0 1 .54.11ZM6.636 10.07l2.761 4.338L14.13 2.576zm6.787-8.201L1.591 6.602l4.339 2.76 7.494-7.493Z"/> </symbol> <symbol id="icon-qr-code-scan" viewBox="0 0 16 16"> <title>QR Code Scan</title> <path fill="currentColor" d="M0 .5A.5.5 0 0 1 .5 0h3a.5.5 0 0 1 0 1H1v2.5a.5.5 0 0 1-1 0zm12 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V1h-2.5a.5.5 0 0 1-.5-.5M.5 12a.5.5 0 0 1 .5.5V15h2.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5m15 0a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H15v-2.5a.5.5 0 0 1 .5-.5M4 4h1v1H4z"/> <path fill="currentColor" d="M7 2H2v5h5zM3 3h3v3H3zm2 8H4v1h1z"/> <path fill="currentColor" d="M7 9H2v5h5zm-4 1h3v3H3zm8-6h1v1h-1z"/> <path fill="currentColor" d="M9 2h5v5H9zm1 1v3h3V3zM8 8v2h1v1H8v1h2v-2h1v2h1v-1h2v-1h-3V8zm2 2H9V9h1zm4 2h-1v1h-2v1h3zm-4 2v-1H8v1z"/> <path fill="currentColor" d="M12 9h2V8h-2z"/> </symbol> <symbol id="icon-camera-reels" viewBox="0 0 16 16"> <title>Camera reels</title> <path fill="currentColor" d="M6 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0M1 3a2 2 0 1 0 4 0 2 2 0 0 0-4 0"/> <path fill="currentColor" d="M9 6h.5a2 2 0 0 1 1.983 1.738l3.11-1.382A1 1 0 0 1 16 7.269v7.462a1 1 0 0 1-1.406.913l-3.111-1.382A2 2 0 0 1 9.5 16H2a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2zm6 8.73V7.27l-3.5 1.555v4.35l3.5 1.556zM1 8v6a1 1 0 0 0 1 1h7.5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1"/> <path fill="currentColor" d="M9 6a3 3 0 1 0 0-6 3 3 0 0 0 0 6M7 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0"/> </symbol> <symbol id="icon-search" viewBox="0 0 16 16"> <title>Search</title> <path fill="currentColor" d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0"/> </symbol> <symbol id="icon-rss" viewBox="0 0 16 16"> <title>RSS</title> <path fill="currentColor" d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm1.5 2.5c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1 0-2m0 4a6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1 0-2m.5 7a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3"/> </symbol> <symbol id="icon-check" viewBox="0 0 16 16"> <title>Check</title> <path fill="currentColor" d="M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425z"/> </symbol> <symbol id="icon-check-lg" viewBox="0 0 16 16"> <title>Check lg</title> <path fill="currentColor" d="M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022"/> </symbol> <symbol id="icon-check-circle" viewBox="0 0 16 16"> <title>Check circle</title> <path fill="currentColor" d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/> <path fill="currentColor" d="m10.97 4.97-.02.022-3.473 4.425-2.093-2.094a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-1.071-1.05"/> </symbol> <symbol id="icon-x" viewBox="0 0 16 16"> <title>X</title> <path fill="currentColor" d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708"/> </symbol> <symbol id="icon-x-lg" viewBox="0 0 16 16"> <title>X lg</title> <path fill="currentColor" d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"/> </symbol> <symbol id="icon-x-circle" viewBox="0 0 16 16"> <title>X circle</title> <path fill="currentColor" d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/> <path fill="currentColor" d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708"/> </symbol> <symbol id="icon-file-earmark-excel" viewBox="0 0 16 16"> <title>File earmark excel</title> <path fill="currentColor" d="M5.884 6.68a.5.5 0 1 0-.768.64L7.349 10l-2.233 2.68a.5.5 0 0 0 .768.64L8 10.781l2.116 2.54a.5.5 0 0 0 .768-.641L8.651 10l2.233-2.68a.5.5 0 0 0-.768-.64L8 9.219l-2.116-2.54z"/> <path fill="currentColor" d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z"/> </symbol> <symbol id="icon-file-earmark-word" viewBox="0 0 16 16"> <title>File earmark Word</title> <path fill="currentColor" d="M5.485 6.879a.5.5 0 1 0-.97.242l1.5 6a.5.5 0 0 0 .967.01L8 9.402l1.018 3.73a.5.5 0 0 0 .967-.01l1.5-6a.5.5 0 0 0-.97-.242l-1.036 4.144-.997-3.655a.5.5 0 0 0-.964 0l-.997 3.655L5.485 6.88z"/> <path fill="currentColor" d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z"/> </symbol> <symbol id="icon-file-earmark-pdf" viewBox="0 0 16 16"> <title>File earmark pdf</title> <path fill="currentColor" d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z"/> <path fill="currentColor" d="M4.603 14.087a.81.81 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.68 7.68 0 0 1 1.482-.645 19.697 19.697 0 0 0 1.062-2.227 7.269 7.269 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a10.954 10.954 0 0 0 .98 1.686 5.753 5.753 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.856.856 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.712 5.712 0 0 1-.911-.95 11.651 11.651 0 0 0-1.997.406 11.307 11.307 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.793.793 0 0 1-.58.029zm1.379-1.901c-.166.076-.32.156-.459.238-.328.194-.541.383-.647.547-.094.145-.096.25-.04.361.01.022.02.036.026.044a.266.266 0 0 0 .035-.012c.137-.056.355-.235.635-.572a8.18 8.18 0 0 0 .45-.606zm1.64-1.33a12.71 12.71 0 0 1 1.01-.193 11.744 11.744 0 0 1-.51-.858 20.801 20.801 0 0 1-.5 1.05zm2.446.45c.15.163.296.3.435.41.24.19.407.253.498.256a.107.107 0 0 0 .07-.015.307.307 0 0 0 .094-.125.436.436 0 0 0 .059-.2.095.095 0 0 0-.026-.063c-.052-.062-.2-.152-.518-.209a3.876 3.876 0 0 0-.612-.053zM8.078 7.8a6.7 6.7 0 0 0 .2-.828c.031-.188.043-.343.038-.465a.613.613 0 0 0-.032-.198.517.517 0 0 0-.145.04c-.087.035-.158.106-.196.283-.04.192-.03.469.046.822.024.111.054.227.09.346z"/> </symbol> <symbol id="icon-file-earmark-arrow-down" viewBox="0 0 16 16"> <title>File earmark arrow down</title> <path fill="currentColor" d="M8.5 6.5a.5.5 0 0 0-1 0v3.793L6.354 9.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 10.293z"/> <path fill="currentColor" d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z"/> </symbol> <symbol id="icon-link" viewBox="0 0 36 36"> <title>Icon link</title> <path d="M19.813 22.778C18.077 22.778 16.445 22.102 15.217 20.874C14.792 20.45 14.428 19.97 14.136 19.448C13.866 18.966 14.038 18.357 14.521 18.087C15.004 17.817 15.613 17.99 15.882 18.471C16.083 18.832 16.336 19.164 16.631 19.459C17.481 20.31 18.61 20.777 19.813 20.777C21.016 20.777 22.145 20.309 22.996 19.459L30.773 11.681C31.624 10.831 32.091 9.70102 32.091 8.49902C32.091 7.29702 31.623 6.16702 30.773 5.31702C29.923 4.46702 28.794 3.99902 27.591 3.99902C26.388 3.99902 25.259 4.46702 24.409 5.31702L18.569 11.157C18.178 11.548 17.546 11.548 17.155 11.157C16.764 10.766 16.764 10.134 17.155 9.74302L22.995 3.90302C24.223 2.67502 25.854 1.99902 27.591 1.99902C29.328 1.99902 30.959 2.67502 32.187 3.90302C33.415 5.13102 34.091 6.76302 34.091 8.49902C34.091 10.235 33.414 11.868 32.187 13.095L24.41 20.873C23.182 22.101 21.55 22.778 19.813 22.778ZM13.096 32.188L18.936 26.348C19.327 25.957 19.327 25.325 18.936 24.934C18.545 24.543 17.913 24.543 17.522 24.934L11.682 30.774C10.832 31.624 9.703 32.092 8.5 32.092C7.297 32.092 6.168 31.624 5.318 30.774C4.467 29.924 4 28.794 4 27.592C4 26.39 4.468 25.26 5.318 24.41L13.095 16.632C13.946 15.782 15.075 15.314 16.278 15.314C17.481 15.314 18.61 15.782 19.46 16.632C19.755 16.927 20.008 17.259 20.209 17.62C20.48 18.102 21.088 18.274 21.57 18.004C22.052 17.734 22.224 17.125 21.955 16.643C21.663 16.121 21.299 15.642 20.874 15.217C19.646 13.989 18.015 13.313 16.278 13.313C14.541 13.313 12.909 13.989 11.681 15.217L3.904 22.995C2.676 24.223 2 25.855 2 27.591C2 29.327 2.677 30.96 3.904 32.187C5.131 33.414 6.763 34.091 8.5 34.091C10.237 34.091 11.868 33.416 13.096 32.188Z" fill="currentColor"/> </symbol> <symbol id="icon-calendar" viewBox="0 0 16 16"> <title>Calendar3</title> <path fill="currentColor" d="M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2M1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857z"/> <path fill="currentColor" d="M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2m3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2"/> </symbol> <symbol id="icon-calendar-event" viewBox="0 0 16 16"> <title>Calendar event</title> <path fill="currentColor" d="M11 6.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z"/> <path fill="currentColor" d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z"/> </symbol> <symbol id="icon-arrow-top" viewBox="0 0 36 36"> <title>Arrow top</title> <path fill="currentColor" d="M30.041 13.96L18.374 2.29301C17.983 1.90201 17.351 1.90201 16.96 2.29301L5.29301 13.96C4.90201 14.35 4.90201 14.984 5.29301 15.374C5.68401 15.765 6.31601 15.765 6.70701 15.374L16.667 5.41401V33C16.667 33.552 17.114 34 17.667 34C18.22 34 18.667 33.552 18.667 33V5.41401L28.627 15.374C28.822 15.569 29.078 15.667 29.334 15.667C29.59 15.667 29.846 15.569 30.041 15.374C30.432 14.984 30.432 14.35 30.041 13.96Z"/> </symbol> <symbol id="icon-arrow-right" viewBox="0 0 36 36"> <title>Arrow right</title> <path fill="currentColor" d="M33.414 16.7517L23.247 6.58575C22.466 5.80475 21.2 5.80475 20.419 6.58575C19.638 7.36675 19.638 8.63375 20.419 9.41475L27.172 16.1667H4C2.896 16.1667 2 17.0627 2 18.1667C2 19.2708 2.896 20.1667 4 20.1667H27.172L20.419 26.9188C19.638 27.6998 19.638 28.9657 20.419 29.7477C20.81 30.1377 21.321 30.3337 21.833 30.3337C22.345 30.3337 22.856 30.1388 23.247 29.7477L33.414 19.5808C33.789 19.2058 34 18.6967 34 18.1667C34 17.6368 33.789 17.1278 33.414 16.7528V16.7517Z"/> </symbol> <symbol id="icon-arrow-bottom" viewBox="0 0 36 36"> <title>Arrow bottom</title> <path fill="currentColor" d="M30.041 20.626C29.65 20.235 29.018 20.235 28.627 20.626L18.667 30.586V3C18.667 2.448 18.22 2 17.667 2C17.114 2 16.667 2.448 16.667 3V30.586L6.70701 20.626C6.31601 20.235 5.68401 20.235 5.29301 20.626C4.90201 21.016 4.90201 21.65 5.29301 22.04L16.96 33.707C17.155 33.902 17.411 34 17.667 34C17.923 34 18.179 33.902 18.374 33.707L30.041 22.04C30.432 21.65 30.432 21.016 30.041 20.626Z"/> </symbol> <symbol id="icon-arrow-left" viewBox="0 0 36 36"> <title>Arrow left</title> <path fill="currentColor" d="M33 16.667H5.414L15.374 6.70701C15.765 6.31701 15.765 5.68301 15.374 5.29301C14.983 4.90201 14.351 4.90201 13.96 5.29301L2.293 16.96C2.105 17.148 2 17.402 2 17.667C2 17.932 2.105 18.187 2.293 18.374L13.96 30.041C14.155 30.236 14.411 30.334 14.667 30.334C14.923 30.334 15.179 30.236 15.374 30.041C15.765 29.651 15.765 29.017 15.374 28.627L5.414 18.667H33C33.553 18.667 34 18.219 34 17.667C34 17.115 33.553 16.667 33 16.667Z"/> </symbol> <symbol id="icon-stopwatch" viewBox="0 0 16 16"> <title>Stopwatch</title> <path fill="currentColor" d="M8.5 5.6a.5.5 0 1 0-1 0v2.9h-3a.5.5 0 0 0 0 1H8a.5.5 0 0 0 .5-.5z"/> <path fill="currentColor" d="M6.5 1A.5.5 0 0 1 7 .5h2a.5.5 0 0 1 0 1v.57c1.36.196 2.594.78 3.584 1.64l.012-.013.354-.354-.354-.353a.5.5 0 0 1 .707-.708l1.414 1.415a.5.5 0 1 1-.707.707l-.353-.354-.354.354-.013.012A7 7 0 1 1 7 2.071V1.5a.5.5 0 0 1-.5-.5M8 3a6 6 0 1 0 .001 12A6 6 0 0 0 8 3"/> </symbol> <symbol id="icon-info" viewBox="0 0 16 16"> <title>Info</title> <path fill="currentColor" d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/> <path fill="currentColor" d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0"/> </symbol> </svg> </body> </html>