diff --git a/.gitmodules b/.gitmodules index fc78ab9..bf2b684 100644 --- a/.gitmodules +++ b/.gitmodules @@ -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 diff --git a/config.toml b/config.toml index 1643638..3712827 100644 --- a/config.toml +++ b/config.toml @@ -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 diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..b350b3f --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,157 @@ + {{ if eq .Type "page" }} + {{ partial "page_meta.html" . }} + {{ end }} + + +{{- if .Site.Params.selfHosted -}} + + + + +{{- else -}} + + + + +{{- end }} + + +{{- if .Site.Params.staticman }} + +{{- end }} +{{- if .Site.Params.useHLJS }} + + + +{{- end -}} + + +{{- if .Site.Params.selfHosted -}} + + +{{- else -}} + + +{{- end -}} + + +{{ if .Site.Params.gcse }} + + +{{ end }} + +{{ if .Site.Params.piwik }} + + + + +{{ end }} + +{{ if and .Site.Params.delayDisqus .Site.DisqusShortname }} + + + + +{{ end }} + +{{- partial "footer_custom.html" . }} diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..1366c43 --- /dev/null +++ b/layouts/partials/head.html @@ -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 }} + + + + + +{{- with ($.Scratch.Get "Title") }} + {{ . }}{{- if ne . $.Site.Title }} - {{ $.Site.Title }}{{- end}} +{{- end }} +{{- with ($.Scratch.Get "Description") }} + +{{- end }} +{{- with .Site.Author.name }} + +{{- end }} +{{- partial "seo/main.html" . }} +{{- with .Site.Params.favicon }} + +{{- end -}} + + {{ hugo.Generator -}} + + + + {{- if .Site.Params.selfHosted -}} + + + + {{- else -}} + + + + {{- end -}} + + + + {{- if .Site.Params.staticman -}} + + {{- end -}} + + {{- if .Site.Params.selfHosted -}} + + {{- else -}} + + + {{- end -}} + + {{- if .Site.Params.useHLJS }} + + {{- else -}} + + {{- end -}} + + + {{- if .Site.Params.staticman.recaptcha -}} + + {{- end -}} + + {{- if .Site.Params.selfHosted -}} + + + {{- else -}} + + + {{- end -}} + +{{- partial "head_custom.html" . }} +{{ template "_internal/google_analytics_async.html" . }} diff --git a/layouts/partials/head_custom.html b/layouts/partials/head_custom.html index 9ff7a0a..e173505 100644 --- a/layouts/partials/head_custom.html +++ b/layouts/partials/head_custom.html @@ -1 +1,2 @@ + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..6f74d5b --- /dev/null +++ b/layouts/partials/header.html @@ -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 }} +
+ {{ end }} + +
+ {{ if $bigimg }} +
+ {{ $subtitle := $.Scratch.Get "subtitle" }} +
+
+
+
+

{{ with $.Scratch.Get "title" }}{{.}}{{ else }}
{{ end }}

+ {{ if $subtitle }} + {{ if eq .Type "page" }} +
+ {{ $subtitle }} + {{ else }} +

{{ $subtitle }}

+ {{ end }} + {{ end }} + {{ if eq .Type "post" }} + {{ partial "post_meta.html" . }} + {{ end }} +
+
+
+
+ +
+ {{end}} + {{ if $title }} +
+
+
+
+
+ {{ if eq .Type "list" }} +

{{ if .Data.Singular }}#{{ end }}{{ .Title }}

+ {{ else }} +

{{ with $title }}{{.}}{{ else }}
{{ end }}

+ {{ end }} + {{ if ne .Type "post" }} +
+ {{ end }} + {{ if $subtitle }} + {{ if eq .Type "page" }} + {{ $subtitle }} + {{ else }} +

{{ $subtitle }}

+ {{ end }} + {{ end }} + {{ if eq .Type "post" }} + {{ partial "post_meta.html" . }} + {{ end }} +
+
+
+
+
+ {{ else }} +
+ {{end}} + + {{ if $thumbs }} +
+ {{range $i, $thumb := $thumbs}} + +
+ {{ if $thumb.desc }}

{{ $thumb.desc }}

{{end}} +
+
+ {{ end }} + +
+
+ {{ end }} +
+{{ else }} +
+{{ end }} diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html new file mode 100644 index 0000000..f78bb7e --- /dev/null +++ b/layouts/partials/nav.html @@ -0,0 +1,96 @@ + + + +{{ if isset .Site.Params "gcse" }} + +{{ end }} diff --git a/static/css/custom.css b/static/css/custom.css new file mode 100644 index 0000000..094dd8c --- /dev/null +++ b/static/css/custom.css @@ -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%; +} diff --git a/static/css/fonts.css b/static/css/fonts.css new file mode 100644 index 0000000..8568328 --- /dev/null +++ b/static/css/fonts.css @@ -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; +} diff --git a/static/css/syntax.css b/static/css/syntax.css new file mode 100644 index 0000000..2770495 --- /dev/null +++ b/static/css/syntax.css @@ -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 } diff --git a/themes/nemhugo b/themes/nemhugo deleted file mode 160000 index e16cd22..0000000 --- a/themes/nemhugo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e16cd2288ca487f3e6606424c23e4e23c63cc6e0