initialisation finale
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
*.lock
|
||||
|
||||
resources/_gen
|
||||
public
|
BIN
assets/carousel/bootstrap-v5-new-logo.png
Normal file
After Width: | Height: | Size: 376 KiB |
BIN
assets/carousel/hugo-bootstrap-banner.png
Normal file
After Width: | Height: | Size: 314 KiB |
BIN
assets/carousel/site-feature-image.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
assets/images/logo.png
Normal file
After Width: | Height: | Size: 58 KiB |
4
assets/images/logo.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-shield-check" fill="#14bf98" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.443 1.991a60.17 60.17 0 0 0-2.725.802.454.454 0 0 0-.315.366C1.87 7.056 3.1 9.9 4.567 11.773c.736.94 1.533 1.636 2.197 2.093.333.228.626.394.857.5.116.053.21.089.282.11A.73.73 0 0 0 8 14.5c.007-.001.038-.005.097-.023.072-.022.166-.058.282-.111.23-.106.525-.272.857-.5a10.197 10.197 0 0 0 2.197-2.093C12.9 9.9 14.13 7.056 13.597 3.159a.454.454 0 0 0-.315-.366c-.626-.2-1.682-.526-2.725-.802C9.491 1.71 8.51 1.5 8 1.5c-.51 0-1.49.21-2.557.491zm-.256-.966C6.23.749 7.337.5 8 .5c.662 0 1.77.249 2.813.525a61.09 61.09 0 0 1 2.772.815c.528.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.367 9.365a11.191 11.191 0 0 1-2.418 2.3 6.942 6.942 0 0 1-1.007.586c-.27.124-.558.225-.796.225s-.526-.101-.796-.225a6.908 6.908 0 0 1-1.007-.586 11.192 11.192 0 0 1-2.417-2.3C2.167 10.331.839 7.221 1.412 3.024A1.454 1.454 0 0 1 2.415 1.84a61.11 61.11 0 0 1 2.772-.815z"/>
|
||||
<path fill-rule="evenodd" d="M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/images/site-feature-image.png
Normal file
After Width: | Height: | Size: 66 KiB |
55
assets/sass/main.scss
Normal file
@ -0,0 +1,55 @@
|
||||
// Custom.scss
|
||||
// Option B: Include parts of Bootstrap
|
||||
// https://getbootstrap.com/docs/5.2/customize/sass/
|
||||
|
||||
// 1. Include functions first (so you can manipulate colors, SVGs, calc, etc)
|
||||
@import "bootstrap/functions";
|
||||
|
||||
// 2. Include any default variable overrides here
|
||||
@import "variable-overrides";
|
||||
|
||||
// 3. Include remainder of required Bootstrap stylesheets
|
||||
@import "bootstrap/variables";
|
||||
@import "bootstrap/variables-dark";
|
||||
|
||||
// 4. Include any default map overrides here
|
||||
|
||||
// 5. Include remainder of required parts
|
||||
@import "bootstrap/maps";
|
||||
@import "bootstrap/mixins";
|
||||
@import "bootstrap/utilities";
|
||||
|
||||
// 6. Optionally include any other parts as needed
|
||||
@import "bootstrap/root";
|
||||
@import "bootstrap/reboot";
|
||||
@import "bootstrap/type";
|
||||
@import "bootstrap/images";
|
||||
@import "bootstrap/containers";
|
||||
@import "bootstrap/grid";
|
||||
@import "bootstrap/helpers";
|
||||
|
||||
@import "bootstrap/buttons";
|
||||
@import "bootstrap/nav";
|
||||
@import "bootstrap/navbar";
|
||||
@import "bootstrap/dropdown";
|
||||
@import "bootstrap/breadcrumb";
|
||||
@import "bootstrap/badge";
|
||||
@import "bootstrap/card";
|
||||
|
||||
// pages/bootstrap-components/
|
||||
@import "bootstrap/accordion";
|
||||
@import "bootstrap/alert";
|
||||
@import "bootstrap/list-group";
|
||||
|
||||
// pages/markdown-cheat-sheet/
|
||||
@import "bootstrap/tables";
|
||||
|
||||
// pages/bootstrap-carousel/
|
||||
@import "bootstrap/carousel";
|
||||
|
||||
// 7. Optionally include utilities API last to generate classes based on the Sass map in `_utilities.scss`
|
||||
@import "bootstrap/utilities/api";
|
||||
|
||||
// 8. Add additional custom code here
|
||||
@import "custom"; // Theme SASS
|
||||
@import "styles"; // Site SASS (assets/sass/styles.scss)
|
61
assets/sass/styles.scss
Normal file
@ -0,0 +1,61 @@
|
||||
.home {
|
||||
--bd-purple: #4c0bce;
|
||||
--bd-violet: #712cf9;
|
||||
--bd-accent: #ffe484;
|
||||
--bd-violet-rgb: 112.520718,44.062154,249.437846;
|
||||
--bd-accent-rgb: 255,228,132;
|
||||
--bd-pink-rgb: 214,51,132;
|
||||
|
||||
.bd-masthead {
|
||||
padding: 3rem 0;
|
||||
background-image: linear-gradient(180deg, rgba(var(--bs-body-bg-rgb), 0.01), rgba(var(--bs-body-bg-rgb), 1) 85%),radial-gradient(ellipse at top left, rgba(var(--bs-primary-rgb), 0.5), transparent 50%),radial-gradient(ellipse at top right, rgba(var(--bd-accent-rgb), 0.5), transparent 50%),radial-gradient(ellipse at center right, rgba(var(--bd-violet-rgb), 0.5), transparent 50%),radial-gradient(ellipse at center left, rgba(var(--bd-pink-rgb), 0.5), transparent 50%);
|
||||
}
|
||||
|
||||
.btn-bd-primary {
|
||||
--bs-btn-font-weight: 600;
|
||||
--bs-btn-color: var(--bs-white);
|
||||
--bs-btn-bg: var(--bd-violet);
|
||||
--bs-btn-border-color: var(--bd-violet);
|
||||
--bs-btn-border-radius: .5rem;
|
||||
--bs-btn-hover-color: var(--bs-white);
|
||||
--bs-btn-hover-bg: #6528e0;
|
||||
--bs-btn-hover-border-color: #6528e0;
|
||||
--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
|
||||
--bs-btn-active-color: var(--bs-btn-hover-color);
|
||||
--bs-btn-active-bg: #5a23c8;
|
||||
--bs-btn-active-border-color: #5a23c8;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar {
|
||||
@extend .navbar-dark;
|
||||
|
||||
--bd-violet-rgb: 112.520718,44.062154,249.437846;
|
||||
|
||||
padding: .75rem 0;
|
||||
background-color: transparent;
|
||||
background-image: linear-gradient(to bottom, rgba(var(--bd-violet-rgb), 1), rgba(var(--bd-violet-rgb), 0.95));
|
||||
box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);
|
||||
}
|
||||
|
||||
.text-violet {
|
||||
color: #6528e0;
|
||||
}
|
||||
|
||||
.list {
|
||||
.card {
|
||||
transition: transform 0.2s ease-in-out;
|
||||
|
||||
&:hover {
|
||||
transform: scale(1.01);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
transition: transform 0.2s ease-in-out;
|
||||
|
||||
&:hover {
|
||||
transform: rotate(-2deg) scale(1.1);
|
||||
}
|
||||
}
|
29
layouts/index.html
Normal file
@ -0,0 +1,29 @@
|
||||
{{ define "main" }}
|
||||
|
||||
<section class="section bd-masthead">
|
||||
<div class="container-xxl">
|
||||
<div class="col-md-8 mx-auto text-center my-5">
|
||||
<img class="d-block mx-auto mb-3" src="{{ `images/logo.svg` | relURL }}" width="150" height="150" alt="Bootstrap">
|
||||
<h1 class="display-4 fw-semibold mb-3">{{ .Site.Title }}</h1>
|
||||
<p class="lead mb-4">{{ .Site.Params.Description }}</p>
|
||||
<a class="btn btn-bd-primary btn-lg px-4 mb-2" href="https://github.com/filipecarneiro/hugo-bootstrap-theme" role="button">Get Started</a>
|
||||
<p class="text-muted mb-0">Open-source MIT Licensed.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section container">
|
||||
{{ partial "features" . }}
|
||||
</section>
|
||||
|
||||
<section class="section container">
|
||||
<h3 class="text-secondary text-center my-5">Latest Posts</h3>
|
||||
{{ partial "latest-posts" . }}
|
||||
</section>
|
||||
|
||||
<section class="section container">
|
||||
<h3 class="text-secondary text-center my-5">Featured Pages</h3>
|
||||
{{ partial "featured-pages" . }}
|
||||
</section>
|
||||
|
||||
{{ end }}
|
30
layouts/partials/featured-pages.html
Normal file
@ -0,0 +1,30 @@
|
||||
<div class="row row-cols-1 g-4">
|
||||
|
||||
{{ range .Site.Taxonomies.tags.featured }}
|
||||
<div class="col">
|
||||
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">
|
||||
<a class="stretched-link text-primary text-decoration-none" href="{{ .Permalink }}">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h4>
|
||||
<p class="text-text">
|
||||
{{ with .Params.description }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ .Summary | truncate 400 }}
|
||||
{{ end }}
|
||||
</p>
|
||||
<p class="text-text text-muted">
|
||||
<small>
|
||||
{{ .Lastmod | time.Format ":date_long" }}
|
||||
</small>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
42
layouts/partials/features.html
Normal file
@ -0,0 +1,42 @@
|
||||
<!-- Featueres section -->
|
||||
|
||||
<div class="row justify-content-center text-center mt-lg-3">
|
||||
<div class="col-lg-4">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' class='feather text-violet feather-big' width="4em" height="4em">
|
||||
<use href="{{ `images/feather/feather-sprite.svg#shield` | relURL }}"/>
|
||||
</svg>
|
||||
<h2 class="h2">Security aware <small class="d-none">🛡️</small></h2>
|
||||
<p>Get A+ scores on <a href="https://observatory.mozilla.org/" target="_blank" rel="noopener">Mozilla Observatory</a>
|
||||
out of the box. Easily change the default Security Headers to suit your needs.</p>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' class='feather text-violet feather-big' width="4em" height="4em">
|
||||
<use href="{{ `images/feather/feather-sprite.svg#zap` | relURL }}"/>
|
||||
</svg>
|
||||
<h2 class="h2">Fast by default <small class="d-none">🚀</small></h2>
|
||||
<p>Get 100 scores on <a href="https://googlechrome.github.io/lighthouse/viewer/?gist=1f990bcb2d769bb4e82e7fc7a8be2b1f" target="_blank" rel="noopener">Google Lighthouse</a>
|
||||
by default. Hugo Bootstrap Theme removes unused css, prefetches links, and lazy loads images.</p>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<svg xmlns='http://www.w3.org/2000/svg' class='feather text-violet feather-big' width="4em" height="4em">
|
||||
<use href="{{ `images/feather/feather-sprite.svg#trending-up` | relURL }}"/>
|
||||
</svg>
|
||||
<h2 class="h2">SEO-ready <small class="d-none">📈</small></h2>
|
||||
<p>Use sensible defaults for structured data, <a href="https://ogp.me/" target="_blank" rel="noopener">open graph</a>, and <a href="https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards" target="_blank" rel="noopener">Twitter cards</a>. Or easily change the Search Engine Optimization settings to your liking.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row justify-content-center text-center mt-lg-3">
|
||||
<div class="col-lg-4">
|
||||
<h2 class="h2">Hugo <small class="d-none">🦉</small></h2>
|
||||
<p><a href="https://gohugo.io/" target="_blank" rel="noopener">Hugo</a> is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.</p>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<h2 class="h2">Bootstrap <small class="d-none">✨</small></h2>
|
||||
<p>Powerful, extensible, and feature-packed <a href="https://getbootstrap.com/" target="_blank" rel="noopener">frontend toolkit</a>. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins.</p>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<h2 class="h2">Page layouts <small class="d-none">🧰</small></h2>
|
||||
<p>Build pages with a landing page, blog, or documentation layout. Add custom sections and components to suit your needs.</p>
|
||||
</div>
|
||||
</div>
|
34
layouts/partials/latest-posts.html
Normal file
@ -0,0 +1,34 @@
|
||||
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
|
||||
|
||||
{{ range first 3 (where .Site.RegularPages.ByDate.Reverse "Section" "post" ) }}
|
||||
<div class="col">
|
||||
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<h4 class="card-title">
|
||||
<a class="stretched-link text-primary text-decoration-none" href="{{ .Permalink }}">
|
||||
{{ .Title }}
|
||||
</a>
|
||||
</h4>
|
||||
{{ with .Params.authors }}
|
||||
<p class="card-subtitle text-muted">
|
||||
by {{ index . 0 }}
|
||||
</p>
|
||||
{{ end }}
|
||||
<p class="card-text mt-3">
|
||||
{{ with .Params.description }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ .Summary | truncate 200 }}
|
||||
{{ end }}
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<small class="text-muted">{{ .Date | time.Format ":date_long" }}</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
BIN
static/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
static/favicon.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
6
static/favicon.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs" width="1em" height="1em"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-shield-check" fill="#14bf98" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" d="M5.443 1.991a60.17 60.17 0 0 0-2.725.802.454.454 0 0 0-.315.366C1.87 7.056 3.1 9.9 4.567 11.773c.736.94 1.533 1.636 2.197 2.093.333.228.626.394.857.5.116.053.21.089.282.11A.73.73 0 0 0 8 14.5c.007-.001.038-.005.097-.023.072-.022.166-.058.282-.111.23-.106.525-.272.857-.5a10.197 10.197 0 0 0 2.197-2.093C12.9 9.9 14.13 7.056 13.597 3.159a.454.454 0 0 0-.315-.366c-.626-.2-1.682-.526-2.725-.802C9.491 1.71 8.51 1.5 8 1.5c-.51 0-1.49.21-2.557.491zm-.256-.966C6.23.749 7.337.5 8 .5c.662 0 1.77.249 2.813.525a61.09 61.09 0 0 1 2.772.815c.528.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.367 9.365a11.191 11.191 0 0 1-2.418 2.3 6.942 6.942 0 0 1-1.007.586c-.27.124-.558.225-.796.225s-.526-.101-.796-.225a6.908 6.908 0 0 1-1.007-.586 11.192 11.192 0 0 1-2.417-2.3C2.167 10.331.839 7.221 1.412 3.024A1.454 1.454 0 0 1 2.415 1.84a61.11 61.11 0 0 1 2.772-.815z"></path>
|
||||
<path fill-rule="evenodd" d="M10.854 6.146a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7.5 8.793l2.646-2.647a.5.5 0 0 1 .708 0z"></path>
|
||||
</svg><style>@media (prefers-color-scheme: light) { :root { filter: none; } }
|
||||
@media (prefers-color-scheme: dark) { :root { filter: contrast(0.8333333333333334) brightness(1.7); } }
|
||||
</style></svg>
|
After Width: | Height: | Size: 1.5 KiB |