Merge branch 'hugo-toha:main' into main

This commit is contained in:
Pablo Marcos 2022-10-17 20:55:08 +02:00 committed by GitHub
commit 65b2890304
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
455 changed files with 14769 additions and 541 deletions

View file

@ -6,8 +6,8 @@ title: 'Feature Request'
<!--- <!---
Before filing an issue, please review the following: Before filing an issue, please review the following:
Existing Features: https://github.com/hossainemruz/toha#features Existing Features: https://github.com/hugo-toha/toha#features
Project Roadmap: https://github.com/hossainemruz/toha#project-roadmap Project Roadmap: https://github.com/hugo-toha/toha#project-roadmap
--> -->
### Describe the solution you'd like ### Describe the solution you'd like

View file

@ -8,10 +8,10 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout to latest commit - name: Checkout to latest commit
uses: actions/checkout@v2.4.0 uses: actions/checkout@v3.1.0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v2.5.1 uses: actions/setup-node@v3
with: with:
node-version: "15.x" node-version: "15.x"
@ -21,7 +21,7 @@ jobs:
npm run autoprefixer npm run autoprefixer
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v3.12.1 uses: peter-evans/create-pull-request@v4
with: with:
branch: autoprefixer branch: autoprefixer
branch-suffix: timestamp branch-suffix: timestamp

28
.github/workflows/build.yml vendored Normal file
View 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@v3.1.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

View file

@ -39,11 +39,11 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2.4.0 uses: actions/checkout@v3.1.0
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v1 uses: github/codeql-action/init@v2
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
@ -54,7 +54,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@v2
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@ -68,4 +68,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@v2

View file

@ -10,6 +10,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# Create/Update release draft # Create/Update release draft
- uses: release-drafter/release-drafter@v5.18.1 - uses: release-drafter/release-drafter@v5.21.0
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -8,6 +8,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# checkout to latest commit # checkout to latest commit
- uses: actions/checkout@v2.4.0 - uses: actions/checkout@v3.1.0
# run markdown linter # 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

View file

@ -106,7 +106,7 @@ jobs:
# Set the "Type" field to appropriate option # Set the "Type" field to appropriate option
gh api graphql -f query=' gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: ID!) { mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: String!) {
updateProjectNextItemField(input: { updateProjectNextItemField(input: {
projectId: $project projectId: $project
itemId: $item itemId: $item
@ -136,7 +136,7 @@ jobs:
fi fi
gh api graphql -f query=' gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: ID!) { mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
updateProjectNextItemField(input: { updateProjectNextItemField(input: {
projectId: $project projectId: $project
itemId: $item itemId: $item

View file

@ -109,7 +109,7 @@ jobs:
# Set the "Type" field to appropriate option # Set the "Type" field to appropriate option
gh api graphql -f query=' gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: ID!) { mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: String!) {
updateProjectNextItemField(input: { updateProjectNextItemField(input: {
projectId: $project projectId: $project
itemId: $item itemId: $item
@ -153,7 +153,7 @@ jobs:
echo 'PR_STATUS='$OPTION_ID >> $GITHUB_ENV echo 'PR_STATUS='$OPTION_ID >> $GITHUB_ENV
gh api graphql -f query=' gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: ID!) { mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
updateProjectNextItemField(input: { updateProjectNextItemField(input: {
projectId: $project projectId: $project
itemId: $item itemId: $item
@ -204,7 +204,7 @@ jobs:
# Update the Issue Status # Update the Issue Status
gh api graphql -f query=' gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: ID!) { mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
updateProjectNextItemField(input: { updateProjectNextItemField(input: {
projectId: $project projectId: $project
itemId: $item itemId: $item

2
.gitignore vendored
View file

@ -3,3 +3,5 @@ node_modules/
.DS_Store .DS_Store
.history/ .history/
resources/ resources/
public/
.hugo_build.lock

View file

@ -30,8 +30,16 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
- Achievement Gallery - Achievement Gallery
- Sidebar to Categorize the Posts - Sidebar to Categorize the Posts
- Short Codes - Short Codes
- Google Analytics Support - Analytics Support
- Disqus Comment Support - GoatCounter
- counter.dev
- Google Analytics
- Matomo/Piwik
- 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/). For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
@ -49,7 +57,11 @@ For more details about the features please visit [here](https://toha-guides.netl
- 日本語 - 日本語
- 한국어 - 한국어
- русский - русский
- suomi
- Tiếng Việt - Tiếng Việt
- Turkish
- Arabic (العربية)
- Português
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). 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 +83,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
## Requirements ## Requirements
- Hugo Version 0.68.0 or higher - Hugo Version 0.87.0 or higher
## Usage ## Usage
@ -137,6 +149,9 @@ params:
# specify whether you want to show Table of Contents in reading page # specify whether you want to show Table of Contents in reading page
enableTOC: true enableTOC: true
# specify whether you want the language flags to be displayed.
showFlags: true
# Provide newsletter configuration. # Provide newsletter configuration.
# This feature has been implemented for Mailchimp only for now. # This feature has been implemented for Mailchimp only for now.
# You can also hide it from the footer. # You can also hide it from the footer.
@ -165,10 +180,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. Here, are some handy shortcodes you can use with this theme.
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/) - [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/) - [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/) - [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/) - [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 ## Project Roadmap
@ -230,13 +247,14 @@ Here is the check list for portfolio mode,
- [ ] **Publications** - [ ] **Publications**
- [ ] Category Filter - [x] Category Filter
- [ ] Card - [x] Card
- [ ] Abstract - [x] Tags
- [ ] Authors - [x] Links
- [ ] Tags - [ ] Dedicated Page
- [ ] Links - [ ] Abstract
- [ ] Gallery - [ ] Authors
- [ ] Gallery
- [x] **Accomplishment / Courses** - [x] **Accomplishment / Courses**

7
go.mod Normal file
View file

@ -0,0 +1,7 @@
module github.com/hugo-toha/toha
go 1.12
// require(
// )

126
i18n/ar.toml Normal file
View file

@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "الصفحة الرئيسية"
[posts]
other = "المنشورات"
[toc_heading]
other = "قائمة المحتويات"
[tags]
other = "الوسوم"
[categories]
other = "الأقسام"
[at]
other = "at"
[resume]
other = "سيرتي الذاتية"
[navigation]
other = "التصفح"
[contact_me]
other = "اتصل بي:"
[email]
other = "البريد الإلكتروني"
[phone]
other = "الهاتف"
[newsletter_text]
other = "ابق على اتصال من خلال القائمة البريدية"
[newsletter_input_placeholder]
other = "ادخل بريدك الالكتروني"
[newsletter_warning]
other = "بإدخال بريدك الإلكتروني، أنت توافق على تلقي رسائل إلكترونية دورية من هذا الموقع."
[submit]
other = "إرسال"
[hugoAttributionText]
other = "صنع باستخدام"
[prev]
other = "السابق"
[next]
other = "التالي"
[share_on]
other = "المشاركة على"
[improve_this_page]
other = "ساعد في تحسين هذه الصفحة"
[out_of]
other = "من"
[publications]
other = "المنشورات"
[taken_courses]
other = "الدروس"
[course_name]
other = "اسم المادة"
[total_credit]
other = "العلامة العامة"
[obtained_credit]
other = "العلامة"
[extracurricular_activities]
other = "نشاطات خارجية"
[show_more]
other = "إظهار المزيد"
[show_less]
other = "إخفاء"
[responsibilities]
other = "المسؤوليات:"
[present]
other = "حاليا"
[comments_javascript]
other = "من فضلك قم بتفعيل جافاسكريب لإظهار"
[comments_by]
other = "التعليقات موفرة بواسطة"
[read]
other = "قراءة"
[project_star]
other = "نجمة"
[project_details]
other = "التفاصيل"
[err_404]
other = "الصفحة التي تبحث عنها ليست بعد هناك."
[more]
other = "المزيد"
[view_certificate]
other = "إظهار الشهادة"
[notes]
other = "ملاحظات"
[disclaimer_text]
other = "إشعار بالمسؤولية"
[search]
other = "بحث"

View file

@ -118,3 +118,6 @@ other = "নোট সমূহ"
[disclaimer_text] [disclaimer_text]
other = "দায় বিজ্ঞপ্তি" other = "দায় বিজ্ঞপ্তি"
[search]
other = "অনুসন্ধান করুন"

View file

@ -72,10 +72,10 @@ other = "Belegte Kurse"
other = "Kursname" other = "Kursname"
[total_credit] [total_credit]
other = "Gesamtguthaben" other = "Mögliche Punktzahl"
[obtained_credit] [obtained_credit]
other = "Erhaltenes Guthaben" other = "Note"
[extracurricular_activities] [extracurricular_activities]
other = "Außerschulische Aktivitäten" other = "Außerschulische Aktivitäten"
@ -108,7 +108,7 @@ other = "Star"
other = "Details" other = "Details"
[err_404] [err_404]
other = "Die Seite nach der Seite ist noch nicht vorhanden." other = "Die von Ihnen gesuchte Seite ist noch nicht vorhanden."
[more] [more]
other = "Mehr" other = "Mehr"
@ -121,3 +121,6 @@ other = "Notizen"
[disclaimer_text] [disclaimer_text]
other = "Haftungshinweis" other = "Haftungshinweis"
[search]
other = "Suche"

View file

@ -121,3 +121,6 @@ other = "Notes"
[disclaimer_text] [disclaimer_text]
other = "Liability Notice" other = "Liability Notice"
[search]
other = "Search"

View file

@ -121,3 +121,6 @@ other = "Notas"
[disclaimer_text] [disclaimer_text]
other = "Aviso de responsabilidad" other = "Aviso de responsabilidad"
[search]
other = "Búsqueda"

126
i18n/fi.toml Normal file
View 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"

View file

@ -121,3 +121,6 @@ other = "Remarques"
[disclaimer_text] [disclaimer_text]
other = "Avis de responsabilité" other = "Avis de responsabilité"
[search]
other = "Chercher"

View file

@ -121,3 +121,6 @@ other = "टिप्पणियाँ"
[disclaimer_text] [disclaimer_text]
other = "दायित्व सूचना" other = "दायित्व सूचना"
[search]
other = "खोज"

View file

@ -121,3 +121,6 @@ other = "Catatan"
[disclaimer_text] [disclaimer_text]
other = "Pemberitahuan Kewajiban" other = "Pemberitahuan Kewajiban"
[search]
other = "Mencari"

View file

@ -121,3 +121,6 @@ other = "Appunti"
[disclaimer_text] [disclaimer_text]
other = "Avviso di responsabilità" other = "Avviso di responsabilità"
[search]
other = "Ricerca"

View file

@ -118,3 +118,6 @@ other = "ノート"
[disclaimer_text] [disclaimer_text]
other = "責任通知" other = "責任通知"
[search]
other = "検索"

View file

@ -121,3 +121,6 @@ other = "메모"
[disclaimer_text] [disclaimer_text]
other = "책임 고지" other = "책임 고지"
[search]
other = "찾다"

View file

@ -1,11 +1,11 @@
[home] [home]
other = "Startseite" other = "Hoofdpagina"
[posts] [posts]
other = "Beiträge" other = "Posts"
[toc_heading] [toc_heading]
other = "Inhaltsverzeichnis" other = "Inhoudsopgave"
[tags] [tags]
other = "Tags" other = "Tags"
@ -14,49 +14,49 @@ other = "Tags"
other = "Categorieën" other = "Categorieën"
[at] [at]
other = "bei" other = "bij"
[resume] [resume]
other = "Mein Lebenslauf" other = "Curriculum Vitae"
[navigation] [navigation]
other = "Navigation" other = "Navigatie"
[contact_me] [contact_me]
other = "Kontakt aufnehmen" other = "Contactgegevens"
[email] [email]
other = "E-Mail" other = "E-Mail"
[phone] [phone]
other = "Telefon" other = "Telefoon"
[newsletter_text] [newsletter_text]
other = "Mit dem Newsletter auf dem neuesten Stand bleiben" other = "Ontvang updates via email"
[newsletter_input_placeholder] [newsletter_input_placeholder]
other = "E-Mail-Adresse eingeben" other = "Email ingeven"
[newsletter_warning] [newsletter_warning]
other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website." other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
[submit] [submit]
other = "Absenden" other = "Opslaan"
[hugoAttributionText] [hugoAttributionText]
other = "Unterstützt von" other = "Mogelijk gemaakt met"
[prev] [prev]
other = "Vorherige" other = "Vorige"
[next] [next]
other = "Nächste" other = "Volgende"
# [share_on] [share_on]
# other = "Share on" other = "Delen op"
[improve_this_page] [improve_this_page]
other = "Diese Seite verbessern" other = "Deze pagina verbeteren"
[out_of] [out_of]
other = "van de" other = "van de"
@ -65,7 +65,7 @@ other = "van de"
other = "Publicaties" other = "Publicaties"
[taken_courses] [taken_courses]
other = "Cursussen gevolgd" other = "Gevolgde cursussen"
[course_name] [course_name]
other = "Cursus naam" other = "Cursus naam"
@ -85,11 +85,11 @@ other = "Bekijk meer"
[show_less] [show_less]
other = "Laat minder zien" other = "Laat minder zien"
# [responsibilities] [responsibilities]
# other = "Responsibilities:" other = "Verantwoordelijkheden:"
# [present] [present]
# other = "Present" other = "Heden"
# [comments_javascript] # [comments_javascript]
# other = "Please enable JavaScript to view the" # other = "Please enable JavaScript to view the"
@ -103,11 +103,11 @@ other = "Laat minder zien"
# [project_star] # [project_star]
# other = "Star" # other = "Star"
# [project_details] [project_details]
# other = "Details" other = "Details"
# [err_404] [err_404]
# other = "The page you are looking for is not there yet." other = "De pagina waar je voor zoekt bestaat nog niet."
[more] [more]
other = "Meer" other = "Meer"
@ -119,4 +119,7 @@ other = "Bekijk certificaat"
other = "Opmerkingen" other = "Opmerkingen"
[disclaimer_text] [disclaimer_text]
other = "Haftungshinweis" other = "Aansprakelijkheidsverklaring"
[search]
other = "Zoek"

126
i18n/pt.toml Normal file
View file

@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Início"
[posts]
other = "Artigos"
[toc_heading]
other = "Tabela de conteúdos"
[tags]
other = "Etiquetas"
[categories]
other = "Categorias"
[at]
other = "em"
[resume]
other = "O meu Currículo"
[navigation]
other = "Navegação"
[contact_me]
other = "Contacte-me:"
[email]
other = "Email"
[phone]
other = "Telefone"
[newsletter_text]
other = "Mantenha-se actualizado com notificações por email"
[newsletter_input_placeholder]
other = "Inserir email"
[newsletter_warning]
other = "Ao submeter o seu endereço de email, concorda em receber a newsletter deste website."
[submit]
other = "Enviar"
[hugoAttributionText]
other = "Desenvolvido por"
[prev]
other = "Anterior"
[next]
other = "Próximo"
[share_on]
other = "Partilha"
[improve_this_page]
other = "Melhore esta página"
[out_of]
other = "de"
[publications]
other = "Publicações"
[taken_courses]
other = "Cursos frequentados"
[course_name]
other = "Nome do Curso"
[total_credit]
other = "Créditos Totais"
[obtained_credit]
other = "Créditos Obtidos"
[extracurricular_activities]
other = "Actividades Extracurriculares"
[show_more]
other = "Ver Mais"
[show_less]
other = "Ver Menos"
[responsibilities]
other = "Responsabilidades:"
[present]
other = "Presente"
[comments_javascript]
other = "Por favor active JavaScript para ver o"
[comments_by]
other = "comentários por"
[read]
other = "Ler"
[project_star]
other = "Star"
[project_details]
other = "Detalhes"
[err_404]
other = "A página que procura ainda não está aqui."
[more]
other = "Mais"
[view_certificate]
other = "Ver Certificado"
[notes]
other = "Notas"
[disclaimer_text]
other = "Nota legal"
[search]
other = "Pesquisar"

View file

@ -121,3 +121,6 @@ other = "Ноты"
[disclaimer_text] [disclaimer_text]
other = "Уведомление об ответственности" other = "Уведомление об ответственности"
[search]
other = "Поиск"

126
i18n/tr.toml Normal file
View file

@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Anasayfa"
[posts]
other = "Gönderiler"
[toc_heading]
other = "İçerik Tablous"
[tags]
other = "Etiketler"
[categories]
other = "Kategoriler"
[at]
other = ","
[resume]
other = "Özgeçmişim"
[navigation]
other = "Menü"
[contact_me]
other = "İletişime geç:"
[email]
other = "E-Posta"
[phone]
other = "Telefon"
[newsletter_text]
other = "Yeni içeriklerden haberdar olmak için E-Posta adresinizi giriniz."
[newsletter_input_placeholder]
other = "E-Posta adresi giriniz."
[newsletter_warning]
other = "E-Posta adresini girerseniz, bu web sitesinin haber bültenini almayı kabul ediyorsunuz."
[submit]
other = "Onayla"
[hugoAttributionText]
other = ""
[prev]
other = "Önceki"
[next]
other = "Sonraki"
[share_on]
other = "Paylaş"
[improve_this_page]
other = "Bu sayfaya katkıda bulunun"
[out_of]
other = "/"
[publications]
other = "Akademik Yayınlar"
[taken_courses]
other = "Alınan Dersler"
[course_name]
other = "Ders Adı"
[total_credit]
other = "Üzerinden"
[obtained_credit]
other = "Alınan Not"
[extracurricular_activities]
other = "Ders Dışı Aktiviteler"
[show_more]
other = "Devamını Göster"
[show_less]
other = "Gizle"
[responsibilities]
other = "Sorumluluklar:"
[present]
other = "Halen"
[comments_javascript]
other = "Görüntüleyebilmek için lüften Javascript etkinleştirin"
[comments_by]
other = "comments powered by"
[read]
other = "Oku"
[project_star]
other = "Star"
[project_details]
other = "Detaylar"
[err_404]
other = "Aradığınız sayfa bulunmamakta."
[more]
other = "Devamını Göster"
[view_certificate]
other = "Sertifikayı Görüntüle"
[notes]
other = "Notlar"
[disclaimer_text]
other = "Yükümlülük Bildirisi"
[search]
other = "Ara"

View file

@ -121,3 +121,6 @@ other = "Ghi chú"
[disclaimer_text] [disclaimer_text]
other = "Thông báo trách nhiệm" other = "Thông báo trách nhiệm"
[search]
other = "Tìm kiếm"

View file

@ -121,3 +121,6 @@ other = "笔记"
[disclaimer_text] [disclaimer_text]
other = "免责声明" other = "免责声明"
[search]
other = "搜索"

View file

@ -86,29 +86,29 @@ other = "查看更多"
[show_less] [show_less]
other = "顯示較少" other = "顯示較少"
# [responsibilities] [responsibilities]
# other = "Responsibilities:" other = "職責:"
# [present] [present]
# other = "Present" other = "現在"
# [comments_javascript] [comments_javascript]
# other = "Please enable JavaScript to view the" other = "請開啟 JavaScript 查看"
# [comments_by] [comments_by]
# other = "comments powered by" other = "評論由"
# [read] [read]
# other = "Read" other = "閱讀"
# [project_star] [project_star]
# other = "Star" other = "Star"
# [project_details] [project_details]
# other = "Details" other = "詳情"
# [err_404] [err_404]
# other = "The page you are looking for is not there yet." other = "您訪問的頁面不存在"
[more] [more]
other = "更多的" other = "更多的"
@ -121,3 +121,6 @@ other = "筆記"
[disclaimer_text] [disclaimer_text]
other = "免責聲明" other = "免責聲明"
[search]
other = "搜索"

View file

@ -9,16 +9,9 @@
<!------ ADD PAGE SPECIFIC HEADERS -------> <!------ ADD PAGE SPECIFIC HEADERS ------->
{{ block "header" . }} {{ end }} {{ block "header" . }} {{ end }}
<!-- ADD GOOGLE ANALYTICS IF ENABLED --> <!--================= add analytics if enabled =========================-->
{{ if site.GoogleAnalytics }} {{- partial "analytics.html" . -}}
<!-- 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 }}
</head> </head>
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80"> <body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
@ -45,5 +38,9 @@
<!------- ADD PAGE SPECIFIC SCRIPTS ------> <!------- ADD PAGE SPECIFIC SCRIPTS ------>
{{ block "scripts" . }} {{ end }} {{ block "scripts" . }} {{ end }}
<!------ IF WANTED, ADD SUPPORT LINKS -------->
{{- partial "misc/support.html" . -}}
</body> </body>
</html> </html>

View file

@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">

43
layouts/_default/rss.xml Normal file
View 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>

View file

@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">

View file

@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">
@ -40,7 +40,7 @@
<div class="content"> <div class="content">
<div class="container p-0 read-area"> <div class="container p-0 read-area">
<!--Hero Area--> <!--Hero Area-->
<div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ strings.TrimSuffix "/" site.BaseURL }}{{ partial "helpers/get-hero.html" . }});'> <div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ partial "helpers/get-hero.html" . }});'>
</div> </div>
<!--Content Start--> <!--Content Start-->
@ -136,7 +136,7 @@
{{ end }} {{ end }}
<div class="col-md-6 btn-improve-page"> <div class="col-md-6 btn-improve-page">
{{ if ( eq site.Params.GitForge "gitlab" ) }} {{ 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" ) }} {{ 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"> <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 --> {{ else }} <!--- Make Github-style the default -->
@ -157,23 +157,13 @@
<hr /> <hr />
<!----- Add comment support -----> <!----- Add comment support ----->
{{ with site.Params.features.comment }} {{ if site.Params.features.comment.enable }}
{{ if .enable }} {{ partial "comments.html" site.Params.features.comment }}
<!-- 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 }}
{{ end }} {{ end }}
<!-- Keep backward compatibility with old config.yaml --> <!-- Keep backward compatibility with old config.yaml -->
{{ if site.DisqusShortname }} {{ if site.DisqusShortname }}
{{ partial "disqus.html" . }} {{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
{{ end }} {{ end }}
</div> </div>
@ -189,7 +179,7 @@
{{ define "toc" }} {{ define "toc" }}
<section class="toc-section" id="toc-section"> <section class="toc-section" id="toc-section">
{{ if site.Params.enableTOC }} {{ if and site.Params.enableTOC ( .Params.enableTOC | default true ) }}
<div class="toc-holder"> <div class="toc-holder">
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5> <h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
<hr> <hr>
@ -207,7 +197,15 @@
<script> <script>
hljs.initHighlightingOnLoad(); hljs.initHighlightingOnLoad();
</script> </script>
<!-------------- Enable Math support for this page ---------------->
{{ if .Params.math }} {{ if .Params.math }}
{{ partial "math.html" . }} {{ partial "math.html" . }}
{{ end }} {{ end }}
<!-------------- Enable mermaid support for this page ---------------->
{{ if .Params.mermaid }}
{{ partial "mermaid.html" . }}
{{ end }}
{{ end }} {{ end }}

View file

@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">

View file

@ -25,20 +25,13 @@
<link rel="stylesheet" href="{{ "/css/sections/recent-posts.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/sections/recent-posts.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/achievements.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/sections/achievements.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/accomplishments.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/sections/accomplishments.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/publications.css" | relURL }}"/>
<!--================= custom style overrides =========================--> <!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
<!-- Add Google Analytics if enabled in configuration --> <!--================= add analytics if enabled =========================-->
{{ if site.GoogleAnalytics }} {{- partial "analytics.html" . -}}
<!-- 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 }}
</head> </head>
<body data-spy="scroll" data-target="#top-navbar" data-offset="100"> <body data-spy="scroll" data-target="#top-navbar" data-offset="100">
@ -87,5 +80,9 @@
<script src="{{ "/js/github-button.js" | relURL }}"></script> <script src="{{ "/js/github-button.js" | relURL }}"></script>
<script src="{{ "/js/home.js" | relURL }}"></script> <script src="{{ "/js/home.js" | relURL }}"></script>
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script> <script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
<!------ ADD SUPPORT LINKS -------->
{{- partial "misc/support.html" . -}}
</body> </body>
</html> </html>

View file

@ -21,7 +21,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">

View file

@ -21,7 +21,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">

View file

@ -0,0 +1,67 @@
<!-- 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 }}
<!-- Piwik/Matomo -->
{{ with .matomo }}
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//{{ .instance }}/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '{{ .siteId }}']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
{{ end }}
{{ end }}
{{ end }}
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
{{ if site.GoogleAnalytics }}
{{ template "_internal/google_analytics.html" . }}
{{ end }}

View file

@ -0,0 +1,39 @@
{{ $dataCategories:= slice "pub-all"}}
{{ range .categories}}
{{ $dataCategories = $dataCategories | append (printf "pub-%s" .)}}
{{end}}
<div
class="col-12 p-2 pub-filtr-item"
data-category='{{ delimit $dataCategories ","}}'
>
<div class="card mt-3">
<div class="card-header">
<h5 class="card-title mb-0">{{ .title }}</h5>
<div class="sub-title">
<span><a class="" href="{{.publishedIn.url}}">{{ .publishedIn.name }}</a></span>
<span class="ml-2">{{ .publishedIn.date }}</span>
</div>
<div class="authors">
{{ range $index,$author:= .authors }}
<span class="mr-2"><a class="" href="{{.url}}">{{ .name }}</a></span>
{{ end }}
</div>
</div>
<div class="card-body">
<p>{{ .paper.summary | markdownify }}</p>
</div>
<div class="card-footer">
<div class="tags">
{{ range $index,$tag:= .tags }}
<span class="btn badge btn-info ml-1 p-2">
{{ $tag }}
</span>
{{ end }}
</div>
<div class="details-btn">
<a class="btn btn-outline-info ml-1 pl-2 mb-2" href="{{ .paper.url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a>
</div>
</div>
</div>
</div>

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

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

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

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

View file

@ -1,6 +1,7 @@
{{ $repo := site.Params.features.comment.utteranc.repo }} {{ with .utteranc }}
{{ $issueTerm := site.Params.features.comment.utteranc.issueTerm }} {{ $repo := .repo }}
{{ $theme := site.Params.features.comment.utteranc.theme }} {{ $issueTerm := .issueTerm }}
{{ $theme := .theme }}
<div id="utteranc_thread"></div> <div id="utteranc_thread"></div>
<div id="comments" class="comments"> <div id="comments" class="comments">
@ -20,3 +21,4 @@
document.getElementById('comments-container').appendChild(utterances); document.getElementById('comments-container').appendChild(utterances);
})(); })();
</script> </script>
{{ end }}

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

View file

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

View file

@ -115,6 +115,20 @@
<li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener"> <li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener">
<span><i class="fab fa-github"></i></span> <span>{{ $value }}</span> <span><i class="fab fa-github"></i></span> <span>{{ $value }}</span>
</a></li> </a></li>
{{ else if reflect.IsMap $value }}
<li>
{{ if (and (isset $value "url") (isset $value "icon"))}}
<a href={{ $value.url }} target="_blank" rel="noopener">
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
</a>
{{ else if isset $value "icon" }}
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
{{ else }}
<a href={{ $value.url }} target="_blank" rel="noopener">
<span>{{ title $key }}: </span> <span>{{ $value.text }}</span>
</a>
{{ end }}
</li>
{{ else }} {{ else }}
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li> <li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
{{ end }} {{ end }}
@ -177,7 +191,7 @@
<div class="container"> <div class="container">
<div class="row text-left"> <div class="row text-left">
<div class="col-md-4"> <div class="col-md-4">
<a id="theme" href="https://github.com/hossainemruz/toha" target="_blank" rel="noopener"> <a id="theme" href="https://github.com/hugo-toha/toha" target="_blank" rel="noopener">
<img src="{{ $themeLogo }}" alt="Toha Theme Logo"> <img src="{{ $themeLogo }}" alt="Toha Theme Logo">
Toha Toha
</a> </a>

View file

@ -7,12 +7,19 @@
<link rel="stylesheet" href="{{ "/css/layouts/main.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/layouts/main.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
{{ if ne site.Params.showFlags false }}
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/katex.min.css" | relURL }}"> {{ end }}
<!--=================== fonts ==============================-->
<link rel="stylesheet" href="{{ "/google-fonts/Mulish/mulish.css" | relURL }}"/>
<!--=================== cdn ==============================--> <!--=================== icons ==============================-->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600"> <link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
<!--=================== dark mode ==========================-->
{{ if site.Params.darkMode.enable }}
<link rel="stylesheet" href="{{ "/css/colortheme/colortheme.css" | relURL }}"/>
{{ end }}
<!--================= fab-icon =========================--> <!--================= fab-icon =========================-->
{{/* add favicon only if the site author has provided the the favicon */}} {{/* add favicon only if the site author has provided the the favicon */}}

View file

@ -3,7 +3,7 @@
{{/* if hero image is specified in the page front-matter, then use that */}} {{/* if hero image is specified in the page front-matter, then use that */}}
{{ if .Params.hero }} {{ if .Params.hero }}
{{ $heroImage = .Page.Resources.GetMatch .Params.hero }} {{ $heroImage = resources.Get .Params.hero }}
{{ end }} {{ end }}
{{ .Scratch.Set "heroScratch" $heroImage }} {{ .Scratch.Set "heroScratch" $heroImage }}

View file

@ -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"> <link rel="stylesheet" href="{{ "/katex/katex.min.css" | relURL }}">
<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 type="text/javascript" defer src="{{ "/katex/katex.min.js" | relURL }}"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" <script type="text/javascript" defer src="{{ "/katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);">
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> </script>

View file

@ -0,0 +1,6 @@
<script src="{{ "/js/mermaid-8.14.0.min.js" | relURL }}"></script>
<script>
mermaid.initialize({
startOnLoad:true
});
</script>

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

View file

@ -5,15 +5,19 @@
<div class="dropdown languageSelector"> <div class="dropdown languageSelector">
<a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ if ne site.Params.showFlags false }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ end }}
{{ site.Language.LanguageName }} {{ site.Language.LanguageName }}
</a> </a>
<div class="dropdown-menu" aria-labelledby="languageSelector"> <div class="dropdown-menu" aria-labelledby="languageSelector">
{{ range .Translations }} {{ range .Translations }}
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}"> <a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ if ne site.Params.showFlags false }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ end }}
{{ .Language.LanguageName }} {{ .Language.LanguageName }}
</a> </a>
{{ end }} {{ end }}

View file

@ -5,15 +5,19 @@
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ if ne site.Params.showFlags false }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ end }}
{{ site.Language.LanguageName }} {{ site.Language.LanguageName }}
</a> </a>
<div class="dropdown-menu" aria-labelledby="languageSelector"> <div class="dropdown-menu" aria-labelledby="languageSelector">
{{ range .Translations }} {{ range .Translations }}
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}"> <a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ if ne site.Params.showFlags false }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ end }}
{{ .Language.LanguageName }} {{ .Language.LanguageName }}
</a> </a>
{{ end }} {{ end }}

View file

@ -1,16 +1,20 @@
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ if ne site.Params.showFlags false }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> {{ $countryCode := partial "helpers/country-code.html" . }}
{{ site.Language.LanguageName }} <span class="flag-icon flag-icon-{{$countryCode}}"></span>
</a> {{ end }}
<div class="dropdown-menu" aria-labelledby="languageSelector"> {{ site.Language.LanguageName }}
{{ range site.Home.AllTranslations }}
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
{{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ .Language.LanguageName }}
</a> </a>
{{ end }} <div class="dropdown-menu" aria-labelledby="languageSelector">
</div> {{ range site.Home.AllTranslations }}
</li> <a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
{{ if ne site.Params.showFlags false }}
{{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ end }}
{{ .Language.LanguageName }}
</a>
{{ end }}
</div>
</li>

View file

@ -47,6 +47,9 @@
{{ if .IsTranslated }} {{ if .IsTranslated }}
{{ partial "navigators/lang-selector-2.html" . }} {{ partial "navigators/lang-selector-2.html" . }}
{{ end }} {{ end }}
{{ if site.Params.darkMode.enable }}
{{ partial "navigators/theme-selector.html" . }}
{{ end }}
</ul> </ul>
</div> </div>
</div> </div>

View file

@ -66,7 +66,7 @@
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="top-nav-items"> <div class="collapse navbar-collapse dynamic-navbar" id="top-nav-items">
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#home">{{ i18n "home" }}</a> <a class="nav-link" href="#home">{{ i18n "home" }}</a>
@ -124,6 +124,9 @@
{{ if .IsTranslated }} {{ if .IsTranslated }}
{{ partial "navigators/lang-selector.html" . }} {{ partial "navigators/lang-selector.html" . }}
{{ end }} {{ end }}
{{ if site.Params.darkMode.enable }}
{{ partial "navigators/theme-selector.html" . }}
{{ end }}
</ul> </ul>
</div> </div>
</div> </div>

View file

@ -0,0 +1,20 @@
<li class="nav-item dropdown">
<!-- This is for initializing the color scheme selection for new visitors. See /js/darkmode.js -->
<div id="theme-initialization" style="display: none;"
default-theme="{{ site.Params.darkMode.default }}"></div>
<a class="nav-link dropdown-toggle" href="#" id="themeSelector" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img id="navbar-theme-icon-svg" src="{{ "/icons/moon-svgrepo-com.svg" }}" width=20>
</a>
<div class="dropdown-menu dropdown-menu-icons-only" aria-labelledby="themeSelector">
<a class="dropdown-item nav-link" href="#" onclick="enableLightTheme()">
<img class="menu-icon-center" src="{{ "/icons/sun-svgrepo-com.svg" }}" width=20>
</a>
<a class="dropdown-item nav-link" href="#" onclick="enableDarkTheme()">
<img class="menu-icon-center" src="{{ "/icons/moon-svgrepo-com.svg" }}" width=20>
</a>
<a class="dropdown-item nav-link" href="#" onclick="useSystemTheme()">
<img class="menu-icon-center" src="{{ "/icons/computer-svgrepo-com.svg" }}" width=20>
</a>
</div>
</li>

View file

@ -6,5 +6,9 @@
<script type="text/javascript" src="{{ "/js/plyr.js" | relURL }}"></script> <script type="text/javascript" src="{{ "/js/plyr.js" | relURL }}"></script>
<script type="text/javascript" src="{{ "/js/main.js" | relURL }}"></script> <script type="text/javascript" src="{{ "/js/main.js" | relURL }}"></script>
<script type="text/javascript" defer src="{{ "/js/katex.min.js" | relURL }}"></script> {{ if site.Params.darkMode.enable }}
<script type="text/javascript" defer src="{{ "/js/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);"></script> {{ if eq site.Params.darkMode.provider "darkreader" }}
<script type="text/javascript" src="{{ "/js/darkreader.js" | relURL }}"></script>
<script type="text/javascript" src="{{ "/js/darkmode-darkreader.js" | relURL }}"></script>
{{ end }}
{{ end }}

View file

@ -45,6 +45,11 @@
><button class="btn btn-dark">{{ i18n "resume"}}</button></a ><button class="btn btn-dark">{{ i18n "resume"}}</button></a
> >
{{ end }} {{ end }}
{{ range .resourceLinks }}
<a href="{{ .url | relURL }}" title="{{ .title }}" target="#"
><button class="btn btn-dark">{{ .title }}</button></a
>
{{ end }}
</div> </div>
<!-- soft skills circular-progressbar --> <!-- soft skills circular-progressbar -->
<div class="col-sm-6 pt-5 pl-md-4 pl-sm-3 pt-sm-0"> <div class="col-sm-6 pt-5 pl-md-4 pl-sm-3 pt-sm-0">

View file

@ -12,14 +12,17 @@
{{/* don't use "background-image: url('{{ $achievementImageSm }}');" Otherwise the images won't show in https://themes.gohugo.io/ */}} {{/* don't use "background-image: url('{{ $achievementImageSm }}');" Otherwise the images won't show in https://themes.gohugo.io/ */}}
<div <div
class="achievement-entry text-center" class="achievement-entry text-center"
style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageSm }}');" style="background-image: url('{{ $achievementImageSm }}');"
> >
<i class="fas fa-search-plus" id="enlarge-icon"></i> <i class="fas fa-search-plus" id="enlarge-icon"></i>
<h4 class="title" id="achievement-title">{{ .title }}</h4> <h4 class="title" id="achievement-title">{{ .title }}</h4>
<div class="caption hidden col-lg-6 text-left" id="caption"> <div class="caption hidden col-lg-6 text-left" id="caption">
<h4>{{ .title }}</h4> <h4>{{ .title }}</h4>
<p>{{ .summary | markdownify }}</p> <p>{{ .summary | markdownify }}</p>
{{ if .url }}
<a class="btn btn-info ml-1 pl-2 mb-2" href="{{ .url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a>
{{ end }}
</div> </div>
<span style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span> <span style="background-image: url('{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span>
<span style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageLg }}');" class="d-none" id="LargeImage"></span> <span style="background-image: url('{{ $achievementImageLg }}');" class="d-none" id="LargeImage"></span>
</div> </div>

View file

@ -12,13 +12,16 @@
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1> <span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
<table class="education-info-table"> <table class="education-info-table">
<tbody> <tbody>
{{ range .degrees}} {{ $count := len .degrees }}
<tr> {{ range .degrees}}
<td class="icon"> <tr>
<div class="hline"></div> <td class="icon">
{{ if gt $count 1}}
<div class="hline"></div>
{{ end }}
<div class="icon-holder"> <div class="icon-holder">
<i class="fas {{ .icon }}"></i> <i class="fas {{ .icon }}"></i>
</div> </div>

View file

@ -12,13 +12,16 @@
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1> <span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
<table class="education-info-table"> <table class="education-info-table">
<tbody> <tbody>
{{ range .degrees}} {{ $count := len .degrees }}
<tr> {{ range .degrees}}
<td class="icon"> <tr>
<div class="hline"></div> <td class="icon">
{{ if gt $count 1}}
<div class="hline"></div>
{{ end }}
<div class="icon-holder"> <div class="icon-holder">
<i class="fas {{ .icon }}"></i> <i class="fas {{ .icon }}"></i>
</div> </div>

View file

@ -12,10 +12,12 @@
<!-- Add company overview --> <!-- Add company overview -->
<p>{{ .company.overview | markdownify }}</p> <p>{{ .company.overview | markdownify }}</p>
<!-- Add the responsibilities handled at this position --> <!-- Add the responsibilities handled at this position -->
{{ if $position.responsibilities }}
<h6 class="text-muted">{{ i18n "responsibilities" }}</h6> <h6 class="text-muted">{{ i18n "responsibilities" }}</h6>
<ul class="justify-content-around"> <ul class="justify-content-around">
{{ range $position.responsibilities }} {{ range $position.responsibilities }}
<li>{{ . | markdownify }}</li> <li>{{ . | markdownify }}</li>
{{ end }} {{ end }}
</ul> </ul>
{{ end }}
</div> </div>

View file

@ -77,28 +77,27 @@
<style> <style>
/* 0 to 299 */ /* 0 to 299 */
#homePageBackgroundImageDivStyled { #homePageBackgroundImageDivStyled {
/*background-image: url('{{ $tiny.RelPermalink }}'); This does not work on https://themes.gohugo.io/ */ background-image: url('{{ $tiny.RelPermalink }}');
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $tiny.RelPermalink }}');
} }
/* 300 to X */ /* 300 to X */
@media (min-width: 500px) and (max-width: 800px) { /* or 301 if you want really the same as previously. */ @media (min-width: 500px) and (max-width: 800px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled { #homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $small.RelPermalink }}'); background-image: url('{{ $small.RelPermalink }}');
} }
} }
@media (min-width: 801px) and (max-width: 1200px) { /* or 301 if you want really the same as previously. */ @media (min-width: 801px) and (max-width: 1200px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled { #homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $medium.RelPermalink }}'); background-image: url('{{ $medium.RelPermalink }}');
} }
} }
@media (min-width: 1201px) and (max-width: 1500px) { /* or 301 if you want really the same as previously. */ @media (min-width: 1201px) and (max-width: 1500px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled { #homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $large.RelPermalink }}'); background-image: url('{{ $large.RelPermalink }}');
} }
} }
@media (min-width: 1501px) { /* or 301 if you want really the same as previously. */ @media (min-width: 1501px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled { #homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $src.RelPermalink }}'); background-image: url('{{ $src.RelPermalink }}');
} }
} }
</style> </style>
@ -133,7 +132,7 @@
{{ if .section.id }} {{ if .section.id }}
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<a href="#{{ $sectionID }}" aria-label="{{ i18n "read" }} {{ i18n "more" }} - {{ $name }}"><i class="arrow bounce fa fa-chevron-down"></i></a> <a href="#{{ $sectionID }}" class="arrow-center" aria-label="{{ i18n "read" }} {{ i18n "more" }} - {{ $name }}"><i class="arrow bounce fa fa-chevron-down"></i></a>
{{ end }} {{ end }}
{{ end }} {{ end }}
</div> </div>

View file

@ -14,7 +14,7 @@
<div class="container ml-auto text-center"> <div class="container ml-auto text-center">
<div class="btn-group flex-wrap" role="group" id="project-filter-buttons"> <div class="btn-group flex-wrap" role="group" id="project-filter-buttons">
{{ range .buttons }} {{ range .buttons }}
<button type="button" class="btn btn-dark" data-filter="{{ .filter }}"> <button type="button" class="btn btn-dark project-filtr-control" data-filter="{{ .filter }}">
{{ .name }} {{ .name }}
</button> </button>
{{ end }} {{ end }}

View file

@ -0,0 +1,30 @@
{{ $sectionID := replace (lower .section.name) " " "-" }}
{{ if .section.id }}
{{ $sectionID = .section.id }}
{{ end }}
<div class="container-fluid anchor pb-5 publications-section" id="{{ $sectionID }}">
{{ 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 ml-auto text-center">
<div class="btn-group flex-wrap" role="pub-group" id="publication-filter-buttons">
{{ range .buttons }}
<button type="button" class="btn btn-dark pub-filtr-control" data-filter="pub-{{ .filter }}">
{{ .name }}
</button>
{{ end }}
</div>
</div>
<div class="container filtr-publications">
<div class="row" id="publication-card-holder">
{{ range .publications }}
{{ partial "cards/publication" . }}
{{ end }}
</div>
</div>
</div>

View file

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

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

View file

@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <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> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">

226
package-lock.json generated
View file

@ -8,8 +8,8 @@
"version": "1.0.0", "version": "1.0.0",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"autoprefixer": "^10.4.2", "autoprefixer": "^10.4.12",
"postcss": "^8.4.6", "postcss": "^8.4.18",
"postcss-cli": "^8.3.1" "postcss-cli": "^8.3.1"
} }
}, },
@ -104,14 +104,24 @@
} }
}, },
"node_modules/autoprefixer": { "node_modules/autoprefixer": {
"version": "10.4.2", "version": "10.4.12",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
"integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
"dev": true, "dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
}
],
"dependencies": { "dependencies": {
"browserslist": "^4.19.1", "browserslist": "^4.21.4",
"caniuse-lite": "^1.0.30001297", "caniuse-lite": "^1.0.30001407",
"fraction.js": "^4.1.2", "fraction.js": "^4.2.0",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
@ -122,10 +132,6 @@
"engines": { "engines": {
"node": "^10 || ^12 || >=14" "node": "^10 || ^12 || >=14"
}, },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
"peerDependencies": { "peerDependencies": {
"postcss": "^8.1.0" "postcss": "^8.1.0"
} }
@ -152,37 +158,48 @@
} }
}, },
"node_modules/browserslist": { "node_modules/browserslist": {
"version": "4.19.1", "version": "4.21.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
"integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
"dev": true, "dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
}
],
"dependencies": { "dependencies": {
"caniuse-lite": "^1.0.30001286", "caniuse-lite": "^1.0.30001400",
"electron-to-chromium": "^1.4.17", "electron-to-chromium": "^1.4.251",
"escalade": "^3.1.1", "node-releases": "^2.0.6",
"node-releases": "^2.0.1", "update-browserslist-db": "^1.0.9"
"picocolors": "^1.0.0"
}, },
"bin": { "bin": {
"browserslist": "cli.js" "browserslist": "cli.js"
}, },
"engines": { "engines": {
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001299", "version": "1.0.30001414",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz",
"integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==", "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==",
"dev": true, "dev": true,
"funding": { "funding": [
"type": "opencollective", {
"url": "https://opencollective.com/browserslist" "type": "opencollective",
} "url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
}
]
}, },
"node_modules/chalk": { "node_modules/chalk": {
"version": "4.1.2", "version": "4.1.2",
@ -278,9 +295,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.33", "version": "1.4.270",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz",
"integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==", "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==",
"dev": true "dev": true
}, },
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
@ -336,9 +353,9 @@
} }
}, },
"node_modules/fraction.js": { "node_modules/fraction.js": {
"version": "4.1.2", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
"integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "*" "node": "*"
@ -603,9 +620,9 @@
} }
}, },
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.2.0", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"dev": true, "dev": true,
"bin": { "bin": {
"nanoid": "bin/nanoid.cjs" "nanoid": "bin/nanoid.cjs"
@ -615,9 +632,9 @@
} }
}, },
"node_modules/node-releases": { "node_modules/node-releases": {
"version": "2.0.1", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true "dev": true
}, },
"node_modules/normalize-path": { "node_modules/normalize-path": {
@ -675,21 +692,27 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.6", "version": "8.4.18",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
"integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
"dev": true, "dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
}
],
"dependencies": { "dependencies": {
"nanoid": "^3.2.0", "nanoid": "^3.3.4",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"source-map-js": "^1.0.2" "source-map-js": "^1.0.2"
}, },
"engines": { "engines": {
"node": "^10 || ^12 || >=14" "node": "^10 || ^12 || >=14"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
} }
}, },
"node_modules/postcss-cli": { "node_modules/postcss-cli": {
@ -955,6 +978,32 @@
"node": ">= 10.0.0" "node": ">= 10.0.0"
} }
}, },
"node_modules/update-browserslist-db": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz",
"integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==",
"dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
}
],
"dependencies": {
"escalade": "^3.1.1",
"picocolors": "^1.0.0"
},
"bin": {
"browserslist-lint": "cli.js"
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
}
},
"node_modules/wrap-ansi": { "node_modules/wrap-ansi": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@ -1083,14 +1132,14 @@
"dev": true "dev": true
}, },
"autoprefixer": { "autoprefixer": {
"version": "10.4.2", "version": "10.4.12",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
"integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"browserslist": "^4.19.1", "browserslist": "^4.21.4",
"caniuse-lite": "^1.0.30001297", "caniuse-lite": "^1.0.30001407",
"fraction.js": "^4.1.2", "fraction.js": "^4.2.0",
"normalize-range": "^0.1.2", "normalize-range": "^0.1.2",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"postcss-value-parser": "^4.2.0" "postcss-value-parser": "^4.2.0"
@ -1112,22 +1161,21 @@
} }
}, },
"browserslist": { "browserslist": {
"version": "4.19.1", "version": "4.21.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
"integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
"dev": true, "dev": true,
"requires": { "requires": {
"caniuse-lite": "^1.0.30001286", "caniuse-lite": "^1.0.30001400",
"electron-to-chromium": "^1.4.17", "electron-to-chromium": "^1.4.251",
"escalade": "^3.1.1", "node-releases": "^2.0.6",
"node-releases": "^2.0.1", "update-browserslist-db": "^1.0.9"
"picocolors": "^1.0.0"
} }
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001299", "version": "1.0.30001414",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz",
"integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==", "integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==",
"dev": true "dev": true
}, },
"chalk": { "chalk": {
@ -1204,9 +1252,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.33", "version": "1.4.270",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.33.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz",
"integrity": "sha512-OVK1Ad3pHnmuXPhEfq85X8vUKr1UPNHryBnbKnyLcAfh8dPwoFjoDhDlP5KpPJIiymvSucZs48UBrE1250IxOw==", "integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==",
"dev": true "dev": true
}, },
"emoji-regex": { "emoji-regex": {
@ -1253,9 +1301,9 @@
} }
}, },
"fraction.js": { "fraction.js": {
"version": "4.1.2", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
"integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
"dev": true "dev": true
}, },
"fs-extra": { "fs-extra": {
@ -1447,15 +1495,15 @@
} }
}, },
"nanoid": { "nanoid": {
"version": "3.2.0", "version": "3.3.4",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"dev": true "dev": true
}, },
"node-releases": { "node-releases": {
"version": "2.0.1", "version": "2.0.6",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true "dev": true
}, },
"normalize-path": { "normalize-path": {
@ -1495,12 +1543,12 @@
"dev": true "dev": true
}, },
"postcss": { "postcss": {
"version": "8.4.6", "version": "8.4.18",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
"integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
"dev": true, "dev": true,
"requires": { "requires": {
"nanoid": "^3.2.0", "nanoid": "^3.3.4",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"source-map-js": "^1.0.2" "source-map-js": "^1.0.2"
} }
@ -1669,6 +1717,16 @@
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
"dev": true "dev": true
}, },
"update-browserslist-db": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz",
"integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==",
"dev": true,
"requires": {
"escalade": "^3.1.1",
"picocolors": "^1.0.0"
}
},
"wrap-ansi": { "wrap-ansi": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",

View file

@ -8,17 +8,17 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/hossainemruz/toha.git" "url": "git+https://github.com/hugo-toha/toha.git"
}, },
"author": "Emruz Hossain", "author": "Emruz Hossain",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://github.com/hossainemruz/toha/issues" "url": "https://github.com/hugo-toha/toha/issues"
}, },
"homepage": "https://github.com/hossainemruz/toha#readme", "homepage": "https://github.com/hugo-toha/toha#readme",
"devDependencies": { "devDependencies": {
"autoprefixer": "^10.4.2", "autoprefixer": "^10.4.12",
"postcss": "^8.4.6", "postcss": "^8.4.18",
"postcss-cli": "^8.3.1" "postcss-cli": "^8.3.1"
} }
} }

View file

@ -0,0 +1,20 @@
/* Note: No need to invert when the screen is small because the navbar is
collapsed to a hamburger menu. */
@media only screen and (min-width: 1200px) {
.dynamic-navbar .navbar-icon-svg-dark {
filter: invert(1);
};
}
@media only screen and (min-width: 1200px) {
.dropdown-menu-icons-only {
width: 25px;
min-width: 3rem;
}
}
.menu-icon-center {
display: block;
margin-left: auto;
margin-right: auto;
}

View file

@ -67,7 +67,6 @@
} }
.paginator { .paginator {
width: -webkit-fit-content;
width: -moz-fit-content; width: -moz-fit-content;
width: fit-content; width: fit-content;
margin: auto; margin: auto;
@ -91,7 +90,6 @@
margin-right: auto; margin-right: auto;
margin-top: 0.5rem; margin-top: 0.5rem;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
width: -webkit-fit-content;
width: -moz-fit-content; width: -moz-fit-content;
width: fit-content; width: fit-content;
} }

View file

@ -174,7 +174,7 @@ img.right {
margin-right: 3px; margin-right: 3px;
} }
/* ====== codeblocks ====== */ /* ====== table ====== */
table { table {
border-radius: 0.1rem; border-radius: 0.1rem;
background: #e5e9f2; background: #e5e9f2;
@ -206,12 +206,46 @@ tbody tr:hover {
background: #c0ccda; background: #c0ccda;
} }
/* ====== don't apply css to tables inside gist ====== */
.gist table {
border-radius: unset;
background: unset;
border: unset;
padding: unset;
}
.gist table tr {
height: unset !important;
}
.gist table th,
td {
padding: unset;
border-left: unset;
border-bottom: unset;
}
.gist table thead tr {
background: unset;
color: unset;
}
.gist tbody tr:nth-child(odd) {
background-color: unset;
}
.gist tbody tr:hover {
background: unset;
}
.gist table td, .gist table tc{
border-right: 1px solid #eee;
}
figure { figure {
border: 1px solid #c0ccda; border: 1px solid #c0ccda;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
width: -webkit-fit-content;
width: -moz-fit-content; width: -moz-fit-content;
width: fit-content; width: fit-content;
align-self: center; align-self: center;
@ -276,7 +310,6 @@ mark {
/* ======= Paginator ========= */ /* ======= Paginator ========= */
.paginator { .paginator {
width: -webkit-fit-content;
width: -moz-fit-content; width: -moz-fit-content;
width: fit-content; width: fit-content;
margin: auto; margin: auto;
@ -408,7 +441,8 @@ mark {
@media only screen and (max-width: 576px) { @media only screen and (max-width: 576px) {
.skills-section .container, .skills-section .container,
.projects-section .container { .projects-section .container,
.publications-section .container {
padding-left: 0.3rem; padding-left: 0.3rem;
padding-right: 0.3rem; padding-right: 0.3rem;
} }
@ -421,7 +455,8 @@ mark {
.skills-section, .skills-section,
.projects-section, .projects-section,
.recent-posts-section, .recent-posts-section,
.achievements-section { .achievements-section,
.publications-section {
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
} }

View file

@ -37,7 +37,6 @@ body {
} }
.toc-holder { .toc-holder {
position: -webkit-sticky;
position: sticky; position: sticky;
top: 4.5rem; top: 4.5rem;
overflow-x: hidden; overflow-x: hidden;
@ -308,6 +307,8 @@ h6 {
list-style-type: none; list-style-type: none;
display: inline-block; display: inline-block;
background: #248aaa; background: #248aaa;
margin-left: 0.2em;
margin-right: 0.2em;
} }
.taxonomy-terms a { .taxonomy-terms a {
@ -437,7 +438,6 @@ h6 {
.toc-section { .toc-section {
order: 2; order: 2;
width: 100%; width: 100%;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
max-height: 0; max-height: 0;
@ -450,7 +450,6 @@ h6 {
position: relative; position: relative;
/* height: fit-content; */ /* height: fit-content; */
flex: 100%; flex: 100%;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
max-height: 200vh; max-height: 200vh;

View file

@ -167,7 +167,6 @@
/* IPad Pro */ /* IPad Pro */
@media (max-width: 1024px) { @media (max-width: 1024px) {
.top-navbar { .top-navbar {
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
padding-bottom: 0px; padding-bottom: 0px;

View file

@ -8,7 +8,6 @@
.sidebar-holder { .sidebar-holder {
top: 2.5rem; top: 2.5rem;
position: -webkit-sticky;
position: sticky; position: sticky;
background-color: #f9fafc; background-color: #f9fafc;
height: 100vh; height: 100vh;
@ -26,7 +25,6 @@
.sidebar-tree { .sidebar-tree {
padding-left: 1rem; padding-left: 1rem;
position: relative; position: relative;
width: -webkit-max-content;
width: -moz-max-content; width: -moz-max-content;
width: max-content; width: max-content;
} }
@ -192,7 +190,6 @@ a.focused {
transition: all ease-out 0.3s; transition: all ease-out 0.3s;
} }
.sidebar-holder { .sidebar-holder {
position: -webkit-sticky;
position: sticky; position: sticky;
top: 2.5rem; top: 2.5rem;
width: 100%; width: 100%;
@ -222,7 +219,6 @@ a.focused {
transition: all ease-out 0.3s; transition: all ease-out 0.3s;
} }
.sidebar-holder { .sidebar-holder {
position: -webkit-sticky;
position: sticky; position: sticky;
top: 2.5rem; top: 2.5rem;
width: 100%; width: 100%;
@ -250,7 +246,6 @@ a.focused {
.sidebar-section.hide { .sidebar-section.hide {
margin-top: 2rem; margin-top: 2rem;
position: relative; position: relative;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
flex: none; flex: none;
@ -261,7 +256,6 @@ a.focused {
.sidebar-holder { .sidebar-holder {
max-height: 0; max-height: 0;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
overflow: hidden; overflow: hidden;
@ -276,10 +270,8 @@ a.focused {
.sidebar { .sidebar {
position: relative; position: relative;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
max-height: -webkit-fit-content;
max-height: -moz-fit-content; max-height: -moz-fit-content;
max-height: fit-content; max-height: fit-content;
width: 100vw; width: 100vw;

View file

@ -76,13 +76,13 @@
border-bottom-left-radius: 80px; border-bottom-left-radius: 80px;
border-right: 0; border-right: 0;
transform-origin: center right; transform-origin: center right;
-webkit-animation: circular-loading-1 1.8s linear forwards; animation: circular-loading-1 1.8s linear forwards;
animation: circular-loading-1 1.8s linear forwards;
} }
.circular-progress .circular-progress-value { .circular-progress .circular-progress-value {
width: 90%; width: 90%;
height: 90%; height: 90%;
padding: 1rem;
border-radius: 50%; border-radius: 50%;
background: #3c4858; background: #3c4858;
font-size: 1rem; font-size: 1rem;
@ -122,67 +122,47 @@
} }
.circular-progress-percentage-50 { .circular-progress-percentage-50 {
-webkit-animation: circular-loading-50 0s linear forwards 1.8s; animation: circular-loading-50 0s linear forwards 1.8s;
animation: circular-loading-50 0s linear forwards 1.8s;
} }
.circular-progress-percentage-55 { .circular-progress-percentage-55 {
-webkit-animation: circular-loading-55 0.18s linear forwards 1.8s; animation: circular-loading-55 0.18s linear forwards 1.8s;
animation: circular-loading-55 0.18s linear forwards 1.8s;
} }
.circular-progress-percentage-60 { .circular-progress-percentage-60 {
-webkit-animation: circular-loading-60 0.36s linear forwards 1.8s; animation: circular-loading-60 0.36s linear forwards 1.8s;
animation: circular-loading-60 0.36s linear forwards 1.8s;
} }
.circular-progress-percentage-65 { .circular-progress-percentage-65 {
-webkit-animation: circular-loading-65 0.54s linear forwards 1.8s; animation: circular-loading-65 0.54s linear forwards 1.8s;
animation: circular-loading-65 0.54s linear forwards 1.8s;
} }
.circular-progress-percentage-70 { .circular-progress-percentage-70 {
-webkit-animation: circular-loading-70 0.72s linear forwards 1.8s; animation: circular-loading-70 0.72s linear forwards 1.8s;
animation: circular-loading-70 0.72s linear forwards 1.8s;
} }
.circular-progress-percentage-75 { .circular-progress-percentage-75 {
-webkit-animation: circular-loading-75 0.9s linear forwards 1.8s; animation: circular-loading-75 0.9s linear forwards 1.8s;
animation: circular-loading-75 0.9s linear forwards 1.8s;
} }
.circular-progress-percentage-80 { .circular-progress-percentage-80 {
-webkit-animation: circular-loading-80 1.08s linear forwards 1.8s; animation: circular-loading-80 1.08s linear forwards 1.8s;
animation: circular-loading-80 1.08s linear forwards 1.8s;
} }
.circular-progress-percentage-85 { .circular-progress-percentage-85 {
-webkit-animation: circular-loading-85 1.26s linear forwards 1.8s; animation: circular-loading-85 1.26s linear forwards 1.8s;
animation: circular-loading-85 1.26s linear forwards 1.8s;
} }
.circular-progress-percentage-90 { .circular-progress-percentage-90 {
-webkit-animation: circular-loading-90 1.44s linear forwards 1.8s; animation: circular-loading-90 1.44s linear forwards 1.8s;
animation: circular-loading-90 1.44s linear forwards 1.8s;
} }
.circular-progress-percentage-95 { .circular-progress-percentage-95 {
-webkit-animation: circular-loading-95 1.62s linear forwards 1.8s; animation: circular-loading-95 1.62s linear forwards 1.8s;
animation: circular-loading-95 1.62s linear forwards 1.8s;
} }
.circular-progress-percentage-100 { .circular-progress-percentage-100 {
-webkit-animation: circular-loading-100 1.8s linear forwards 1.8s; animation: circular-loading-100 1.8s linear forwards 1.8s;
animation: circular-loading-100 1.8s linear forwards 1.8s;
}
@-webkit-keyframes circular-loading-50 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(0deg);
}
} }
@keyframes circular-loading-50 { @keyframes circular-loading-50 {
@ -194,15 +174,6 @@
} }
} }
@-webkit-keyframes circular-loading-55 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(18deg);
}
}
@keyframes circular-loading-55 { @keyframes circular-loading-55 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -212,15 +183,6 @@
} }
} }
@-webkit-keyframes circular-loading-60 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(36deg);
}
}
@keyframes circular-loading-60 { @keyframes circular-loading-60 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -230,15 +192,6 @@
} }
} }
@-webkit-keyframes circular-loading-65 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(54deg);
}
}
@keyframes circular-loading-65 { @keyframes circular-loading-65 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -248,15 +201,6 @@
} }
} }
@-webkit-keyframes circular-loading-70 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(72deg);
}
}
@keyframes circular-loading-70 { @keyframes circular-loading-70 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -266,15 +210,6 @@
} }
} }
@-webkit-keyframes circular-loading-75 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(90deg);
}
}
@keyframes circular-loading-75 { @keyframes circular-loading-75 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -284,15 +219,6 @@
} }
} }
@-webkit-keyframes circular-loading-80 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(108deg);
}
}
@keyframes circular-loading-80 { @keyframes circular-loading-80 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -302,15 +228,6 @@
} }
} }
@-webkit-keyframes circular-loading-85 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(126deg);
}
}
@keyframes circular-loading-85 { @keyframes circular-loading-85 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -320,15 +237,6 @@
} }
} }
@-webkit-keyframes circular-loading-90 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(144deg);
}
}
@keyframes circular-loading-90 { @keyframes circular-loading-90 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -338,15 +246,6 @@
} }
} }
@-webkit-keyframes circular-loading-95 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(162deg);
}
}
@keyframes circular-loading-95 { @keyframes circular-loading-95 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -356,15 +255,6 @@
} }
} }
@-webkit-keyframes circular-loading-100 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(180deg);
}
}
@keyframes circular-loading-100 { @keyframes circular-loading-100 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -374,15 +264,6 @@
} }
} }
@-webkit-keyframes circular-loading-1 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(180deg);
}
}
@keyframes circular-loading-1 { @keyframes circular-loading-1 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -392,15 +273,6 @@
} }
} }
@-webkit-keyframes circular-loading-2 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(144deg);
}
}
@keyframes circular-loading-2 { @keyframes circular-loading-2 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -410,15 +282,6 @@
} }
} }
@-webkit-keyframes circular-loading-3 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(90deg);
}
}
@keyframes circular-loading-3 { @keyframes circular-loading-3 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -428,15 +291,6 @@
} }
} }
@-webkit-keyframes circular-loading-4 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(36deg);
}
}
@keyframes circular-loading-4 { @keyframes circular-loading-4 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);
@ -446,15 +300,6 @@
} }
} }
@-webkit-keyframes circular-loading-5 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(126deg);
}
}
@keyframes circular-loading-5 { @keyframes circular-loading-5 {
0% { 0% {
transform: rotate(0deg); transform: rotate(0deg);

View file

@ -18,8 +18,13 @@
background-size: cover; background-size: cover;
} }
.arrow-center {
display: flex;
justify-content: center;
}
/* /*
Resolves https://github.com/hossainemruz/toha/issues/70 Resolves https://github.com/hugo-toha/toha/issues/70
fixed attached images use the whole <body> size. On mobile this can get really fixed attached images use the whole <body> size. On mobile this can get really
tall which blows your image out. Setting the attachment back to scroll allows tall which blows your image out. Setting the attachment back to scroll allows
@ -66,24 +71,7 @@
} }
.bounce { .bounce {
-webkit-animation: bounce 2s infinite; animation: bounce 2s infinite;
animation: bounce 2s infinite;
}
@-webkit-keyframes bounce {
0%,
20%,
50%,
80%,
100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
} }
@keyframes bounce { @keyframes bounce {

View file

@ -0,0 +1,147 @@
.publications-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
.publications-section .card {
background: #fff;
border-top: 2px solid #248aaa;
}
.publications-section .card .card-header {
background: none;
border: none;
display: flex;
flex-direction: column;
}
.publications-section .card .card-header .sub-title {
color: #8392a5;
margin-top: 0.4rem;
}
.publications-section .card .sub-title :nth-child(2) {
float: right !important;
}
.publications-section .card .card-body {
padding: 0;
padding-left: 1rem;
padding-right: 1rem;
}
.publications-section .card .card-footer {
background: #fff;
border: none;
padding: 0;
padding-left: 1rem;
padding-right: 1rem;
padding-bottom: 0.3rem;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.publications-section .card .card-footer .tags {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: flex-start;
}
.publications-section .card .card-footer .tags .badge {
cursor: auto;
}
.filtr-publications {
padding: 1rem !important;
}
.publications-section .btn-group{
justify-content: center;
}
/* ============= Device specific fixes ======= */
/* Large screens such as TV */
@media only screen and (min-width: 1824px) {
}
/* Extra large devices (large desktops, 1200px and up) */
@media (max-width: 1400px) {
}
@media (max-width: 1200px) {
}
/* IPad Pro */
@media (max-width: 1024px) {
.publications-section {
padding-left: 0;
padding-right: 0;
width: 100%;
}
.publications-section .container {
max-width: 100%;
}
.publicationss-section .filtr-publications {
padding: 0;
}
.publicationss-section .pub-filtr-item {
padding-left: 0.2rem;
padding-right: 0.2rem;
}
}
/* Large devices (desktops, 992px and up) */
@media (max-width: 992px) {
}
/* Medium devices (tablets, 768px and up) */
@media only screen and (max-width: 768px) {
.publications-section {
padding-left: 0;
padding-right: 0;
width: 100%;
}
.publications-section .container {
max-width: 100%;
}
.publications-section .filtr-publications {
padding: 0;
}
.publications-section .pub-filtr-item {
padding-left: 0.2rem;
padding-right: 0.2rem;
flex: 100%;
}
}
/* Small devices (landscape phones, 576px and up) */
@media only screen and (max-width: 576px) {
.publications-section .btn {
margin-top: 0.3125rem;
}
.publications-section .pub-filtr-item {
flex: 100%;
max-width: 100%;
}
.publications-section .card .card-footer .tags {
flex: 100%;
}
}
/* iPhoneX, iPhone 6,7,8 */
@media only screen and (max-width: 375px) {
}
/* Galaxy S5, Moto G4 */
@media only screen and (max-width: 360px) {
}
/* iPhone 5 or before */
@media only screen and (max-width: 320px) {
}

View file

@ -1,6 +1,5 @@
.skills-section .card .card-head { .skills-section .card .card-head {
background-color: #f9fafc; background-color: #f9fafc;
height: -webkit-fit-content;
height: -moz-fit-content; height: -moz-fit-content;
height: fit-content; height: fit-content;
padding: 0.7rem; padding: 0.7rem;

1
static/flags/1x1/ac.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

1
static/flags/1x1/ad.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 31 KiB

1
static/flags/1x1/ae.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ae" viewBox="0 0 512 512"><path fill="#00732f" d="M0 0h512v170.7H0z"/><path fill="#fff" d="M0 170.7h512v170.6H0z"/><path d="M0 341.3h512V512H0z"/><path fill="red" d="M0 0h180v512H0z"/></svg>

After

Width:  |  Height:  |  Size: 245 B

1
static/flags/1x1/af.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

1
static/flags/1x1/ag.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ag" viewBox="0 0 512 512"><defs><clipPath id="a"><path fill="#25ff01" d="M109 47.6h464.8v464.9H109z"/></clipPath></defs><g fill-rule="evenodd" clip-path="url(#a)" transform="translate(-120 -52.4) scale(1.1014)"><path fill="#fff" d="M0 47.6h693V512H0z"/><path d="M1.5 48.2h690.9v196.2H1.5z"/><path fill="#0061ff" d="M128.3 232.1h458.5v103.4H128.3z"/><path fill="#e20000" d="M692.5 49.2v463.3H347L692.5 49.2zm-691.3 0v463.3h345.7L1.2 49.2z"/><path fill="#ffd600" d="m508.8 232.2-69.3-17.6 59-44.4-72.5 10.3 37.3-63-64.1 37.2 11.3-73.5-43.4 58-17.6-67.3-19.6 69.3-43.4-59 12.4 75.6-64.1-39.3 37.2 63-70.3-11.3 57.9 43.4-72.4 18.6h321.6z"/></g></svg>

After

Width:  |  Height:  |  Size: 701 B

1
static/flags/1x1/ai.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 34 KiB

1
static/flags/1x1/al.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-al" viewBox="0 0 512 512"><path fill="red" d="M0 0h512v512H0z"/><path id="a" d="M204.9 99.5c-5 0-13.2 1.6-13 5.4-14-2.3-15.4 3.4-14.6 8.5 1.4-2 3-3.1 4.2-3.3 1.9-.3 3.8.3 5.8 1.5a23 23 0 0 1 5 4.4c-4.8 1.1-8.6.4-12.4-.3a17.6 17.6 0 0 1-6.1-2.5c-1.6-1.1-2.1-2.1-4.6-4.7-2.9-3-6-2.1-5 2.5 2.2 4.3 6 6.3 10.7 7 2.2.4 5.6 1.2 9.4 1.2 3.8 0 8.1-.5 10.5 0-1.4.8-3 2.4-6.2 3-3.2.6-8-2-11-2.6.4 2.5 3.5 4.8 9.7 6 10.2 2.2 18.7 4 24.3 7 5.6 3 9.1 6.8 11.6 9.8 5 6 5.3 10.5 5.6 11.5 1 9.5-2.2 14.8-8.4 16.4-3 .8-8.5-.7-10.5-3-2-2.4-4-6.4-3.4-12.7.5-2.5 3.4-9 1-10.3a291.6 291.6 0 0 0-34.4-16c-2.7-1.1-5 2.5-5.8 4A53.5 53.5 0 0 1 129 107c-4.6-8.1-12.1 0-10.9 7.7 2.1 8.6 8.6 14.8 16.5 19.2 8 4.5 18.1 8.8 28.3 8.6 5.5 1 5.5 8.2-1.1 9.5-13 0-23.2-.2-32.9-9.6-7.4-6.7-11.5 1.3-9.4 5.8 3.6 14 23.6 18 43.8 13.4 7.8-1.3 3.1 7 .9 7.2-8.4 6-23.5 12-36.8-.1-6.1-4.7-10.2-.7-8 6 6 17.5 28.5 13.8 44 5.2 4-2.2 7.6 3 2.7 6.9-19.2 13.4-28.9 13.6-37.6 8.4-10.8-4.3-11.8 7.8-5.3 11.8 7.2 4.4 25.4 1 38.9-7.4 5.7-4.2 6 2.4 2.3 5-15.9 13.8-22.2 17.5-38.8 15.2-8.2-.6-8 9.5-1.6 13.5 8.8 5.4 26.1-3.6 39.5-14.7 5.6-3 6.6 2 3.8 7.8a57.4 57.4 0 0 1-23.3 19.2 29.1 29.1 0 0 1-19.5.7c-6.2-2.2-7 4.2-3.6 10 2 3.5 10.6 4.7 19.7 1.4 9.2-3.2 19-10.8 25.7-19.8 6-5.1 5.2 1.8 2.5 6.7-13.5 21.3-25.9 29.2-42.1 27.9-7.3-1.2-8.9 4.4-4.3 9.6 8 6.7 18.2 6.4 27-.2a751 751 0 0 0 30.8-32.6c5.5-4.4 7.3 0 5.7 9-1.5 5.1-5.2 10.5-15.3 14.5-7 4-1.8 9.4 3.4 9.5 2.9 0 8.7-3.3 13-8.3 5.9-6.5 6.2-11 9.5-21.1 3-5 8.4-2.7 8.4 2.5-2.6 10.2-4.8 12-10 16.2-5.1 4.7 3.4 6.3 6.3 4.4 8.3-5.6 11.3-12.8 14.1-19.4 2-4.8 7.8-2.5 5.1 5.3-6.4 18.5-17 25.8-35.5 29.6-1.9.3-3 1.4-2.4 3.6l7.5 7.5c-11.5 3.3-20.8 5.2-32.2 8.5L142 300.6c-1.5-3.4-2.2-8.7-10.4-5-5.7-2.6-8.2-1.6-11.4 1 4.5.1 6.5 1.3 8.3 3.4 2.3 6 7.6 6.6 13 5 3.5 2.9 5.4 5.2 9 8.2l-17.8-.6c-6.3-6.7-11.3-6.3-15.8-1-3.5.5-5 .5-7.3 4.7 3.7-1.5 6-2 7.7-.3 6.6 3.9 11 3 14.3 0l18.7 1.1c-2.3 2-5.6 3.1-8 5.2-9.7-2.8-14.7 1-16.4 8.8a18.2 18.2 0 0 0-1.4 10c1-3.2 2.5-5.9 5.3-7.6 8.6 2.2 11.8-1.3 12.3-6.5 4.2-3.4 10.5-4.1 14.6-7.6 4.9 1.6 7.2 2.6 12.1 4.1 1.7 5.3 5.7 7.4 12 6 7.7.3 6.3 3.4 7 5.9 2-3.6 2-7-2.8-10.3-1.7-4.6-5.5-6.7-10.4-4-4.7-1.3-5.9-3.2-10.5-4.6 11.7-3.7 20-4.5 31.8-8.3 3 2.8 5.2 4.8 8.2 7.2 1.6 1 3 1.2 4 0 7.3-10.6 10.6-20 17.4-27 2.6-2.9 6-6.8 9.6-7.8 1.8-.4 4-.2 5.5 1.4 1.4 1.6 2.6 4.4 2 8.7-.6 6.2-2 8.2-3.8 11.8-1.7 3.7-3.9 6-6 8.8-4.4 5.7-10.1 9-13.5 11.2-6.8 4.4-9.7 2.5-15 2.2-6.7.8-8.5 4.1-3 8.7a21 21 0 0 0 13.7 2.3c3.3-.6 7-4.8 9.8-7 3-3.6 8.1.6 4.7 4.7-6.3 7.5-12.6 12.4-20.3 12.3-8.2 1-6.7 5.7-1.3 7.9 9.8 4 18.6-3.5 23-8.5 3.5-3.7 6-3.9 5.3 2-3.4 10.5-8.1 14.6-15.7 15.1-6.2-.5-6.3 4.2-1.7 7.5 10.3 7 17.7-5 21.2-12.4 2.5-6.6 6.3-3.5 6.7 2 0 7.3-3.2 13.2-12 20.7 6.7 10.7 14.5 21.7 21.3 32.5l20.5-228.2-20.5-36c-2.1-2-9.3-10.5-11.2-11.7-.7-.7-1.1-1.2-.1-1.6 1-.4 3.2-.8 4.8-1-4.4-4.4-8-5.8-16.3-8.2 2-.8 4-.3 9.9-.6a32.3 32.3 0 0 0-14.4-11c4.5-3 5.3-3.3 9.8-7-7.7-.6-14.3-2-20.8-4a41 41 0 0 0-12.8-3.7zm.7 9c4 0 6.6 1.4 6.6 3 0 1.7-2.5 3.1-6.6 3.1-4 0-6.6-1.5-6.6-3.2 0-1.7 2.6-3 6.6-3z"/><use width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)" xlink:href="#a"/></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

1
static/flags/1x1/am.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-am" viewBox="0 0 512 512"><path fill="#d90012" d="M0 0h512v170.7H0z"/><path fill="#0033a0" d="M0 170.7h512v170.6H0z"/><path fill="#f2a800" d="M0 341.3h512V512H0z"/></svg>

After

Width:  |  Height:  |  Size: 225 B

1
static/flags/1x1/ao.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ao" viewBox="0 0 512 512"><g fill-rule="evenodd" stroke-width="1pt"><path fill="red" d="M0 0h512v259.8H0z"/><path d="M0 252.2h512V512H0z"/></g><path fill="#ffec00" fill-rule="evenodd" d="M228.7 148.2c165.2 43.3 59 255.6-71.3 167.2l-8.8 13.6c76.7 54.6 152.6 10.6 174-46.4 22.2-58.8-7.6-141.5-92.6-150l-1.3 15.6z"/><path fill="#ffec00" fill-rule="evenodd" d="m170 330.8 21.7 10.1-10.2 21.8-21.7-10.2zm149-99.5h24v24h-24zm-11.7-38.9 22.3-8.6 8.7 22.3-22.3 8.7zm-26-29.1 17.1-16.9 16.9 17-17 16.9zm-26.2-39.8 22.4 8.4-8.5 22.4-22.4-8.4zM316 270l22.3 8.9-9 22.2-22.2-8.9zm-69.9 70 22-9.3 9.5 22-22 9.4zm-39.5 2.8h24v24h-24zm41.3-116-20.3-15-20.3 14.6 8-23-20.3-15h24.5l8.5-22.6 7.8 22.7 24.7-.3-19.6 15.3 7 23.4z"/><path fill="#fe0" fill-rule="evenodd" d="M336 346.4c-1.2.4-6.2 12.4-9.7 18.2l3.7 1c13.6 4.8 20.4 9.2 26.2 17.5a7.9 7.9 0 0 0 10.2.7s2.8-1 6.4-5c3-4.5 2.2-8-1.4-11.1-11-8-22.9-14-35.4-21.3z"/><path fill-rule="evenodd" d="M365.3 372.8a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.6 0zm-21.4-13.6a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0zm10.9 7a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0z"/><path fill="#fe0" fill-rule="evenodd" d="M324.5 363.7c-42.6-24.3-87.3-50.5-130-74.8-18.7-11.7-19.6-33.4-7-49.9 1.2-2.3 2.8-1.8 3.4-.5 1.5 8 6 16.3 11.4 21.5A5288 5288 0 0 1 334 345.6c-3.4 5.8-6 12.3-9.5 18z"/><path fill="#ffec00" fill-rule="evenodd" d="m297.2 305.5 17.8 16-16 17.8-17.8-16z"/><path fill="none" stroke="#000" stroke-width="3" d="m331.5 348.8-125-75.5m109.6 58.1L274 304.1m18.2 42.7L249.3 322"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

1
static/flags/1x1/aq.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aq" viewBox="0 0 512 512"><path fill="#3a7dce" d="M0 0h512v512H0z"/><path fill="#fff" d="M107.7 240.9c-3.5-7.9-3.5-7.9-3.5-15.7-1.8 0-2.1.4-3.1 0-1-.3-1.4 7.3-4.7 5.8-.5-.7 2.4-6.2-.8-8.4-1-.8.3-5.3-.2-7.2 0 0-4 2.3-7-5.9-1.4-2.1-3.4 2-3.4 2s.9 2.5-.7 3c-2.3-1.8-3.9-.8-6.7-3.3-2.9-2.5.6-5.4-4.8-7.6 3.5-9.8 3.5-7.8 12.2-11.8-5.2-3.9-5.2-3.9-8.7-9.8-5.3-2-7-3.9-12.2-7.8-7-9.8-10.5-29.4-10.5-43.2 4.4-4.6 10.5 15.7 19.2 21.6l12.2 5.9c7 4 8.7 7.8 14 11.8l15.6 5.9c7 5.8 10.5 13.7 15.7 15.6 5.7 0 6.8-3.6 8.6-3.9 10.2-.5 15.5-2 17.5-5.5 2-2.8 7 1.6 21-4.3l-1.8-7.8s3.8-3.5 8.8-2c-.2-3.6-.5-13.1 4.4-17.5-3-3.5-1-6-1-6s2.8-3 3.2-4.6c-1.5-8.7 1.2-8.8 1.9-11.3.6-2.6-2.4-1.7-1.6-5.2.9-3.5 6-4.4 6.6-7.3.7-2.8-1.5-4.3-1.3-5 1-2.7.1-9.2 0-11.7 9.3-2.9 12.4-11.4 15.7-7.9 1.7-11.8 3.5-15.7 14-15.7 1.4-3.6-3.9-6.7-1.8-7.8 3.5-.5 6.1-.3 10.2 5.7 1.3 1.9 1.5-2.8 2.8-3.3 1.4-.5 4.5-.5 5-2.8.4-2.4 1.1-5.5 2.9-9.4 1.5-3.2 2.6 1.2 4 7.4 7.3.3 23.9 2.2 30.9 4.3 5.2 1.6 8.7-1.5 13.7-2.1 3.7 4.2 7.2 1 9.1 10 2.8 4.7 7.3.3 8.3 1.8 5.9 18 26 5.8 27.4 6.1 2.6 0 5.7 8.1 7.7 8 3.3-.7 2.4-3.2 5.2-2.2-.7 6.8 5.7 14.7 5.7 19.7 0 0 1.5.9 3-.6 1.4-1.5 2.7-5.4 4-5.3 3 .5 4.3 1 7.8 1.6 9.4 3.7 14.3 4.5 18 6.3 1.6 3.6 3.3 5.4 6.8 4.7 2.8 2.2.7 5 2.4 5.2 3.5-2 4.7-4.1 8.1-2.2 3.5 2 7 6 8.8 9.8 0 2-1.8 9.8 0 21.6.8 4 1.3 7 5 13.8-1 6.9 4.7 18.5 4.7 21.5 0 3.9-2.8 6-4.5 9.8 7 6 0 15.7-3.5 21.6 26.2 5.9 14 17.7 34.9 11.8-5.3 13.7-3.4 12.6 1.8 26.3-10.4 7.9-.2 10.3-7.2 20-.4.7 4.2 8.6 10.6 8.6-1.7 15.7-7 9.8-5.2 33.3-13.8-.3-8.2 17.6-17.5 15.7.6 11.3 5.3 12.2 3.5 23.6-7 2-7 2-10.4 7.8l-5.3-2c-1.7 9.9-5.2 11.8 0 21.6 0 0-6.7.3-8.7 0-.1 3.4 3 4.3 3.5 7.9-.3 1.4-10 7.6-17.4 7.8-2 4.9 5.2 10 4.8 12.5-8.2 1.7-11.8 13-11.8 13s4.2 2 3.5 4c-2.3-1.9-3.5-2-7-2-1.7.5-6-.1-10 7.6-4.5 1.7-6.6 1-10 6.1-1.5-4.8-3.7 0-6.3 2-2.7 1.8-6.2 6.4-6.7 6.2.1-1.3 1.6-6.2 1.6-6.2l-8.7 2h-1c-.8.1-.6-5.7-2.2-5.5-1.7.3-6.4 7.3-8 7.6-1.6.2-2.1-2.3-3.5-2-1.4.1-4.1 7.4-5 7.6-1 .2-5-4.4-8.3-3.8-17.2 6.8-19.9-13.4-22.6-2-3.6-2.1-3-.9-6.6.2-2.3.7-2.5-3.5-4.6-3.4-4.2.1-4 4.5-6.2 3.2-1.8-9.2-13-7.5-14.1-11.5-.9-4 4.8-4 6.7-6.8 1.4-4-1.5-5.5 4.3-9.4 7.4-5.7 3.1-7.8 4.4-12.1 2.4-6.2 2.4-7.7.4-13.2 0 0-5.8-17.6-7-17.6-3.4-1.1-3.4 6.5-8.5 8.6-10.5 3.9-29-10-32.2-10-3 .1-16.5 3.7-16-4-2 7.5-9.6 1.8-10 1.8-7 0-4.3 6-9 5.8-2.1-.8-23.6-2.2-23.6-2.2v4l-14-8-12.2-3.9c-10.4-3.9-5.2-13.7-22.6-7.8v-11.8h-8.7c3.4-23.5 0-11.7-1.8-33.3l-7 2c-7-10.7 9.7-8.6-5.2-15.8 0 0 .3-11.7-3.5-7.8-.7.5 1.8 5.9 1.8 5.9-14-2-17.5-5.9-17.5-21.6 0 0 11.5 1.9 10.5 0-1.6-3-3.8-22-3.4-23.3-.2-2.6 10.7-9.1 8.6-15.3 1.3-.6 5.3-.6 5.3-.6"/><path fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="2.5" d="M595.5 297.6c-.6 1.3-.5 2.6.1 3.6 1.1-1.7.2-2.4 0-3.6zm-476-149.4s-3-.4-2.4 2.3c1-2 2.3-2.2 2.4-2.3zm-.3-6.4c-1.7 0-3.8-.2-3 2.5 1-2.1 3-2.4 3-2.5zm12.7 36.3s2.6-.2 2 2.5c-1-2-2-2.4-2-2.5z" transform="matrix(.86021 0 0 .96774 -50 10)"/></svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

32
static/flags/1x1/ar.svg Normal file
View file

@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ar" viewBox="0 0 512 512">
<path fill="#74acdf" d="M0 0h512v512H0z"/>
<path fill="#fff" d="M0 170.7h512v170.7H0z"/>
<g id="c" transform="translate(-153.6) scale(1.024)">
<path id="a" fill="#f6b40e" stroke="#85340a" stroke-width="1.1" d="m396.8 251.3 28.5 62s.5 1.2 1.3.9c.8-.4.3-1.6.3-1.6l-23.7-64m-.7 24.2c-.4 9.4 5.4 14.6 4.7 23-.8 8.5 3.8 13.2 5 16.5 1 3.3-1.2 5.2-.3 5.7 1 .5 3-2.1 2.4-6.8-.7-4.6-4.2-6-3.4-16.3.8-10.3-4.2-12.7-3-22"/>
<use xlink:href="#a" width="100%" height="100%" transform="rotate(22.5 400 250)"/>
<use xlink:href="#a" width="100%" height="100%" transform="rotate(45 400 250)"/>
<use xlink:href="#a" width="100%" height="100%" transform="rotate(67.5 400 250)"/>
<path id="b" fill="#85340a" d="M404.3 274.4c.5 9 5.6 13 4.6 21.3 2.2-6.5-3.1-11.6-2.8-21.2m-7.7-23.8 19.5 42.6-16.3-43.9"/>
<use xlink:href="#b" width="100%" height="100%" transform="rotate(22.5 400 250)"/>
<use xlink:href="#b" width="100%" height="100%" transform="rotate(45 400 250)"/>
<use xlink:href="#b" width="100%" height="100%" transform="rotate(67.5 400 250)"/>
</g>
<use xlink:href="#c" width="100%" height="100%" transform="rotate(90 256 256)"/>
<use xlink:href="#c" width="100%" height="100%" transform="rotate(180 256 256)"/>
<use xlink:href="#c" width="100%" height="100%" transform="rotate(-90 256 256)"/>
<circle cx="256" cy="256" r="28.4" fill="#f6b40e" stroke="#85340a" stroke-width="1.5"/>
<path id="h" fill="#843511" stroke-width="1" d="M265.7 250c-2 0-3.8.8-4.9 2.5 2.2 2 7 2.2 10.3-.2a7.5 7.5 0 0 0-5.4-2.4zm0 .4c1.9 0 3.6.8 3.9 1.7-2.2 2.4-5.7 2.2-7.9.4 1-1.5 2.5-2.1 4-2.1z"/>
<use xlink:href="#d" width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)"/>
<use xlink:href="#e" width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)"/>
<use xlink:href="#f" width="100%" height="100%" transform="translate(19.3)"/>
<use xlink:href="#g" width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)"/>
<path fill="#85340a" d="M251.6 260a2 2 0 1 0 2 3c.8.6 1.8.6 2.4.6h.3c.5 0 1.6 0 2.3-.6.4.5 1 .8 1.6.8a2 2 0 0 0 .4-3.9c.5.2.9.7.9 1.3a1.3 1.3 0 0 1-2.7 0 3 3 0 0 1-2.7 1.8 3.3 3.3 0 0 1-2.7-1.8c0 .7-.6 1.3-1.3 1.3a1.3 1.3 0 0 1-.4-2.6zM253.8 265.8c-2.2 0-3 2-5 3.3 1-.5 2-1.3 3.5-2.2 1.5-.9 2.8.2 3.7.2.9 0 2.2-1.1 3.7-.2 1.5.9 2.4 1.7 3.5 2.2-2-1.4-2.8-3.3-5-3.3a6 6 0 0 0-2.2.6c-1-.4-1.8-.6-2.2-.6z"/>
<path fill="#85340a" d="M253 268.3c-.8 0-2 .3-3.6.8 4-1 4.8.4 6.6.4 1.7 0 2.6-1.3 6.6-.4-4.4-1.4-5.3-.5-6.6-.5-.9 0-1.5-.3-3-.3z"/>
<path fill="#85340a" d="M249.6 269h-.8c4.6.5 2.4 3.1 7.2 3.1 4.8 0 2.6-2.6 7.2-3-4.8-.5-3.3 2.4-7.2 2.4-3.7 0-2.6-2.5-6.4-2.5z"/>
<path fill="#85340a" d="M260 276.1a4 4 0 0 0-8 0 4 4 0 0 1 8 0z"/>
<path id="e" fill="#85340a" stroke-width="1" d="M238.3 249.9c5-4.4 11.4-5 14.9-1.8a8.6 8.6 0 0 1 1.6 3.7c.5 2.5-.3 5.2-2.3 8 .3 0 .7.1 1 .4 1.7-3.4 2.3-6.8 1.7-10l-.7-2.5c-4.8-4-11.4-4.4-16.2 2.2z"/>
<path id="d" fill="#85340a" stroke-width="1" d="M246.2 248.6c2.8 0 3.5.6 4.8 1.7 1.3 1.1 2 .9 2.2 1.1.2.2 0 .9-.4.7-.5-.3-1.4-.7-2.7-1.8-1.3-1-2.6-1-4-1-3.8 0-6 3.2-6.5 3-.4-.2 2.2-3.7 6.6-3.7z"/>
<use xlink:href="#h" width="100%" height="100%" transform="translate(-19.6)"/>
<circle id="f" cx="246.3" cy="252.1" r="2" fill="#85340a" stroke-width="1"/>
<path id="g" fill="#85340a" stroke-width="1" d="M241 253.4c3.7 2.8 7.4 2.6 9.6 1.3 2.2-1.3 2.2-1.8 1.7-1.8-.4 0-.9.5-2.6 1.4-1.8.8-4.4.8-8.8-1z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

1
static/flags/1x1/as.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 32 KiB

1
static/flags/1x1/at.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-at" viewBox="0 0 512 512"><g fill-rule="evenodd"><path fill="#fff" d="M512 512H0V0h512z"/><path fill="#c8102e" d="M512 512H0V341.3h512zm0-341.2H0V.1h512z"/></g></svg>

After

Width:  |  Height:  |  Size: 221 B

1
static/flags/1x1/au.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-au" viewBox="0 0 512 512"><path fill="#00008B" d="M0 0h512v512H0z"/><path fill="#fff" d="M256 0v32l-95 96 95 93.5V256h-33.5L127 162l-93 94H0v-34l93-93.5L0 37V0h31l96 94 93-94z"/><path fill="red" d="m92 162 5.5 17L21 256H0v-1.5zm62-6 27 4 75 73.5V256zM256 0l-96 98-2-22 75-76zM0 .5 96.5 95 67 91 0 24.5z"/><path fill="#fff" d="M88 0v256h80V0zM0 88v80h256V88z"/><path fill="red" d="M0 104v48h256v-48zM104 0v256h48V0z"/><path fill="#fff" d="m202 402.8-45.8 5.4 4.6 45.9-32.8-32.4-33 32.2 4.9-45.9-45.8-5.8L93 377.4 69 338l43.6 15 15.8-43.4 15.5 43.5 43.7-14.7-24.3 39.2 38.8 25.1Zm222.7 8-20.5 2.6 2.2 20.5-14.8-14.4-14.7 14.5 2-20.5-20.5-2.4 17.3-11.2-10.9-17.5 19.6 6.5 6.9-19.5 7.1 19.4 19.5-6.7-10.7 17.6 17.5 11.1ZM415 293.6l2.7-13-9.8-9 13.2-1.5 5.5-12.1 5.5 12.1 13.2 1.5-9.8 9 2.7 13-11.6-6.6-11.6 6.6Zm-84.1-60-20.3 2.2 1.8 20.3-14.4-14.5-14.8 14.1 2.4-20.3-20.2-2.7 17.3-10.8-10.5-17.5 19.3 6.8 7.2-19.1 6.7 19.3 19.4-6.3-10.9 17.3 17 11.2Zm175.8-32.8-20.9 2.7 2.3 20.9-15.1-14.7-15 14.8 2.1-21-20.9-2.4 17.7-11.5-11.1-17.9 20 6.7 7-19.8 7.2 19.8 19.9-6.9-11 18 17.8 11.3Zm-82.1-83.5-20.7 2.3 1.9 20.8-14.7-14.8L376 140l2.4-20.7-20.7-2.8 17.7-11-10.7-17.9 19.7 6.9 7.3-19.5 6.8 19.7 19.8-6.5-11.1 17.6 17.4 11.5Z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

1
static/flags/1x1/aw.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

1
static/flags/1x1/ax.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ax" viewBox="0 0 512 512"><defs><clipPath id="a"><path fill-opacity=".7" d="M166 0h850v850H166z"/></clipPath></defs><g clip-path="url(#a)" transform="translate(-100) scale(.6024)"><path fill="#0053a5" d="M0 0h1300v850H0z"/><g fill="#ffce00"><path d="M400 0h250v850H400z"/><path d="M0 300h1300v250H0z"/></g><g fill="#d21034"><path d="M475 0h100v850H475z"/><path d="M0 375h1300v100H0z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 454 B

Some files were not shown because too many files have changed in this diff Show more