set up base template
- set up top nav - auto generate menu from `main` - configurable brand (can be hidden or custom, defaults to site title) - top nav can be configured to be sticky - css in top, js at the end of body - default google analitycs template added to base - added highlight.js
This commit is contained in:
@@ -1,11 +1,12 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
{{ partialCached "head.html" . }}
|
{{ partial "head" . }}
|
||||||
|
{{ partial "title" . }}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body{{ if and (isset $.Site.Params "fixednav") $.Site.Params.fixednav }} class="navbar-fixed-top"{{ end }}>
|
||||||
{{ block "header" . }}
|
{{ block "header" . }}
|
||||||
{{ partialCached "header.html" . }}
|
{{ partial "nav" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<main role="main" class="container">
|
<main role="main" class="container">
|
||||||
{{ block "main" . }}
|
{{ block "main" . }}
|
||||||
@@ -13,12 +14,11 @@
|
|||||||
</main>
|
</main>
|
||||||
<footer class="container">
|
<footer class="container">
|
||||||
{{ block "footer" . }}
|
{{ block "footer" . }}
|
||||||
{{ partialCached "footer.html" . }}
|
{{ partial "footer" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
{{ partialCached "javascript.html" . }}
|
{{ partial "javascript" . }}
|
||||||
{{ partialCached "google_analytics.html" . }}
|
{{ template "_internal/google_analytics_async.html" . }}
|
||||||
{{ partialCached "piwik_analytics.html" . }}
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
{{ with .Site.Params.googleAnalytics }}
|
|
||||||
<script>
|
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
||||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
||||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
||||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
||||||
|
|
||||||
ga('create', '{{ . }}', 'auto');
|
|
||||||
ga('send', 'pageview');
|
|
||||||
|
|
||||||
</script>
|
|
||||||
{{ end }}
|
|
||||||
@@ -5,8 +5,6 @@
|
|||||||
<meta name="description" content="{{ if .IsNode }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ else }}{{ with .Description }}{{ . }}{{ end }}{{ end }}">
|
<meta name="description" content="{{ if .IsNode }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ else }}{{ with .Description }}{{ . }}{{ end }}{{ end }}">
|
||||||
{{ .Hugo.Generator }}
|
{{ .Hugo.Generator }}
|
||||||
|
|
||||||
<title>{{ if .IsHome }}{{ .Title }}{{ else }}{{ .Title }} - {{ .Site.Title }}{{ end }}</title>
|
|
||||||
|
|
||||||
<!-- CSS -->
|
<!-- CSS -->
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.0.0-beta.3/slate/bootstrap.min.css" integrity="sha256-XuLfpTfBrr1SFUTEBsuCZAyEL9FaMqJHX6v2Clowmu8=" crossorigin="anonymous" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.0.0-beta.3/slate/bootstrap.min.css" integrity="sha256-XuLfpTfBrr1SFUTEBsuCZAyEL9FaMqJHX6v2Clowmu8=" crossorigin="anonymous" />
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
{{ partial "menu.html" . }}
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<!-- Bootstrap and dependencies -->
|
<!-- Bootstrap and dependencies -->
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.slim.min.js" integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E=" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.slim.min.js" integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E=" crossorigin="anonymous"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta.3/css/bootstrap.min.css" integrity="sha256-PCsx7lOyGhyGmzsO5MGXhzwV6UpNTlNf1p6V6w2CppQ=" crossorigin="anonymous" />
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta.3/js/bootstrap.min.js" integrity="sha256-JNyuT3QsYBdyeKxKBwnGJAJiACWcow2TjhNruIFFPMQ=" crossorigin="anonymous"></script>
|
||||||
|
|
||||||
<script src="{{ .Site.BaseURL }}js/hugo-bootswatch-slate.js"></script>
|
<script src="{{ .Site.BaseURL }}js/hugo-bootswatch-slate.js"></script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
|
<nav class="navbar navbar-expand-lg navbar-dark bg-primary{{ if and (isset $.Site.Params "fixednav") $.Site.Params.fixednav }} fixed-top{{ end }}">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="navbar-brand" href="/">{{ $.Site.Params.brand | safeHTML}}</a>
|
{{ if or ( not ( isset $.Site.Params "showbrand" ) ) $.Site.Params.showbrand}}
|
||||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar"
|
<a class="navbar-brand" href="/">
|
||||||
|
{{ default $.Site.Title $.Site.Params.brand}}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
<button class="navbar-toggler my-1" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar"
|
||||||
aria-expanded="false" aria-label="Toggle navigation">
|
aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
@@ -12,7 +16,11 @@
|
|||||||
{{ range .Site.Menus.main }}
|
{{ range .Site.Menus.main }}
|
||||||
{{ if .HasChildren }}
|
{{ if .HasChildren }}
|
||||||
<li class="nav-item dropdown{{ if $currentPage.HasMenuCurrent "main" . }} active{{ end }}">
|
<li class="nav-item dropdown{{ if $currentPage.HasMenuCurrent "main" . }} active{{ end }}">
|
||||||
<a href="#" class="navlink dropdown-toggle" role="menu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ .Name }}</a>
|
{{ if .URL }}
|
||||||
|
<a href="{{ .URL }}" class="nav-link dropdown-toggle" role="menu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ .Name }}</a>
|
||||||
|
{{ else }}
|
||||||
|
<a href="#" class="nav-link dropdown-toggle" role="menu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{ .Name }}</a>
|
||||||
|
{{ end }}
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
{{ range .Children}}
|
{{ range .Children}}
|
||||||
<a href="{{ .URL }}" class="dropdown-item{{ if $currentPage.IsMenuCurrent "main" . }} active{{ end }}">{{ .Name }}</a>
|
<a href="{{ .URL }}" class="dropdown-item{{ if $currentPage.IsMenuCurrent "main" . }} active{{ end }}">{{ .Name }}</a>
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{{ with .Site.Params.piwikAnalytics }}
|
|
||||||
<!-- Piwik -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
var _paq = _paq || [];
|
|
||||||
_paq.push(['trackPageView']);
|
|
||||||
_paq.push(['enableLinkTracking']);
|
|
||||||
(function() {
|
|
||||||
var u="{{ .piwikRoot }}";
|
|
||||||
_paq.push(['setTrackerUrl', u+'piwik.php']);
|
|
||||||
_paq.push(['setSiteId', {{ .siteID }}]);
|
|
||||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
|
||||||
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
<noscript><p><img src="{{ .piwikRoot}}piwik.php?idsite={{ .siteID }}" style="border:0;" alt="" /></p></noscript>
|
|
||||||
{{ end }}
|
|
||||||
1
layouts/partials/title.html
Normal file
1
layouts/partials/title.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<title>{{ if .IsHome }}{{ .Title }}{{ else }}{{ .Title }} - {{ .Site.Title }}{{ end }}</title>
|
||||||
3
static/css/hugo-bootswatch-slate.css
Normal file
3
static/css/hugo-bootswatch-slate.css
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
body.navbar-fixed-top {
|
||||||
|
padding-top: 4.5rem
|
||||||
|
}
|
||||||
@@ -1,2 +1,4 @@
|
|||||||
/* globals hljs */
|
/* globals hljs */
|
||||||
if (hljs !== null) hljs.initHighlightingOnLoad()
|
;(function () {
|
||||||
|
if (typeof hljs !== 'undefined' && hljs != null) hljs.initHighlightingOnLoad()
|
||||||
|
})()
|
||||||
|
|||||||
Reference in New Issue
Block a user