| link(rel="icon" href="favicon.ico?v=1") |
| meta(charset="utf-8") |
| meta(name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, shrink-to-fit=no") |
| meta(http-equiv="X-UA-Compatible" content="IE=edge") |
| title Compiler Explorer |
| if metadata |
| meta(property="og:title" content=metadata.ogTitle) |
| if metadata.ogDescription |
| meta(name="description" content=metadata.ogDescription) |
| meta(property="og:description" content=metadata.ogDescription) |
| else |
| meta(name="description" content="Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.") |
| meta(property="og:description" content="Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.") |
| else |
| meta(name="description" content="Compiler Explorer is an interactive online compiler which shows the assembly output of compiled C++, Rust, Go (and many more) code.") |
| meta(property="og:title" content="Compiler Explorer") |
| meta(name="twitter:card" content="summary") |
| meta(name="twitter:site" content="@CompileExplore") |
| meta(property="og:image" content="https://github.com/mattgodbolt/compiler-explorer-image/blob/master/logo/favicon.png?raw=true") |
| meta(property="og:image:secure_url" content="https://github.com/mattgodbolt/compiler-explorer-image/blob/master/logo/favicon.png?raw=true") |
| meta(property="og:image:type" content="image/png") |
| meta(property="og:image:width" content="145") |
| meta(property="og:image:height" content="145") |
| meta(name="author" content="Matt Godbolt") |
| meta(name="google" content="nositelinkssearchbox") |
| meta(name="google" content="notranslate") |
| meta(id="meta-theme" name="theme-color" content="#f2f2f2") |
| |
| link(href=require("main.css") rel="stylesheet") |
| style#theme |
| |
| // The atob/base64 stuff below is to prevent any XSS attacks: now we have user content in the options (from |
| // short links), it's possible to do XSS attacks, by leaving <script> tags in the source etc, which can be |
| // interpreted by the browser. |
| script(src=`${httpRootDir}client-options.js?hash=${optionsHash}`) |
| script |
| | var extraOptions = JSON.parse(decodeURIComponent("!{encodeURIComponent(compilerExplorerOptions)}")); |
| | for (k in extraOptions) { window.compilerExplorerOptions[k] = extraOptions[k]; } |
| script window.httpRoot = '#{httpRoot}'; window.httpRootDir = '#{httpRootDir}'; |
| script(src=require("main.js")) |