import sdk from '@stackblitz/sdk'
// https://gohugo.io/hugo-pipes/js/#options
import {
- cssCdn, cssCdnHash, docsVersion, jsBundleCdn, jsBundleCdnHash, jsSnippetFile, isNetlify
+ cssCdn, cssCdnHash, docsCss, jsBundleCdn, jsBundleCdnHash, jsSnippetFile, isNetlify
} from '@params' // eslint-disable-line import/no-unresolved
// Open in StackBlitz logic
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="${cssCdn}" rel="stylesheet"${!isNetlify ? `integrity="${cssCdnHash}" crossorigin="anonymous"` : ''}>
- <link href="https://getbootstrap.com/docs/${docsVersion}/assets/css/docs.css" rel="stylesheet">
+ <link href="docs.css" rel="stylesheet">
<title>Bootstrap Example</title>
<${'script'} defer src="${jsBundleCdn}"${!isNetlify ? `integrity="${jsBundleCdnHash}" crossorigin="anonymous"` : ''}></${'script'}>
</head>
const project = {
files: {
'index.html': indexHtml,
- ...(jsSnippet && { 'index.js': jsSnippetFile })
+ ...(jsSnippet && { 'index.js': jsSnippetFile }),
+ 'docs.css': docsCss
},
title: 'Bootstrap Example',
description: `Official example from ${window.location.href}`,
{{- $esbuildOptions := dict "target" "es2019" -}}
{{- $targetDocsJSPath := path.Join "/docs" .Site.Params.docs_version -}}
+{{- $sassOptions := dict "outputStyle" "expanded" "precision" 6 -}}
+{{- $postcssOptions := dict "use" "autoprefixer" "noMap" true -}}
+
{{- if hugo.IsProduction -}}
{{- $esbuildOptions = merge $esbuildOptions (dict "minify" "true") -}}
+ {{- $sassOptions = merge $sassOptions (dict "outputStyle" "compressed") -}}
{{- end }}
{{- $applicationJs := resources.Get "js/application.js" | js.Build $esbuildOptions | resources.Copy (path.Join $targetDocsJSPath "/assets/js/application.js") }}
{{- end -}}
{{ if eq .Page.Layout "docs" -}}
+{{- $docsCss := resources.Get "scss/docs.scss" | toCSS $sassOptions | postCSS $postcssOptions -}}
{{- $snippetsFile := resources.Get "js/snippets.js" | js.Build $esbuildOptions -}}
+
{{- $esbuildParams := dict
"isNetlify" (eq (getenv "NETLIFY") "true")
"cssCdn" .Site.Params.cdn.css
"cssCdnHash" .Site.Params.cdn.css_hash
+ "docsCss" $docsCss.Content
"jsBundleCdn" .Site.Params.cdn.js_bundle
"jsBundleCdnHash" .Site.Params.cdn.js_bundle_hash
- "docsVersion" .Site.Params.docs_version
"jsSnippetFile" $snippetsFile.Content
-}}
{{- $esbuildOptions = merge $esbuildOptions (dict "params" $esbuildParams) -}}