1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-22 21:22:52 +02:00

Switch to Hugo

This commit includes all the needed workarounds and most changes from the main branch for everything to work, like:

* removing empty lines in raw HTML that break output
* read .browserslistrc, CSS variables from disk instead of duplicating it
* using Hugo mounts
* using Hugo for the docs CSS/JS
* move ToC Sass code to a separate file while adapting it for Hugo

Thus, this patch makes our npm scripts faster since lint runs on one step and there's no separate docs assets processing.
This commit is contained in:
XhmikosR
2020-11-04 16:39:29 +02:00
parent ae87f8f7ce
commit b46f05a948
325 changed files with 4463 additions and 3596 deletions

View File

@@ -0,0 +1,37 @@
<!doctype html>
<html lang="en">
<head>
{{ partial "header" . }}
</head>
<body>
{{ partial "skippy" . }}
{{ partial "docs-navbar" . }}
<div class="container-fluid">
<div class="row flex-xl-nowrap">
<div class="col-md-3 col-xl-2 bd-sidebar">
{{ partial "docs-sidebar" . }}
</div>
{{ if (eq .Page.Params.toc true) }}
<nav class="d-none d-xl-block col-xl-2 bd-toc" aria-label="Secondary navigation">
{{ .TableOfContents }}
</nav>
{{ end }}
<main class="col-md-9 col-xl-8 py-md-3 pl-md-5 bd-content" role="main">
<div class="d-md-flex flex-md-row-reverse align-items-center justify-content-between">
<a class="btn btn-sm btn-bd-light my-2 my-md-0" href="{{ .Site.Params.repo }}/blob/v4-dev/site/content/{{ .Page.File.Path | replaceRE `\\` "/" }}" title="View and edit this file on GitHub" target="_blank" rel="noopener">View on GitHub</a>
<h1 class="bd-title" id="content">{{ .Title | markdownify }}</h1>
</div>
<p class="bd-lead">{{ .Page.Params.Description | markdownify }}</p>
{{ partial "ads" . }}
{{ .Content }}
</main>
</div>
</div>
{{ partial "scripts" . }}
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!doctype html>
<html lang="en"{{ with .Page.Params.html_class }} class="{{ . }}"{{ end }}>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="{{ .Site.Params.authors }}">
<meta name="generator" content="Hugo {{ hugo.Version }}">
<title>{{ .Page.Title | markdownify }} · {{ .Site.Title | markdownify }}</title>
<link rel="canonical" href="{{ .Permalink }}">
{{ with .Params.robots -}}
<meta name="robots" content="{{ . }}">
{{- end }}
{{ partial "stylesheet" . }}
{{ partial "favicons" . }}
<style>
.bd-placeholder-img {
font-size: 1.125rem;
text-anchor: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
@media (min-width: 768px) {
.bd-placeholder-img-lg {
font-size: 3.5rem;
}
}
</style>
{{ range .Page.Params.extra_css }}
{{ "<!-- Custom styles for this template -->" | safeHTML }}
<link href="{{ . }}" rel="stylesheet">
{{- end }}
</head>
<body{{ with .Page.Params.body_class }} class="{{ . }}"{{ end }}>
{{ .Content }}
{{ if ne .Page.Params.include_js false -}}
<script src="{{ .Site.Params.cdn.jquery }}" {{ printf "integrity=%q" .Site.Params.cdn.jquery_hash | safeHTMLAttr }} crossorigin="anonymous"></script>
<script>window.jQuery || document.write('<script src="/docs/{{ .Site.Params.docs_version }}/assets/js/vendor/jquery.slim.min.js"><\/script>')</script>
{{- if eq hugo.Environment "production" -}}
<script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.min.js" {{ printf "integrity=%q" .Site.Params.cdn.js_bundle_hash | safeHTMLAttr }} crossorigin="anonymous"></script>
{{- else -}}
<script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.js"></script>
{{- end }}
{{ range .Page.Params.extra_js }}
<script src="{{ . }}"></script>
{{- end }}
{{- end }}
</body>
</html>

View File

@@ -0,0 +1,19 @@
<!doctype html>
<html lang="en">
<head>
{{ partial "header" . }}
</head>
<body>
{{ partial "skippy" . }}
{{ partial "docs-navbar" . }}
{{ partial "home/masthead" . }}
{{ partial "home/masthead-followup" . }}
{{ .Content }}
{{ partial "footer" . }}
{{ partial "scripts" . }}
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>{{ .Page.Params.redirect | absURL }}</title>
<link rel="canonical" href="{{ .Page.Params.redirect | absURL }}">
<meta name="robots" content="noindex">
<meta http-equiv="refresh" content="0; url={{ .Page.Params.redirect | absURL }}">
</head>
</html>

View File

@@ -0,0 +1,52 @@
<!doctype html>
<html lang="en">
<head>
{{ partial "header" . }}
</head>
<body>
{{ partial "skippy" . }}
{{ partial "docs-navbar" . }}
<header class="d-flex flex-column flex-md-row align-items-md-center p-5 bg-light">
<div class="pt-md-3 pb-md-4">
<h1 class="bd-title mt-0">{{ .Title | markdownify }}</h1>
<p class="bd-lead">{{ .Page.Params.Description | markdownify }}</p>
{{ if eq .Title "Examples" }}
<div class="d-flex flex-column flex-sm-row">
<a href="{{ .Site.Params.download.dist_examples }}" class="btn btn-bd-primary py-2 px-3" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download Examples');">Download examples</a>
<a href="{{ .Site.Params.download.source }}" class="btn btn-outline-secondary py-2 px-3 mt-3 mt-sm-0 ml-sm-3" onclick="ga('send', 'event', 'Examples', 'Hero', 'Download');">Download source code</a>
</div>
{{- end -}}
</div>
{{ partial "ads" . }}
</header>
<main class="bd-content p-5" id="content" role="main">
{{ .Content }}
{{ if eq .Title "Examples" }}
<hr class="my-5">
<div class="container">
<div class="text-center">
<div class="masthead-followup-icon d-inline-block mb-2 text-white bg-danger">
{{ partial "icons/droplet-fill.svg" (dict "width" "32" "height" "32") }}
</div>
<h2>Go further with Bootstrap Themes</h2>
<p class="col-md-10 mx-auto lead font-weight-normal">
Need something more than these examples? Take Bootstrap to the next level with premium themes from the <a href="{{ $.Site.Params.themes }}">official Bootstrap Themes marketplace</a>. Theyre built as their own extended frameworks, rich with new components and plugins, documentation, and powerful build tools.
</p>
<a href="{{ .Site.Params.themes }}" class="btn btn-lg btn-outline-primary mb-3">Browse themes</a>
</div>
<img class="d-block img-fluid mt-3 mx-auto" srcset="/docs/{{ .Site.Params.docs_version }}/assets/img/bootstrap-themes-collage.png,
/docs/{{ .Site.Params.docs_version }}/assets/img/bootstrap-themes-collage@2x.png 2x"
src="/docs/{{ .Site.Params.docs_version }}/assets/img/bootstrap-themes-collage.png"
alt="Bootstrap Themes" width="1151" height="320" loading="lazy">
</div>
{{ end }}
</main>
{{ partial "footer" . }}
{{ partial "scripts" . }}
</body>
</html>