merged with origin
This commit is contained in:
commit
9fcce788fa
137 changed files with 709 additions and 238 deletions
6
.github/workflows/autoprefixer.yml
vendored
6
.github/workflows/autoprefixer.yml
vendored
|
@ -8,10 +8,10 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout to latest commit
|
||||
uses: actions/checkout@v2.4.0
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v2.5.1
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "15.x"
|
||||
|
||||
|
@ -21,7 +21,7 @@ jobs:
|
|||
npm run autoprefixer
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3.12.0
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
branch: autoprefixer
|
||||
branch-suffix: timestamp
|
||||
|
|
28
.github/workflows/build.yml
vendored
Normal file
28
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
name: Run Build
|
||||
|
||||
# Run action on pull request event
|
||||
on: [pull_request]
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
# checkout to the commit that has been pushed
|
||||
- uses: actions/checkout@v2.4.0
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
# install Hugo
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2.5.0
|
||||
with:
|
||||
hugo-version: 'latest'
|
||||
extended: true
|
||||
|
||||
# build website
|
||||
- name: Create Config
|
||||
run: touch config.toml
|
||||
- name: Build
|
||||
run: hugo --minify
|
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
|
@ -39,7 +39,7 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2.4.0
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
|
|
2
.github/workflows/draft-release.yml
vendored
2
.github/workflows/draft-release.yml
vendored
|
@ -10,6 +10,6 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Create/Update release draft
|
||||
- uses: release-drafter/release-drafter@v5.16.1
|
||||
- uses: release-drafter/release-drafter@v5.19.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
4
.github/workflows/md-link-checker.yml
vendored
4
.github/workflows/md-link-checker.yml
vendored
|
@ -8,6 +8,6 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# checkout to latest commit
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
# run markdown linter
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.13
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.14
|
||||
|
|
24
README.md
24
README.md
|
@ -30,8 +30,15 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
|
|||
- Achievement Gallery
|
||||
- Sidebar to Categorize the Posts
|
||||
- Short Codes
|
||||
- Google Analytics Support
|
||||
- Disqus Comment Support
|
||||
- Analytics Support
|
||||
- GoatCounter
|
||||
- counter.dev
|
||||
- Google Analytics
|
||||
- Comment Support
|
||||
- [Disqus](https://disqus.com/)
|
||||
- [Valine](https://valine.js.org/)
|
||||
- [Uttarances](https://utteranc.es/)
|
||||
- [Giscus](https://giscus.app/)
|
||||
|
||||
For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
|
||||
|
||||
|
@ -49,6 +56,7 @@ For more details about the features please visit [here](https://toha-guides.netl
|
|||
- 日本語
|
||||
- 한국어
|
||||
- русский
|
||||
- suomi
|
||||
- Tiếng Việt
|
||||
|
||||
To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io).
|
||||
|
@ -71,7 +79,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
|
|||
|
||||
## Requirements
|
||||
|
||||
- Hugo Version 0.68.0 or higher
|
||||
- Hugo Version 0.87.0 or higher
|
||||
|
||||
## Usage
|
||||
|
||||
|
@ -165,10 +173,12 @@ When you run your site for first time, it will start with the default parameters
|
|||
|
||||
Here, are some handy shortcodes you can use with this theme.
|
||||
|
||||
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/)
|
||||
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/)
|
||||
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/)
|
||||
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/)
|
||||
- [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
|
||||
- [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
|
||||
- [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
|
||||
- [Vertical Space](https://toha-guides.netlify.app/posts/shortcodes/#vertical-space)
|
||||
- [Video](https://toha-guides.netlify.app/posts/shortcodes/#video)
|
||||
- [Mermaid](https://hugo-toha.github.io/posts/shortcodes/#mermaid)
|
||||
|
||||
## Project Roadmap
|
||||
|
||||
|
|
|
@ -118,3 +118,6 @@ other = "নোট সমূহ"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "দায় বিজ্ঞপ্তি"
|
||||
|
||||
[search]
|
||||
other = "অনুসন্ধান করুন"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Notizen"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Haftungshinweis"
|
||||
|
||||
[search]
|
||||
other = "Suche"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Notes"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Liability Notice"
|
||||
|
||||
[search]
|
||||
other = "Search"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Notas"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Aviso de responsabilidad"
|
||||
|
||||
[search]
|
||||
other = "Búsqueda"
|
||||
|
|
126
i18n/fi.toml
Normal file
126
i18n/fi.toml
Normal file
|
@ -0,0 +1,126 @@
|
|||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Koti"
|
||||
|
||||
[posts]
|
||||
other = "Artikkelit"
|
||||
|
||||
[toc_heading]
|
||||
other = "Sisällysluettelo"
|
||||
|
||||
[tags]
|
||||
other = "Tagit"
|
||||
|
||||
[categories]
|
||||
other = "Kategoriat"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
[resume]
|
||||
other = "Ansioluetteloni"
|
||||
|
||||
[navigation]
|
||||
other = "Navigointi"
|
||||
|
||||
[contact_me]
|
||||
other = "Ota yhteyttä minuun:"
|
||||
|
||||
[email]
|
||||
other = "Sähköposti"
|
||||
|
||||
[phone]
|
||||
other = "Puhelin"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Pysy ajan tasalla tilaamalla sähköposti-ilmoitukset"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "Syötä sähköpostiosoite"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Syöttämällä sähköpostin, hyväksyt että haluat vastaanottaa uutiskirjeen tältä sivustolta."
|
||||
|
||||
[submit]
|
||||
other = "Lähetä"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Voimanlähteenä"
|
||||
|
||||
[prev]
|
||||
other = "Edellinen"
|
||||
|
||||
[next]
|
||||
other = "Seuraava"
|
||||
|
||||
[share_on]
|
||||
other = "Jaa"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Paranna tätä sivua"
|
||||
|
||||
[out_of]
|
||||
other = "out of"
|
||||
|
||||
[publications]
|
||||
other = "Julkaisut"
|
||||
|
||||
[taken_courses]
|
||||
other = "Käydyt kurssit"
|
||||
|
||||
[course_name]
|
||||
other = "Kurssin nimi"
|
||||
|
||||
[total_credit]
|
||||
other = "Opintopisteet yhteensä"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Saadut opintopisteet"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Opetusohjelman ulkopuolinen toiminta"
|
||||
|
||||
[show_more]
|
||||
other = "Näytä lisää"
|
||||
|
||||
[show_less]
|
||||
other = "Näytä vähemmän"
|
||||
|
||||
[responsibilities]
|
||||
other = "Työtehtävät:"
|
||||
|
||||
[present]
|
||||
other = "Tämä päivä"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Ole hyvä ja enabloi JavaScript katsoaksesi"
|
||||
|
||||
[comments_by]
|
||||
other = "kommentit mahdollistavat"
|
||||
|
||||
[read]
|
||||
other = "Lue"
|
||||
|
||||
[project_star]
|
||||
other = "Tähti"
|
||||
|
||||
[project_details]
|
||||
other = "Yksityiskohdat"
|
||||
|
||||
[err_404]
|
||||
other = "Sivua jota etsit ei löydy."
|
||||
|
||||
[more]
|
||||
other = "Lisää"
|
||||
|
||||
[view_certificate]
|
||||
other = "Katso todistus"
|
||||
|
||||
[notes]
|
||||
other = "Muistiinpanot"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Vastuuilmoitus"
|
||||
|
||||
[search]
|
||||
other = "Haku"
|
|
@ -121,3 +121,6 @@ other = "Remarques"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Avis de responsabilité"
|
||||
|
||||
[search]
|
||||
other = "Chercher"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "टिप्पणियाँ"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "दायित्व सूचना"
|
||||
|
||||
[search]
|
||||
other = "खोज"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Catatan"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Pemberitahuan Kewajiban"
|
||||
|
||||
[search]
|
||||
other = "Mencari"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Appunti"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Avviso di responsabilità"
|
||||
|
||||
[search]
|
||||
other = "Ricerca"
|
||||
|
|
|
@ -118,3 +118,6 @@ other = "ノート"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "責任通知"
|
||||
|
||||
[search]
|
||||
other = "検索"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "메모"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "책임 고지"
|
||||
|
||||
[search]
|
||||
other = "찾다"
|
||||
|
|
|
@ -120,3 +120,5 @@ other = "Opmerkingen"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Haftungshinweis"
|
||||
[search]
|
||||
other = "Zoekopdracht"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Ноты"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Уведомление об ответственности"
|
||||
|
||||
[search]
|
||||
other = "Поиск"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "Ghi chú"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "Thông báo trách nhiệm"
|
||||
|
||||
[search]
|
||||
other = "Tìm kiếm"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "笔记"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "免责声明"
|
||||
|
||||
[search]
|
||||
other = "搜索"
|
||||
|
|
|
@ -121,3 +121,6 @@ other = "筆記"
|
|||
|
||||
[disclaimer_text]
|
||||
other = "免責聲明"
|
||||
|
||||
[search]
|
||||
other = "搜索"
|
||||
|
|
|
@ -9,16 +9,9 @@
|
|||
<!------ ADD PAGE SPECIFIC HEADERS ------->
|
||||
{{ block "header" . }} {{ end }}
|
||||
|
||||
<!-- ADD GOOGLE ANALYTICS IF ENABLED -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
<!-- Google Analytics v3 ID -->
|
||||
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
||||
{{ else }}
|
||||
<!-- Google Analytics v4 ID -->
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<!--================= add analytics if enabled =========================-->
|
||||
{{- partial "analytics.html" . -}}
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
||||
|
@ -51,5 +44,9 @@
|
|||
|
||||
<!------- ADD PAGE SPECIFIC SCRIPTS ------>
|
||||
{{ block "scripts" . }} {{ end }}
|
||||
|
||||
<!------ IF WANTED, ADD SUPPORT LINKS -------->
|
||||
{{- partial "misc/support.html" . -}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
|
43
layouts/_default/rss.xml
Normal file
43
layouts/_default/rss.xml
Normal file
|
@ -0,0 +1,43 @@
|
|||
{{- $pctx := . -}}
|
||||
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
|
||||
{{- $pages := slice -}}
|
||||
{{- if $.IsHome -}}
|
||||
{{- $pages = sort $pctx.RegularPages "Date" "desc" -}}
|
||||
{{- else if $.IsSection -}}
|
||||
{{- $pages = sort $pctx.RegularPagesRecursive "Date" "desc" -}}
|
||||
{{- else -}}
|
||||
{{- $pages = sort $pctx.RegularPagesRecursive "Date" "desc" -}}
|
||||
{{- end -}}
|
||||
{{- $limit := .Site.Config.Services.RSS.Limit -}}
|
||||
{{- if ge $limit 1 -}}
|
||||
{{- $pages = $pages | first $limit -}}
|
||||
{{- end -}}
|
||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
|
||||
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
|
||||
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
||||
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
||||
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
{{- with .OutputFormats.Get "RSS" -}}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{- end -}}
|
||||
{{ range $pages }}
|
||||
{{- if ne .RelPermalink "/search/" -}}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Summary | html }}</description>
|
||||
</item>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
|
@ -20,7 +20,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
@ -136,7 +136,7 @@
|
|||
{{ end }}
|
||||
<div class="col-md-6 btn-improve-page">
|
||||
{{ if ( eq site.Params.GitForge "gitlab" ) }}
|
||||
<a href="{{ site.Params.GitRepo }}/-/edit/{{ .Scratch.Get "GitBranch" }}/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
||||
<a href="{{ site.Params.GitRepo }}/-/edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
||||
{{ else if ( eq site.Params.GitForge "gitea" ) }}
|
||||
<a href="{{ site.Params.GitRepo }}/_edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
||||
{{ else }} <!--- Make Github-style the default -->
|
||||
|
@ -157,23 +157,13 @@
|
|||
<hr />
|
||||
|
||||
<!----- Add comment support ----->
|
||||
{{ with site.Params.features.comment }}
|
||||
{{ if .enable }}
|
||||
<!-- Add Disqus forum -->
|
||||
{{ if .disqus.shortName }}
|
||||
{{ partial "disqus.html" . }}
|
||||
<!-- Add valine -->
|
||||
{{ else if .valine }}
|
||||
{{ partial "valine.html" . }}
|
||||
<!-- Add utteranc -->
|
||||
{{ else if .utteranc }}
|
||||
{{ partial "utteranc.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if site.Params.features.comment.enable }}
|
||||
{{ partial "comments.html" site.Params.features.comment }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backward compatibility with old config.yaml -->
|
||||
{{ if site.DisqusShortname }}
|
||||
{{ partial "disqus.html" . }}
|
||||
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
|
@ -189,7 +179,7 @@
|
|||
|
||||
{{ define "toc" }}
|
||||
<section class="toc-section" id="toc-section">
|
||||
{{ if site.Params.enableTOC }}
|
||||
{{ if and site.Params.enableTOC ( .Params.enableTOC | default true ) }}
|
||||
<div class="toc-holder">
|
||||
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
|
||||
<hr>
|
||||
|
@ -207,7 +197,15 @@
|
|||
<script>
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
<!-------------- Enable Math support for this page ---------------->
|
||||
{{ if .Params.math }}
|
||||
{{ partial "math.html" . }}
|
||||
{{ end }}
|
||||
|
||||
<!-------------- Enable mermaid support for this page ---------------->
|
||||
{{ if .Params.mermaid }}
|
||||
{{ partial "mermaid.html" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
|
|
@ -29,16 +29,8 @@
|
|||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
<!-- Add Google Analytics if enabled in configuration -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
<!-- Google Analytics v3 ID -->
|
||||
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
||||
{{ else }}
|
||||
<!-- Google Analytics v4 ID -->
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<!--================= add analytics if enabled =========================-->
|
||||
{{- partial "analytics.html" . -}}
|
||||
</head>
|
||||
<body data-spy="scroll" data-target="#top-navbar" data-offset="100">
|
||||
|
||||
|
@ -92,5 +84,9 @@
|
|||
<script src="{{ "/js/github-button.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/home.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
|
||||
|
||||
<!------ ADD SUPPORT LINKS -------->
|
||||
{{- partial "misc/support.html" . -}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
|
49
layouts/partials/analytics.html
Normal file
49
layouts/partials/analytics.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!-- Add Analytics if enabled in configuration -->
|
||||
{{ with site.Params.features.analytics }}
|
||||
{{ if .enabled }}
|
||||
<!-- Google Analytics -->
|
||||
{{ with .google }}
|
||||
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
|
||||
{{ $analyticsConfig := dict (slice "Site" "GoogleAnalytics") .id }}
|
||||
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Counter.dev -->
|
||||
{{ with .counterDev }}
|
||||
<script>
|
||||
if (
|
||||
!sessionStorage.getItem("_swa") &&
|
||||
document.referrer.indexOf(location.protocol + "//" + location.host) !== 0
|
||||
) {
|
||||
fetch(
|
||||
"https://counter.dev/track?" +
|
||||
new URLSearchParams({
|
||||
referrer: document.referrer,
|
||||
screen: screen.width + "x" + screen.height,
|
||||
user: "{{ .id }}",
|
||||
utcoffset: "1",
|
||||
}),
|
||||
{{ with .referrerPolicy }}
|
||||
{ referrerPolicy: "{{ . }}" }
|
||||
{{ end }}
|
||||
);
|
||||
}
|
||||
sessionStorage.setItem("_swa", "1");
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
<!-- GoatCounter -->
|
||||
{{ with .goatCounter }}
|
||||
<script
|
||||
data-goatcounter="https://{{ .code }}.goatcounter.com/count"
|
||||
async
|
||||
src="//gc.zgo.at/count.js"
|
||||
></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
{{ end }}
|
|
@ -4,15 +4,19 @@
|
|||
<div class="card-head d-flex">
|
||||
{{ if .logo }}
|
||||
{{ $logoImage := resources.Get .logo }}
|
||||
|
||||
{{/* svg don't support "Fit" operation */}}
|
||||
{{ if ne $logoImage.MediaType.SubType "svg" }}
|
||||
{{ $logoImage = $logoImage.Fit "24x24" }}
|
||||
{{ end }}
|
||||
|
||||
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
{{ else if .icon }}
|
||||
{{ $iconName := .icon }}
|
||||
<h5 class="card-title"><span class="{{ $iconName }}"> {{ .name }}</span></h5>
|
||||
{{ else }}
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
{{ end }}
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{{ .summary | markdownify }}</p>
|
||||
|
|
11
layouts/partials/comments.html
Normal file
11
layouts/partials/comments.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{{ if .disqus.shortName }}
|
||||
{{ partial "comments/disqus.html" . }}
|
||||
{{ else if .valine }}
|
||||
{{ partial "comments/valine.html" . }}
|
||||
{{ else if .utteranc }}
|
||||
{{ partial "comments/utteranc.html" . }}
|
||||
{{ else if .giscus }}
|
||||
{{ partial "comments/giscus.html" . }}
|
||||
{{ else if .commento }}
|
||||
{{ partial "comments/commento.html" . }}
|
||||
{{ end }}
|
12
layouts/partials/comments/commento.html
Normal file
12
layouts/partials/comments/commento.html
Normal file
|
@ -0,0 +1,12 @@
|
|||
{{ with .commento }}
|
||||
{{ $serverURL := .serverURL }}
|
||||
{{ $autoInit := .autoInit | default "true"}}
|
||||
{{ $hideDeleted := .hideDeleted | default "false"}}
|
||||
|
||||
<script defer
|
||||
src="http://{{ $serverURL }}/js/commento.js"
|
||||
data-auto-init="{{ $autoInit }}"
|
||||
data-hide-deleted="{{ $hideDeleted }}"
|
||||
></script>
|
||||
<div id="commento"></div>
|
||||
{{ end }}
|
29
layouts/partials/comments/disqus.html
Normal file
29
layouts/partials/comments/disqus.html
Normal file
|
@ -0,0 +1,29 @@
|
|||
{{ with .disqus }}
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ .shortName }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
||||
{{ end }}
|
28
layouts/partials/comments/giscus.html
Normal file
28
layouts/partials/comments/giscus.html
Normal file
|
@ -0,0 +1,28 @@
|
|||
{{ with .giscus }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $repoID := .repoID }}
|
||||
{{ $category := .category | default "General" }}
|
||||
{{ $categoryID := .categoryID }}
|
||||
{{ $theme := .theme | default "light" }}
|
||||
{{ $map := .map | default "url" }}
|
||||
{{ $reaction := .reaction | default "1" }}
|
||||
{{ $metadata := .metadata | default "0" }}
|
||||
{{ $inputPosition := .inputPosition | default "bottom" }}
|
||||
{{ $crossOrigin := .crossOrigin | default "anonymous" }}
|
||||
|
||||
<script src="https://giscus.app/client.js"
|
||||
data-repo="{{ $repo }}"
|
||||
data-repo-id="{{ $repoID }}"
|
||||
data-category="{{ $category }}"
|
||||
data-category-id="{{ $categoryID }}"
|
||||
data-mapping="{{ $map }}"
|
||||
data-reactions-enabled="{{ $reaction }}"
|
||||
data-emit-metadata="{{ $metadata }}"
|
||||
data-input-position="{{ $inputPosition }}"
|
||||
data-theme="{{ $theme }}"
|
||||
data-lang="{{ .Site.Language.Lang }}"
|
||||
crossorigin="{{ $crossOrigin }}"
|
||||
async>
|
||||
</script>
|
||||
{{ end }}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
{{ $repo := site.Params.features.comment.utteranc.repo }}
|
||||
{{ $issueTerm := site.Params.features.comment.utteranc.issueTerm }}
|
||||
{{ $theme := site.Params.features.comment.utteranc.theme }}
|
||||
{{ with .utteranc }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $issueTerm := .issueTerm }}
|
||||
{{ $theme := .theme }}
|
||||
|
||||
<div id="utteranc_thread"></div>
|
||||
<div id="comments" class="comments">
|
||||
|
@ -20,3 +21,4 @@
|
|||
document.getElementById('comments-container').appendChild(utterances);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
18
layouts/partials/comments/valine.html
Normal file
18
layouts/partials/comments/valine.html
Normal file
|
@ -0,0 +1,18 @@
|
|||
{{ with .valine }}
|
||||
<div id="vcomments"></div>
|
||||
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
|
||||
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "{{ .appId }}",
|
||||
appKey: "{{ .appKey }}",
|
||||
avatar: "{{ .avatar }}",
|
||||
placeholder: "{{ .placeholder }}",
|
||||
visitor: "{{ .visitor }}",
|
||||
lang: "{{ .lang }}",
|
||||
recordIP: "{{ .recordIP }}",
|
||||
enableQQ: "{{ .enableQQ }}",
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
|
@ -1,32 +0,0 @@
|
|||
{{ $disqusShortName := site.DisqusShortname }}
|
||||
{{ if site.Params.features.comment.disqus.shortName }}
|
||||
{{ $disqusShortName = site.Params.features.comment.disqus.shortName }}
|
||||
{{ end }}
|
||||
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ $disqusShortName }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
|
@ -1,6 +1,7 @@
|
|||
{{/* variables for enabling/disabling parts of the footer */}}
|
||||
{{ $footerEnabled := site.Params.footer.enable | default true }}
|
||||
{{ $navigationEnabled := site.Params.footer.navigation.enable | default true }}
|
||||
{{ $customMenusEnabled := site.Params.footer.navigation.customMenus | default true }}
|
||||
{{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }}
|
||||
{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }}
|
||||
{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }}
|
||||
|
@ -26,7 +27,12 @@
|
|||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||
{{ end }}
|
||||
|
||||
{{ $copyrightNotice := "© 2021 Copyright."}}
|
||||
{{ $customMenus := site.Params.customMenus }}
|
||||
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
||||
{{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }}
|
||||
{{ end }}
|
||||
|
||||
{{ $copyrightNotice := now.Format "2006" | printf "© %s Copyright."}}
|
||||
{{ if (index site.Data site.Language.Lang).site }}
|
||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||
{{ if $siteConfig.copyright }}
|
||||
|
@ -58,7 +64,7 @@
|
|||
{{ end }}
|
||||
{{ $hugoLogo = $hugoLogo.RelPermalink}}
|
||||
|
||||
<footer class="container-fluid text-center align-content-center footer pb-2">
|
||||
<footer id="footer" class="container-fluid text-center align-content-center footer pb-2">
|
||||
<div class="container pt-5">
|
||||
<div class="row text-left">
|
||||
{{ if $navigationEnabled }}
|
||||
|
@ -77,6 +83,15 @@
|
|||
</li>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{ if $customMenusEnabled }}
|
||||
{{ range $customMenus }}
|
||||
{{ if .showOnFooter }}
|
||||
<li class="nav-item">
|
||||
<a class="smooth-scroll" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
|
|
@ -8,11 +8,12 @@
|
|||
<link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/katex.min.css" | relURL }}">
|
||||
|
||||
<!--=================== cdn ==============================-->
|
||||
<!--=================== fonts ==============================-->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
|
||||
|
||||
<!--=================== icons ==============================-->
|
||||
<link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
|
||||
|
||||
<!--================= fab-icon =========================-->
|
||||
{{/* add favicon only if the site author has provided the the favicon */}}
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
|
||||
onload="renderMathInElement(document.body);">
|
||||
<link rel="stylesheet" href="{{ "/katex/katex.min.css" | relURL }}">
|
||||
<script type="text/javascript" defer src="{{ "/katex/katex.min.js" | relURL }}"></script>
|
||||
<script type="text/javascript" defer src="{{ "/katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);">
|
||||
renderMathInElement(
|
||||
document.body,
|
||||
{
|
||||
delimiters: [
|
||||
{left: "$$", right: "$$", display: true},
|
||||
{left: "\\[", right: "\\]", display: true},
|
||||
{left: "$", right: "$", display: false},
|
||||
{left: "\\(", right: "\\)", display: false}
|
||||
]
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
|
6
layouts/partials/mermaid.html
Normal file
6
layouts/partials/mermaid.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
<script src="{{ "/js/mermaid-8.14.0.min.js" | relURL }}"></script>
|
||||
<script>
|
||||
mermaid.initialize({
|
||||
startOnLoad:true
|
||||
});
|
||||
</script>
|
16
layouts/partials/misc/support.html
Normal file
16
layouts/partials/misc/support.html
Normal file
|
@ -0,0 +1,16 @@
|
|||
{{ with site.Params.features.support }}
|
||||
{{ if .enabled }}
|
||||
<!-- Enable Ko-Fi floating button -->
|
||||
{{ with .kofi }}
|
||||
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
|
||||
<script>
|
||||
kofiWidgetOverlay.draw('{{ .user }}', {
|
||||
'type': 'floating-chat',
|
||||
'floating-chat.donateButton.text': '{{ .text }}',
|
||||
'floating-chat.donateButton.text-color': '{{ .textColor }}',
|
||||
'floating-chat.donateButton.background-color': '{{ .backgroundColor }}',
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
|
@ -87,7 +87,7 @@
|
|||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{i18n "more" }}</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{{ $sectionCount := 0 }}
|
||||
{{ $sectionCount := 1 }}
|
||||
{{ range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar) }}
|
||||
{{ $sectionCount = add $sectionCount 1}}
|
||||
|
@ -115,9 +115,11 @@
|
|||
</li>
|
||||
{{ end }}
|
||||
{{ range $customMenus }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ if (not .hideFromNavbar) }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .IsTranslated }}
|
||||
{{ partial "navigators/lang-selector.html" . }}
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<li>
|
||||
{{ if eq .name "Email" }}
|
||||
<a href="mailto:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
||||
{{ else if eq .name "Phone" }}
|
||||
{{ else if eq .name (i18n "phone") }}
|
||||
<a href="tel:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
||||
{{ else }}
|
||||
<a href="{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
||||
|
|
|
@ -6,7 +6,10 @@
|
|||
<div class="container-fluid anchor pb-5 accomplishments-section">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
|
||||
<div class="container">
|
||||
|
|
|
@ -6,7 +6,10 @@
|
|||
<div class="container-fluid anchor pb-5 achievements-section">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
<div class="container">
|
||||
<div class="row" id="gallery">
|
||||
|
|
|
@ -4,9 +4,13 @@
|
|||
{{ end }}
|
||||
|
||||
<div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
|
||||
<div class="container">
|
||||
<table class="education-info-table">
|
||||
|
|
|
@ -4,10 +4,13 @@
|
|||
{{ end }}
|
||||
|
||||
<div class="container-fluid anchor pb-5 education-section">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
|
||||
<div class="container">
|
||||
<table class="education-info-table">
|
||||
|
|
|
@ -6,8 +6,10 @@
|
|||
<div class="container-fluid anchor pb-5 experiences-section">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}
|
||||
</h1>
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
|
||||
<div class="container timeline text-justify">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{{ if gt (len .positions) 1 }}
|
||||
{{ partial "sections/experiences/multiple-positions" . }}
|
||||
{{ partial "sections/experiences/multiple-positions.html" . }}
|
||||
{{ else }}
|
||||
{{ partial "sections/experiences/single-position.html" . }}
|
||||
{{ end }}
|
||||
|
|
|
@ -12,10 +12,12 @@
|
|||
<!-- Add company overview -->
|
||||
<p>{{ .company.overview | markdownify }}</p>
|
||||
<!-- Add the responsibilities handled at this position -->
|
||||
{{ if $position.responsibilities }}
|
||||
<h6 class="text-muted">{{ i18n "responsibilities" }}</h6>
|
||||
<ul class="justify-content-around">
|
||||
{{ range $position.responsibilities }}
|
||||
<li>{{ . | markdownify }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
|
|
@ -5,7 +5,11 @@
|
|||
|
||||
<div class="container-fluid anchor pb-5 projects-section" id="{{ $sectionID }}">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">{{ .section.name }}</h1>
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
<div class="container ml-auto text-center">
|
||||
<div class="btn-group flex-wrap" role="group" id="project-filter-buttons">
|
||||
|
|
|
@ -12,7 +12,10 @@
|
|||
<div class="container-fluid anchor pb-5 recent-posts-section">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
<div class="container">
|
||||
<div class="row" id="recent-post-cards">
|
||||
|
|
|
@ -6,7 +6,10 @@
|
|||
<div class="container-fluid anchor pb-5 skills-section">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ else }}
|
||||
<h1 class="text-center" style="display: none">
|
||||
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
<div class="container d-flex-block">
|
||||
<div class="row" id="primary-skills">
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
<!-- valine -->
|
||||
<div id="vcomments"></div>
|
||||
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
|
||||
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "{{ .valine.appId }}",
|
||||
appKey: "{{ .valine.appKey }}",
|
||||
avatar: "{{ .valine.avatar }}",
|
||||
placeholder: "{{ .valine.placeholder }}",
|
||||
visitor: "{{ .valine.visitor }}",
|
||||
lang: "{{ .valine.lang }}",
|
||||
recordIP: "{{ .valine.recordIP }}",
|
||||
enableQQ: "{{ .valine.enableQQ }}",
|
||||
});
|
||||
</script>
|
13
layouts/shortcodes/mermaid.html
Normal file
13
layouts/shortcodes/mermaid.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{{ $alignment:= .Get "align"}}
|
||||
{{ if not $alignment }}
|
||||
{{ $alignment = "center"}}
|
||||
{{ end }}
|
||||
|
||||
{{ $background:= .Get "background" }}
|
||||
{{ if not $background }}
|
||||
{{ $background = "none"}}
|
||||
{{ end }}
|
||||
|
||||
<div class="mermaid" align="{{ $alignment }}" style="background-color: {{ $background }}; border-radius: 5px;">
|
||||
{{ safeHTML .Inner }}
|
||||
</div>
|
|
@ -20,7 +20,7 @@
|
|||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
|
200
package-lock.json
generated
200
package-lock.json
generated
|
@ -8,8 +8,8 @@
|
|||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.4.2",
|
||||
"postcss": "^8.4.5",
|
||||
"autoprefixer": "^10.4.4",
|
||||
"postcss": "^8.4.12",
|
||||
"postcss-cli": "^8.3.1"
|
||||
}
|
||||
},
|
||||
|
@ -104,14 +104,24 @@
|
|||
}
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.4.2",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz",
|
||||
"integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==",
|
||||
"version": "10.4.4",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz",
|
||||
"integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"browserslist": "^4.19.1",
|
||||
"caniuse-lite": "^1.0.30001297",
|
||||
"fraction.js": "^4.1.2",
|
||||
"browserslist": "^4.20.2",
|
||||
"caniuse-lite": "^1.0.30001317",
|
||||
"fraction.js": "^4.2.0",
|
||||
"normalize-range": "^0.1.2",
|
||||
"picocolors": "^1.0.0",
|
||||
"postcss-value-parser": "^4.2.0"
|
||||
|
@ -122,10 +132,6 @@
|
|||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"postcss": "^8.1.0"
|
||||
}
|
||||
|
@ -152,15 +158,25 @@
|
|||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.19.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
|
||||
"integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
|
||||
"version": "4.20.2",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
|
||||
"integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001286",
|
||||
"electron-to-chromium": "^1.4.17",
|
||||
"caniuse-lite": "^1.0.30001317",
|
||||
"electron-to-chromium": "^1.4.84",
|
||||
"escalade": "^3.1.1",
|
||||
"node-releases": "^2.0.1",
|
||||
"node-releases": "^2.0.2",
|
||||
"picocolors": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
|
@ -168,21 +184,23 @@
|
|||
},
|
||||
"engines": {
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001299",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
|
||||
"integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==",
|
||||
"version": "1.0.30001319",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
|
||||
"integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
}
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
|
@ -278,9 +296,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.33",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz",
|
||||
"integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==",
|
||||
"version": "1.4.90",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.90.tgz",
|
||||
"integrity": "sha512-ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
|
@ -336,9 +354,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/fraction.js": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz",
|
||||
"integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
|
@ -603,9 +621,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.1.30",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
|
||||
"integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
|
||||
"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
|
@ -615,9 +633,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
|
||||
"integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
|
@ -675,21 +693,27 @@
|
|||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.5",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
|
||||
"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
|
||||
"version": "8.4.12",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
|
||||
"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.1.30",
|
||||
"nanoid": "^3.3.1",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.1"
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-cli": {
|
||||
|
@ -888,9 +912,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
|
||||
"integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
|
@ -1083,14 +1107,14 @@
|
|||
"dev": true
|
||||
},
|
||||
"autoprefixer": {
|
||||
"version": "10.4.2",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz",
|
||||
"integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==",
|
||||
"version": "10.4.4",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.4.tgz",
|
||||
"integrity": "sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"browserslist": "^4.19.1",
|
||||
"caniuse-lite": "^1.0.30001297",
|
||||
"fraction.js": "^4.1.2",
|
||||
"browserslist": "^4.20.2",
|
||||
"caniuse-lite": "^1.0.30001317",
|
||||
"fraction.js": "^4.2.0",
|
||||
"normalize-range": "^0.1.2",
|
||||
"picocolors": "^1.0.0",
|
||||
"postcss-value-parser": "^4.2.0"
|
||||
|
@ -1112,22 +1136,22 @@
|
|||
}
|
||||
},
|
||||
"browserslist": {
|
||||
"version": "4.19.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz",
|
||||
"integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==",
|
||||
"version": "4.20.2",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz",
|
||||
"integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"caniuse-lite": "^1.0.30001286",
|
||||
"electron-to-chromium": "^1.4.17",
|
||||
"caniuse-lite": "^1.0.30001317",
|
||||
"electron-to-chromium": "^1.4.84",
|
||||
"escalade": "^3.1.1",
|
||||
"node-releases": "^2.0.1",
|
||||
"node-releases": "^2.0.2",
|
||||
"picocolors": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001299",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
|
||||
"integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==",
|
||||
"version": "1.0.30001319",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz",
|
||||
"integrity": "sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
|
@ -1204,9 +1228,9 @@
|
|||
}
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.4.33",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz",
|
||||
"integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==",
|
||||
"version": "1.4.90",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.90.tgz",
|
||||
"integrity": "sha512-ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==",
|
||||
"dev": true
|
||||
},
|
||||
"emoji-regex": {
|
||||
|
@ -1253,9 +1277,9 @@
|
|||
}
|
||||
},
|
||||
"fraction.js": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz",
|
||||
"integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
|
||||
"dev": true
|
||||
},
|
||||
"fs-extra": {
|
||||
|
@ -1447,15 +1471,15 @@
|
|||
}
|
||||
},
|
||||
"nanoid": {
|
||||
"version": "3.1.30",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
|
||||
"integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
|
||||
"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
|
||||
"dev": true
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
|
||||
"integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==",
|
||||
"dev": true
|
||||
},
|
||||
"normalize-path": {
|
||||
|
@ -1495,14 +1519,14 @@
|
|||
"dev": true
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.4.5",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
|
||||
"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
|
||||
"version": "8.4.12",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
|
||||
"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"nanoid": "^3.1.30",
|
||||
"nanoid": "^3.3.1",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.1"
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"postcss-cli": {
|
||||
|
@ -1620,9 +1644,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"source-map-js": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
|
||||
"integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"dev": true
|
||||
},
|
||||
"string-width": {
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
},
|
||||
"homepage": "https://github.com/hossainemruz/toha#readme",
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.4.2",
|
||||
"postcss": "^8.4.5",
|
||||
"autoprefixer": "^10.4.4",
|
||||
"postcss": "^8.4.12",
|
||||
"postcss-cli": "^8.3.1"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
.education-section .education-info-table {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.education-section .education-info-table tr:hover {
|
||||
|
@ -12,6 +13,7 @@
|
|||
.education-section .education-info-table td {
|
||||
border: none;
|
||||
padding: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.education-section .timeframe {
|
||||
|
|
6
static/fontawesome/css/all.min.css
vendored
Normal file
6
static/fontawesome/css/all.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
static/fontawesome/webfonts/fa-brands-400.ttf
Normal file
BIN
static/fontawesome/webfonts/fa-brands-400.ttf
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-brands-400.woff2
Normal file
BIN
static/fontawesome/webfonts/fa-brands-400.woff2
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-regular-400.ttf
Normal file
BIN
static/fontawesome/webfonts/fa-regular-400.ttf
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-regular-400.woff2
Normal file
BIN
static/fontawesome/webfonts/fa-regular-400.woff2
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-solid-900.ttf
Normal file
BIN
static/fontawesome/webfonts/fa-solid-900.ttf
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-solid-900.woff2
Normal file
BIN
static/fontawesome/webfonts/fa-solid-900.woff2
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-v4compatibility.ttf
Normal file
BIN
static/fontawesome/webfonts/fa-v4compatibility.ttf
Normal file
Binary file not shown.
BIN
static/fontawesome/webfonts/fa-v4compatibility.woff2
Normal file
BIN
static/fontawesome/webfonts/fa-v4compatibility.woff2
Normal file
Binary file not shown.
1
static/js/katex.min.js
vendored
1
static/js/katex.min.js
vendored
File diff suppressed because one or more lines are too long
3
static/js/mermaid-8.14.0.min.js
vendored
Normal file
3
static/js/mermaid-8.14.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
static/katex/fonts/KaTeX_AMS-Regular.ttf
Normal file
BIN
static/katex/fonts/KaTeX_AMS-Regular.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_AMS-Regular.woff
Normal file
BIN
static/katex/fonts/KaTeX_AMS-Regular.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_AMS-Regular.woff2
Normal file
BIN
static/katex/fonts/KaTeX_AMS-Regular.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Caligraphic-Bold.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Caligraphic-Bold.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Caligraphic-Bold.woff
Normal file
BIN
static/katex/fonts/KaTeX_Caligraphic-Bold.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Caligraphic-Bold.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Caligraphic-Bold.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Caligraphic-Regular.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Caligraphic-Regular.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Caligraphic-Regular.woff
Normal file
BIN
static/katex/fonts/KaTeX_Caligraphic-Regular.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Caligraphic-Regular.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Caligraphic-Regular.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Fraktur-Bold.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Fraktur-Bold.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Fraktur-Bold.woff
Normal file
BIN
static/katex/fonts/KaTeX_Fraktur-Bold.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Fraktur-Bold.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Fraktur-Bold.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Fraktur-Regular.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Fraktur-Regular.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Fraktur-Regular.woff
Normal file
BIN
static/katex/fonts/KaTeX_Fraktur-Regular.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Fraktur-Regular.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Fraktur-Regular.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Bold.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Main-Bold.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Bold.woff
Normal file
BIN
static/katex/fonts/KaTeX_Main-Bold.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Bold.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Main-Bold.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-BoldItalic.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Main-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-BoldItalic.woff
Normal file
BIN
static/katex/fonts/KaTeX_Main-BoldItalic.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-BoldItalic.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Main-BoldItalic.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Italic.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Main-Italic.ttf
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Italic.woff
Normal file
BIN
static/katex/fonts/KaTeX_Main-Italic.woff
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Italic.woff2
Normal file
BIN
static/katex/fonts/KaTeX_Main-Italic.woff2
Normal file
Binary file not shown.
BIN
static/katex/fonts/KaTeX_Main-Regular.ttf
Normal file
BIN
static/katex/fonts/KaTeX_Main-Regular.ttf
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue