feat: build website

This commit is contained in:
2023-06-13 20:13:00 +02:00
commit 61a07ad6dd
86 changed files with 14915 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
{{ define "head" }}
<meta name="description" content="{{ .Params.description }}">
<link rel="stylesheet" href="{{.Site.Params.staticPath}}/css/about.css">
<!-- fontawesome -->
<script defer src="{{.Site.Params.staticPath}}/fontawesome-5/all-5.15.4.js"></script>
{{ end }}
{{ define "title" }}
{{.Title }} | {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<section id="single">
<div class="container">
<div class="title mb-3">
<h1 class="text-center mb-4">{{ .Title }}</h1>
</div>
<div class="row justify-content-center">
{{ if .Params.image }}
<div class="col-sm-12 col-md-12 col-lg-3 px-3">
<div class="sticky-sidebar">
<aside class="aboutImg">
<div class="text-center">
<img src="{{ .Params.image }}" class="mx-auto rounded" alt="">
</div>
<h2 class="text-center pt-3">
{{ .Params.name }}
</h2>
<div class="aboutImg-content">
<ul class="list-inline pt-3 text-center">
{{ range .Params.socialLinks.fontAwesomeIcons }}
<li class="list-inline-item text-center">
<a href="{{ .url }}" target="_blank">
<i class="{{ .icon }}"></i>
</a>
</li>
{{ end }}
{{ range .Params.socialLinks.customIcons }}
<li class="list-inline-item text-center">
<a href="{{ .url }}" target="_blank" class="img-icon">
<img src="{{ .icon }}">
</a>
</li>
{{ end }}
</ul>
</div>
</aside>
</div>
</div>
{{ end }}
<div class="col-sm-12 col-md-12 col-lg-6 pt-4 p-2">
<div class="pr-lg-4">
<article class="page-content p-2">
{{ .Content | emojify }}
</article>
</div>
</div>
</div>
</div>
<button class="p-2 px-3" onclick="topFunction()" id="topScroll">
<i class="fas fa-angle-up"></i>
</button>
</section>
<script>
var topScroll = document.getElementById("topScroll");
window.onscroll = function () { scrollFunction() };
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
topScroll.style.display = "block";
} else {
topScroll.style.display = "none";
}
}
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
</script>
{{ end }}

View File

@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
{{- partial "head.html" . -}}
{{- block "head" . }} {{- end }}
<title>
{{- block "title" . }} {{- end }}
</title>
</head>
<body class="light">
<!-- javascripts -->
<!-- <script src="/js/jquery-3.6.0.min.js"></script> -->
{{- partial "sections/header.html" . -}}
<div id="content">
{{- block "main" . }}{{- end }}
</div>
{{- partial "sections/footer/index.html" . -}}
{{- if (or (eq .Site.Params.UseBootstrapCDN true) (eq .Site.Params.UseBootstrapCDN "js")) -}}
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
{{- else -}}
<script src="{{ .Site.Params.staticPath }}/bootstrap-5/js/bootstrap.bundle.min.js"></script>
{{- end -}}
{{- partial "scripts.html" . -}}
<!-- for search -->
<section id="search-content" class="py-2">
<div class="container" id="search-results"></div>
</section>
</body>
</html>

View File

@@ -0,0 +1,29 @@
{{ define "head" }}
<meta name="description" content="{{ .Title }} of {{ .Site.Title }}">
<!-- <link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/list.css" media="all"> -->
{{ end }}
{{ define "title" }}
{{.Title }} | {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<div class="container pt-5" id="list-page">
<h2 class="text-center pb-2">{{.Title}}</h2>
<h6 class="text-center">{{ .Params.description | emojify }}</h6>
<div class="row p-4">
{{ .Content | emojify }}
</div>
<div class="card-group p-4">
<div class="row justify-content-center">
{{ range .Params.images }}
<div class="col-md-4 p-0 m-0">
<div class="card p-0 m-0 border-0">
<img class="w-100" height="280px" src="{{ .src }}">
</div>
</div>
{{ end }}
</div>
</div>
</div>
{{ end }}

View File

@@ -0,0 +1,5 @@
{{- $.Scratch.Add "index" slice -}}
{{- range .Site.RegularPages -}}
{{- $.Scratch.Add "index" (dict "title" .Title "description" .Params.description "content" .Content "image" .Params.image "permalink" .Permalink) -}}
{{- end -}}
{{- $.Scratch.Get "index" | jsonify -}}

View File

@@ -0,0 +1,48 @@
{{ define "head" }}
<meta name="description" content="{{ .Title }} of {{ .Site.Title }}">
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/list.css" media="all">
{{ end }}
{{ define "title" }}
{{.Title }} | {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<div class="container pt-5" id="list-page">
<h2 class="text-center pb-2">{{.Title}}</h2>
<div class="row">
{{ range .Paginator.Pages }}
<div class="col-lg-4 col-md-6 my-3">
<div class="card-columns">
<div class="card h-100">
{{ if and (not (.Site.Params.listPages.disableFeaturedImage | default false)) (.Params.image) }}
<div class="card-header">
<a href="{{ .RelPermalink }}">
<img src="{{ .Params.image }}" class="card-img-top" alt="{{ .Title }}">
</a>
</div>
{{ end }}
<div class="card-body bg-transparent p-4 shadow-sm">
<a href="{{ .RelPermalink }}" class="primary-font card-title">
<h5 class="card-title bg-transparent" title="{{ .Title }}">{{ .Title | truncate 25 }}</h5>
</a>
<div class="card-text secondary-font">
<p>{{ .Summary | truncate 300}}</p>
</div>
</div>
<div class="mt-auto post-footer bg-transparent py-3">
<span class="float-start bg-transparent">{{ .Date.Format (.Site.Params.datesFormat.articleList | default "January 2, 2006") }}</span>
<a href="{{ .RelPermalink }}" class="float-end btn btn-outline-info btn-sm">{{ .Site.Params.terms.read | default "Read" }}</a>
</div>
</div>
</div>
</div>
{{ end }}
<div class="row justify-content-center">
<div class="col-auto m-3">
{{template "_internal/pagination.html" . }}
</div>
</div>
</div>
</div>
{{ end }}

View File

@@ -0,0 +1,134 @@
{{ define "head" }}
<meta name="description" content="{{ .Params.description }}">
<link rel="stylesheet" href="{{.Site.Params.staticPath}}/css/single.css">
<!-- fontawesome -->
<script defer src="{{.Site.Params.staticPath}}/fontawesome-5/all-5.15.4.js"></script>
{{ end }}
{{ define "title" }}
{{.Title }} | {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<section id="single">
<div class="container">
<div class="row justify-content-center">
<div class="col-sm-12 col-md-12 col-lg-9">
<div class="pr-lg-4">
<div class="title mb-5">
<h1 class="text-center mb-4">{{ .Title }}</h1>
<div class="text-center">
{{ .Params.author }}
<small>|</small>
{{ .Date.Format (.Site.Params.datesFormat.article | default "Jan 2, 2006") }}
{{ if or (.Site.Params.singlePages.readTime.enable | default true) (.Params.enableReadingTime) }}
<span id="readingTime">
{{ .Site.Params.singlePages.readTime.content | default "min read" }}
</span>
{{ end }}
</div>
</div>
{{ if .Params.image }}
<div class="featured-image">
<img class="img-fluid" src="{{ .Params.image }}" alt="{{ .Title }}">
</div>
{{ end }}
<article class="page-content p-2">
{{ .Content | emojify }}
</article>
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-3">
<div class="sticky-sidebar">
{{ if .Params.toc | default true}}
<aside class="toc">
<h5>
{{ .Site.Params.terms.toc | default "Table Of Contents" }}
</h5>
<div class="toc-content">
{{.TableOfContents}}
</div>
</aside>
{{ end }}
{{ if .Params.tags }}
<aside class="tags">
<h5>{{ .Site.Params.terms.tags | default "Tags" }}</h5>
<ul class="tags-ul list-unstyled list-inline">
{{range .Params.tags}}
<li class="list-inline-item"><a href="{{`tags` | absURL}}/{{.| urlize}}" target="_blank">{{.}}</a></li>
{{end}}
</ul>
</aside>
{{end}}
{{ if .Params.socialShare | default true }}
<aside class="social">
<h5>{{ .Site.Params.terms.social | default "Social" }}</h5>
<div class="social-content">
<ul class="list-inline">
<li class="list-inline-item text-center">
<a target="_blank" href="https://twitter.com/share?text={{ .Title }}&url={{ .Site.Params.hostName }}{{ .Permalink | absURL }}">
<i class="fab fa-twitter"></i>
</a>
</li>
<li class="list-inline-item text-center">
<a target="_blank" href="https://api.whatsapp.com/send?text={{ .Title }}: {{ .Site.Params.hostName }}{{ .Permalink | absURL }}">
<i class="fab fa-whatsapp"></i>
</a>
</li>
<li class="list-inline-item text-center">
<a target="_blank" href='mailto:?subject={{ .Title }}&amp;body={{ .Site.Params.terms.emailText | default "Check out this site" }} {{ .Site.Params.hostName }}{{ .Permalink | absURL }}'>
<i class="fa fa-envelope"></i>
</a>
</li>
</ul>
</div>
</aside>
{{ end }}
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-9 p-4">
{{ template "_internal/disqus.html" . }}
</div>
</div>
</div>
<button class="p-2 px-3" onclick="topFunction()" id="topScroll">
<i class="fas fa-angle-up"></i>
</button>
</section>
{{ if or (.Site.Params.singlePages.scrollprogress.enable | default true) (.Params.enableScrollProgress) }}
<div class="progress">
<div id="scroll-progress-bar" class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<Script src="{{.Site.Params.staticPath}}/js/scrollProgressBar.js"></script>
{{ end }}
<script>
var topScroll = document.getElementById("topScroll");
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
topScroll.style.display = "block";
} else {
topScroll.style.display = "none";
}
}
function topFunction() {
document.body.scrollTop = 0;
document.documentElement.scrollTop = 0;
}
</script>
{{ if or (.Site.Params.singlePages.readTime.enable | default true) (.Params.enableReadingTime) }}
<script src="{{.Site.Params.staticPath}}/js/readingTime.js"></script>
{{end}}
{{ end }}