Compare commits

...

40 Commits

Author SHA1 Message Date
4d39061e29 Fix gallery item size 2025-03-26 23:09:36 +01:00
0c7127cb00 Fix gallery 2025-03-26 23:00:55 +01:00
a679f15de1 Merge branch 'master' of ssh://git.ivayloivanov.eu:30000/ivo/hugo-theme-noteworthy 2025-03-25 15:27:27 +01:00
78b04e847e Add image gallery 2025-03-25 15:27:13 +01:00
c5bbf1477e Fix tags issues 2025-02-19 23:01:09 +01:00
4abc133ca9 Add url to schema, fix json 2025-02-19 12:04:42 +01:00
7b4b38072d Fix schema author parameter 2025-02-19 11:44:50 +01:00
213bcbe937 Add schema or generation 2025-02-19 11:40:09 +01:00
0fdc8eeb27 Fix SEO meta summary tag 2025-02-19 10:53:55 +01:00
722a584e2e Add SEO meta tags 2025-02-19 10:43:58 +01:00
8d79528d27 Change mobile footer theme link 2025-02-19 10:15:40 +01:00
fe0251c9ec Add title to dark mode button 2025-02-18 22:59:31 +01:00
48efb27191 Change dark mode to button 2025-02-18 22:53:48 +01:00
5345d2caf9 Add rss title 2025-02-18 22:32:59 +01:00
7db002f550 Change teal to improve lighthouse score 2025-02-18 21:18:50 +01:00
502ec20d97 Add new translations, update nav, fix tag url, change theme info 2024-12-26 17:30:28 +01:00
f595ec3199 Remove useless rss link 2024-12-01 18:59:06 +01:00
c2c0721003 Remove duplicate 2024-12-01 18:56:45 +01:00
b62a6e7e58 Expand social and add archive shortcode 2024-12-01 18:54:32 +01:00
0f895b71da Add div to collapsible 2024-11-30 07:14:20 +01:00
53831da3c0 Add collapsible 2024-11-29 18:10:22 +01:00
0a7d512d2f Add post archiving 2024-11-29 16:07:27 +01:00
44d8642e30 Add functioning site-wide dark mode 2024-11-29 14:56:18 +01:00
17de8b21e6 Add bootstrap, more shortcodes and initial dark mode 2024-11-29 14:20:38 +01:00
189a933839 Fix incompatibility with new hugo version 2024-11-22 14:45:45 +01:00
kimcc
5dcc67d31b Merge pull request #37 from ajmalsiddiqui/fix-email-template
Fix email hyperlink templating
2021-07-08 15:05:24 -05:00
kimcc
fa66d43da1 Merge pull request #31 from mbugert/fix-footnote-scss
Fix footnote SCSS not being compatible with generated markup
2021-07-08 15:04:55 -05:00
kimcc
994611d5dd Merge pull request #28 from ks07/travelicons
Add travel social icons
2021-06-17 22:58:40 -05:00
kimcc
3852731b02 Merge pull request #23 from kamijin-fanta/fix-path
fix path on relative base-url
2021-06-17 22:55:46 -05:00
kimcc
7edd32bb77 Merge branch 'master' into fix-path 2021-06-17 22:55:29 -05:00
kimcc
b2aa369210 Merge pull request #21 from fmaida/fmaida
Multi-language support through i18n
2021-06-17 22:52:38 -05:00
Mohammed Ajmal Siddiqui
df5076a472 Fix email hyperlink templating 2021-05-29 11:33:43 +05:30
Michael Bugert
52659abf65 Fix footnote SCSS not being compatible with generated markup 2021-01-10 20:21:00 +01:00
George Field
8e3ed9af3b Make whitespace more consistent. 2020-08-01 15:31:05 +01:00
George Field
b3147e3dd8 Add Tripadvisor social icon support.
Icon by https://icons8.com/icons/set/tripadvisor
2020-08-01 15:06:15 +01:00
kamijin_fanta
34a6621dab fix tag url 2020-04-24 22:31:11 +09:00
kamijin_fanta
b8b5d86de5 fix path on relative base-url 2020-04-24 21:46:27 +09:00
Francesco Maida
2dac441b45 multi-language support through i18n 2020-04-20 10:15:04 +02:00
Francesco Maida
5529fcddd5 multi-language support through i18n 2020-04-18 22:18:57 +02:00
Francesco Maida
e9193c9bc9 multi-language support through i18n 2020-04-18 18:25:41 +02:00
29 changed files with 623 additions and 98 deletions

View File

@@ -101,6 +101,7 @@ orcid = "#"
# Travel
googlemaps = "#"
tripadvisor = "#"
```

55
assets/css/gallery.css Normal file
View File

@@ -0,0 +1,55 @@
.gallery {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 10px;
padding: 20px;
}
.gallery-item {
overflow: hidden;
}
.gallery-item img {
width: 100%;
height: auto;
display: block;
}
.modal {
display: none;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.9);
}
.modal-content {
margin: auto;
display: block;
max-height: 900px;
width: auto;
height: 90%;
}
.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}
.close:hover,
.close:focus {
color: #bbb;
text-decoration: none;
cursor: pointer;
}

View File

@@ -1,7 +1,7 @@
/* VARIABLES ========================================================================== */
// COLORS
$teal: #63BDA2;
$teal: #1F8455;
$teal-darker: #359377;
$gray-background: #F7F7F7;
$gray-table-border: #EEEEEE;
@@ -339,16 +339,14 @@ nav {
height: auto;
}
.footnote-ref {
a {
margin-left: 0.3em;
}
a.footnote-ref {
margin-left: 0.3em;
a::before {
&::before {
content: "[";
}
a::after {
&::after {
content: "]";
}
}
@@ -484,6 +482,8 @@ footer {
display: inline-block;
height: 2em;
position: relative;
border: none;
background: none;
}
.social-icon>svg:hover {

11
assets/js/gallery.js Normal file
View File

@@ -0,0 +1,11 @@
function openModal(imageSrc) {
let modal = document.getElementById("myModal");
let modalImg = document.getElementById("modalImage");
modal.style.display = "block";
modalImg.src = imageSrc;
}
function closeModal() {
let modal = document.getElementById("myModal");
modal.style.display = "none";
}

View File

@@ -16,16 +16,16 @@ disqusShortname = ""
tag = "tags"
[author]
name = "kimcc"
name = "kimcc"
# Set to false to disallow raw HTML in markdown files
[markup.goldmark.renderer]
unsafe = true
[params]
math = true
# Blog description at the top of the homepage. Supports markdown.
description = "Noteworthy is a minimalist Hugo theme, perfect for writers and bloggers."
math = true
# Blog description at the top of the homepage. Supports markdown.
description = "Noteworthy is a minimalist Hugo theme, perfect for writers and bloggers."
showReadMore = false
@@ -33,40 +33,40 @@ disqusShortname = ""
enableKofi = false
kofi = ""
# Add links to your accounts. Remove the ones you don't want to include.
# Main
email = "#"
# Add links to your accounts. Remove the ones you don't want to include.
# Main
email = "#"
facebook = "#"
twitter = "#"
instagram = "#"
tumblr = "#"
reddit = "#"
pinterest = "#"
youtube = "#"
instagram = "#"
tumblr = "#"
reddit = "#"
pinterest = "#"
youtube = "#"
vimeo = "#"
weibo = "#"
vk = "#"
linkedin = "#"
weibo = "#"
vk = "#"
linkedin = "#"
# Writing
# Writing
medium = "#"
blogger = "#"
wordpress = "#"
blogger = "#"
wordpress = "#"
# Creative & Visual
# Creative & Visual
dribbble = "#"
behance = "#"
deviantart = "#"
flickr = "#"
behance = "#"
deviantart = "#"
flickr = "#"
# Audio & Music
soundcloud = "#"
# Programming
# Programming
github = "#"
stackoverflow = "#"
gitlab = "#"
codepen = "#"
stackoverflow = "#"
gitlab = "#"
codepen = "#"
# Academic
googlescholar = "#"
@@ -75,25 +75,26 @@ disqusShortname = ""
# Travel
googlemaps = "#"
tripadvisor = "#"
# Menu links along the sidebar navigation.
[[menu.main]]
identifier = "about"
name = "About"
url = "/about/"
weight = 1 # Weight is an integer used to sort the menu items. The sorting goes from smallest to largest numbers. If weight is not defined for each menu entry, Hugo will sort the entries alphabetically.
identifier = "about"
name = "About"
url = "/about/"
weight = 1 # Weight is an integer used to sort the menu items. The sorting goes from smallest to largest numbers. If weight is not defined for each menu entry, Hugo will sort the entries alphabetically.
[[menu.main]]
identifier = "tags"
name = "Tags"
url = "/tags/"
weight = 2
identifier = "tags"
name = "Tags"
url = "/tags/"
weight = 2
[[menu.main]]
name = "Archives"
identifier = "archives"
url = "/archives/"
weight = 3
name = "Archives"
identifier = "archives"
url = "/archives/"
weight = 3
# Privacy configurations: https://gohugo.io/about/hugo-and-gdpr/
[privacy]

29
i18n/bg.toml Normal file
View File

@@ -0,0 +1,29 @@
[page]
other = "Страница"
[of]
other = "от"
[newer]
other = "По-нови"
[older]
other = "По-стари"
[tagged]
other = "Тагнати"
[tags]
other = "Тагове"
[read_more]
other = "Прочети повече..."
[archive]
other = "Архив"
[noteworthy_theme]
other = "Тема Noteworthy"
[built_with_hugo]
other = "Направено с Hugo"

29
i18n/de.toml Normal file
View File

@@ -0,0 +1,29 @@
[page]
other = "Seite"
[of]
other = "von"
[newer]
other = "Neuere"
[older]
other = "Ältere"
[tagged]
other = "Getaggt"
[tags]
other = "Tags"
[read_more]
other = "Mehr lesen..."
[archive]
other = "Archiv"
[noteworthy_theme]
other = "Noteworthy Theme"
[built_with_hugo]
other = "Gebaut mit Hugo"

29
i18n/en.toml Normal file
View File

@@ -0,0 +1,29 @@
[page]
other = "Page"
[of]
other = "of"
[newer]
other = "Newer"
[older]
other = "Older"
[tagged]
other = "Tagged"
[tags]
other = "Tags"
[read_more]
other = "Read more..."
[archive]
other = "Archive"
[noteworthy_theme]
other = "Noteworthy theme"
[built_with_hugo]
other = "Built with Hugo"

View File

@@ -26,7 +26,7 @@
{{if .Params.tags}}
<hr class="footer-divider">
{{ range .Params.tags }}
<a class="tag" href="/tags/{{ . | urlize }}">#{{.}}</a>
<a class="tag" href="{{ "/tags/" | relURL }}{{ . | urlize }}">#{{.}}</a>
{{ end }}
{{ end }}
</div>

View File

@@ -1,6 +1,6 @@
{{ define "main" }}
<!-- Page that displays after clicking on a post's tag -->
<h1>Tagged "{{ .Data.Term }}"</h1>
<h1>{{ i18n "tagged" }} "{{ .Data.Term }}"</h1>
{{range .Pages}}
<!-- Display the posts with the tag -->
@@ -13,7 +13,7 @@
<div>
<p>{{ .Summary }}</p>
{{ if (and (.Site.Params.showReadMore) (.Truncated)) }}
<p><a href="{{ .RelPermalink }}">Read more...</a></p>
<p><a href="{{ .RelPermalink }}">{{ i18n "read_more" }}</a></p>
{{ end }}
</div>
<div class="post-footer">

View File

@@ -8,6 +8,7 @@
<!-- Range over the pages and only include the ones that are a post type -->
{{ $pages := where site.RegularPages "Type" "in" site.Params.mainSections }}
{{ range (.Paginate $pages).Pages }}
{{ if not (.Param "Archive") }}
<article>
<h2>
<a href="{{ .Permalink }}">
@@ -17,7 +18,7 @@
<div>
<p>{{ .Summary }}</p>
{{ if (and (.Site.Params.showReadMore) (.Truncated)) }}
<p><a href="{{ .RelPermalink }}">Read more...</a></p>
<p><a href="{{ .RelPermalink }}">{{ i18n "read_more" }}</a></p>
{{ end }}
</div>
<div class="post-footer">
@@ -26,34 +27,35 @@
<!-- Display tags -->
{{if .Params.tags}}
{{ range .Params.tags }}
<a class="tag" href="/tags/{{ . | urlize }}">#{{.}}</a>
<a class="tag" href="{{ "/tags/" | relURL }}{{ . | urlize }}">#{{.}}</a>
{{ end }}
{{ end }}
</div>
</article>
{{ end }}
{{ end }}
</div>
<!-- Custom paginator -->
<div class="paginator">
{{ $paginator := .Paginator }}
{{ if gt .Paginator.TotalPages 1 }}
<p>Page {{ $paginator.PageNumber}} of {{ $paginator.TotalPages }}</p>
<p>{{ i18n "page" }} {{ $paginator.PageNumber}} {{ i18n "of" }} {{ $paginator.TotalPages }}</p>
<div class="paginator-group">
{{ if $paginator.HasPrev }}
<a class="color-link" href="{{ $paginator.Prev.URL | relLangURL }}">
<a class="color-link" href="{{ $paginator.Prev.URL }}">
<svg width="13px" height="9px" viewBox="0 0 13 9" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<g class="color-arrow" fill="#63BDA2" fill-rule="nonzero">
<polygon id="Path" points="1.75929935 4.50000282 5.3292523 7.62371165 4.6707477 8.37628835 0.240700645 4.49999718 4.67081049 0.623709205 5.32930951 1.37629079"></polygon>
<polygon id="Path" points="13 4 13 5 1 5 1 4"></polygon>
</g>
</svg>
Newer
{{ i18n "newer" }}
</a>
{{ end }}
{{ if $paginator.HasNext }}
<a class="color-link older" href="{{ $paginator.Next.URL | relLangURL }}">
Older
<a class="color-link older" href="{{ $paginator.Next.URL }}">
{{ i18n "older" }}
<svg width="13px" height="9px" viewBox="0 0 13 9" version="1.1" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<g class="color-arrow" fill="#63BDA2" fill-rule="nonzero">
<polygon points="7.6707477 1.37628835 8.3292523 0.623711653 12.7592994 4.50000282 8.32918951 8.37629079 7.67069049 7.62370921 11.2407006 4.49999718"></polygon>

View File

@@ -2,11 +2,19 @@
{{ partial "social.html" . }}
<div class="footer-mobile-links">
<p><a href="https://github.com/kimcc/hugo-theme-noteworthy" target="_blank" rel="noopener">Noteworthy theme</a></p>
<p><a href="https://git.ivayloivanov.eu/ivo/hugo-theme-noteworthy" target="_blank" rel="noopener">{{ i18n "noteworthy_theme" }}</a></p>
<span class="divider-bar">|</span>
<p><a href="https://gohugo.io" target="_blank" rel="noopener">Built with Hugo</a></p>
<p><a href="https://gohugo.io" target="_blank" rel="noopener">{{ i18n "built_with_hugo" }}</a></p>
</div>
{{ $script := resources.Get "js/main.js" | minify | fingerprint -}}
<script src="{{ $script.Permalink }}" {{ printf "integrity=%q" $script.Data.Integrity | safeHTMLAttr }} crossorigin="anonymous"></script>
{{ $js := resources.Get "js/gallery.js" }}
{{ $jsFile := $js | resources.Minify }}
<script type="text/javascript" src="{{ $jsFile.Permalink }}"></script>
{{ $css := resources.Get "css/gallery.css" }}
{{ $cssFile := $css | resources.Minify }}
<link href="{{ $cssFile.Permalink }}" rel="stylesheet">
</footer>

View File

@@ -1,9 +1,16 @@
<footer class="footer">
{{ partial "social.html" . }}
<p><a href="https://github.com/kimcc/hugo-theme-noteworthy" target="_blank" rel="noopener">Noteworthy theme</a></p>
<p><a href="https://gohugo.io" target="_blank" rel="noopener">Built with Hugo</a></p>
<p><a href="https://git.ivayloivanov.eu/ivo/hugo-theme-noteworthy" target="_blank" rel="noopener">{{ i18n "noteworthy_theme" }}</a></p>
<p><a href="https://gohugo.io" target="_blank" rel="noopener">{{ i18n "built_with_hugo" }}</a></p>
{{ $script := resources.Get "js/main.js" | minify | fingerprint -}}
<script src="{{ $script.Permalink }}" {{ printf "integrity=%q" $script.Data.Integrity | safeHTMLAttr }} crossorigin="anonymous"></script>
<script src="{{ "/" | relURL }}js/main.js"></script>
{{ $js := resources.Get "js/gallery.js" }}
{{ $jsFile := $js | resources.Minify }}
<script type="text/javascript" src="{{ $jsFile.Permalink }}"></script>
{{ $css := resources.Get "css/gallery.css" }}
{{ $cssFile := $css | resources.Minify }}
<link href="{{ $cssFile.Permalink }}" rel="stylesheet">
</footer>

View File

@@ -6,13 +6,21 @@
<title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} | {{ .Site.Title }}{{ end }}</title>
<!-- Icons -->
<link rel="apple-touch-icon" sizes="180x180" href="{{ "apple-touch-icon.png" | relURL }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | relURL }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | relURL }}">
<link rel="manifest" href="{{ "manifest.json" | relURL }}">
<link rel="mask-icon" href="{{ "safari-pinned-tab.svg" | relURL }}" color="#FF3DB4">
<link rel="apple-touch-icon" sizes="180x180" href="{{ "/" | relURL }}favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="{{ "/" | relURL }}favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="{{ "/" | relURL }}favicon/favicon-16x16.png">
<link rel="manifest" href="{{ "/" | relURL }}favicon/manifest.json">
<link rel="mask-icon" href="{{ "/" | relURL }}favicon/safari-pinned-tab.svg" color="#FF3DB4">
<meta name="theme-color" content="#ffffff">
<!-- SSO Metadata -->
<meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/>
<meta
name="description"
content="{{ if .Params.description }}{{ .Params.description }}{{ end }}"
/>
{{ partial "schema.html" . }}
<!-- Styles -->
<!-- Use Hugo Pipes to process the Sass file (convert to CSS, minify, and add a hash) -->
{{ $main_style := resources.Get "css/main.scss" | toCSS | minify | fingerprint }}
@@ -24,12 +32,14 @@
<link rel="stylesheet" href="{{ $custom_style.Permalink }}"/> -->
<!-- Modify the custom.css file inside static > css to use vanilla css -->
<!-- <link type="text/css" rel="stylesheet" href="{{ "/" | relURL }}css/custom.css"> -->
<link type="text/css" rel="stylesheet" href="{{ "/" | relURL }}css/custom.css">
<link rel="stylesheet" href="{{ "/" | relURL }}css/bootstrap.min.css">
{{ with .OutputFormats.Get "RSS" }}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end }}
{{- if not .Site.IsServer -}}
{{- if not hugo.IsServer -}}
{{ template "_internal/google_analytics.html" . }}
{{- end -}}
</head>

View File

@@ -1,11 +1,11 @@
<!-- Sidebar navigation -->
<nav>
{{ partial "header.html" . }}
<div class="nav-menu">
{{ range .Site.Menus.main }}
<a class="color-link nav-link" href="{{ .URL | relLangURL }}">{{ .Name }}</a>
{{ end }}
<a class="color-link nav-link" href="{{ .Site.RSSLink }}" target="_blank" rel="noopener" type="application/rss+xml">RSS</a>
</div>
{{ partial "header.html" . }}
<div class="nav-menu">
{{ range .Site.Menus.main }}
<a class="color-link nav-link" href="{{ .URL | relLangURL }}">{{ .Name }}</a>
{{ end }}
<a class="color-link nav-link" href="{{ .Site.BaseURL }}/archive/">{{ i18n "archive" }}</a>
</div>
{{ partial "footer.html" . }}
</nav>

View File

@@ -0,0 +1,66 @@
{{ if .IsHome -}}
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "{{ .Site.Title }}",
"url": "{{ .Site.BaseURL }}",
"description": "{{ .Site.Params.description }}",
"thumbnailUrl": "{{ .Site.BaseURL }}favicon/favicon-32x32.png"
}
</script>
{{ else if .IsPage }}
{{ $author := or (.Params.author) (.Site.Params.Author.name) }}
{{ $authorUrl := or (.Params.authorUrl) (.Site.Params.Author.url) }}
{{ $org_name := .Site.Title }}
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BlogPosting",
"name": "{{ .Title | safeJS }}",
"headline": "{{ .Title | safeJS }}",
"description": "{{ if .Description }}{{ .Description | safeJS }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ end }}{{ end }}",
"inLanguage": {{ .Site.LanguageCode | default "en-us" }},
"isFamilyFriendly": "true",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "{{ .Permalink }}"
},
"author" : {
"@type": "Person",
"name": "{{ $author }}",
"url": "{{ $authorUrl }}"
},
"creator" : {
"@type": "Person",
"name": "{{ $author }}"
},
"accountablePerson" : {
"@type": "Person",
"name": "{{ $author }}"
},
"copyrightHolder" : "{{ $org_name }}",
"copyrightYear" : "{{ .Date.Format "2006" }}",
"dateCreated": "{{ .Date.Format "2006-01-02T15:04:05.00Z" | safeHTML }}",
"datePublished": "{{ .PublishDate.Format "2006-01-02T15:04:05.00Z" | safeHTML }}",
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05.00Z" | safeHTML }}",
"publisher":{
"@type":"Organization",
"name": {{ $org_name }},
"url": {{ .Site.BaseURL }},
"logo": {
"@type": "ImageObject",
"url": "{{ .Site.BaseURL }}favicon/favicon-32x32.png",
"width":"32",
"height":"32"
}
},
"image": {{ if .Params.images }}[{{ range $i, $e := .Params.images }}{{ if $i }}, {{ end }}{{ $e | absURL }}{{ end }}]{{ else}}{{.Site.Params.logo | absURL }}{{ end }},
"url" : "{{ .Permalink }}",
"wordCount" : "{{ .WordCount }}",
"genre" : [ {{ range $index, $tag := .Params.tags }}{{ if $index }}, {{ end }}"{{ $tag }}" {{ end }}],
"keywords" : [ {{ range $index, $keyword := .Params.keywords }}{{ if $index }}, {{ end }}"{{ $keyword }}" {{ end }}]
}
</script>
{{ end }}

View File

@@ -1,6 +1,6 @@
<div class="social-icons">
{{ if isset .Site.Params "email" }}
<a class="social-icon" href="{{ .Site.Params.Email }}" target="_blank" rel="noopener" title="Email">
<a class="social-icon" href="mailto:{{ .Site.Params.Email }}" target="_blank" rel="noopener" title="Email">
<svg width="28px" height="28px" viewBox="0 0 28 28" version="1.1" fill="#ABABAB" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<path d="M25.2794292,5.59128519 L14,16.8707144 L2.72057081,5.59128519 C3.06733103,5.30237414 3.51336915,5.12857603 4,5.12857603 L24,5.12857603 C24.4866308,5.12857603 24.932669,5.30237414 25.2794292,5.59128519 Z M25.9956978,6.99633695 C25.998551,7.04004843 26,7.08414302 26,7.12857603 L26,20.871424 C26,21.0798433 25.9681197,21.2808166 25.9089697,21.4697335 L18.7156355,14.2763993 L25.9956978,6.99633695 Z M24.9498374,22.6319215 C24.6672737,22.7846939 24.3437653,22.871424 24,22.871424 L4,22.871424 C3.5268522,22.871424 3.09207889,22.7071233 2.74962118,22.432463 L10.0950247,15.0870594 L13.9848068,18.9768415 L14.1878486,18.7737996 L14.2030419,18.7889929 L17.6549753,15.3370594 L24.9498374,22.6319215 Z M2.00810114,21.0526627 C2.00273908,20.9929669 2,20.9325153 2,20.871424 L2,7.12857603 C2,7.08414302 2.00144896,7.04004843 2.00430222,6.99633695 L9.03436454,14.0263993 L2.00810114,21.0526627 Z"></path>
</svg>
@@ -227,6 +227,45 @@
</a>
{{ end }}
{{ if isset .Site.Params "tripadvisor" }}
<a class="social-icon" href="{{ .Site.Params.Tripadvisor }}" target="_blank" rel="noopener" title="Tripadvisor">
<!-- Tripadvisor icon by https://icons8.com/icons/set/tripadvisor -->
<svg width="28px" height="28px" viewBox="0 0 50 50" version="1.1" fill="#ABABAB" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<path d="M 25 11 C 19.167969 11 13.84375 12.511719 9.789063 15 L 2 15 C 2 15 3.753906 17.152344 4.578125 19.578125 C 2.96875 21.621094 2 24.195313 2 27 C 2 33.628906 7.371094 39 14 39 C 17.496094 39 20.636719 37.492188 22.828125 35.105469 L 25 38 L 27.171875 35.105469 C 29.363281 37.492188 32.503906 39 36 39 C 42.628906 39 48 33.628906 48 27 C 48 24.195313 47.03125 21.621094 45.421875 19.578125 C 46.246094 17.152344 48 15 48 15 L 40.203125 15 C 36.148438 12.511719 30.828125 11 25 11 Z M 14 18 C 18.972656 18 23 22.027344 23 27 C 23 31.972656 18.972656 36 14 36 C 9.027344 36 5 31.972656 5 27 C 5 22.027344 9.027344 18 14 18 Z M 36 18 C 40.972656 18 45 22.027344 45 27 C 45 31.972656 40.972656 36 36 36 C 31.027344 36 27 31.972656 27 27 C 27 22.027344 31.027344 18 36 18 Z M 14 21 C 10.6875 21 8 23.6875 8 27 C 8 30.3125 10.6875 33 14 33 C 17.3125 33 20 30.3125 20 27 C 20 23.6875 17.3125 21 14 21 Z M 36 21 C 32.6875 21 30 23.6875 30 27 C 30 30.3125 32.6875 33 36 33 C 39.3125 33 42 30.3125 42 27 C 42 23.6875 39.3125 21 36 21 Z M 14 23 C 16.210938 23 18 24.789063 18 27 C 18 29.210938 16.210938 31 14 31 C 11.789063 31 10 29.210938 10 27 C 10 24.789063 11.789063 23 14 23 Z M 36 23 C 38.210938 23 40 24.789063 40 27 C 40 29.210938 38.210938 31 36 31 C 33.789063 31 32 29.210938 32 27 C 32 24.789063 33.789063 23 36 23 Z M 14 25 C 12.894531 25 12 25.894531 12 27 C 12 28.105469 12.894531 29 14 29 C 15.105469 29 16 28.105469 16 27 C 16 25.894531 15.105469 25 14 25 Z M 36 25 C 34.894531 25 34 25.894531 34 27 C 34 28.105469 34.894531 29 36 29 C 37.105469 29 38 28.105469 38 27 C 38 25.894531 37.105469 25 36 25 Z"/>
</svg>
</a>
{{ end }}
{{ if isset .Site.Params "gitea" }}
<a class="social-icon" href="{{ .Site.Params.Gitea }}" target="_blank" rel="noopener" title="Gitea">
<svg width="40px" height="40px" viewBox="0 0 30 30" version="1.1" fill="#ABABAB" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink" style="margin-top: 20%;">
<path d="M4.209 4.603c-.247 0-.525.02-.84.088c-.333.07-1.28.283-2.054 1.027C-.403 7.25.035 9.685.089 10.052c.065.446.263 1.687 1.21 2.768c1.749 2.141 5.513 2.092 5.513 2.092s.462 1.103 1.168 2.119c.955 1.263 1.936 2.248 2.89 2.367c2.406 0 7.212-.004 7.212-.004s.458.004 1.08-.394c.535-.324 1.013-.893 1.013-.893s.492-.527 1.18-1.73c.21-.37.385-.729.538-1.068c0 0 2.107-4.471 2.107-8.823c-.042-1.318-.367-1.55-.443-1.627c-.156-.156-.366-.153-.366-.153s-4.475.252-6.792.306c-.508.011-1.012.023-1.512.027v4.474l-.634-.301c0-1.39-.004-4.17-.004-4.17c-1.107.016-3.405-.084-3.405-.084s-5.399-.27-5.987-.324c-.187-.011-.401-.032-.648-.032zm.354 1.832h.111s.271 2.269.6 3.597C5.549 11.147 6.22 13 6.22 13s-.996-.119-1.641-.348c-.99-.324-1.409-.714-1.409-.714s-.73-.511-1.096-1.52C1.444 8.73 2.021 7.7 2.021 7.7s.32-.859 1.47-1.145c.395-.106.863-.12 1.072-.12zm8.33 2.554c.26.003.509.127.509.127l.868.422l-.529 1.075a.686.686 0 0 0-.614.359a.685.685 0 0 0 .072.756l-.939 1.924a.69.69 0 0 0-.66.527a.687.687 0 0 0 .347.763a.686.686 0 0 0 .867-.206a.688.688 0 0 0-.069-.882l.916-1.874a.667.667 0 0 0 .237-.02a.657.657 0 0 0 .271-.137a8.826 8.826 0 0 1 1.016.512a.761.761 0 0 1 .286.282c.073.21-.073.569-.073.569c-.087.29-.702 1.55-.702 1.55a.692.692 0 0 0-.676.477a.681.681 0 1 0 1.157-.252c.073-.141.141-.282.214-.431c.19-.397.515-1.16.515-1.16c.035-.066.218-.394.103-.814c-.095-.435-.48-.638-.48-.638c-.467-.301-1.116-.58-1.116-.58s0-.156-.042-.27a.688.688 0 0 0-.148-.241l.516-1.062l2.89 1.401s.48.218.583.619c.073.282-.019.534-.069.657c-.24.587-2.1 4.317-2.1 4.317s-.232.554-.748.588a1.065 1.065 0 0 1-.393-.045l-.202-.08l-4.31-2.1s-.417-.218-.49-.596c-.083-.31.104-.691.104-.691l2.073-4.272s.183-.37.466-.497a.855.855 0 0 1 .35-.077z" fill="currentColor"></path>
</svg>
</a>
{{ end }}
<a class="social-icon" href="/index.xml" target="_blank" rel="noopener" type="application/rss+xml" title="RSS">
<svg width="22px" height="22px" viewBox="0 0 8 8" version="1.1" fill="#ABABAB" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
<style type="text/css">
.button {stroke: none; fill: #ABABAB;}
.symbol {stroke: none; fill: white;}
.button:hover {fill: #898989;}
.symbol:hover {fill: white;}
</style>
<rect class="button" width="8" height="8" rx="1.5"/>
<circle class="symbol" cx="2" cy="6" r="1"/>
<path class="symbol" d="m 1,4 a 3,3 0 0 1 3,3 h 1 a 4,4 0 0 0 -4,-4 z"/>
<path class="symbol" d="m 1,2 a 5,5 0 0 1 5,5 h 1 a 6,6 0 0 0 -6,-6 z"/>
</svg>
</a>
<button class="social-icon" onclick="toggleDarkMode()" rel="noopener" type="button" title="Dark Mode">
<svg fill="#ABABAB" width="28px" height="28px" viewBox="0 0 56 56" xmlns="http://www.w3.org/2000/svg">
<path d="M 27.9999 51.9062 C 41.0546 51.9062 51.9063 41.0547 51.9063 28.0000 C 51.9063 14.9219 41.0312 4.0938 27.9765 4.0938 C 14.8983 4.0938 4.0937 14.9219 4.0937 28.0000 C 4.0937 41.0547 14.9218 51.9062 27.9999 51.9062 Z M 34.9374 32.9453 C 36.5546 32.9453 38.1952 32.5938 39.1796 32.2422 C 39.4374 32.1719 39.6014 32.1484 39.7421 32.1484 C 40.1171 32.1484 40.5155 32.4766 40.5155 32.9687 C 40.5155 33.0625 40.4921 33.3672 40.3749 33.6719 C 38.6874 37.9375 33.8358 41.3828 28.2109 41.3828 C 20.4999 41.3828 14.6171 35.875 14.6171 28.1640 C 14.6171 22.6562 17.8749 17.4062 22.7265 15.4844 C 23.0312 15.3672 23.3124 15.3438 23.4765 15.3438 C 23.9687 15.3438 24.2499 15.7422 24.2499 16.0938 C 24.2499 16.2109 24.2265 16.3984 24.1093 16.7031 C 23.6874 17.8047 23.2890 19.8906 23.2890 21.3672 C 23.2890 28.4687 27.8358 32.9453 34.9374 32.9453 Z"/>
</svg>
</button>
</div>

View File

@@ -0,0 +1,5 @@
<ul>
{{ range .Site.Taxonomies.tags }}
<li><a class="tag" href="{{ .Page.Permalink }}">{{ .Page.Title }}</a> {{ .Count }}</li>
{{ end }}
</ul>

View File

@@ -0,0 +1,20 @@
{{/*
simple shortcode to display all posts in yearly sections on your archive page
by Charl P. Botha
this is a much simplified version of the yearly post archiving template at:
https://rohanverma.net/blog/2019/11/15/archive-pages-group-by-year-hugo/
*/}}
{{ $prev := 3000}}
{{range where .Site.RegularPages "Section" "posts"}}
{{if .Date}}
{{if gt $prev (.Date.Format "2006")}}
## {{ .Date.Format "2006" }}
{{end}}
{{.Date.Format "02 Jan"}} -- [{{.Title}}]({{.Permalink}})
{{ $prev = .Date.Format "2006"}}
{{end}}
{{end}}

View File

@@ -0,0 +1 @@
<div class="col-{{ index .Params 0 }}">{{ .Inner }}</div>

View File

@@ -0,0 +1,6 @@
<div>
<button type="button" class="collapsible">{{ index .Params 0 }}</button>
<div class="collapsible-content">
{{ .Inner }}
</div>
</div>

View File

@@ -0,0 +1 @@
<div class="container">{{ .Inner }}</div>

View File

@@ -0,0 +1,6 @@
<span class="inline-svg" >
{{- $fname:=print "fontawesome/" ( .Get 0 ) ".svg" -}}
{{- $path:="<path" -}}
{{- $fill:="<path fill=\"currentColor\"" -}}
{{ replace (readFile $fname) $path $fill | safeHTML }}
</span>

View File

@@ -0,0 +1,48 @@
{{/* https://www.geeksforgeeks.org/how-to-make-image-gallery-using-html-css-and-javascript/ */}}
{{/*
Add this to your config yaml to serve images from `static/albums``
module:
mounts:
source: static/albums
target: assets/albums
*/}}
{{ $dir := string .Params.gallery_dir }}
<div class="gallery">
{{ range (readDir (print "/static" $dir)) }}
{{- $imageurl := printf "%s/%s" $dir .Name -}}
{{- $image := resources.Get $imageurl -}}
{{- $imagetitle := index (split .Name ".") 0 -}}
{{- if eq $image nil -}}
{{ return }}
{{- else -}}
<div class="gallery-item">
<img src="{{ $image.Permalink }}"
onclick="openModal('{{ $image.Permalink }}')"
alt="{{ $imagetitle }}">
</div>
{{- end -}}
{{ end }}
</div>
<!-- Modal for Image Display -->
<div id="myModal" class="modal">
<span class="close" onclick="closeModal()">&times;</span>
<img class="modal-content" id="modalImage">
</div>
<!-- JavaScript for Modal -->
<script>
function openModal(src) {
document.getElementById("modalImage").src = src;
document.getElementById("myModal").style.display = "block";
}
function closeModal() {
document.getElementById("myModal").style.display = "none";
}
</script>

View File

@@ -0,0 +1 @@
<div class="row">{{ .Inner }}</div>

7
static/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,85 @@
/** Link decoration */
* .site-title a {
color: #898989;
text-decoration: none;
}
* .site-title a:hover {
color: #5F5F5F;
text-decoration: none;
}
* article h2 a {
color: #5F5F5F;
text-decoration: none;
}
* article h2 a:hover {
color: #5F5F5F;
text-decoration: none;
}
/** Post title colours */
.post-title {
color: #5F5F5F;
}
/** Tag Link colours */
.tag {
color: #898989;
}
.tag:hover {
color: #5F5F5F;
}
/** Icons */
.inline-svg {
display: inline-block;
height: 1rem;
width: 1rem;
position: relative;
}
/** Dark Mode */
.dark-mode {
background-color: black;
color: white;
}
.dark-mode * h2 a {
text-shadow: none;
box-shadow: none;
color: white;
}
/** Collapsible **/
/* Style the button that is used to open and close the collapsible content */
.collapsible {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
}
/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .collapsible:hover {
background-color: #ccc;
}
/* Style the collapsible content. Note: hidden by default */
.collapsible-content {
padding: 0 18px;
display: none;
overflow: hidden;
background-color: #f1f1f1;
color: black;
}

58
static/js/main.js Normal file
View File

@@ -0,0 +1,58 @@
document.addEventListener("DOMContentLoaded", function() {
setDarkMode()
var coll = document.getElementsByClassName("collapsible")
for (let i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active")
var content = this.nextElementSibling
if (content.style.display === "block") {
content.style.display = "none"
} else {
content.style.display = "block"
}
})
}
})
function setCookie(cname, cvalue, exdays) {
document.cookie = cname + "=" + cvalue + ";path=/"
}
function getCookie(cname) {
let name = cname + "="
let decodedCookie = decodeURIComponent(document.cookie)
let ca = decodedCookie.split(';')
for(let i = 0; i <ca.length; i++) {
let c = ca[i]
while (c.charAt(0) == ' ') {
c = c.substring(1)
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length)
}
}
return ""
}
function isStringTrue(val) {
return String(val).toLowerCase() === 'true'
}
function toggleDarkMode() {
let darkMode = getCookie("setDarkMode")
if(isStringTrue(darkMode))
setCookie("setDarkMode", false)
else
setCookie("setDarkMode", true)
document.body.classList.toggle("dark-mode")
}
function setDarkMode() {
let darkMode = getCookie("setDarkMode")
if(isStringTrue(darkMode))
document.body.classList.toggle("dark-mode")
}

View File

@@ -1,12 +1,12 @@
name = "Noteworthy"
license = "MIT"
licenselink = "https://github.com/kimcc/hugo-theme-noteworthy/blob/master/LICENSE.md"
licenselink = "https://git.ivayloivanov.eu/ivo/hugo-theme-noteworthy/src/branch/master/LICENSE.md"
description = "A minimalist Hugo theme for writers and bloggers."
homepage = "https://github.com/kimcc/hugo-theme-noteworthy"
tags = ["blog", "minimalist", "minimal", "clean", "simple", "responsive", "light"]
homepage = "https://git.ivayloivanov.eu/ivo/hugo-theme-noteworthy"
tags = ["blog", "minimalist", "minimal", "clean", "simple", "responsive", "light", "dark"]
features = ["blog", "responsive", "social media"]
min_version = "0.55.2"
[author]
name = "kimcc"
homepage = "https://github.com/kimcc"
name = "ivo"
homepage = "https://git.ivayloivanov.eu"