Make a better use of Hugo theme
This commit is contained in:
parent
d29e5bbdb3
commit
20c01b8868
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,6 +1,3 @@
|
||||
[submodule "themes/beautifulhugo"]
|
||||
path = themes/beautifulhugo
|
||||
url = https://github.com/halogenica/beautifulhugo.git
|
||||
[submodule "themes/nemhugo"]
|
||||
path = themes/nemhugo
|
||||
url = https://git.nemunai.re/nemunaire/nemhugo.git
|
||||
|
@ -2,13 +2,14 @@ baseURL = "https://www.nemunai.re/"
|
||||
DefaultContentLanguage = "en"
|
||||
languageCode = "en-us"
|
||||
title = "nemunaire's blog"
|
||||
theme = "nemhugo"
|
||||
theme = "beautifulhugo"
|
||||
metaDataFormat = "yaml"
|
||||
pygmentsUseClasses = true
|
||||
pygmentsCodeFences = true
|
||||
|
||||
[Params]
|
||||
logo = "img/mug.png"
|
||||
selfHosted = true
|
||||
rss = true
|
||||
readingTime = true
|
||||
|
||||
|
157
layouts/partials/footer.html
Normal file
157
layouts/partials/footer.html
Normal file
@ -0,0 +1,157 @@
|
||||
{{ if eq .Type "page" }}
|
||||
{{ partial "page_meta.html" . }}
|
||||
{{ end }}
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
||||
<ul class="list-inline text-center footer-links">
|
||||
{{ range .Site.Data.beautifulhugo.social.social_icons }}
|
||||
{{- if isset $.Site.Author .id }}
|
||||
<li>
|
||||
<a href="{{ printf .url (index $.Site.Author .id) }}" title="{{ .title }}">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fas fa-circle fa-stack-2x"></i>
|
||||
<i class="{{ .icon }} fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
{{ end }}
|
||||
{{ if .Site.Params.rss }}
|
||||
<li>
|
||||
<a href="{{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}" title="RSS">
|
||||
<span class="fa-stack fa-lg">
|
||||
<i class="fas fa-circle fa-stack-2x"></i>
|
||||
<i class="fas fa-rss fa-stack-1x fa-inverse"></i>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
<p class="credits copyright text-muted">
|
||||
{{ if .Site.Author.name }}
|
||||
{{ if .Site.Author.website }}
|
||||
<a href="{{ .Site.Author.website }}">{{ .Site.Author.name }}</a>
|
||||
{{ else }}
|
||||
{{ .Site.Author.name }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<span class="colored"> • </span>
|
||||
{{ if .Site.Params.since }}
|
||||
{{ .Site.Params.since }} - {{ .Site.LastChange.Format "2006" }}
|
||||
{{ else }}
|
||||
{{ .Site.LastChange.Format "2006" }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Title }}
|
||||
<span class="colored"> • </span>
|
||||
<a href="{{ "" | absLangURL }}">{{ .Site.Title }}</a>
|
||||
{{ end }}
|
||||
</p>
|
||||
{{ if $.GitInfo }}
|
||||
<p class="credits theme-by text-muted">
|
||||
[<a href="{{ .Site.Params.commit }}{{ .GitInfo.Hash }}">{{ substr .GitInfo.Hash 0 8 }}</a>]
|
||||
</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
{{- if .Site.Params.selfHosted -}}
|
||||
<script src="{{ "js/katex.min.js" | absURL }}"></script>
|
||||
<script src="{{ "js/auto-render.min.js" | absURL }}"></script>
|
||||
<script src="{{ "js/jquery.min.js" | absURL }}"></script>
|
||||
<script src="{{ "js/bootstrap.min.js" | absURL }}"></script>
|
||||
{{- else -}}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"></script>
|
||||
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
||||
{{- end }}
|
||||
|
||||
<script src="{{ "js/main.js" | absURL }}"></script>
|
||||
{{- if .Site.Params.staticman }}
|
||||
<script src="{{ "js/staticman.js" | absURL }}"></script>
|
||||
{{- end }}
|
||||
{{- if .Site.Params.useHLJS }}
|
||||
<script src="{{ "js/highlight.min.js" | absURL }}"></script>
|
||||
<script> hljs.initHighlightingOnLoad(); </script>
|
||||
<script> $(document).ready(function() {$("pre.chroma").css("padding","0");}); </script>
|
||||
{{- end -}}
|
||||
<script> renderMathInElement(document.body); </script>
|
||||
|
||||
{{- if .Site.Params.selfHosted -}}
|
||||
<script src="{{ "js/photoswipe.min.js" | absURL }}"></script>
|
||||
<script src="{{ "js/photoswipe-ui-default.min.js" | absURL }}"></script>
|
||||
{{- else -}}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe.min.js" integrity="sha384-QELNnmcmU8IR9ZAykt67vGr9/rZJdHbiWi64V88fCPaOohUlHCqUD/unNN0BXSqy" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe-ui-default.min.js" integrity="sha384-m67o7SkQ1ALzKZIFh4CiTA8tmadaujiTa9Vu+nqPSwDOqHrDmxLezTdFln8077+q" crossorigin="anonymous"></script>
|
||||
{{- end -}}
|
||||
<script src="{{ "js/load-photoswipe.js" | absURL }}"></script>
|
||||
|
||||
{{ if .Site.Params.gcse }}
|
||||
<!-- Google Custom Search Engine -->
|
||||
<script>
|
||||
(function() {
|
||||
var cx = '{{ .Site.Params.gcse }}';
|
||||
var gcse = document.createElement('script');
|
||||
gcse.type = 'text/javascript';
|
||||
gcse.async = true;
|
||||
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(gcse, s);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.Params.piwik }}
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
var _paq = _paq || [];
|
||||
_paq.push(["trackPageView"]);
|
||||
_paq.push(["enableLinkTracking"]);
|
||||
|
||||
(function() {
|
||||
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://{{ .Site.Params.piwik.server }}/";
|
||||
_paq.push(["setTrackerUrl", u+"piwik.php"]);
|
||||
_paq.push(["setSiteId", "{{ .Site.Params.piwik.id }}"]);
|
||||
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
|
||||
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<noscript>
|
||||
<!-- Piwik Image Tracker -->
|
||||
<img src="http://{{ .Site.Params.piwik.server }}/piwik.php?idsite={{ .Site.Params.piwik.id }}&rec=1" style="border:0" alt="" />
|
||||
<!-- End Piwik -->
|
||||
</noscript>
|
||||
<!-- End Piwik Code -->
|
||||
{{ end }}
|
||||
|
||||
{{ if and .Site.Params.delayDisqus .Site.DisqusShortname }}
|
||||
<!-- Delayed Disqus -->
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('#show-comments').on('click', function(){
|
||||
var disqus_shortname = '{{ .Site.DisqusShortname }}';
|
||||
|
||||
(function() {
|
||||
var disqus = document.createElement('script');
|
||||
disqus.type = 'text/javascript';
|
||||
disqus.async = true;
|
||||
disqus.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(disqus);
|
||||
})();
|
||||
|
||||
$(this).hide();
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script id="dsq-count-scr" src="//{{ .Site.DisqusShortname }}.disqus.com/count.js" async></script>
|
||||
<!-- End Delayed Disqus -->
|
||||
{{ end }}
|
||||
|
||||
{{- partial "footer_custom.html" . }}
|
91
layouts/partials/head.html
Normal file
91
layouts/partials/head.html
Normal file
@ -0,0 +1,91 @@
|
||||
{{- if eq .Kind "taxonomyTerm" }}
|
||||
{{- range $key, $value := .Data.Terms.ByCount }}
|
||||
{{- $.Scratch.Add "most_used" (slice $value.Name) }}
|
||||
{{- end }}
|
||||
{{- if not ($.Scratch.Get "most_used") }}
|
||||
{{- $description := printf "A full overview of all pages with %s, ordered by %s" .Data.Plural .Data.Singular | truncate 180 }}
|
||||
{{- $.Scratch.Set "Description" $description }}
|
||||
{{- else }}
|
||||
{{- $description := printf "A full overview of all pages with %s, ordered by %s, such as: %s" .Data.Plural .Data.Singular ( delimit ( $.Scratch.Get "most_used" ) ", " ", and " ) | truncate 180 }}
|
||||
{{- $.Scratch.Set "Description" $description }}
|
||||
{{- end }}
|
||||
|
||||
{{- $title := printf "Overview of all pages with %s, ordered by %s" .Data.Plural .Data.Singular }}
|
||||
{{- $.Scratch.Set "Title" $title }}
|
||||
{{- else if eq .Kind "taxonomy" }}
|
||||
{{- $description := printf "Overview of all pages with the %s #%s, such as: %s" .Data.Singular $.Title ( index .Pages 0).Title | truncate 160 }}
|
||||
{{- $.Scratch.Set "Description" $description }}
|
||||
|
||||
{{- $title := printf "Overview of all pages with the %s #%s" .Data.Singular $.Title }}
|
||||
{{- $.Scratch.Set "Title" $title }}
|
||||
{{- else }}
|
||||
{{- $.Scratch.Set "Description" ( .Description | default .Params.subtitle | default .Summary ) }}
|
||||
{{- $.Scratch.Set "Title" ( .Title | default .Site.Title ) }}
|
||||
{{- end }}
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
|
||||
<!-- Site Title, Description, Author, and Favicon -->
|
||||
{{- with ($.Scratch.Get "Title") }}
|
||||
<title>{{ . }}{{- if ne . $.Site.Title }} - {{ $.Site.Title }}{{- end}}</title>
|
||||
{{- end }}
|
||||
{{- with ($.Scratch.Get "Description") }}
|
||||
<meta name="description" content="{{ . }}">
|
||||
{{- end }}
|
||||
{{- with .Site.Author.name }}
|
||||
<meta name="author" content="{{ . }}"/>
|
||||
{{- end }}
|
||||
{{- partial "seo/main.html" . }}
|
||||
{{- with .Site.Params.favicon }}
|
||||
<link href='{{ . | absURL }}' rel='icon' type='image/x-icon'/>
|
||||
{{- end -}}
|
||||
<!-- Hugo Version number -->
|
||||
{{ hugo.Generator -}}
|
||||
<!-- Links and stylesheets -->
|
||||
<link rel="alternate" href="{{ "index.xml" | absLangURL }}" type="application/rss+xml" title="{{ .Site.Title }}">
|
||||
|
||||
{{- if .Site.Params.selfHosted -}}
|
||||
<link rel="stylesheet" href="{{ "css/katex.min.css" | absURL }}" />
|
||||
<link rel="stylesheet" href="{{ "fontawesome/css/all.css" | absURL }}" />
|
||||
<link rel="stylesheet" href="{{ "css/bootstrap.min.css" | absURL }}" />
|
||||
{{- else -}}
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
||||
{{- end -}}
|
||||
|
||||
<link rel="stylesheet" href="{{ "css/main.css" | absURL }}" />
|
||||
|
||||
{{- if .Site.Params.staticman -}}
|
||||
<link rel="stylesheet" href="{{ "css/staticman.css" | absURL }}" />
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Site.Params.selfHosted -}}
|
||||
<link rel="stylesheet" href="{{ "css/fonts.css" | absURL }}" />
|
||||
{{- else -}}
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" />
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800" />
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Site.Params.useHLJS }}
|
||||
<link rel="stylesheet" href="{{ "css/highlight.min.css" | absURL }}" />
|
||||
{{- else -}}
|
||||
<link rel="stylesheet" href="{{ "css/syntax.css" | absURL }}" />
|
||||
{{- end -}}
|
||||
<link rel="stylesheet" href="{{ "css/codeblock.css" | absURL }}" />
|
||||
|
||||
{{- if .Site.Params.staticman.recaptcha -}}
|
||||
<script src='https://www.google.com/recaptcha/api.js'></script>
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Site.Params.selfHosted -}}
|
||||
<link rel="stylesheet" href="{{ "css/photoswipe.min.css" | absURL }}" />
|
||||
<link rel="stylesheet" href="{{ "css/photoswipe.default-skin.min.css" | absURL }}" />
|
||||
{{- else -}}
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe.min.css" integrity="sha384-h/L2W9KefUClHWaty3SLE5F/qvc4djlyR4qY3NUV5HGQBBW7stbcfff1+I/vmsHh" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/default-skin/default-skin.min.css" integrity="sha384-iD0dNku6PYSIQLyfTOpB06F2KCZJAKLOThS5HRe8b3ibhdEQ6eKsFf/EeFxdOt5R" crossorigin="anonymous">
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "head_custom.html" . }}
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
@ -1 +1,2 @@
|
||||
<script async defer data-website-id="714f2f10-3a65-4c5b-971f-7cea9eac1ecd" src="https://pythagore.p0m.fr/pythagore.js"></script>
|
||||
<link rel="stylesheet" href="{{ "css/custom.css" | absURL }}" />
|
||||
|
107
layouts/partials/header.html
Normal file
107
layouts/partials/header.html
Normal file
@ -0,0 +1,107 @@
|
||||
{{- partial "load-photoswipe-theme.html" . }}
|
||||
|
||||
{{ if .IsHome }}
|
||||
{{ if .Site.Params.homeTitle }}{{ $.Scratch.Set "title" .Site.Params.homeTitle }}{{ end }}
|
||||
{{ if .Site.Params.subtitle }}{{ $.Scratch.Set "subtitle" .Site.Params.subtitle }}{{ end }}
|
||||
{{ if .Site.Params.bigimg }}{{ $.Scratch.Set "bigimg" .Site.Params.bigimg }}{{ end }}
|
||||
{{ if .Site.Params.thumb }}{{ $.Scratch.Set "thumb" .Site.Params.thumb }}{{ end }}
|
||||
{{ else }}
|
||||
{{ $.Scratch.Set "title" .Title }}
|
||||
{{ if .Params.subtitle }}{{ $.Scratch.Set "subtitle" .Params.subtitle }}{{ end }}
|
||||
{{ if .Params.bigimg }}{{ $.Scratch.Set "bigimg" .Params.bigimg }}{{ end }}
|
||||
{{ end }}
|
||||
{{ $bigimg := $.Scratch.Get "bigimg" }}
|
||||
{{ $title := $.Scratch.Get "title" }}
|
||||
{{ $subtitle := $.Scratch.Get "subtitle" }}
|
||||
{{ $thumbs := $.Scratch.Get "thumb" }}
|
||||
|
||||
{{ if or (or $bigimg $title) $thumbs }}
|
||||
{{ if $bigimg }}
|
||||
<div id="header-big-imgs" data-num-img={{len $bigimg}}
|
||||
{{range $i, $img := $bigimg}}
|
||||
{{ if (fileExists $img.src)}}
|
||||
data-img-src-{{add $i 1}}="{{$img.src | absURL }}"
|
||||
{{else}}
|
||||
data-img-src-{{add $i 1}}="{{$img.src}}"
|
||||
{{end}}
|
||||
{{ if $img.desc}}data-img-desc-{{add $i 1}}="{{$img.desc}}"{{end}}
|
||||
{{end}}></div>
|
||||
{{ end }}
|
||||
|
||||
<header class="header-section {{ if $bigimg }}has-img{{ end }}">
|
||||
{{ if $bigimg }}
|
||||
<div class="intro-header big-img">
|
||||
{{ $subtitle := $.Scratch.Get "subtitle" }}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
||||
<div class="{{ .Type }}-heading">
|
||||
<h1>{{ with $.Scratch.Get "title" }}{{.}}{{ else }}<br/>{{ end }}</h1>
|
||||
{{ if $subtitle }}
|
||||
{{ if eq .Type "page" }}
|
||||
<hr class="small">
|
||||
<span class="{{ .Type }}-subheading">{{ $subtitle }}</span>
|
||||
{{ else }}
|
||||
<h2 class="{{ .Type }}-subheading">{{ $subtitle }}</h2>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if eq .Type "post" }}
|
||||
{{ partial "post_meta.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="img-desc" style="display: inline;"></span>
|
||||
</div>
|
||||
{{end}}
|
||||
{{ if $title }}
|
||||
<div class="intro-header no-img">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
|
||||
<div class="{{ .Type }}-heading">
|
||||
{{ if eq .Type "list" }}
|
||||
<h1>{{ if .Data.Singular }}#{{ end }}{{ .Title }}</h1>
|
||||
{{ else }}
|
||||
<h1>{{ with $title }}{{.}}{{ else }}<br/>{{ end }}</h1>
|
||||
{{ end }}
|
||||
{{ if ne .Type "post" }}
|
||||
<hr class="small">
|
||||
{{ end }}
|
||||
{{ if $subtitle }}
|
||||
{{ if eq .Type "page" }}
|
||||
<span class="{{ .Type }}-subheading">{{ $subtitle }}</span>
|
||||
{{ else }}
|
||||
<h2 class="{{ .Type }}-subheading">{{ $subtitle }}</h2>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if eq .Type "post" }}
|
||||
{{ partial "post_meta.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
<div class="intro-header no-img"></div>
|
||||
{{end}}
|
||||
|
||||
{{ if $thumbs }}
|
||||
<div class="container">
|
||||
{{range $i, $thumb := $thumbs}}
|
||||
<a href="{{ $thumb.link | absURL }}" target="_blank">
|
||||
<div class="thumbApp" style="background-image:url('{{ $thumb.src | absURL }}')">
|
||||
{{ if $thumb.desc }}<p><span>{{ $thumb.desc }}</span></p>{{end}}
|
||||
</div>
|
||||
</a>
|
||||
{{ end }}
|
||||
<span style="clear:both; display: block"></span>
|
||||
<hr class="small">
|
||||
</div>
|
||||
{{ end }}
|
||||
</header>
|
||||
{{ else }}
|
||||
<div class="intro-header"></div>
|
||||
{{ end }}
|
96
layouts/partials/nav.html
Normal file
96
layouts/partials/nav.html
Normal file
@ -0,0 +1,96 @@
|
||||
<nav class="navbar navbar-default navbar-fixed-top navbar-inverse navbar-custom">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar">
|
||||
<span class="sr-only">{{ i18n "toggleNavigation" }}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{{ "" | absLangURL }}">{{ .Site.Title }}</a>
|
||||
</div>
|
||||
|
||||
<div class="collapse navbar-collapse" id="main-navbar">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
{{ range .Site.Menus.main.ByWeight }}
|
||||
{{ if .HasChildren }}
|
||||
<li class="navlinks-container">
|
||||
<a class="navlinks-parent">{{ .Name }}</a>
|
||||
<div class="navlinks-children">
|
||||
{{ range .Children }}
|
||||
<a href="{{ .URL | relLangURL }}">{{ .Name }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li>
|
||||
<a title="{{ .Name }}" href="{{ .URL | relLangURL }}">{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if .Site.IsMultiLingual }}
|
||||
{{ if ge (len .Site.Languages) 3 }}
|
||||
<li class="navlinks-container">
|
||||
<a class="navlinks-parent">{{ i18n "languageSwitcherLabel" }}</a>
|
||||
<div class="navlinks-children">
|
||||
{{ range .Site.Languages }}
|
||||
{{ if not (eq .Lang $.Site.Language.Lang) }}
|
||||
<a href="/{{ .Lang }}" lang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li>
|
||||
{{ range .Site.Languages }}
|
||||
{{ if not (eq .Lang $.Site.Language.Lang) }}
|
||||
<a href="/{{ .Lang }}" lang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if isset .Site.Params "gcse" }}
|
||||
<li>
|
||||
<a href="#modalSearch" data-toggle="modal" data-target="#modalSearch" style="outline: none;">
|
||||
<span class="hidden-sm hidden-md hidden-lg">{{ i18n "gcseLabelShort" }}</span> <span id="searchGlyph" class="glyphicon glyphicon-search"></span>
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{ if isset .Site.Params "logo" }}
|
||||
<div class="avatar-container">
|
||||
<div class="avatar-img-border">
|
||||
<a title="{{ .Site.Title }}" href="{{ "" | absLangURL }}">
|
||||
<img class="avatar-img" src="{{ .Site.Params.logo | absURL }}" alt="{{ .Site.Title }}" />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Search Modal -->
|
||||
{{ if isset .Site.Params "gcse" }}
|
||||
<div id="modalSearch" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">{{ i18n "gcseLabelLong" . }}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<gcse:search></gcse:search>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ i18n "gcseClose" }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
171
static/css/custom.css
Normal file
171
static/css/custom.css
Normal file
@ -0,0 +1,171 @@
|
||||
body {
|
||||
background-size: 100% 100%;
|
||||
background-image: linear-gradient(left, rgb(217,217,217) 0%, rgb(230,230,230) 25%, rgb(242,242,242) 50%, rgb(250,250,250) 75%, rgb(217,217,217) 100%);
|
||||
background-image: -o-linear-gradient(left, rgb(217,217,217) 0%, rgb(230,230,230) 25%, rgb(242,242,242) 50%, rgb(250,250,250) 75%, rgb(217,217,217) 100%);
|
||||
background-image: -moz-linear-gradient(left, rgb(217,217,217) 0%, rgb(230,230,230) 25%, rgb(242,242,242) 50%, rgb(250,250,250) 75%, rgb(217,217,217) 100%);
|
||||
background-image: -webkit-linear-gradient(left, rgb(217,217,217) 0%, rgb(230,230,230) 25%, rgb(242,242,242) 50%, rgb(250,250,250) 75%, rgb(217,217,217) 100%);
|
||||
background-image: -ms-linear-gradient(left, rgb(217,217,217) 0%, rgb(230,230,230) 25%, rgb(242,242,242) 50%, rgb(250,250,250) 75%, rgb(217,217,217) 100%);
|
||||
font-family: "Libertinus", "Linux Libertine", 'Times New Roman', serif;
|
||||
}
|
||||
|
||||
pre, code {
|
||||
font-family: "Fantasque Sans Mono";
|
||||
}
|
||||
|
||||
hr.small {
|
||||
border-width: 5px;
|
||||
border-color: #00a185;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-family: "Linux Biolinum", 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
p a, li a {
|
||||
color: #00a185;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
a:hover,
|
||||
a:focus,
|
||||
.colored {
|
||||
color: #00a185;
|
||||
}
|
||||
|
||||
::-moz-selection {
|
||||
background: #00a185;
|
||||
}
|
||||
::selection {
|
||||
background: #00a185;
|
||||
}
|
||||
|
||||
.about-icon {
|
||||
margin-top: 5px;
|
||||
position: absolute;
|
||||
left: -12px;
|
||||
}
|
||||
|
||||
.navbar-custom {
|
||||
background-color: #000000;
|
||||
background-image: linear-gradient(bottom, rgb(0,0,0) 4%, rgb(33,33,33) 42%, rgb(75,75,75) 100%);
|
||||
background-image: -o-linear-gradient(bottom, rgb(0,0,0) 4%, rgb(33,33,33) 42%, rgb(75,75,75) 100%);
|
||||
background-image: -moz-linear-gradient(bottom, rgb(0,0,0) 4%, rgb(33,33,33) 42%, rgb(75,75,75) 100%);
|
||||
background-image: -webkit-linear-gradient(bottom, rgb(0,0,0) 4%, rgb(33,33,33) 42%, rgb(75,75,75) 100%);
|
||||
background-image: -ms-linear-gradient(bottom, rgb(0,0,0) 4%, rgb(33,33,33) 42%, rgb(75,75,75) 100%);
|
||||
border-bottom: 5px #00a185 solid;
|
||||
color: #fafafa;
|
||||
font-family: "Linux Biolinum O", 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.navbar-custom .nav li a {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand {
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand,
|
||||
.navbar-custom .nav li a {
|
||||
font-weight: 800;
|
||||
color: #fafafa;
|
||||
}
|
||||
|
||||
.navbar-custom .navbar-brand:hover,
|
||||
.navbar-custom .navbar-brand:focus ,
|
||||
.navbar-custom .nav li a:hover,
|
||||
.navbar-custom .nav li a:focus {
|
||||
color: #00a185;
|
||||
}
|
||||
|
||||
.navbar-custom .nav .navlinks-container .navlinks-children a {
|
||||
background: #232323;
|
||||
}
|
||||
@media only screen and (max-width: 767px) {
|
||||
.navbar-custom .nav .navlinks-container.show-children {
|
||||
background: #131313;
|
||||
}
|
||||
}
|
||||
@media only screen and (min-width: 768px) {
|
||||
.navbar-custom .nav .navlinks-container:hover {
|
||||
background: #131313;
|
||||
}
|
||||
.navbar-custom .nav .navlinks-container .navlinks-children a {
|
||||
border: 1px solid #323232;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
background-color: black;
|
||||
background-image: linear-gradient(top, rgb(0,0,0) 4%, rgb(12,12,12) 42%, rgb(42,42,42) 100%);
|
||||
background-image: -o-linear-gradient(top, rgb(0,0,0) 4%, rgb(12,12,12) 42%, rgb(42,42,42) 100%);
|
||||
background-image: -moz-linear-gradient(top, rgb(0,0,0) 4%, rgb(12,12,12) 42%, rgb(42,42,42) 100%);
|
||||
background-image: -webkit-linear-gradient(top, rgb(0,0,0) 4%, rgb(12,12,12) 42%, rgb(42,42,42) 100%);
|
||||
background-image: -ms-linear-gradient(top, rgb(0,0,0) 4%, rgb(12,12,12) 42%, rgb(42,42,42) 100%);
|
||||
}
|
||||
footer a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.pager li a:hover,
|
||||
.pager li a:focus {
|
||||
background: #00a185;
|
||||
border: 1px solid #00a185;
|
||||
}
|
||||
|
||||
.post-preview {
|
||||
border-bottom: 5px solid #00a185;
|
||||
}
|
||||
.post-preview .post-entry {
|
||||
font-family: inherit;
|
||||
}
|
||||
.blog-tags {
|
||||
font-family: "Linux Biolinum O", 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
footer .copyright {
|
||||
font-family: "Linux Biolinum O", 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.thumbApp {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
border-radius: 15px 1px 15px 1px;
|
||||
box-shadow: 0px 0px 10px #555;
|
||||
font-family: "Linux Biolinum O", 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||||
height: 200px;
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 0.5%;
|
||||
margin-bottom: 20px;
|
||||
width: 24.5%;
|
||||
min-width: 149px;
|
||||
}
|
||||
|
||||
.thumbApp p {
|
||||
background-color: rgba(0,0,0,0.7);
|
||||
border-bottom: solid 4px #00a185;
|
||||
color: white;
|
||||
font-weight: bolder;
|
||||
margin-top: 123px;
|
||||
padding: 10px;
|
||||
}
|
||||
.thumbApp:hover p {
|
||||
color: #00a185;
|
||||
border-color: #0085a1;
|
||||
}
|
||||
.thumbApp p span{
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
line-height: 0.9;
|
||||
height: 1.8em;
|
||||
text-indent: -0.3em;
|
||||
padding-left: 0.3em;
|
||||
}
|
||||
.thumbApp img {
|
||||
border-radius: inherit;
|
||||
width: 100%;
|
||||
}
|
95
static/css/fonts.css
Normal file
95
static/css/fonts.css
Normal file
@ -0,0 +1,95 @@
|
||||
@font-face {
|
||||
font-family: 'Fantasque Sans Mono';
|
||||
src: local("Fantasque Sans Mono Bold Italic"),
|
||||
url('/fonts/FantasqueSansMono-BoldItalic.woff2') format('woff2'),
|
||||
url('/fonts/FantasqueSansMono-BoldItalic.ttf') format('truetype');
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fantasque Sans Mono';
|
||||
src: local("Fantasque Sans Mono Bold"),
|
||||
url('/fonts/FantasqueSansMono-Bold.woff2') format('woff2'),
|
||||
url('/fonts/FantasqueSansMono-Bold.ttf') format('truetype');
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fantasque Sans Mono';
|
||||
src: local("Fantasque Sans Mono Italic"),
|
||||
url('/fonts/FantasqueSansMono-Italic.woff2') format('woff2'),
|
||||
url('/fonts/FantasqueSansMono-Italic.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fantasque Sans Mono';
|
||||
src: local("Fantasque Sans Mono Regular"),
|
||||
url('/fonts/FantasqueSansMono-Regular.woff2') format('woff2'),
|
||||
url('/fonts/FantasqueSansMono-Regular.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Biolinum';
|
||||
src: local("Linux Biolinum O Bold"),
|
||||
url('/fonts/LinBiolinum_RB.woff2') format('woff2'),
|
||||
url('/fonts/LinBiolinum_RB.woff') format('woff'),
|
||||
url('/fonts/LinBiolinum_RB.ttf') format('truetype');
|
||||
font-weight: 800;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Biolinum';
|
||||
src: local("Linux Biolinum O Italic"),
|
||||
url('/fonts/LinBiolinum_RI.woff2') format('woff2'),
|
||||
url('/fonts/LinBiolinum_RI.woff') format('woff'),
|
||||
url('/fonts/LinBiolinum_RI.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Biolinum';
|
||||
src: local("Linux Biolinum O"),
|
||||
url('/fonts/LinBiolinum_R.woff2') format('woff2'),
|
||||
url('/fonts/LinBiolinum_R.woff') format('woff'),
|
||||
url('/fonts/LinBiolinum_R.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Libertine';
|
||||
src: local("Linux Libertine O Bold Italic"),
|
||||
url('/fonts/LinLibertine_RBIah.woff2') format('woff2'),
|
||||
url('/fonts/LinLibertine_RBIah.woff') format('woff'),
|
||||
url('/fonts/LinLibertine_RBIah.ttf') format('truetype');
|
||||
font-weight: 800;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Libertine';
|
||||
src: local("Linux Libertine O Bold"),
|
||||
url('/fonts/LinLibertine_RBah.woff2') format('woff2'),
|
||||
url('/fonts/LinLibertine_RBah.woff') format('woff'),
|
||||
url('/fonts/LinLibertine_RBah.ttf') format('truetype');
|
||||
font-weight: 800;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Libertine';
|
||||
src: local("Linux Libertine O Italic"),
|
||||
url('/fonts/LinLibertine_RIah.woff2') format('woff2'),
|
||||
url('/fonts/LinLibertine_RIah.woff') format('woff'),
|
||||
url('/fonts/LinLibertine_RIah.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Linux Libertine';
|
||||
src: local("Linux Libertine O"),
|
||||
url('/fonts/LinLibertine_Rah.woff2') format('woff2'),
|
||||
url('/fonts/LinLibertine_Rah.woff') format('woff'),
|
||||
url('/fonts/LinLibertine_Rah.ttf') format('truetype');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
67
static/css/syntax.css
Normal file
67
static/css/syntax.css
Normal file
@ -0,0 +1,67 @@
|
||||
/* Background */ .chroma { background-color: #f0f3f3 }
|
||||
/* Error */ .chroma .err { color: #aa0000; background-color: #ffaaaa }
|
||||
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; }
|
||||
/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc }
|
||||
/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
|
||||
/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
|
||||
/* Keyword */ .chroma .k { color: #006699; font-weight: bold }
|
||||
/* KeywordConstant */ .chroma .kc { color: #006699; font-weight: bold }
|
||||
/* KeywordDeclaration */ .chroma .kd { color: #006699; font-weight: bold }
|
||||
/* KeywordNamespace */ .chroma .kn { color: #006699; font-weight: bold }
|
||||
/* KeywordPseudo */ .chroma .kp { color: #006699 }
|
||||
/* KeywordReserved */ .chroma .kr { color: #006699; font-weight: bold }
|
||||
/* KeywordType */ .chroma .kt { color: #007788; font-weight: bold }
|
||||
/* NameAttribute */ .chroma .na { color: #330099 }
|
||||
/* NameBuiltin */ .chroma .nb { color: #336666 }
|
||||
/* NameClass */ .chroma .nc { color: #00aa88; font-weight: bold }
|
||||
/* NameConstant */ .chroma .no { color: #336600 }
|
||||
/* NameDecorator */ .chroma .nd { color: #9999ff }
|
||||
/* NameEntity */ .chroma .ni { color: #999999; font-weight: bold }
|
||||
/* NameException */ .chroma .ne { color: #cc0000; font-weight: bold }
|
||||
/* NameFunction */ .chroma .nf { color: #cc00ff }
|
||||
/* NameLabel */ .chroma .nl { color: #9999ff }
|
||||
/* NameNamespace */ .chroma .nn { color: #00ccff; font-weight: bold }
|
||||
/* NameTag */ .chroma .nt { color: #330099; font-weight: bold }
|
||||
/* NameVariable */ .chroma .nv { color: #003333 }
|
||||
/* LiteralString */ .chroma .s { color: #cc3300 }
|
||||
/* LiteralStringAffix */ .chroma .sa { color: #cc3300 }
|
||||
/* LiteralStringBacktick */ .chroma .sb { color: #cc3300 }
|
||||
/* LiteralStringChar */ .chroma .sc { color: #cc3300 }
|
||||
/* LiteralStringDelimiter */ .chroma .dl { color: #cc3300 }
|
||||
/* LiteralStringDoc */ .chroma .sd { color: #cc3300; font-style: italic }
|
||||
/* LiteralStringDouble */ .chroma .s2 { color: #cc3300 }
|
||||
/* LiteralStringEscape */ .chroma .se { color: #cc3300; font-weight: bold }
|
||||
/* LiteralStringHeredoc */ .chroma .sh { color: #cc3300 }
|
||||
/* LiteralStringInterpol */ .chroma .si { color: #aa0000 }
|
||||
/* LiteralStringOther */ .chroma .sx { color: #cc3300 }
|
||||
/* LiteralStringRegex */ .chroma .sr { color: #33aaaa }
|
||||
/* LiteralStringSingle */ .chroma .s1 { color: #cc3300 }
|
||||
/* LiteralStringSymbol */ .chroma .ss { color: #ffcc33 }
|
||||
/* LiteralNumber */ .chroma .m { color: #ff6600 }
|
||||
/* LiteralNumberBin */ .chroma .mb { color: #ff6600 }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color: #ff6600 }
|
||||
/* LiteralNumberHex */ .chroma .mh { color: #ff6600 }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color: #ff6600 }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color: #ff6600 }
|
||||
/* LiteralNumberOct */ .chroma .mo { color: #ff6600 }
|
||||
/* Operator */ .chroma .o { color: #555555 }
|
||||
/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold }
|
||||
/* Comment */ .chroma .c { color: #0099ff; font-style: italic }
|
||||
/* CommentHashbang */ .chroma .ch { color: #0099ff; font-style: italic }
|
||||
/* CommentMultiline */ .chroma .cm { color: #0099ff; font-style: italic }
|
||||
/* CommentSingle */ .chroma .c1 { color: #0099ff; font-style: italic }
|
||||
/* CommentSpecial */ .chroma .cs { color: #0099ff; font-weight: bold; font-style: italic }
|
||||
/* CommentPreproc */ .chroma .cp { color: #009999 }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color: #009999 }
|
||||
/* GenericDeleted */ .chroma .gd { background-color: #ffcccc }
|
||||
/* GenericEmph */ .chroma .ge { font-style: italic }
|
||||
/* GenericError */ .chroma .gr { color: #ff0000 }
|
||||
/* GenericHeading */ .chroma .gh { color: #003300; font-weight: bold }
|
||||
/* GenericInserted */ .chroma .gi { background-color: #ccffcc }
|
||||
/* GenericOutput */ .chroma .go { color: #aaaaaa }
|
||||
/* GenericPrompt */ .chroma .gp { color: #000099; font-weight: bold }
|
||||
/* GenericStrong */ .chroma .gs { font-weight: bold }
|
||||
/* GenericSubheading */ .chroma .gu { color: #003300; font-weight: bold }
|
||||
/* GenericTraceback */ .chroma .gt { color: #99cc66 }
|
||||
/* TextWhitespace */ .chroma .w { color: #bbbbbb }
|
@ -1 +0,0 @@
|
||||
Subproject commit e16cd2288ca487f3e6606424c23e4e23c63cc6e0
|
Loading…
Reference in New Issue
Block a user