feat: build website

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

19
.gitignore vendored Normal file
View File

@ -0,0 +1,19 @@
/config.yaml
/content
/static/images
.vscode
### Hugo ###
# Generated files by hugo
/public/
/resources/_gen/
/assets/jsconfig.json
hugo_stats.json
# Executable may be added to repository
hugo.exe
hugo.darwin
hugo.linux
# Temporary lock file while building
.hugo_build.lock

1
LICENSE Normal file
View File

@ -0,0 +1 @@
YAHWEH's License

10
archetypes/default.md Normal file
View File

@ -0,0 +1,10 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
author:
tags:
image:
description:
toc:
---

14
layouts/404.html Normal file
View File

@ -0,0 +1,14 @@
{{ define "head" }}
<meta name="description" content={{ .Site.Params.description }}>
{{ end }}
{{ define "title" }}
{{ .Site.Title }} | {{ .Site.Params.terms.pageNotFound | default "404 page not found" }}
{{ end }}
{{ define "main" }}
<div class="container py-5 text-center">
<img src="{{ .Site.Params.staticPath }}/404.png" alt='{{ .Site.Params.terms.pageNotFound | default "404 page not found" }}' class="img-fluid" width="40%">
<h1>{{ .Site.Params.terms.pageNotFound | default "404 page not found" }}</h1>
</div>
{{ end }}

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 }}

22
layouts/index.html Normal file
View File

@ -0,0 +1,22 @@
{{ define "head" }}
<meta name="description" content={{ .Site.Params.description }}>
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/index.css" media="all">
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/projects.css" media="all">
<!-- fontawesome -->
<script defer src="{{ .Site.Params.staticPath }}/fontawesome-5/all-5.15.4.js"></script>
{{ end }}
{{ define "title" }}
{{ .Site.Title }}
{{ end }}
{{ define "main" }}
{{- partial "sections/hero/index.html" . -}}
{{- partial "sections/about.html" . -}}
{{- partial "sections/experience.html" . -}}
{{- partial "sections/education.html" . -}}
{{- partial "sections/projects.html" . -}}
{{- partial "sections/achievements.html" . -}}
{{- partial "sections/contact.html" . -}}
{{ end }}

View File

@ -0,0 +1,98 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Accept-CH" content="DPR, Viewport-Width, Width">
<link rel="icon" href={{ .Site.Params.favicon | default "/fav.png" }} type="image/gif">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preload"
as="style"
href="https://fonts.googleapis.com/css2?family=Alata&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
>
<link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Alata&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
media="print" onload="this.media='all'" />
<noscript>
<link
href="https://fonts.googleapis.com/css2?family=Alata&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"
rel="stylesheet">
</noscript>
<!-- font configuration -->
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/font.css" media="all">
<!-- Internal templates -->
{{ template "_internal/google_analytics.html" . }}
{{ template "_internal/opengraph.html" . }}
{{ template "_internal/twitter_cards.html" . }}
<!-- stylesheets -->
{{- if (or (eq .Site.Params.UseBootstrapCDN true) (eq .Site.Params.UseBootstrapCDN "css")) -}}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
{{- else -}}
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/bootstrap-5/css/bootstrap.min.css" media="all">
{{- end -}}
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/header.css" media="all">
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/footer.css" media="all">
<!-- theme -->
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/theme.css" media="all">
<!-- Custom Styles -->
{{ if .Site.Params.customCSS }}
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/style.css">
{{ end }}
<style>
:root {
--text-color: {{ .Site.Params.color.textColor | default "#343a40" }};
--text-secondary-color: {{ .Site.Params.color.secondaryTextColor | default "#6c757d" }};
--background-color: {{ .Site.Params.color.backgroundColor | default "#eaedf0" }};
--secondary-background-color: {{ .Site.Params.color.secondaryBackgroundColor | default "#64ffda1a" }};
--primary-color: {{ .Site.Params.color.primaryColor | default "#007bff" }};
--secondary-color: {{ .Site.Params.color.secondaryColor | default "#f8f9fa" }};
/* dark mode colors */
--text-color-dark: {{ .Site.Params.color.darkmode.textColor | default "#e4e6eb" }};
--text-secondary-color-dark: {{ .Site.Params.color.darkmode.secondaryTextColor | default "#b0b3b8" }};
--background-color-dark: {{ .Site.Params.color.darkmode.backgroundColor | default "#18191a" }};
--secondary-background-color-dark: {{ .Site.Params.color.darkmode.secondaryBackgroundColor | default "#212529" }};
--primary-color-dark: {{ .Site.Params.color.darkmode.primaryColor | default "#ffffff" }};
--secondary-color-dark: {{ .Site.Params.color.darkmode.secondaryColor | default "#212529" }};
}
body {
font-size: {{ .Site.Params.font.fontSize | default "1rem" }};
font-weight: {{ .Site.Params.font.fontWeight | default "400" }};
line-height: {{ .Site.Params.font.lineHeight | default "1.5" }};
text-align: {{ .Site.Params.font.textAlign | default "left" }};
}
html {
background-color: var(--background-color) !important;
}
body::-webkit-scrollbar {
width: .5em;
height: .5em;
background-color: var(--background-color);
}
::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px var(--background-color);
border-radius: 1rem;
}
::-webkit-scrollbar-thumb {
border-radius: 1rem;
background-color: var(--secondary-color);
outline: 1px solid var(--background-color);
}
#search-content::-webkit-scrollbar {
width: .5em;
height: .1em;
background-color: var(--background-color);
}
</style>

View File

@ -0,0 +1,90 @@
{{- if (eq .Site.Params.theme.defaultTheme "light") }}
<script>
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
}
</script>
{{ else if (eq .Site.Params.theme.defaultTheme "dark") }}
{{- /* theme is dark */}}
<script>
if (document.body.className.includes("light")) {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
</script>
{{- else }}
{{- /* theme is auto */}}
<script>
if (localStorage.getItem("pref-theme") === "dark") {
document.body.classList.add('dark');
} else if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
} else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
</script>
{{- end }}
{{- if (not .Site.Params.theme.disableThemeToggle) }}
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
})
</script>
{{- end }}
{{ if not (.Site.Params.navbar.disableSearch | default false) }}
<script src="{{ .Site.Params.staticPath }}/js/search.js"></script>
{{ end }}
{{ if (.Params.mathjax | default false) }}
{{ "<!-- MathJax -->" | safeHTML }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.min.js" integrity="sha384-M5jmNxKC9EVnuqeMwRHvFuYUE8Hhp0TgBruj/GZRkYtiMrCRgH7yvv5KY+Owi7TW" crossorigin="anonymous"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['\\(','\\)']],
displayMath: [['$$','$$'], ['\[','\]']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
</script>
{{ end }}
{{ if (.Site.Params.cloudinary_cloud_name | default false) }}
{{ "<!-- cloudinary -->" | safeHTML }}
<script src="https://unpkg.com/cloudinary-core@2.13.0/cloudinary-core-shrinkwrap.js" integrity="sha384-0bQduxVhZMs6xfvcPH9osdUIw44hjF8EahHuQBdyN6Rryk8tgyFO80Yz5d14F+5d" crossorigin="anonymous"></script>
<script type="text/javascript">
var cl = cloudinary.Cloudinary.new({cloud_name: "{{- .Site.Params.cloudinary_cloud_name }}"});
cl.responsive();
</script>
{{ end }}
{{ if (.Site.Params.contact.formspree.enable | default false) }}
<script src="{{ .Site.Params.staticPath }}/js/contact.js"></script>
{{ end }}

View File

@ -0,0 +1,28 @@
{{ if .Site.Params.about.enable | default false }}
<section id="about" class="py-0 py-sm-5">
<div class="container bg-transparent">
<h3 class="text-center bg-transparent">{{ .Site.Params.about.title }}</h3>
<div class="bg-transparent row justify-content-center px-3 py-5">
{{ if .Site.Params.about.image }}
<div class="col-sm-12 col-md-8 col-lg-4 mb-5 mb-sm-0 mb-md-5 mb-lg-0 d-none d-sm-none d-md-block">
<div class="image d-flex px-5">
<img src="{{ .Site.Params.about.image }}" class="img-thumbnail mx-auto rounded-circle" alt="">
</div>
</div>
{{ end }}
<div class="col-sm-12 col-md-12 col-lg-8 content">
{{ .Site.Params.about.content | markdownify }}
{{ if .Site.Params.about.skills.enable }}
{{ .Site.Params.about.skills.title }}
<ul>
{{ range .Site.Params.about.skills.items }}
<li>{{ . | markdownify }}</li>
{{ end }}
</ul>
{{ end }}
</div>
</div>
</div>
</section>
{{ end }}

View File

@ -0,0 +1,36 @@
{{ if .Site.Params.achievements.enable | default false }}
<section id="achievements" class="py-5">
<div class="container">
<h3 class="text-center">{{ .Site.Params.achievements.title | default "Achievements" }}</h3>
<div class="px-0 px-md-5 px-lg-5">
<div class="row justify-content-center px-3 px-md-5 px-lg-5">
{{ range .Site.Params.achievements.items }}
{{ if .url }}
<div class="col-lg-4 col-md-6 my-3">
<a class="card my-3 h-100 p-3" href="{{ .url }}" title="{{ .title }}" target="_blank">
<div class="card-body bg-transparent">
<h5 class="card-title bg-transparent">{{ .title }}</h5>
<div class="card-text secondary-font">
{{ .content }}
</div>
</div>
</a>
</div>
{{ else }}
<div class="col-lg-4 col-md-6 my-3">
<div class="card my-3 h-100 p-3" title="{{ .title }}">
<div class="card-body bg-transparent">
<h5 class="card-title bg-transparent">{{ .title }}</h5>
<div class="card-text secondary-font">
{{ .content }}
</div>
</div>
</div>
</div>
{{ end }}
{{ end }}
</div>
</div>
</div>
</section>
{{ end }}

View File

@ -0,0 +1,50 @@
{{ if .Site.Params.contact.enable | default false }}
<section id="contact" class="py-5">
<div class="container">
<h3 class="text-center">{{ .Site.Params.contact.title | default "Get in Touch" }}</h3>
<div class="px-0 px-md-5 px-lg-5">
<div class="row justify-content-center px-md-5">
<div class="col-md-8 py-3">
<div class="text-center">
{{ .Site.Params.contact.content | emojify | markdownify }}
</div>
{{ if .Site.Params.contact.formspree.enable | default false }}
<div class="row justify-content-center">
<form id="contact-form" action="https://formspree.io/f/{{ .Site.Params.contact.formspree.formId }}" onsubmit="handleFormspreeSubmit(event)" method="POST" class="col-md-7">
<div class="form-group pt-3">
<input type="email" class="form-control" name="email" required="true" placeholder='{{ .Site.Params.contact.formspree.emailCaption | emojify | default "Enter your email" }}'>
</div>
<div class="form-group pt-3">
<textarea class="form-control" name="message" required="true" placeholder='{{ .Site.Params.contact.formspree.messageCaption | emojify | default "Enter your message" }}' rows="3"></textarea>
</div>
<div class="form-group text-center pt-3">
<button type="submit" class="btn">{{ .Site.Params.contact.btnName | default "Get in Touch" }}</button>
</div>
</form>
</div>
{{ else if .Site.Params.contact.email }}
<div class="text-center pt-3">
<a href="mailto:{{ .Site.Params.contact.email }}" class="btn">
{{ .Site.Params.contact.btnName | default "Get in Touch" }}
</a>
</div>
{{ end }}
</div>
</div>
</div>
</div>
<div id="contact-form-status"></div>
</section>
{{ end }}
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="check-circle-fill" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/>
</symbol>
<symbol id="info-fill" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</symbol>
<symbol id="exclamation-triangle-fill" viewBox="0 0 16 16">
<path d="M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/>
</symbol>
</svg>

View File

@ -0,0 +1,66 @@
{{ if .Site.Params.education.enable | default false }}
<section id="education" class="py-5">
<div class="container">
<h3 class="text-center">{{ .Site.Params.education.title | default "Education" }}</h3>
<div class="row justify-content-center py-5">
{{ $indexMenu := .Site.Params.education.index }}
{{ range $index, $element := .Site.Params.education.items }}
<div class="col-12 p-0">
<div class="row row align-items-center justify-content-center m-1 mb-4">
{{ if $indexMenu }}
<div class="col-md-1 text-center me-2 p-0 d-none d-md-block">
<div class="py-2">
<span class="index shadow-lg">
{{ add $index 1 }}
</span>
</div>
</div>
{{ end }}
<div class="col-md-9">
<div class="card">
<div class="card-body">
<div class="float-end">
<small>{{ .date }}</small>
</div>
<h5 class="card-title">{{ .title }}</h5>
{{ if .school.url }}
<a href="{{ .school.url }}" target="_blank">
<h6>
{{ .school.name }}
</h6>
</a>
{{ else }}
{{ .school.name }}
{{ end }}
{{ if .GPA }}
<div class="py-1">
GPA:
<i>
<small>{{ .GPA }}</small>
</i>
</div>
{{ end }}
<div class="py-1 education-content">
{{ .content | markdownify}}
</div>
{{ if .featuredLink.enable }}
<div class="py-1">
<a href="{{ .featuredLink.url }}" class="btn">
{{ .featuredLink.name | default "Featured" }}
</a>
</div>
{{ end }}
</div>
</div>
</div>
</div>
</div>
{{ end }}
</div>
</div>
</section>
{{ end }}

View File

@ -0,0 +1,130 @@
{{ if .Site.Params.experience.enable | default false }}
<section id="experience" class="py-5">
<div class="container">
<h3 class="text-center">{{ .Site.Params.experience.title | default "Experience" }}</h3>
<div class="row justify-content-center">
<div class="col-sm-12 col-md-8 col-lg-8 py-5">
<div class="experience-container px-3 pt-2">
<ul class="nav nav-pills mb-3 bg-transparent primary-font" id="pills-tab" role="tablist">
{{ range $index, $element := .Site.Params.experience.items }}
{{ if (eq $index 0) }}
<li class="nav-item px-1 bg-transparent" role="presentation">
<div
class="nav-link active bg-transparent"
aria-selected="true"
role="tab"
data-bs-toggle="pill"
id='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-controls='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
>
{{ .company }}
</div>
</li>
{{ else }}
<li class="nav-item px-1 bg-transparent" role="presentation">
<div
class="nav-link bg-transparent"
aria-selected="true"
role="tab"
data-bs-toggle="pill"
id='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-controls='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
>
{{ .company }}
</div>
</li>
{{ end }}
{{ end }}
</ul>
<div class="tab-content pb-5 pt-2 bg-transparent primary-font" id="pills-tabContent">
{{ range $index, $element := .Site.Params.experience.items }}
{{ if (eq $index 0) }}
<div
class="tab-pane fade show active bg-transparent"
role="tabpanel"
id='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-labelledby='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
>
<div>
<span class="h4">{{ .job }}</span>
<small>-</small>
<a href="{{ .companyUrl }}" target="_blank">{{ .company }}</a>
<div class="pb-1">
<small>{{ .date }}</small>
{{ if .info.enable | default true }}
<span class="p-2">
<span
style="cursor: pointer;"
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-original-title={{ .info.content | default (print "Working as a " .job " at " .company ) }}
>
<i class="fas fa-info-circle fa-xs"></i>
</span>
</span>
{{ end }}
</div>
{{ if .featuredLink.enable | default false }}
<div class="py-2 featuredLink">
<a class="p-2 px-4 btn btn-outline-primary btn-sm" href={{ .featuredLink.url | default "#" }} target="_blank">
{{ .featuredLink.name | default "Featured Link" }}
</a>
</div>
{{ end }}
</div>
{{ .content | markdownify}}
</div>
{{ else }}
<div
class="tab-pane fade bg-transparent"
role="tabpanel"
id='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-labelledby='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
>
<div>
<span class="h4">{{ .job }}</span>
<small>-</small>
<a href="{{ .companyUrl }}" target="_blank">{{ .company }}</a>
<div class="pb-1">
<small>{{ .date }}</small>
{{ if .info.enable | default true }}
<span class="p-2">
<span
style="cursor: pointer;"
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-original-title={{ .info.content | default (print "Worked as a " .job " at " .company ) }}
>
<i class="fas fa-info-circle fa-xs"></i>
</span>
</span>
{{ end }}
</div>
{{ if .featuredLink.enable | default false }}
<div class="py-2 featuredLink">
<a class="p-2 px-4 btn btn-outline-primary btn-sm" href={{ .featuredLink.url | default "#" }} target="_blank">
{{ .featuredLink.name | default "Featured Link" }}
</a>
</div>
{{ end }}
</div>
<div class="pt-2">
{{ .content | markdownify}}
</div>
</div>
{{ end }}
{{ end }}
</div>
</div>
</div>
</div>
</div>
</section>
{{ end }}

View File

@ -0,0 +1,24 @@
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-4 text-center">
<div class="pb-2">
<a href="{{ .Site.BaseURL }}" title="{{ .Site.Title }}">
<img alt="Footer logo" src="{{ .Site.Params.navbar.brandLogo | default .Site.Params.favicon }}"
height="40px" width="40px">
</a>
</div>
&copy; {{ now.Format "2006"}} {{ .Site.Params.copyright }} {{ .Site.Params.terms.copyright | default "All Rights Reserved" }}
<div class="text-secondary">
Made with
<span class="text-danger">
&#10084;
</span>
and
<a href="https://gitea.urkob.com/urko/website" target="_blank"
title="Designed and developed by Urko">
Urko Portfolio
</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,10 @@
<footer>
<!-- Recent blog posts -->
{{- partial "sections/footer/recentBlogPosts.html" . -}}
<!-- Social Icons -->
{{- partial "sections/footer/socialNetwork.html" . -}}
<!-- Copyright -->
{{- partial "sections/footer/copyright.html" . -}}
</footer>

View File

@ -0,0 +1,37 @@
<div class="container py-3" id="recent-posts">
{{ if .Site.Params.footer.recentPosts.enable | default false }}
{{ $recentPostsPath := .Site.Params.footer.recentPosts.path | default "blogs" }}
{{ $recentPostsCount := .Site.Params.footer.recentPosts.count | default 3 }}
{{ $recentPosts := where .Site.RegularPages "Section" $recentPostsPath | first $recentPostsCount }}
<div class="h3 text-center text-secondary py-3">
{{ .Site.Params.footer.recentPosts.title | default "Recent Posts" }}
</div>
<div class="row justify-content-center">
{{ range $recentPosts }}
<div class="col-lg-4 col-md-6 pt-2">
<div class="card h-100">
{{ if and (not (.Site.Params.footer.recentPosts.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-3 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 card-footer">
<span class="float-start">{{ .Date.Format (.Site.Params.datesFormat.articleRecent | 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>
{{ end }}
</div>
{{ end }}
</div>

View File

@ -0,0 +1,95 @@
<div class="text-center pt-2">
{{ if .Site.Params.footer.socialNetworks.github }}
<span class="px-1">
<a href="{{ .Site.Params.footer.socialNetworks.github }}" aria-label="github">
<svg xmlns="http://www.w3.org/2000/svg" width="2.7em" height="2.7em" viewBox="0 0 1792 1792">
<path
d="M522 1352q-8 9-20-3-13-11-4-19 8-9 20 3 12 11 4 19zm-42-61q9 12 0 19-8 6-17-7t0-18q9-7 17 6zm-61-60q-5 7-13 2-10-5-7-12 3-5 13-2 10 5 7 12zm31 34q-6 7-16-3-9-11-2-16 6-6 16 3 9 11 2 16zm129 112q-4 12-19 6-17-4-13-15t19-7q16 5 13 16zm63 5q0 11-16 11-17 2-17-11 0-11 16-11 17-2 17 11zm58-10q2 10-14 14t-18-8 14-15q16-2 18 9zm964-956v960q0 119-84.5 203.5t-203.5 84.5h-224q-16 0-24.5-1t-19.5-5-16-14.5-5-27.5v-239q0-97-52-142 57-6 102.5-18t94-39 81-66.5 53-105 20.5-150.5q0-121-79-206 37-91-8-204-28-9-81 11t-92 44l-38 24q-93-26-192-26t-192 26q-16-11-42.5-27t-83.5-38.5-86-13.5q-44 113-7 204-79 85-79 206 0 85 20.5 150t52.5 105 80.5 67 94 39 102.5 18q-40 36-49 103-21 10-45 15t-57 5-65.5-21.5-55.5-62.5q-19-32-48.5-52t-49.5-24l-20-3q-21 0-29 4.5t-5 11.5 9 14 13 12l7 5q22 10 43.5 38t31.5 51l10 23q13 38 44 61.5t67 30 69.5 7 55.5-3.5l23-4q0 38 .5 103t.5 68q0 22-11 33.5t-22 13-33 1.5h-224q-119 0-203.5-84.5t-84.5-203.5v-960q0-119 84.5-203.5t203.5-84.5h960q119 0 203.5 84.5t84.5 203.5z" />
<metadata>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description about="https://iconscout.com/legal#licenses"
dc:title="Github, Online, Project, Hosting, Square"
dc:description="Github, Online, Project, Hosting, Square" dc:publisher="Iconscout"
dc:date="2016-12-14" dc:format="image/svg+xml" dc:language="en">
<dc:creator>
<rdf:Bag>
<rdf:li>Font Awesome</rdf:li>
</rdf:Bag>
</dc:creator>
</rdf:Description>
</rdf:RDF>
</metadata>
</svg>
</a>
</span>
{{ end }}
{{ if .Site.Params.footer.socialNetworks.linkedin }}
<span class="px-1">
<a href="{{ .Site.Params.footer.socialNetworks.linkedin }}" aria-label="linkedin">
<svg xmlns="http://www.w3.org/2000/svg" width='2.4em' height='2.4em' fill="#fff" aria-label="LinkedIn"
viewBox="0 0 512 512">
<rect width="512" height="512" fill="#0077b5" rx="15%" />
<circle cx="142" cy="138" r="37" />
<path stroke="#fff" stroke-width="66" d="M244 194v198M142 194v198" />
<path d="M276 282c0-20 13-40 36-40 24 0 33 18 33 45v105h66V279c0-61-32-89-76-89-34 0-51 19-59 32" />
</svg>
</a>
</span>
{{ end }}
{{ if .Site.Params.footer.socialNetworks.twitter }}
<a href="{{ .Site.Params.footer.socialNetworks.twitter }}" aria-label="twitter">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px">
<path fill="#03a9f4"
d="M42,37c0,2.762-2.239,5-5,5H11c-2.762,0-5-2.238-5-5V11c0-2.762,2.238-5,5-5h26c2.761,0,5,2.238,5,5 V37z" />
<path fill="#fff"
d="M36,17.12c-0.882,0.391-1.999,0.758-3,0.88c1.018-0.604,2.633-1.862,3-3 c-0.951,0.559-2.671,1.156-3.793,1.372C31.311,15.422,30.033,15,28.617,15C25.897,15,24,17.305,24,20v2c-4,0-7.9-3.047-10.327-6 c-0.427,0.721-0.667,1.565-0.667,2.457c0,1.819,1.671,3.665,2.994,4.543c-0.807-0.025-2.335-0.641-3-1c0,0.016,0,0.036,0,0.057 c0,2.367,1.661,3.974,3.912,4.422C16.501,26.592,16,27,14.072,27c0.626,1.935,3.773,2.958,5.928,3c-1.686,1.307-4.692,2-7,2 c-0.399,0-0.615,0.022-1-0.023C14.178,33.357,17.22,34,20,34c9.057,0,14-6.918,14-13.37c0-0.212-0.007-0.922-0.018-1.13 C34.95,18.818,35.342,18.104,36,17.12" />
</svg>
</a>
{{ end }}
{{ if .Site.Params.footer.socialNetworks.instagram }}
<a href="{{ .Site.Params.footer.socialNetworks.instagram }}" aria-label="instagram">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px">
<radialGradient id="yOrnnhliCrdS2gy~4tD8ma" cx="19.38" cy="42.035" r="44.899"
gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#fd5" />
<stop offset=".328" stop-color="#ff543f" />
<stop offset=".348" stop-color="#fc5245" />
<stop offset=".504" stop-color="#e64771" />
<stop offset=".643" stop-color="#d53e91" />
<stop offset=".761" stop-color="#cc39a4" />
<stop offset=".841" stop-color="#c837ab" />
</radialGradient>
<path fill="url(#yOrnnhliCrdS2gy~4tD8ma)"
d="M34.017,41.99l-20,0.019c-4.4,0.004-8.003-3.592-8.008-7.992l-0.019-20 c-0.004-4.4,3.592-8.003,7.992-8.008l20-0.019c4.4-0.004,8.003,3.592,8.008,7.992l0.019,20 C42.014,38.383,38.417,41.986,34.017,41.99z" />
<radialGradient id="yOrnnhliCrdS2gy~4tD8mb" cx="11.786" cy="5.54" r="29.813"
gradientTransform="matrix(1 0 0 .6663 0 1.849)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#4168c9" />
<stop offset=".999" stop-color="#4168c9" stop-opacity="0" />
</radialGradient>
<path fill="url(#yOrnnhliCrdS2gy~4tD8mb)"
d="M34.017,41.99l-20,0.019c-4.4,0.004-8.003-3.592-8.008-7.992l-0.019-20 c-0.004-4.4,3.592-8.003,7.992-8.008l20-0.019c4.4-0.004,8.003,3.592,8.008,7.992l0.019,20 C42.014,38.383,38.417,41.986,34.017,41.99z" />
<path fill="#fff"
d="M24,31c-3.859,0-7-3.14-7-7s3.141-7,7-7s7,3.14,7,7S27.859,31,24,31z M24,19c-2.757,0-5,2.243-5,5 s2.243,5,5,5s5-2.243,5-5S26.757,19,24,19z" />
<circle cx="31.5" cy="16.5" r="1.5" fill="#fff" />
<path fill="#fff"
d="M30,37H18c-3.859,0-7-3.14-7-7V18c0-3.86,3.141-7,7-7h12c3.859,0,7,3.14,7,7v12 C37,33.86,33.859,37,30,37z M18,13c-2.757,0-5,2.243-5,5v12c0,2.757,2.243,5,5,5h12c2.757,0,5-2.243,5-5V18c0-2.757-2.243-5-5-5H18z" />
</svg>
</a>
{{ end }}
{{ if .Site.Params.footer.socialNetworks.facebook }}
<a href="{{ .Site.Params.footer.socialNetworks.facebook }}" aria-label="facebook">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48px" height="48px">
<path fill="#3F51B5"
d="M42,37c0,2.762-2.238,5-5,5H11c-2.761,0-5-2.238-5-5V11c0-2.762,2.239-5,5-5h26c2.762,0,5,2.238,5,5V37z" />
<path fill="#FFF"
d="M34.368,25H31v13h-5V25h-3v-4h3v-2.41c0.002-3.508,1.459-5.59,5.592-5.59H35v4h-2.287C31.104,17,31,17.6,31,18.723V21h4L34.368,25z" />
</svg>
</a>
{{ end }}
</div>

View File

@ -0,0 +1,174 @@
{{- /* theme is auto */}}
<script>
let localStorageValue = localStorage.getItem("pref-theme");
let mediaQuery = window.matchMedia('(prefers-color-scheme: dark)').matches;
switch (localStorageValue) {
case "dark":
document.body.classList.add('dark');
break;
case "light":
document.body.classList.remove('dark');
break;
default:
if (mediaQuery) {
document.body.classList.add('dark');
}
break;
}
</script>
<!-- Navbar -->
<header>
<nav class="pt-3 navbar navbar-expand-lg {{ if .Site.Params.animate }}animate{{ end }}">
<div class="container-fluid mx-xs-2 mx-sm-5 mx-md-5 mx-lg-5">
<!-- navbar brand -->
<a class="navbar-brand primary-font text-wrap" href="{{ .Site.BaseURL | relURL }}">
{{ if and (or (.Site.Params.favicon) (.Site.Params.navbar.brandLogo)) .Site.Params.navbar.showBrandLogo | default true }}
<img src="{{ .Site.Params.navbar.brandLogo | default .Site.Params.favicon }}" width="30" height="30"
class="d-inline-block align-top">
{{ .Site.Params.navbar.brandName | default .Site.Params.title }}
{{ else }}
{{ .Site.Params.navbar.brandName | default .Site.Params.title }}
{{ end }}
</a>
{{ if not (.Site.Params.navbar.disableSearch | default false) }}
<div>
<input id="search" autocomplete="off" class="form-control mr-sm-2 d-none d-md-block" placeholder='{{ .Site.Params.navbar.searchPlaceholder | default "Ctrl + k to Search..."}}'
aria-label="Search" oninput="searchOnChange(event)">
</div>
{{ end }}
<!-- navbar toggler -->
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent"
aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
<svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true">
<path fill-rule="evenodd" d="M1 2.75A.75.75 0 011.75 2h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 2.75zm0 5A.75.75 0 011.75 7h12.5a.75.75 0 110 1.5H1.75A.75.75 0 011 7.75zM1.75 12a.75.75 0 100 1.5h12.5a.75.75 0 100-1.5H1.75z"></path>
</svg>
</button>
<!-- navbar content -->
<div class="collapse navbar-collapse text-wrap primary-font" id="navbarContent">
<ul class="navbar-nav {{ .Site.Params.navbar.align | default "ms-auto"}} text-center">
{{ if not (.Site.Params.navbar.disableSearch | default false) }}
<li class="nav-item navbar-text d-block d-md-none">
<div class="nav-link">
<input id="search" autocomplete="off" class="form-control mr-sm-2" placeholder='{{ .Site.Params.navbar.searchPlaceholder | default "Ctrl + k to Search..."}}' aria-label="Search" oninput="searchOnChange(event)">
</div>
</li>
{{ end }}
{{ if and (.Site.Params.about.enable | default false) (not (.Site.Params.navbar.menus.disableAbout | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#about" aria-label="about">
{{ .Site.Params.about.title | default "About" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.experience.enable | default false) (not (.Site.Params.navbar.menus.disableExperience | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#experience"
aria-label="experience">
{{ .Site.Params.experience.title | default "Experience" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.education.enable | default false) (not (.Site.Params.navbar.menus.disableEducation | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#education"
aria-label="education">
{{ .Site.Params.education.title | default "Education" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.projects.enable | default false) (not (.Site.Params.navbar.menus.disableProjects | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#projects"
aria-label="projects">
{{ .Site.Params.projects.title | default "Projects" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.achievements.enable | default false) (not (.Site.Params.navbar.menus.disableAchievements | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#achievements"
aria-label="achievements">
{{ .Site.Params.achievements.title | default "Achievements" }}
</a>
</li>
{{ end }}
{{ if and (.Site.Params.contact.enable | default false) (not (.Site.Params.navbar.menus.disableContact | default false)) }}
<li class="nav-item navbar-text">
<a class="nav-link" href="{{ .Site.BaseURL | relURL }}#contact"
aria-label="contact">
{{ .Site.Params.contact.title | default "Contact" }}
</a>
</li>
{{ end }}
<!-- custom menus from the user -->
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<!-- Dropdown menu -->
<li class="nav-item navbar-text dropdown">
<a class="nav-link dropdown-toggle" href="{{ .URL }}" id="navbarDropdown" role="button"
data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="{{ .Title }}">
{{ .Name }}
</a>
<div class="dropdown-menu shadow-lg rounded" aria-labelledby="navbarDropdown">
{{ range .Children }}
<a class="dropdown-item text-center nav-link" href="{{ .URL }}"
title="{{ .Title }}">
{{ .Name }}
</a>
{{ end }}
</div>
</li>
{{else}}
<!-- Single menu item -->
<li class="nav-item navbar-text">
<a class="nav-link" href="{{.URL}}" title="{{ .Title }}">
{{ .Pre }}
{{ .Name }}
</a>
</li>
{{end}}
{{end}}
{{ if (not .Site.Params.theme.disableThemeToggle | default false) }}
<li class="nav-item navbar-text">
<!-- darkmode mode toggle -->
<div class="text-center">
<button id="theme-toggle">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</li>
{{ end }}
</ul>
</div>
</div>
</nav>
</header>

View File

@ -0,0 +1,311 @@
{{ if .Site.Params.hero.enable | default false }}
<section id="hero" class="py-5 align-middle">
<div class="container px-3 px-sm-5 px-md-5 px-lg-5 pt-lg-3">
<div class="row">
<div class="col-sm-12 col-md-12 col-lg-8 content {{ if .Site.Params.animate }}animate{{ end }}" id="primary-font">
<span class="subtitle">
{{ .Site.Params.hero.intro }}
</span>
<h2>
{{ .Site.Params.hero.title }}
</h2>
<h3>
{{ .Site.Params.hero.subtitle }}
</h3>
<p class="hero-content">
{{ .Site.Params.hero.content | markdownify }}
</p>
<div class="row">
<div class="col-auto h-100">
{{ if .Site.Params.hero.button.enable }}
<a href="{{ .Site.Params.hero.button.url }}" class="btn" {{ cond .Site.Params.hero.button.download "download" "" }}
{{ if .Site.Params.hero.button.newPage | default true }}
target="_blank"
{{ end }}>
{{ .Site.Params.hero.button.name }}
</a>
{{ end }}
</div>
<div class="col-auto px-0 h-100">
{{- partial "sections/hero/social.html" . -}}
</div>
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-4">
<div class="row justify-content-center">
<div class="col-sm-12 col-md-9 pt-5 image {{ if .Site.Params.animate }}animate{{ end }} px-5 px-md-5 px-lg-0 text-center">
<img src="{{ .Site.Params.hero.image }}"
class="img-thumbnail mx-auto{{ if .Site.Params.hero.roundImage }} rounded-circle{{ end }}"
alt=""
>
</div>
</div>
</div>
</div>
</div>
{{ if .Site.Params.hero.bottomImage.enable | default true }}
<div class="hero-bottom-svg d-md-block d-lg-block d-none">
<svg xmlns="http://www.w3.org/2000/svg" width="201" height="201" viewBox="0 0 201 201">
<g id="Group_1168" data-name="Group 1168" transform="translate(-384 -1392)">
<rect id="Rectangle_2206" data-name="Rectangle 2206" width="12" height="2" rx="1"
transform="translate(391 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2271" data-name="Rectangle 2271" width="12" height="2" rx="1"
transform="translate(391 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2238" data-name="Rectangle 2238" width="12" height="2" rx="1"
transform="translate(391 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2278" data-name="Rectangle 2278" width="12" height="2" rx="1"
transform="translate(391 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2222" data-name="Rectangle 2222" width="12" height="2" rx="1"
transform="translate(391 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2272" data-name="Rectangle 2272" width="12" height="2" rx="1"
transform="translate(391 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2241" data-name="Rectangle 2241" width="12" height="2" rx="1"
transform="translate(391 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2288" data-name="Rectangle 2288" width="12" height="2" rx="1"
transform="translate(391 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2214" data-name="Rectangle 2214" width="12" height="2" rx="1"
transform="translate(499 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2289" data-name="Rectangle 2289" width="12" height="2" rx="1"
transform="translate(499 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2256" data-name="Rectangle 2256" width="12" height="2" rx="1"
transform="translate(499 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2290" data-name="Rectangle 2290" width="12" height="2" rx="1"
transform="translate(499 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2231" data-name="Rectangle 2231" width="12" height="2" rx="1"
transform="translate(499 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2291" data-name="Rectangle 2291" width="12" height="2" rx="1"
transform="translate(499 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2257" data-name="Rectangle 2257" width="12" height="2" rx="1"
transform="translate(499 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2292" data-name="Rectangle 2292" width="12" height="2" rx="1"
transform="translate(499 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2210" data-name="Rectangle 2210" width="12" height="2" rx="1"
transform="translate(445 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2279" data-name="Rectangle 2279" width="12" height="2" rx="1"
transform="translate(445 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2248" data-name="Rectangle 2248" width="12" height="2" rx="1"
transform="translate(445 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2280" data-name="Rectangle 2280" width="12" height="2" rx="1"
transform="translate(445 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2226" data-name="Rectangle 2226" width="12" height="2" rx="1"
transform="translate(445 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2281" data-name="Rectangle 2281" width="12" height="2" rx="1"
transform="translate(445 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2249" data-name="Rectangle 2249" width="12" height="2" rx="1"
transform="translate(445 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2293" data-name="Rectangle 2293" width="12" height="2" rx="1"
transform="translate(445 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2219" data-name="Rectangle 2219" width="12" height="2" rx="1"
transform="translate(553 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2310" data-name="Rectangle 2310" width="12" height="2" rx="1"
transform="translate(553 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2262" data-name="Rectangle 2262" width="12" height="2" rx="1"
transform="translate(553 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2311" data-name="Rectangle 2311" width="12" height="2" rx="1"
transform="translate(553 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2232" data-name="Rectangle 2232" width="12" height="2" rx="1"
transform="translate(553 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2312" data-name="Rectangle 2312" width="12" height="2" rx="1"
transform="translate(553 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2263" data-name="Rectangle 2263" width="12" height="2" rx="1"
transform="translate(553 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2313" data-name="Rectangle 2313" width="12" height="2" rx="1"
transform="translate(553 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2209" data-name="Rectangle 2209" width="12" height="2" rx="1"
transform="translate(418 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2273" data-name="Rectangle 2273" width="12" height="2" rx="1"
transform="translate(418 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2242" data-name="Rectangle 2242" width="12" height="2" rx="1"
transform="translate(418 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2282" data-name="Rectangle 2282" width="12" height="2" rx="1"
transform="translate(418 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2223" data-name="Rectangle 2223" width="12" height="2" rx="1"
transform="translate(418 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2274" data-name="Rectangle 2274" width="12" height="2" rx="1"
transform="translate(418 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2243" data-name="Rectangle 2243" width="12" height="2" rx="1"
transform="translate(418 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2294" data-name="Rectangle 2294" width="12" height="2" rx="1"
transform="translate(418 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2217" data-name="Rectangle 2217" width="12" height="2" rx="1"
transform="translate(526 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2314" data-name="Rectangle 2314" width="12" height="2" rx="1"
transform="translate(526 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2258" data-name="Rectangle 2258" width="12" height="2" rx="1"
transform="translate(526 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2315" data-name="Rectangle 2315" width="12" height="2" rx="1"
transform="translate(526 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2233" data-name="Rectangle 2233" width="12" height="2" rx="1"
transform="translate(526 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2316" data-name="Rectangle 2316" width="12" height="2" rx="1"
transform="translate(526 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2259" data-name="Rectangle 2259" width="12" height="2" rx="1"
transform="translate(526 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2317" data-name="Rectangle 2317" width="12" height="2" rx="1"
transform="translate(526 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2211" data-name="Rectangle 2211" width="12" height="2" rx="1"
transform="translate(472 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2295" data-name="Rectangle 2295" width="12" height="2" rx="1"
transform="translate(472 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2250" data-name="Rectangle 2250" width="12" height="2" rx="1"
transform="translate(472 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2296" data-name="Rectangle 2296" width="12" height="2" rx="1"
transform="translate(472 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2227" data-name="Rectangle 2227" width="12" height="2" rx="1"
transform="translate(472 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2297" data-name="Rectangle 2297" width="12" height="2" rx="1"
transform="translate(472 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2251" data-name="Rectangle 2251" width="12" height="2" rx="1"
transform="translate(472 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2298" data-name="Rectangle 2298" width="12" height="2" rx="1"
transform="translate(472 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2221" data-name="Rectangle 2221" width="12" height="2" rx="1"
transform="translate(580 1392) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2318" data-name="Rectangle 2318" width="12" height="2" rx="1"
transform="translate(580 1500) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2264" data-name="Rectangle 2264" width="12" height="2" rx="1"
transform="translate(580 1446) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2319" data-name="Rectangle 2319" width="12" height="2" rx="1"
transform="translate(580 1554) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2236" data-name="Rectangle 2236" width="12" height="2" rx="1"
transform="translate(580 1419) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2320" data-name="Rectangle 2320" width="12" height="2" rx="1"
transform="translate(580 1527) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2265" data-name="Rectangle 2265" width="12" height="2" rx="1"
transform="translate(580 1473) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2321" data-name="Rectangle 2321" width="12" height="2" rx="1"
transform="translate(580 1581) rotate(90)" fill="#282f49" />
<rect id="Rectangle_2207" data-name="Rectangle 2207" width="12" height="2" rx="1"
transform="translate(396 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2270" data-name="Rectangle 2270" width="12" height="2" rx="1"
transform="translate(396 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2239" data-name="Rectangle 2239" width="12" height="2" rx="1"
transform="translate(396 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2283" data-name="Rectangle 2283" width="12" height="2" rx="1"
transform="translate(396 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2224" data-name="Rectangle 2224" width="12" height="2" rx="1"
transform="translate(396 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2275" data-name="Rectangle 2275" width="12" height="2" rx="1"
transform="translate(396 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2244" data-name="Rectangle 2244" width="12" height="2" rx="1"
transform="translate(396 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2299" data-name="Rectangle 2299" width="12" height="2" rx="1"
transform="translate(396 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2215" data-name="Rectangle 2215" width="12" height="2" rx="1"
transform="translate(504 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2300" data-name="Rectangle 2300" width="12" height="2" rx="1"
transform="translate(504 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2252" data-name="Rectangle 2252" width="12" height="2" rx="1"
transform="translate(504 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2301" data-name="Rectangle 2301" width="12" height="2" rx="1"
transform="translate(504 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2228" data-name="Rectangle 2228" width="12" height="2" rx="1"
transform="translate(504 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2302" data-name="Rectangle 2302" width="12" height="2" rx="1"
transform="translate(504 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2253" data-name="Rectangle 2253" width="12" height="2" rx="1"
transform="translate(504 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2303" data-name="Rectangle 2303" width="12" height="2" rx="1"
transform="translate(504 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2212" data-name="Rectangle 2212" width="12" height="2" rx="1"
transform="translate(450 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2284" data-name="Rectangle 2284" width="12" height="2" rx="1"
transform="translate(450 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2245" data-name="Rectangle 2245" width="12" height="2" rx="1"
transform="translate(450 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2285" data-name="Rectangle 2285" width="12" height="2" rx="1"
transform="translate(450 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2229" data-name="Rectangle 2229" width="12" height="2" rx="1"
transform="translate(450 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2286" data-name="Rectangle 2286" width="12" height="2" rx="1"
transform="translate(450 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2246" data-name="Rectangle 2246" width="12" height="2" rx="1"
transform="translate(450 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2304" data-name="Rectangle 2304" width="12" height="2" rx="1"
transform="translate(450 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2218" data-name="Rectangle 2218" width="12" height="2" rx="1"
transform="translate(558 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2322" data-name="Rectangle 2322" width="12" height="2" rx="1"
transform="translate(558 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2266" data-name="Rectangle 2266" width="12" height="2" rx="1"
transform="translate(558 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2323" data-name="Rectangle 2323" width="12" height="2" rx="1"
transform="translate(558 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2234" data-name="Rectangle 2234" width="12" height="2" rx="1"
transform="translate(558 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2324" data-name="Rectangle 2324" width="12" height="2" rx="1"
transform="translate(558 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2267" data-name="Rectangle 2267" width="12" height="2" rx="1"
transform="translate(558 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2325" data-name="Rectangle 2325" width="12" height="2" rx="1"
transform="translate(558 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2208" data-name="Rectangle 2208" width="12" height="2" rx="1"
transform="translate(423 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2276" data-name="Rectangle 2276" width="12" height="2" rx="1"
transform="translate(423 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2240" data-name="Rectangle 2240" width="12" height="2" rx="1"
transform="translate(423 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2287" data-name="Rectangle 2287" width="12" height="2" rx="1"
transform="translate(423 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2225" data-name="Rectangle 2225" width="12" height="2" rx="1"
transform="translate(423 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2277" data-name="Rectangle 2277" width="12" height="2" rx="1"
transform="translate(423 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2247" data-name="Rectangle 2247" width="12" height="2" rx="1"
transform="translate(423 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2305" data-name="Rectangle 2305" width="12" height="2" rx="1"
transform="translate(423 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2216" data-name="Rectangle 2216" width="12" height="2" rx="1"
transform="translate(531 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2326" data-name="Rectangle 2326" width="12" height="2" rx="1"
transform="translate(531 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2260" data-name="Rectangle 2260" width="12" height="2" rx="1"
transform="translate(531 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2327" data-name="Rectangle 2327" width="12" height="2" rx="1"
transform="translate(531 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2235" data-name="Rectangle 2235" width="12" height="2" rx="1"
transform="translate(531 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2328" data-name="Rectangle 2328" width="12" height="2" rx="1"
transform="translate(531 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2261" data-name="Rectangle 2261" width="12" height="2" rx="1"
transform="translate(531 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2329" data-name="Rectangle 2329" width="12" height="2" rx="1"
transform="translate(531 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2213" data-name="Rectangle 2213" width="12" height="2" rx="1"
transform="translate(477 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2306" data-name="Rectangle 2306" width="12" height="2" rx="1"
transform="translate(477 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2254" data-name="Rectangle 2254" width="12" height="2" rx="1"
transform="translate(477 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2307" data-name="Rectangle 2307" width="12" height="2" rx="1"
transform="translate(477 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2230" data-name="Rectangle 2230" width="12" height="2" rx="1"
transform="translate(477 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2308" data-name="Rectangle 2308" width="12" height="2" rx="1"
transform="translate(477 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2255" data-name="Rectangle 2255" width="12" height="2" rx="1"
transform="translate(477 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2309" data-name="Rectangle 2309" width="12" height="2" rx="1"
transform="translate(477 1588) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2220" data-name="Rectangle 2220" width="12" height="2" rx="1"
transform="translate(585 1399) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2330" data-name="Rectangle 2330" width="12" height="2" rx="1"
transform="translate(585 1507) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2268" data-name="Rectangle 2268" width="12" height="2" rx="1"
transform="translate(585 1453) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2331" data-name="Rectangle 2331" width="12" height="2" rx="1"
transform="translate(585 1561) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2237" data-name="Rectangle 2237" width="12" height="2" rx="1"
transform="translate(585 1426) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2332" data-name="Rectangle 2332" width="12" height="2" rx="1"
transform="translate(585 1534) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2269" data-name="Rectangle 2269" width="12" height="2" rx="1"
transform="translate(585 1480) rotate(-180)" fill="#282f49" />
<rect id="Rectangle_2333" data-name="Rectangle 2333" width="12" height="2" rx="1"
transform="translate(585 1588) rotate(-180)" fill="#282f49" />
</g>
</svg>
</div>
{{ end }}
</section>
{{ end }}

View File

@ -0,0 +1,17 @@
<span>
{{ range .Site.Params.hero.socialLinks.fontAwesomeIcons }}
<span class="px-1">
<a href="{{ .url }}" target="_blank" class="btn social-icon">
<i class="{{ .icon }}"></i>
</a>
</span>
{{ end }}
{{ range .Site.Params.hero.socialLinks.customIcons }}
<span class="px-1">
<a href="{{ .url }}" target="_blank" class="btn social-icon">
<img src="{{ .icon }}">
</a>
</span>
{{ end }}
</span>

View File

@ -0,0 +1,83 @@
{{ if .Site.Params.projects.enable | default false }}
<section id="projects" class="py-5">
<div class="container">
<h3 class="text-center">{{ .Site.Params.projects.title | default "Projects" }}</h3>
<div class="row justify-content-center px-3 px-md-5">
{{ range .Site.Params.projects.items }}
<div class="col-lg-4 col-md-6 my-3">
<div class="card my-3 h-100" title="{{ .title }}">
<div class="card-head">
<img class="card-img-top" src="{{ .image }}" alt="{{ .title }}">
</div>
<div class="card-body bg-transparent p-3">
<div class="pb-2 bg-transparent">
{{ range .badges }}
<span class="badge badge-secondary">{{ . }}</span>
{{ end }}
</div>
<h5 class="card-title bg-transparent mt-1">{{ .title }}</h5>
<div class="card-text bg-transparent secondary-font">
{{ .content }}
</div>
</div>
{{ if or (.links) (.featured) }}
<div class="card-footer py-3">
{{ range .links }}
<span class="m-1 mx-2">
<a href="{{ .url }}" target="_blank">
<i class="{{ .icon }}"></i>
</a>
</span>
{{ end }}
{{ if .featured }}
<span class="float-end">
<a class="btn btn-sm" href="{{ .featured.link }}" target="_blank">
{{ .featured.name }}
</a>
</span>
{{ end }}
</div>
{{ end }}
</div>
</div>
{{ end }}
{{ range ( where .Site.RegularPages "Type" "projects" ) }}
{{ if .Params.showInHome | default true }}
<div class="col-lg-4 col-md-6 my-3">
<div class="card my-3 h-100" title="{{ .Title }}">
<div class="card-head">
<img class="card-img-top" src="{{ .Params.image }}" alt="{{ .Title }}">
</div>
<div class="card-body bg-transparent p-3">
<div class="pb-2 bg-transparent">
{{ range .Params.badges }}
<span class="badge badge-secondary">{{ . }}</span>
{{ end }}
</div>
<h5 class="card-title bg-transparent">{{ .Title | truncate 50 }}</h5>
<div class="card-text bg-transparent secondary-font">
{{ .Summary | truncate 100 | safeHTML }}
</div>
</div>
<div class="card-footer py-3">
{{ range .Params.links }}
<span class="m-1 mx-2">
<a href="{{ .url }}">
<i class="{{ .icon }}"></i>
</a>
</span>
{{ end }}
<span class="float-end">
<a class="btn btn-sm" href="{{ .RelPermalink }}">
Know more
</a>
</span>
</div>
</div>
</div>
{{ end }}
{{ end }}
</div>
</div>
</section>
{{ end }}

View File

@ -0,0 +1,130 @@
{{ if .Site.Params.experience.enable | default false }}
<section id="experience" class="py-5">
<div class="container">
<h3 class="text-center">{{ .Site.Params.experience.title | default "Client Testimonials" }}</h3>
<div class="row justify-content-center">
<div class="col-sm-12 col-md-8 col-lg-8 py-5">
<div class="experience-container px-3 pt-2">
<ul class="nav nav-pills mb-3 bg-transparent primary-font" id="pills-tab" role="tablist">
{{ range $index, $element := .Site.Params.experience.items }}
{{ if (eq $index 0) }}
<li class="nav-item px-1 bg-transparent" role="presentation">
<div
class="nav-link active bg-transparent"
aria-selected="true"
role="tab"
data-bs-toggle="pill"
id='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-controls='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
>
{{ .company }}
</div>
</li>
{{ else }}
<li class="nav-item px-1 bg-transparent" role="presentation">
<div
class="nav-link bg-transparent"
aria-selected="true"
role="tab"
data-bs-toggle="pill"
id='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
data-bs-target='#pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-controls='{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
>
{{ .company }}
</div>
</li>
{{ end }}
{{ end }}
</ul>
<div class="tab-content pb-5 pt-2 bg-transparent primary-font" id="pills-tabContent">
{{ range $index, $element := .Site.Params.experience.items }}
{{ if (eq $index 0) }}
<div
class="tab-pane fade show active bg-transparent"
role="tabpanel"
id='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-labelledby='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
>
<div>
<span class="h4">{{ .job }}</span>
<small>-</small>
<a href="{{ .companyUrl }}" target="_blank">{{ .company }}</a>
<div class="pb-1">
<small>{{ .date }}</small>
{{ if .info.enable | default true }}
<span class="p-2">
<span
style="cursor: pointer;"
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-original-title={{ .info.content | default (print "Working as a " .job " at " .company ) }}
>
<i class="fas fa-info-circle fa-xs"></i>
</span>
</span>
{{ end }}
</div>
{{ if .featuredLink.enable | default false }}
<div class="py-2 featuredLink">
<a class="p-2 px-4 btn btn-outline-primary btn-sm" href={{ .featuredLink.url | default "#" }} target="_blank">
{{ .featuredLink.name | default "Featured Link" }}
</a>
</div>
{{ end }}
</div>
{{ .content | markdownify}}
</div>
{{ else }}
<div
class="tab-pane fade bg-transparent"
role="tabpanel"
id='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}'
aria-labelledby='pills-{{ replace .company " " "-" }}-{{ replace .date " " "-" }}-tab'
>
<div>
<span class="h4">{{ .job }}</span>
<small>-</small>
<a href="{{ .companyUrl }}" target="_blank">{{ .company }}</a>
<div class="pb-1">
<small>{{ .date }}</small>
{{ if .info.enable | default true }}
<span class="p-2">
<span
style="cursor: pointer;"
data-bs-toggle="tooltip"
data-bs-placement="top"
data-bs-original-title={{ .info.content | default (print "Worked as a " .job " at " .company ) }}
>
<i class="fas fa-info-circle fa-xs"></i>
</span>
</span>
{{ end }}
</div>
{{ if .featuredLink.enable | default false }}
<div class="py-2 featuredLink">
<a class="p-2 px-4 btn btn-outline-primary btn-sm" href={{ .featuredLink.url | default "#" }} target="_blank">
{{ .featuredLink.name | default "Featured Link" }}
</a>
</div>
{{ end }}
</div>
<div class="pt-2">
{{ .content | markdownify}}
</div>
</div>
{{ end }}
{{ end }}
</div>
</div>
</div>
</div>
</div>
</section>
{{ end }}

View File

@ -0,0 +1,58 @@
{{ define "head" }}
<meta name="description" content="{{ .Title }} of {{ .Site.Title }}">
<link rel="stylesheet" href="{{ .Site.Params.staticPath }}/css/projects.css" media="all">
<!-- fontawesome -->
<script defer src="{{ .Site.Params.staticPath }}/fontawesome-5/all-5.15.4.js"></script>
{{ end }}
{{ define "title" }}
{{.Title }} | {{ .Site.Title }}
{{ end }}
{{ define "main" }}
<div class="container pt-5" id="projects">
<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 my-3 h-100" title="{{ .Title }}">
<div class="card-head">
<img class="card-img-top" src="{{ .Params.image }}" alt="{{ .Title }}">
</div>
<div class="card-body bg-transparent p-3">
<div class="pb-2 bg-transparent">
{{ range .Params.badges }}
<span class="badge badge-secondary">{{ . }}</span>
{{ end }}
</div>
<h5 class="card-title bg-transparent">{{ .Title | truncate 50 }}</h5>
<div class="card-text bg-transparent secondary-font">
{{ .Summary | truncate 100 | safeHTML }}
</div>
</div>
<div class="card-footer py-3">
{{ range .Params.links }}
<span class="m-1 mx-2">
<a href="{{ .url }}" target="_blank">
<i class="{{ .icon }}"></i>
</a>
</span>
{{ end }}
<span class="float-end">
<a class="btn btn-sm" href="{{ .RelPermalink }}">
Know more
</a>
</span>
</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,5 @@
{{ $image := .Get "src" }}
{{ $alt := .Get "title" }}
{{ $width := .Get "width" | default "w_auto" }}
{{ $style := .Get "style" | default "max-width:80%" }}
<img alt="{{ $alt }}" title="{{ $alt }}" data-src="https://res.cloudinary.com/{{ $.Site.Params.cloudinary_cloud_name }}/{{ $width }},c_scale,f_auto,q_auto,dpr_auto{{ $image}}" class="cld-responsive" style="padding-bottom: 16px; display: block; margin: auto; {{ $style }}">

BIN
static/404.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

6812
static/bootstrap-5/js/bootstrap.bundle.js vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

252
static/css/about.css Normal file
View File

@ -0,0 +1,252 @@
#single {
padding: 60px 0;
line-height: 1.7em;
font-size: 17px;
}
#single .title>h1 {
opacity: 0.8;
color: var(--text-color) !important;
}
#single .title small {
opacity: 0.7;
}
#single .featured-image {
padding: 1rem;
padding-top: 0;
}
#single .featured-image img {
border-radius: 1rem;
box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16);
margin-bottom: 1rem;
}
#single .page-content a {
display: inline-block;
text-decoration: none;
color: var(--primary-color) !important;
}
#single .page-content a::after {
content: "";
display: block;
width: 0px;
height: 2px;
bottom: 0.37em;
background-color: var(--primary-color);
transition: all 0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
opacity: 0.5;
}
#single .page-content a:hover::after,
#single .page-content a:focus::after,
#single .page-content a:active::after {
width: 100%;
}
#single .page-content h1,
#single .page-content h2,
#single .page-content h3,
#single .page-content h4,
#single .page-content h5,
#single .page-content h6 {
color: var(--primary-color) !important;
margin-bottom: 0.7em;
opacity: 0.9;
}
#single .page-content blockquote {
padding: 20px 30px;
border-left: 6px solid var(--primary-color) !important;
color: var(--text-secondary-color) !important;
font-weight: 600;
font-size: 20px;
margin: 30px 0;
border-radius: 5px;
}
#single .page-content blockquote,
#single .page-content blockquote * {
background-color: var(--secondary-color) !important;
}
/* table */
#single .page-content table {
width: auto;
border-radius: 5px;
padding: 0.1rem;
margin-bottom: 1.2em;
max-width: 100%;
display: block;
overflow-x: auto;
opacity: 0.8;
}
#single .page-content table>tr {
height: 40px !important;
}
#single .page-content table>thead>tr>th {
padding: 0.5rem !important;
background-color: var(--primary-color) !important;
color: var(--secondary-color) !important;
border: 1px solid var(--secondary-color);
opacity: 0.9;
}
#single .page-content table>tbody>tr>td {
padding: 0.5rem !important;
border: 1px solid var(--secondary-color);
background-color: var(--secondary-color) !important;
opacity: 0.9;
}
#single .page-content table>thead>tr {
background-color: var(--secondary-color) !important;
color: var(--secondary-color) !important;
}
/* code */
#single .page-content pre {
border-radius: 0.7em !important;
margin: 5px;
margin-bottom: 2em;
padding: 2em;
background-color: var(--secondary-color) !important;
color: var(--text-secondary-color) !important;
max-height: 450px;
}
#single .page-content pre>code {
color: var(--text-secondary-color) !important;
}
#single .page-content code {
color: var(--primary-color) !important;
}
/* kbd and mark */
#single .page-content kbd {
color: var(--primary-color) !important;
background-color: var(--secondary-color) !important;
}
#single .page-content mark {
color: var(--primary-color) !important;
background-color: var(--secondary-color) !important;
}
/* list */
#single .page-content ol,
#single .page-content ul {
margin-bottom: 1.2em;
padding-left: 1.5em;
list-style-position: inside;
opacity: 0.9;
}
#single .page-content ol li li,
#single .page-content ul li li {
margin-bottom: 0.5em;
padding-left: 1.5em;
}
/* sidebar */
#single aside {
/* background-color: var(--secondary-color); */
border-radius: .7rem;
padding: .7rem 1rem;
margin-bottom: 1em;
}
#single .sticky-sidebar {
position: sticky;
top: 150px;
}
/* aboutImg */
#single aside.aboutImg {
padding: .7rem 1rem;
}
#single aside.aboutImg img {
border-radius: 1.5rem !important;
position: relative;
/* box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.2); */
max-width: 100%;
}
@media (min-width: 768px) and (max-width: 1024px) {
#single aside.aboutImg img {
width: 60%;
}
}
#single aside.aboutImg h5 {
margin: .7em 0;
margin-bottom: 1em;
color: var(--text-color);
}
#single aside.aboutImg .img-icon img {
width: 1em;
}
#single aside.aboutImg .aboutImg-content {
margin-bottom: 1em;
opacity: 0.9;
}
#single aside.aboutImg .aboutImg-content ul {
margin-bottom: 1em;
opacity: 0.9;
}
#single aside.aboutImg .aboutImg-content ul li a {
border: 1px solid var(--primary-color);
padding: .7rem;
color: var(--text-color);
border-radius: 10px;
overflow: hidden;
}
#single aside.aboutImg .aboutImg-content ul li {
margin: .7rem .5rem;
margin-left: 0;
}
#single aside.aboutImg .aboutImg-content ul li:hover a {
opacity: .8;
color: var(--primary-color);
}
/* Top scroll */
#single #topScroll {
display: none;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
border: none;
outline: none;
background-color: var(--secondary-color);
color: var(--primary-color);
cursor: pointer;
border-radius: 10px;
}
#single #topScroll:hover {
background-color: var(--primary-color);
color: var(--secondary-color);
transition: .5s;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

20
static/css/font.css Normal file
View File

@ -0,0 +1,20 @@
/* Default font for body */
body {
font-family: "Lora", serif !important;
}
/* secondary font */
.secondary-font, #secondary-font {
font-family: "Lora", serif;
}
/* primary font */
.primary-font, #primary-font {
font-family: "Alata", sans-serif;
}
/* Default font */
.default-font, #default-font {
font-family: "Roboto", sans-serif;
}

64
static/css/footer.css Normal file
View File

@ -0,0 +1,64 @@
footer a h5 {
color: var(--text-color) !important;
}
footer a {
text-decoration: none;
color: var(--text-secondary-color) !important;
}
footer a:hover {
color: var(--primary-color) !important;
}
footer .card {
background-color: var(--secondary-color) !important;
border-radius: .75rem;
cursor: context-menu;
overflow: hidden;
border: none;
}
footer .card:hover {
transition: all 0.3s ease-out;
box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16);
}
footer .card-text * {
background-color: var(--secondary-color) !important;
}
footer .card-footer {
background-color: var(--background-color) !important;
padding: .8em .7em;
border: 1px solid var(--secondary-color);
}
footer .card-footer a {
color: var(--text-secondary-color) !important;
border-color: var(--primary-color) !important;
transition: none;
background-color: var(--background-color) !important;
}
footer .card-footer a:hover {
color: var(--primary-color) !important;
opacity: 0.8;
}
footer .card-footer a:focus {
box-shadow: none !important;
}
footer .card > .card-header {
padding: 0 !important;
border: none !important;
background-color: var(--secondary-color) !important;
}
footer .card > .card-header .card-img-top {
width: 100%;
height: 250px !important;
object-fit: cover;
background-color: transparent !important;
}

111
static/css/header.css Normal file
View File

@ -0,0 +1,111 @@
header {
z-index: 10;
position: relative;
}
header .navbar .navbar-nav a {
color: var(--text-color) !important;
}
#theme-toggle {
background-color: var(--background-color) !important;
color: var(--text-color) !important;
}
.navbar-toggler {
border: none;
outline: none;
color: var(--text-color);
}
.navbar-toggler svg {
fill: currentColor;
color: var(--text-color);
}
.navbar-toggler:focus {
box-shadow: 0 0 0 .05em;
}
.navbar-text {
font-size: 16px !important;
opacity: 0.95;
}
header .nav-link{
transition: none !important;
}
.navbar-brand {
color: var(--primary-color) !important;
opacity: 0.95;
}
.navbar .nav-link:hover {
color: var(--primary-color) !important;
}
li > .dropdown-toggle:focus{
color: var(--primary-color) !important;
}
.dropdown-menu {
overflow: auto;
/* z-index: 100; */
background-color: var(--background-color) !important;
border-color: var(--text-secondary-color) !important;
}
.dropdown-item:hover {
background-color: var(--secondary-color) !important;
}
.dropdown-item:focus, .dropdown-item:active {
background-color: var(--secondary-color) !important;
}
#search {
border-radius: 1rem !important;
background-color: var(--secondary-color);
color: var(--text-color);
border-color: var(--background-color) !important;
transition: none;
}
#search:focus {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
#search-content {
-ms-scroll-chaining: none;
scrollbar-width: none;
display: none;
border-radius: 1rem;
box-shadow: 0 0 10px rgba(0,0,0,0.2);
z-index: 9999;
width: 10%;
max-height: 350px;
background-color: var(--secondary-color) !important;
position: absolute;
overflow: scroll;
}
#search-content::-webkit-scrollbar {
display: none;
}
#search-results > .card {
background-color: transparent !important;
border: none;
margin-bottom: 10px;
}
#search-results > .card :hover {
border-radius: 1rem !important;
background-color: var(--background-color) !important;
transition: .2s;
}
#search-results .card a {
opacity: 0.9;
display: inline-block;
text-decoration: none;
color: var(--text-color) !important;
}
#search-results .card a:hover {
color: var(--primary-color) !important;
}

576
static/css/index.css Normal file
View File

@ -0,0 +1,576 @@
/* Animation */
@keyframes fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes fade-bottom {
0% {
transform: translateY(50px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
@keyframes fade-left {
0% {
transform: translateX(-10px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
@keyframes fade-right {
0% {
transform: translateX(20px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
/* Header animation */
@keyframes fade-up {
0% {
transform: translateY(-10px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
header .navbar.animate {
animation: fade-up 0.5s ease-in;
}
/* ToolTip */
.tooltip {
line-height: 1rem;
border-radius: .5rem !important;
}
.tooltip-inner {
line-height: 1rem;
}
.tooltip .tooltip-arrow {
visibility: hidden !important;
}
/* hero */
#hero {
min-height: 100vh;
line-height: 2rem;
max-width: 100%;
}
#hero .content.animate {
animation: fade-left 1s ease-out;
}
#hero .hero-bottom-svg {
opacity: 0.5;
position: absolute;
bottom: -50px;
left: -150px;
}
#hero .subtitle {
font-size: clamp(14px,5vw,16px);
opacity: 0.6;
}
#hero h2 {
font-size: clamp(40px, 8vw, 80px);
color: var(--primary-color) !important;
}
#hero h3 {
font-size: clamp(40px, 8vw, 60px);
/* color: var(--primary-color) !important; */
opacity: 0.5;
}
#hero p {
margin: 20px 0px 0px;
max-width: 640px;
opacity: 0.8;
}
#hero .image img {
box-shadow:0px 8px 56px rgba(15, 80, 100, 0.16);
padding: 0;
border: 3px solid var(--secondary-color);
border-radius: 1rem;
}
#hero .image.animate img {
animation: fade-in 1s ease-out;
transition: box-shadow 0.3s;
}
#hero .image img:hover {
cursor: pointer;
}
#hero .image.animate img:hover {
box-shadow: 0 0 11px rgb(15 80 100 / 20%);
filter: contrast(1.2);
cursor: pointer;
}
#hero a.btn.social-icon {
color: var(--primary-color) !important;
line-height: 0%;
border-radius: 50%;
margin-top: 50px;
padding: 0.7rem;
border: 1px solid var(--primary-color);
transition: none;
}
#hero a.btn.social-icon img {
width: 1em;
}
#hero a.btn.social-icon:hover {
opacity: 0.8;
}
#hero a.btn {
margin-top: 50px;
padding: 0.7rem 1.75rem;
border: 1px solid var(--primary-color);
color: var(--text-color) !important;
border-radius: .75rem;
transition: none;
}
#hero a.btn:focus {
box-shadow: none;
}
#hero a.btn:hover {
background-color: var(--secondary-color) !important;
color: var(--text-color) !important;
opacity: 0.9;
}
#hero a.btn.social-icon:hover {
background-color: var(--background-color) !important;
opacity: 0.7;
}
#hero .hero-content > a {
display: inline-block;
text-decoration: none;
color: var(--primary-color) !important;
}
#hero .hero-content > a::after {
content: "";
display: block;
width: 0px;
height: 2px;
bottom: 0.37em;
background-color: var(--primary-color);
transition: all 0.25s cubic-bezier(0.645,0.045,0.355,1);
opacity: 0.5;
}
#hero .hero-content > a:hover::after, #hero .hero-content > a:focus::after, #hero .hero-content > a:active::after {
width: 100%;
}
/* about me */
#about h3 {
color: var(--text-secondary-color) !important;
}
#about .image img {
box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16);
transition: box-shadow 0.3s;
padding: 0;
border: 0;
}
#about .image img:hover {
box-shadow: 0 0 11px rgb(15 80 100 / 20%);
}
#about ul {
display: grid;
grid-template-columns: repeat(2, minmax(140px, 200px));
gap: 0px 10px;
padding: 0px;
margin: 20px 0px 0px;
overflow: hidden;
list-style: none;
}
#about ul li {
position: relative;
margin-bottom: 10px;
padding-left: 20px;
}
#about ul li::before {
content: "▹";
color: var(--primary-color);
position: absolute;
left: 0px;
}
#about .content {
font-weight: 500;
opacity: 0.9 !important;
line-height: 1.7rem !important;
}
#about a {
display: inline-block;
text-decoration: none;
color: var(--primary-color) !important;
}
#about a::after {
content: "";
display: block;
width: 0px;
height: 2px;
bottom: 0.37em;
background-color: var(--primary-color);
transition: all 0.25s cubic-bezier(0.645,0.045,0.355,1);
opacity: 0.5;
}
#about a:hover::after, #about a:focus::after, #about a:active::after {
width: 100%;
}
/* experience */
#experience h3 {
color: var(--text-secondary-color) !important;
}
#experience * {
background-color: transparent !important;
}
#experience .tab-pane > * {
opacity: 0.9;
}
#experience .tab-pane small {
opacity: 0.8;
}
#experience .tab-pane ul {
padding-top: 1%;
padding-bottom: 1%;
}
#experience .experience-container .tab-content > .tab-pane p {
padding: 1% 0;
margin: 0;
}
#experience .experience-container {
background-color: var(--secondary-color) !important;
border-radius: .75rem;
box-shadow: 0px 8px 56px rgb(15 80 100 / 16%);
}
#experience .nav-item .nav-link {
color: var(--text-color) !important;
border-bottom: 2px solid transparent;
border-radius: 0%;
transition: none;
cursor: pointer;
}
#experience .nav-item .nav-link.active {
color: var(--text-color) !important;
border-bottom: 2px solid var(--primary-color);
opacity: 0.8;
}
#experience .nav-item .nav-link.active:hover {
transition: none !important;
}
#experience .nav-item .nav-link:hover {
border-bottom: 2px solid var(--primary-color);
opacity: 0.8;
}
#experience a {
opacity: 0.9;
display: inline-block;
text-decoration: none;
color: var(--primary-color) !important;
}
#experience a::after {
content: "";
display: block;
width: 0px;
height: 2px;
bottom: 0.37em;
background-color: var(--primary-color);
transition: all 0.25s cubic-bezier(0.645,0.045,0.355,1);
opacity: 0.5;
}
#experience a:hover::after, #experience a:focus::after, #experience a:active::after {
width: 100%;
}
#experience .experience-container .tab-content .tab-pane ul {
overflow: hidden;
list-style: none;
margin-bottom: 0;
}
#experience .experience-container .tab-content .tab-pane ul li {
position: relative;
margin-bottom: 10px;
padding-left: 20px;
}
#experience .experience-container .tab-content .tab-pane ul li::before {
content: "▹";
color: var(--primary-color);
position: absolute;
left: 0px;
}
#experience .experience-container .tab-content .tab-pane .featuredLink a::after {
display: block;
width: auto;
height: auto;
bottom: 0em;
background-color: transparent;
transition: none;
opacity: 1;
}
#experience .experience-container .tab-content .tab-pane .featuredLink a.btn {
border: 1px solid var(--primary-color);
border-radius: .75rem;
transition: none;
}
#experience .experience-container .tab-content .tab-pane .featuredLink a.btn:focus {
box-shadow: none;
}
#experience .experience-container .tab-content .tab-pane .featuredLink a.btn:hover {
color: var(--text-color) !important;
opacity: 0.7;
}
/* Education */
#education .container > h3 {
color: var(--text-secondary-color) !important;
}
#education .row .index {
opacity: 0.8;
padding: 13px 20px;
line-height: 0%;
border-radius: 50%;
max-height: 50px;
z-index: 2;
background-color: var(--primary-color) !important;
color: var(--secondary-color) !important;
font-weight: bold;
}
#education .card * {
background-color: var(--secondary-color) !important;
}
#education .card {
border-radius: 1.5rem;
box-shadow: 0px 8px 56px rgb(15 80 100 / 16%);
border: 2px solid var(--text-secondary-color) !important;
transition: box-shadow .2s linear,opacity .2s linear;
transition: transform 0.2s;
}
#education .card .card-body {
border-radius: 1.5rem;
padding: 2rem;
}
@media all and (max-width:768px) {
#education .card .card-body {
padding: 2rem 1rem;
}
}
#education .card:hover {
transition: 0.3s;
box-shadow: 0 4px 11px rgb(15 80 100 / 16%);
border: 2px solid var(--primary-color) !important;
}
#education .card .card-body .education-content a {
color: var(--primary-color) !important;
text-decoration: none;
opacity: 0.9;
}
#education .card .card-body > a h6 {
display: inline-block;
text-decoration: none;
color: var(--primary-color) !important;
}
#education .card .card-body > a h6::after {
content: "";
display: block;
width: 0px;
height: 2px;
bottom: 0.37em;
background-color: var(--primary-color);
transition: all 0.25s cubic-bezier(0.645,0.045,0.355,1);
opacity: 0.5;
}
#education .card .card-body > a h6:hover::after, #education .card .card-body > a h6:focus::after, #education .card .card-body > a h6:active::after {
width: 100%;
}
#education .card .card-body a.btn {
opacity: 0.9;
border: 1px solid var(--primary-color) !important;
color: var(--text-color) !important;
border-radius: .75rem;
box-shadow: none;
transition: none;
}
#education .card .card-body a.btn:hover {
opacity: 0.8;
}
/* achievements */
#achievements a {
text-decoration: none;
}
#achievements h3 {
color: var(--text-secondary-color) !important;
}
#achievements .card {
cursor: context-menu;
background-color: var(--secondary-color) !important;
border-radius: 1rem;
box-shadow: 0 0 36px rgba(0,0,0,0.1);
/* transform: translate3d(0, 0, 0); */
transition: box-shadow .2s linear,opacity .2s linear;
border: 2px solid transparent;
}
#achievements a.card {
cursor: alias;
}
#achievements .card h5 {
color: var(--text-color) !important;
opacity: 0.9;
}
#achievements .card:hover {
border: 2px solid var(--text-color);
transition: .3s;
}
#achievements .card:focus {
border: 2px solid var(--text-color);
transition: .3s;
}
#achievements .card-text {
background-color: var(--secondary-color) !important;
color: var(--text-secondary-color) !important;
}
/* contact */
#contact h3 {
color: var(--text-secondary-color) !important;
}
#contact .btn {
transition: none;
transition: opacity 0.3s;
border-radius: .5rem !important;
border-color: var(--primary-color) !important;
background-color: var(--secondary-color) !important;
color: var(--text-color) !important;
}
#contact .btn:hover {
opacity: .7;
}
#contact .btn:focus {
box-shadow: none !important;
}
#contact form .form-control {
background-color: var(--secondary-color);
color: var(--text-color);
border-radius: .7rem;
border: 1px solid var(--text-secondary-color);
box-shadow: 0px 8px 56px rgb(15 80 100 / 5%);
}
#contact-form-status {
position: fixed;
bottom: 10px;
right: 10px;
z-index: 1;
transform: translate3d(0, 0, 0);
}
#contact-form-status svg {
height: 18px;
width: 18px;
}
#contact-form-status button {
border-radius: 50%;
border: none;
background-color: white;
padding: 0.5rem;
margin-left: 0.5rem;
box-shadow: 0px 8px 56px rgb(15 80 100 / 5%);
font-size: .6rem !important;
}
#contact-form-status .alert {
border-radius: 0.5rem;
box-shadow: 0px 8px 56px rgb(15 80 100 / 5%);
padding: .5rem 1rem;
}

78
static/css/list.css Normal file
View File

@ -0,0 +1,78 @@
#list-page .card {
background-color: var(--secondary-color) !important;
box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16);
border-radius: .75rem;
cursor: context-menu;
overflow: hidden;
border: none;
}
#list-page .card a {
text-decoration: none;
}
#list-page .card a h5 {
color: var(--text-color) !important;
}
#list-page .card:hover {
transition: all 0.3s ease-out;
transform: translateY(-7px);
}
#list-page .card-text * {
background-color: var(--secondary-color) !important;
}
#list-page .post-footer {
padding: .5rem 1rem;
background-color: var(--secondary-color) !important;
color: var(--text-color) !important;
border-top: 1px solid rgba(15, 80, 100, 0.16);
opacity: 0.9;
}
#list-page .post-footer a {
background-color: var(--secondary-color) !important;
color: var(--text-secondary-color) !important;
border-color: var(--primary-color) !important;
transition: none;
}
#list-page .post-footer a:focus {
box-shadow: none !important;
}
#list-page .post-footer a:hover {
color: var(--primary-color) !important;
}
#list-page .card > .card-header {
padding: 0 !important;
border: none !important;
background-color: var(--secondary-color) !important;
}
#list-page .card > .card-header .card-img-top {
width: 100%;
height: 250px !important;
background-color: transparent !important;
}
/* pagination */
#list-page ul li a {
transition: none;
border-color: var(--secondary-color);
background-color: var(--secondary-color) !important;
color: var(--text-color) !important;
}
#list-page ul li a:focus {
box-shadow: none;
}
#list-page .page-item.active .page-link {
border-color: var(--primary-color);
background-color: var(--primary-color) !important;
color: var(--secondary-color) !important;
}

64
static/css/projects.css Normal file
View File

@ -0,0 +1,64 @@
/* projects */
#projects h3 {
color: var(--text-secondary-color) !important;
}
#projects a {
text-decoration: none;
color: var(--text-color) !important;
}
#projects .badge {
background-color: var(--background-color) !important;
color: var(--text-color) !important;
margin: 0 1%;
}
#projects .card {
background-color: var(--secondary-color) !important;
box-shadow: 0px 8px 56px rgb(15 80 100 / 16%);
min-height: 400px;
overflow: hidden;
border-radius: 1rem;
border: none !important;
}
#projects .card:hover {
box-shadow: 0 0 11px rgb(15 80 100 / 20%);
transition: transform 0.3s;
transform: translateY(-7px);
}
#projects .card .card-head {
-o-object-fit: cover;
object-fit: cover;
overflow: hidden;
border-top-left-radius: 1rem;
border-top-right-radius: 1rem;
border: none !important;
}
#projects .card .card-footer {
border-bottom-left-radius: 1rem;
border-bottom-right-radius: 1rem;
}
#projects .card:hover .card-img-top {
transform: scale(1.2);
transition: all 0.3s ease-out;
}
#projects .card-img-top {
transition: transform 0.3s;
}
#projects .float-end .btn {
transition: none;
border-radius: .5rem !important;
border-color: var(--primary-color) !important;
}
#projects .float-end .btn:focus {
box-shadow: none !important;
}

311
static/css/single.css Normal file
View File

@ -0,0 +1,311 @@
#single {
padding: 60px 0;
line-height: 1.7em;
font-size: 17px;
}
#single .title > h1 {
opacity: 0.8;
color: var(--text-color) !important;
}
#single .title small {
opacity: 0.7;
}
#single .featured-image {
padding: 1rem;
padding-top: 0;
}
#single .featured-image img {
border-radius: 1rem;
box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16);
margin-bottom: 1rem;
background-color: var(--secondary-color);
}
#single .page-content img {
max-width: 100%;
border-radius: 1rem;
}
#single .page-content a {
display: inline-block;
text-decoration: none;
color: var(--primary-color) !important;
}
#single .page-content a::after {
content: "";
display: block;
width: 0px;
height: 2px;
bottom: 0.37em;
background-color: var(--primary-color);
transition: all 0.25s cubic-bezier(0.645,0.045,0.355,1);
opacity: 0.5;
}
#single .page-content a:hover::after, #single .page-content a:focus::after, #single .page-content a:active::after {
width: 100%;
}
#single .page-content h1, #single .page-content h2, #single .page-content h3, #single .page-content h4, #single .page-content h5, #single .page-content h6 {
color: var(--primary-color) !important;
margin-bottom: 0.7em;
opacity: 0.9;
}
#single .page-content blockquote {
padding: 20px 30px;
border-left: 6px solid var(--primary-color) !important;
color: var(--text-secondary-color) !important;
font-weight: 600;
font-size: 20px;
margin: 30px 0;
border-radius: 5px;
}
#single .page-content blockquote, #single .page-content blockquote * {
background-color: var(--secondary-color) !important;
}
/* table */
#single .page-content table {
width: auto;
border-radius: 5px;
padding: 0.1rem;
margin-bottom: 1.2em;
max-width: 100%;
display: block;
overflow-x: auto;
opacity: 0.8;
}
#single .page-content table > tr {
height: 40px !important;
}
#single .page-content table > thead > tr > th {
padding: 0.5rem !important;
background-color: var(--primary-color) !important;
color: var(--secondary-color) !important;
border: 1px solid var(--secondary-color);
opacity: 0.9;
}
#single .page-content table > tbody > tr > td {
padding: 0.5rem !important;
border: 1px solid var(--secondary-color);
background-color: var(--secondary-color) !important;
opacity: 0.9;
}
#single .page-content table > thead > tr {
background-color: var(--secondary-color) !important;
color: var(--secondary-color) !important;
}
/* code */
#single .page-content pre {
border-radius: 0.7em !important;
margin: 5px;
margin-bottom: 2em;
padding: 2em;
background-color: var(--secondary-color) !important;
color: var(--text-secondary-color) !important;
max-height: 450px;
}
#single .page-content pre > code {
color: var(--text-secondary-color) !important;
}
#single .page-content code {
color: var(--primary-color) !important;
}
/* kbd and mark */
#single .page-content kbd {
color: var(--primary-color) !important;
background-color: var(--secondary-color) !important;
}
#single .page-content mark {
color: var(--primary-color) !important;
background-color: var(--secondary-color) !important;
}
/* list */
#single .page-content ol, #single .page-content ul {
margin-bottom: 1.2em;
padding-left: 1.5em;
list-style-position: inside;
opacity: 0.9;
}
#single .page-content ol li li, #single .page-content ul li li {
margin-bottom: 0.5em;
padding-left: 1.5em;
}
/* sidebar */
#single aside {
background-color: var(--secondary-color);
border-radius: .7rem;
padding: .7rem 1rem;
margin-bottom: 1em;
}
#single .sticky-sidebar {
position: sticky;
top: 50px;
}
/* Tags */
#single aside.tags h5 {
margin: .7em 0;
margin-bottom: 1em;
}
#single aside.tags ul.tags-ul li a {
padding: 10px 15px;
margin-bottom: 2px;
border-radius: 8px;
background-color: var(--background-color);
text-decoration: none;
color: var(--text-color);
}
#single aside.tags ul.tags-ul li {
margin-bottom: 1.2rem;
}
#single aside.tags ul.tags-ul li:hover {
opacity: 0.8;
}
/*TOC*/
#single aside.toc {
padding: .7rem 1rem;
}
#single aside.toc h5 {
margin: .7em 0;
margin-bottom: 1em;
color: var(--text-color);
}
#single aside.toc .toc-content ol, #single aside.toc .toc-content ul {
margin-bottom: 1em;
padding-left: .5em;
list-style: none;
opacity: 0.9;
}
#single aside.toc .toc-content ol li a, #single aside.toc .toc-content ul li a {
font-size: 16px;
text-decoration: none;
color: var(--text-color);
opacity: 0.9;
}
#single aside.toc .toc-content ol li a:hover, #single aside.toc .toc-content ul li a:hover {
color: var(--primary-color);
opacity: 1.2;
}
#single aside.toc .toc-content ol li li, #single aside.toc .toc-content ul li li {
padding-left: .7em;
}
/* Social */
#single aside.social {
padding: .7rem 1rem;
}
#single aside.social h5 {
margin: .7em 0;
margin-bottom: 1em;
color: var(--text-color);
}
#single aside.social .social-content {
margin-bottom: 1em;
opacity: 0.9;
}
#single aside.social .social-content ul {
margin-bottom: 1em;
opacity: 0.9;
}
#single aside.social .social-content ul li a {
border: 1px solid var(--primary-color);
padding: .7rem;
color: var(--text-color);
border-radius: 10px;
overflow: hidden;
}
#single aside.social .social-content ul li {
margin: .7rem .5rem;
margin-left: 0;
}
#single aside.social .social-content ul li:hover a {
opacity: .8;
color: var(--primary-color);
}
/* Top scroll */
#single #topScroll {
display: none;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
border: none;
outline: none;
background-color: var(--secondary-color);
color: var(--primary-color);
cursor: pointer;
border-radius: 10px;
}
#single #topScroll:hover {
background-color: var(--primary-color);
color: var(--secondary-color);
transition: .5s;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}
/* Singlepage scroll progress start */
.progress {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 2px;
background-color: var(--background-color);
z-index: 999;
}
.progress-bar {
position: absolute;
top: 0;
left: 0;
height: 100%;
background-color: var(--primary-color);
transition: width .2s;
}
/* Singlepage scroll progress end */

47
static/css/theme.css Normal file
View File

@ -0,0 +1,47 @@
/* light mode */
.light > *{
background-color: var(--background-color) !important;
color: var(--text-color) !important;
}
/* dark mode */
.dark {
--background-color: var(--background-color-dark) !important;
--secondary-background-color: var(--secondary-background-color-dark) !important;
--text-color: var(--text-color-dark) !important;
--text-secondary-color: var(--text-secondary-color-dark) !important;
--primary-color: var(--primary-color-dark);
--secondary-color: var(--secondary-color-dark);
}
.text-secondary {
color: var(--text-secondary-color) !important;
}
#theme-toggle:focus {
outline: 0;
}
#theme-toggle svg {
height: 18px;
}
button#theme-toggle {
border: none;
font-size: 26px;
margin: auto 4px;
}
body.dark #moon {
vertical-align: middle;
display: none;
}
body:not(.dark) #sun {
display: none;
}
body *::selection {
color: var(--text-color) !important;
background-color: var(--primary-color) !important;
}

BIN
static/fav.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z"/></svg>

After

Width:  |  Height:  |  Size: 938 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z"/></svg>

After

Width:  |  Height:  |  Size: 759 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z"/></svg>

After

Width:  |  Height:  |  Size: 1004 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z"/></svg>

After

Width:  |  Height:  |  Size: 762 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z"/></svg>

After

Width:  |  Height:  |  Size: 922 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z"/></svg>

After

Width:  |  Height:  |  Size: 566 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z"/></svg>

After

Width:  |  Height:  |  Size: 798 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z"/></svg>

After

Width:  |  Height:  |  Size: 838 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z"/></svg>

After

Width:  |  Height:  |  Size: 828 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z"/></svg>

After

Width:  |  Height:  |  Size: 766 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z"/></svg>

After

Width:  |  Height:  |  Size: 805 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z"/></svg>

After

Width:  |  Height:  |  Size: 844 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" id="main_outline" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 640 640" style="enable-background:new 0 0 640 640;" xml:space="preserve">
<g>
<path id="teabag" style="fill:#FFFFFF" d="M395.9,484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5,21.2-17.9,33.8-11.8 c17.2,8.3,27.1,13,27.1,13l-0.1-109.2l16.7-0.1l0.1,117.1c0,0,57.4,24.2,83.1,40.1c3.7,2.3,10.2,6.8,12.9,14.4 c2.1,6.1,2,13.1-1,19.3l-61,126.9C423.6,484.9,408.4,490.3,395.9,484.2z"/>
<g>
<g>
<path style="fill:#609926" d="M622.7,149.8c-4.1-4.1-9.6-4-9.6-4s-117.2,6.6-177.9,8c-13.3,0.3-26.5,0.6-39.6,0.7c0,39.1,0,78.2,0,117.2 c-5.5-2.6-11.1-5.3-16.6-7.9c0-36.4-0.1-109.2-0.1-109.2c-29,0.4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5 c-9.8-0.6-22.5-2.1-39,1.5c-8.7,1.8-33.5,7.4-53.8,26.9C-4.9,212.4,6.6,276.2,8,285.8c1.7,11.7,6.9,44.2,31.7,72.5 c45.8,56.1,144.4,54.8,144.4,54.8s12.1,28.9,30.6,55.5c25,33.1,50.7,58.9,75.7,62c63,0,188.9-0.1,188.9-0.1s12,0.1,28.3-10.3 c14-8.5,26.5-23.4,26.5-23.4s12.9-13.8,30.9-45.3c5.5-9.7,10.1-19.1,14.1-28c0,0,55.2-117.1,55.2-231.1 C633.2,157.9,624.7,151.8,622.7,149.8z M125.6,353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6,321.8,60,295.4 c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5,38.5-30c13.8-3.7,31-3.1,31-3.1s7.1,59.4,15.7,94.2c7.2,29.2,24.8,77.7,24.8,77.7 S142.5,359.9,125.6,353.9z M425.9,461.5c0,0-6.1,14.5-19.6,15.4c-5.8,0.4-10.3-1.2-10.3-1.2s-0.3-0.1-5.3-2.1l-112.9-55 c0,0-10.9-5.7-12.8-15.6c-2.2-8.1,2.7-18.1,2.7-18.1L322,273c0,0,4.8-9.7,12.2-13c0.6-0.3,2.3-1,4.5-1.5c8.1-2.1,18,2.8,18,2.8 l110.7,53.7c0,0,12.6,5.7,15.3,16.2c1.9,7.4-0.5,14-1.8,17.2C474.6,363.8,425.9,461.5,425.9,461.5z"/>
<path style="fill:#609926" d="M326.8,380.1c-8.2,0.1-15.4,5.8-17.3,13.8c-1.9,8,2,16.3,9.1,20c7.7,4,17.5,1.8,22.7-5.4 c5.1-7.1,4.3-16.9-1.8-23.1l24-49.1c1.5,0.1,3.7,0.2,6.2-0.5c4.1-0.9,7.1-3.6,7.1-3.6c4.2,1.8,8.6,3.8,13.2,6.1 c4.8,2.4,9.3,4.9,13.4,7.3c0.9,0.5,1.8,1.1,2.8,1.9c1.6,1.3,3.4,3.1,4.7,5.5c1.9,5.5-1.9,14.9-1.9,14.9 c-2.3,7.6-18.4,40.6-18.4,40.6c-8.1-0.2-15.3,5-17.7,12.5c-2.6,8.1,1.1,17.3,8.9,21.3c7.8,4,17.4,1.7,22.5-5.3 c5-6.8,4.6-16.3-1.1-22.6c1.9-3.7,3.7-7.4,5.6-11.3c5-10.4,13.5-30.4,13.5-30.4c0.9-1.7,5.7-10.3,2.7-21.3 c-2.5-11.4-12.6-16.7-12.6-16.7c-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3c4.7-9.7,9.4-19.3,14.1-29 c-4.1-2-8.1-4-12.2-6.1c-4.8,9.8-9.7,19.7-14.5,29.5c-6.7-0.1-12.9,3.5-16.1,9.4c-3.4,6.3-2.7,14.1,1.9,19.8 C343.2,346.5,335,363.3,326.8,380.1z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 592 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z"/></svg>

After

Width:  |  Height:  |  Size: 534 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"/></svg>

After

Width:  |  Height:  |  Size: 560 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>

After

Width:  |  Height:  |  Size: 684 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"/></svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"/></svg>

After

Width:  |  Height:  |  Size: 474 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z"/></svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"/></svg>

After

Width:  |  Height:  |  Size: 434 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z"/></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z"/></svg>

After

Width:  |  Height:  |  Size: 563 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!-- Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><path d="M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

45
static/js/contact.js Normal file
View File

@ -0,0 +1,45 @@
async function handleFormspreeSubmit(event) {
event.preventDefault();
var form = document.getElementById("contact-form");
var data = new FormData(event.target);
fetch(event.target.action, {
method: form.method,
body: data,
headers: {
Accept: "application/json",
},
})
.then((response) => {
if (response.ok) {
contactAlert("success", "Thanks for your submission!");
form.reset();
} else {
response.json().then((data) => {
var errMessage = data.errors;
for (var i = 0; i < errMessage.length; i++) {
contactAlert("danger", errMessage[i].message);
}
});
}
})
.catch((error) => {
contactAlert("danger", "Oops! There was a problem submitting your form");
});
}
function contactAlert(type, message) {
var contactFormStatus = document.getElementById("contact-form-status");
var alert = `<div class="alert alert-${type} d-flex align-items-center" role="alert">
<svg class="bi flex-shrink-0 me-2" role="img" aria-label="Success:">
<use xlink:href="#check-circle-fill" />
</svg>
<div>${message}</div>
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>`;
contactFormStatus.innerHTML = alert;
// Remove alert after 3 seconds
setTimeout(function () {
contactFormStatus.innerHTML = "";
}, 3000);
}

10
static/js/readingTime.js Normal file
View File

@ -0,0 +1,10 @@
function readingTime() {
const text = document.querySelector("article").innerText;
const wpm = 225;
const words = text.trim().split(/\s+/).length;
const time = Math.ceil(words / wpm);
const timeElement = document.querySelector("span#readingTime");
timeElement.innerHTML = "<small> | </small>" + time + timeElement.innerHTML;
}
readingTime();

View File

@ -0,0 +1,12 @@
function getScrollPercent() {
const totalHeight = document.body.scrollHeight - window.innerHeight;
const scrolled = window.scrollY;
return (scrolled / totalHeight) * 100;
}
const scrollProgressBar = document.getElementById("scroll-progress-bar");
document.onscroll = function () {
var scrollPercent = Math.round(getScrollPercent());
scrollProgressBar.style.width = scrollPercent + "%";
scrollProgressBar.ariaValueNow = scrollPercent;
};

138
static/js/search.js Normal file
View File

@ -0,0 +1,138 @@
async function searchOnChange(evt) {
let searchQuery = evt.target.value;
var inputEle = document.querySelectorAll("input#search");
inputEle.forEach((element) => {
element.value = searchQuery;
});
if (searchQuery !== "") {
if (!window.searchJson) {
window.searchJson = await fetch("/index.json").then((res) => res.json());
}
let searchResults = searchJson.filter((item) => {
let res = false;
if (item.title && item.description && item.content) {
res =
item.title.toLowerCase().includes(searchQuery.toLowerCase()) ||
item.description.toLowerCase().includes(searchQuery.toLowerCase()) ||
item.content.toLowerCase().includes(searchQuery.toLowerCase());
} else if (item.title && item.description) {
res =
item.title.toLowerCase().includes(searchQuery.toLowerCase()) ||
item.description.toLowerCase().includes(searchQuery.toLowerCase());
} else if (item.title && item.content) {
res =
item.title.toLowerCase().includes(searchQuery.toLowerCase()) ||
item.content.toLowerCase().includes(searchQuery.toLowerCase());
} else if (item.description && item.content) {
res =
item.description.toLowerCase().includes(searchQuery.toLowerCase()) ||
item.content.toLowerCase().includes(searchQuery.toLowerCase());
} else if (item.title) {
res = item.title.toLowerCase().includes(searchQuery.toLowerCase());
} else if (item.description) {
res = item.description
.toLowerCase()
.includes(searchQuery.toLowerCase());
} else if (item.content) {
res = item.content.toLowerCase().includes(searchQuery.toLowerCase());
}
return res;
});
if (searchResults.length > 0) {
let searchResultsHtml = "";
searchResults.map((item) => {
searchResultsHtml += `<div class="card">
<a href="${item.permalink}">
<div class="p-3">
<h5>${item.title}</h5>
<div>${item.description}</div>
</div>
</a>
</div>`;
});
document.getElementById("search-results").innerHTML = searchResultsHtml;
} else {
let searchResultsHtml = `<p class="text-center py-3">No results found for "${searchQuery}"</p>`;
document.getElementById("search-results").innerHTML = searchResultsHtml;
}
alignSearchContent();
document.getElementById("search-content").style.display = "block";
} else {
document.getElementById("search-content").style.display = "none";
document.getElementById("search-results").innerHTML = "";
}
}
function alignSearchContent() {
const searchButtonEle = document.querySelectorAll("#search");
// check if search value is not empty
for (let i = 0; i < searchButtonEle.length; i++) {
if (searchButtonEle[i].value !== "") {
let searchButtonPosition;
if (window.innerWidth > 768) {
searchButtonPosition = searchButtonEle[0].getBoundingClientRect();
document.getElementById("search-content").style.width = "500px";
} else {
var navbarCollapse = document.querySelector("#navbarContent");
navbarCollapse.classList.add("show");
searchButtonPosition = searchButtonEle[1].getBoundingClientRect();
document.getElementById("search-content").style.width = "300px";
}
document.getElementById("search-content").style.top =
searchButtonPosition.top + 50 + "px";
document.getElementById("search-content").style.left =
searchButtonPosition.left + "px";
}
}
}
function resetSearch(e) {
if (
e.keyCode === 27 ||
(e.target.id !== "search" &&
e.target.closest("section#search-content") === null)
) {
if (document.getElementById("search-results").innerHTML !== "") {
document.getElementById("search-content").style.display = "none";
document.getElementById("search-results").innerHTML = "";
var inputEle = document.querySelectorAll("input#search");
inputEle.forEach((element) => {
element.value = "";
element.blur();
});
}
}
}
document.onkeyup = function () {
switch (event.keyCode) {
// ESC
case 27:
resetSearch(event);
break;
// ctrl + k
case 75:
if (event.ctrlKey) {
document.getElementById("search").focus();
}
break;
}
};
window.addEventListener("keydown", function (e) {
if (e.keyCode === 75 && e.ctrlKey) {
e.preventDefault();
}
});
// Close search on click outside and on resize
document.addEventListener("click", function (e) {
resetSearch(e);
});
window.addEventListener("resize", function (e) {
alignSearchContent();
});