Merge remote-tracking branch 'upstream/master' into translate_Chinese

This commit is contained in:
BoT 2021-01-05 01:20:07 +08:00
commit 0259ac6b41
No known key found for this signature in database
GPG key ID: 09145848F23A5994
100 changed files with 1283 additions and 118 deletions

View file

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

1
.gitignore vendored
View file

@ -2,3 +2,4 @@
node_modules/
.DS_Store
.history/
resources/

View file

@ -1,6 +1,6 @@
---
hero: /assets/images/background/sunrise.jpg
hero: /images/background/sunrise.jpg
author:
name: Md. Emruz Hossain
image: /assets/images/profile-image.jpg
image: /images/profile-image.jpg
---

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 385 KiB

After

Width:  |  Height:  |  Size: 385 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 136 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 236 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

After

Width:  |  Height:  |  Size: 236 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 346 KiB

After

Width:  |  Height:  |  Size: 346 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Before After
Before After

View file

@ -1,5 +1,6 @@
baseURL: http://example.org/
languageCode: en-us
defaultContentLanguage: en
title: "Toha"
theme: "toha"

View file

@ -0,0 +1,89 @@
# section information
section:
name: শিক্ষা জীবন
id: education
template: sections/education.html
enable: true
weight: 4
showOnNavbar: true
# Can optionally hide the title in sections
# hideTitle: true
degrees:
- name: কোয়ান্টাম ক্রিপ্টোগ্রাফিতে পি. এইচ. ডি.
icon: fa-microscope
timeframe: ২০১৬-২০২০
institution:
name: এ. বি. সি. প্রযুক্তি বিশ্ববিদ্যালয়
url: "#"
grade:
scale: সিজিপিএ
achieved:
outOf: ৩.৬
publications:
- title: অর্থহীন লেখা যার মাঝে আছে অনেক কিছু।
url: "#"
- title: হ্যাঁ, এই লেখার মাঝেই আছে অনেক কিছু।
url: "#"
- title: যদি তুমি মনে করো, এটা তোমার কাজে লাগবে, তাহলে তা লাগবে কাজে।
url: "#"
- name: কম্পিউটার সায়েন্স এন্ড ইঞ্জিনিয়ারিং এ বি.এসসি
icon: fa-graduation-cap
timeframe: ২০১২-২০১৬
institution:
name: এক্স ওয়াই জেড বিশ্ববিদ্যালয়
url: "#"
grade:
scale: সিজিপিএ
achieved:
outOf: ৩.৫
takenCourses:
# if true, the courses will be rendered as a table otherwise it will render as a list and the grades will be hidden.
showGrades: true
courses:
- name: ডেটা স্ট্রাকচারস এবং অ্যালগরিদম
achieved: ৩.৭৫
outOf:
- name: নেটওয়ার্ক সিকিউরিটি
achieved: ৩.৮০
outOf:
- name: অপারেটিং সিস্টেম
achieved: ৩.৫
outOf:
- name: কৃত্রিম বুদ্ধিমত্তা
achieved: ৩.৭৫
outOf:
publications:
- title: নিজের ভাষায় লেখা দেখতে অভ্যস্ত হও।
url: "#"
- title: মনে রাখবে লেখা অর্থহীন হয়, যখন তুমি তাকে অর্থহীন মনে করো; আর লেখা অর্থবোধকতা তৈরি করে, যখন তুমি তাতে অর্থ ঢালো।
url: "#"
extracurricularActivities:
- কোনো লেখাই তোমার কাছে অর্থবোধকতা তৈরি করতে পারে, যদি তুমি সেখানে অর্থদ্যোতনা দেখতে পাও।
- যে কথাকে কাজে লাগাতে চাও, তাকে কাজে লাগানোর কথা চিন্তা করার আগে ভাবো, তুমি কি সেই কথার জাদুতে আচ্ছন্ন হয়ে গেছ কিনা।
- তুমি যদি নিশ্চিত হও যে, তুমি কোনো মোহাচ্ছাদিত আবহে আবিষ্ট হয়ে অন্যের শেখানো বুলি আত্মস্থ করছো না, তাহলে তুমি নির্ভয়ে, নিশ্চিন্তে অগ্রসর হও।
- তুমি সেই কথাকে জানো, বুঝো, আত্মস্থ করো; মনে রাখবে, যা অনুসরণ করতে চলেছো, তা আগে অনুধাবন করা জরুরি; এখানে কিংকর্তব্যবিমূঢ় হবার কোনো সুযোগ নেই।
- name: উচ্চমাধ্যমিক সার্টিফিকেট
icon: fa-university
timeframe: ২০১০-২০১২
institution:
name: এমএসটি বিজ্ঞান কলেজ
url: "#"
grade:
scale: জিপিএ
achieved:
outOf:
extracurricularActivities:
- কোনো কথা শোনামাত্রই কি তুমি তা বিশ্বাস করবে?
- হয়তো বলবে, করবে, হয়তো বলবে “আমি করবো না।”
- তাই কোন কথাটি কাজে লাগবে, তা নির্ধারণ করবে তুমি— হ্যাঁ, তুমি।
- নিজেই ঠিক করো, নিজের ভাষাটা কি অর্থহীন, নাকি কিছু সত্যিই বলছে!
- name: মাধ্যমিক সার্টিফিকেট
icon: fa-school
timeframe: ২০০৫-২০১০
institution:
name: জে কে স্কুল অফ সায়েন্স
grade:
scale: জিপিএ
achieved:
outOf: .৫

View file

@ -13,38 +13,38 @@ section:
# Give a summary of you each skill in the summary section.
skills:
- name: Kubernetes
icon: "/images/sections/skills/kubernetes.png"
logo: "/images/sections/skills/kubernetes.png"
summary: "আমি Kubernetes এ অ্যাপ্লিকেশান পরিচালনা করতে সক্ষম । আমার Kubernetes এ CRD এর জন্য কন্ট্রোলার লিখার অভিজ্ঞতা আছে ।"
url: "https://kubernetes.io/"
- name: Go ডেভেলপমেন্ট
icon: "/images/sections/skills/go.png"
logo: "/images/sections/skills/go.png"
summary: "ডেভেলপমেন্টের জন্য প্রধান ভাষা হিসেবে ব্যবহার করছি। টেস্ট যোগ্য, রক্ষণাবেক্ষণ যোগ্য কোড লিখতে সক্ষম।"
url: "https://golang.org/"
- name: ক্লাউড কম্পিউটিং
icon: "/images/sections/skills/cloud.png"
logo: "/images/sections/skills/cloud.png"
summary: "GCP, AWS, Azure গুলোর মত বেশিরভাগ বড় বড় ক্লাউড নিয়ে কাজর অভিজ্ঞতা আছে।"
- name: Docker
icon: "/images/sections/skills/docker.svg"
logo: "/images/sections/skills/docker.svg"
summary: "বেশির ভাগ প্রোগ্রামেরই Docker কন্টেইনার তৈরি করি। মাল্টি স্টেজ এবং মাল্টি আর্কিটেকচার কন্টেইনার নিয়ে অভিজ্ঞতা আছে।"
url: "https://www.docker.com/"
- name: Prometheus
icon: "/images/sections/skills/prometheus.png"
logo: "/images/sections/skills/prometheus.png"
summary: "Prometheus metrics সেটআপ ও কনফিগার করতে সক্ষম। PromQL, AlertManager নিয়ে অভিজ্ঞতা আছে। Metric exporters লিখাতেও অভিজ্ঞতা আছে।"
url: "https://prometheus.io/"
- name: লিনাক্স
icon: "/images/sections/skills/linux.png"
logo: "/images/sections/skills/linux.png"
summary: "প্রধান অপারেটিং সিস্টেম হিসেবে ব্যবহার করছি। bash/shell scripts লিখতে সক্ষম।"
- name: গিট
icon: "/images/sections/skills/git.png"
logo: "/images/sections/skills/git.png"
summary: "গিট ভিত্তিক ডেভেলপমেন্টের অভিজ্ঞতা আছে। বেশির ভাগ ক্ষেতরেই GitHub ব্যবহার করি তবে GitLab ব্যবহারেরও অভিজ্ঞতা আছে।"
url: "https://git-scm.com/"
- name: C++
icon: "/images/sections/skills/c++.png"
logo: "/images/sections/skills/c++.png"
summary: "বেসিক C/C++ প্রোগ্রামিং জানি । প্রব্লেম সল্ভিং এবং কন্টেস্ট এর জন্য ব্যবহার করেছি।"

View file

@ -0,0 +1,89 @@
# section information
section:
name: Education
id: education
template: sections/education.html # Use "sections/education-alt.html for alternate template.
enable: true
weight: 4
showOnNavbar: true
# Can optionally hide the title in sections
# hideTitle: true
degrees:
- name: Ph.D in Quantum Cryptography
icon: fa-microscope
timeframe: 2016-2020
institution:
name: ABC University of Technology
url: "#"
grade: #(optional)
scale: CGPA
achieved: 3.6
outOf: 4
publications: #(optional)
- title: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
url: "#"
- title: Fusce eu augue ut odio porttitor pulvinar.
url: "#"
- title: Nullam vitae orci tincidunt purus viverra pulvinar.
url: "#"
- name: B.Sc. in Computer Science & Engineering
icon: fa-graduation-cap
timeframe: 2012-2016
institution:
name: University of XYZ
url: "#"
grade: #(optional)
scale: CGPA
achieved: 3.5
outOf: 4
takenCourses: #(optional)
# if true, the courses will be rendered as a table otherwise it will render as a list and the grades will be hidden.
showGrades: true
courses:
- name: Data Structures and Algorithm
achieved: 3.75
outOf: 4
- name: Network Security
achieved: 3.80
outOf: 4
- name: Operating System
achieved: 3.5
outOf: 4
- name: Artificial Intelligent
achieved: 3.75
outOf: 4
publications: #(optional)
- title: Lorem ipsum dolor sit amet, consectetur adipiscing elit.
url: "#"
- title: Fusce eu augue ut odio porttitor pulvinar.
url: "#"
extracurricularActivities: #(optional)
- In vitae facilisis est, eget porta sem.
- Vestibulum consectetur lorem justo, at laoreet lorem feugiat et.
- Duis sed massa feugiat, ornare justo et, aliquam est.
- Pellentesque ut fringilla magna.
- name: Higher Secondary School Certificate
icon: fa-university
timeframe: 2010-2012
institution:
name: MST College of Science
url: "#"
grade: #(optional)
scale: GPA
achieved: 5
outOf: 5
extracurricularActivities: #(optional)
- In vitae facilisis est, eget porta sem.
- Vestibulum consectetur lorem justo, at laoreet lorem feugiat et.
- Duis sed massa feugiat, ornare justo et, aliquam est.
- Pellentesque ut fringilla magna.
- name: Secondary School Certificate
icon: fa-school
timeframe: 2005-2010
institution:
name: JK School of Science
grade: #(optional)
scale: GPA
achieved: 4.5
outOf: 5

View file

@ -12,38 +12,38 @@ section:
# Give a summary of you each skill in the summary section.
skills:
- name: Kubernetes
icon: "/images/sections/skills/kubernetes.png"
logo: "/images/sections/skills/kubernetes.png"
summary: "Capable of deploying, managing application on Kubernetes. Experienced in writing Kubernetes controllers for CRDs."
url: "https://kubernetes.io/"
- name: Go Development
icon: "/images/sections/skills/go.png"
logo: "/images/sections/skills/go.png"
summary: "Using as the main language for professional development. Capable of writing scalable, testable, and maintainable program."
url: "https://golang.org/"
- name: Cloud Computing
icon: "/images/sections/skills/cloud.png"
logo: "/images/sections/skills/cloud.png"
summary: "Worked with most of the major clouds such as GCP, AWS, Azure etc."
- name: Docker
icon: "/images/sections/skills/docker.svg"
logo: "/images/sections/skills/docker.svg"
summary: "Write most of the programs as dockerized container. Experienced with multi-stage, multi-arch build process."
url: "https://www.docker.com/"
- name: Prometheus
icon: "/images/sections/skills/prometheus.png"
logo: "/images/sections/skills/prometheus.png"
summary: "Capable of setup, configure Prometheus metrics. Experienced with PromQL, AlertManager. Also, experienced with writing metric exporters."
url: "https://prometheus.io/"
- name: Linux
icon: "/images/sections/skills/linux.png"
logo: "/images/sections/skills/linux.png"
summary: "Using as the main operating system. Capable of writing bash/shell scripts."
- name: Git
icon: "/images/sections/skills/git.png"
logo: "/images/sections/skills/git.png"
summary: "Experienced with git-based development. Mostly, use Github. Also, have experience in working with GitLab."
url: "https://git-scm.com/"
- name: C++
icon: "/images/sections/skills/c++.png"
logo: "/images/sections/skills/c++.png"
summary: "Know basic C/C++ programming. Used for contest programming and problem solving."

View file

@ -13,38 +13,38 @@ section:
# Give a summary of you each skill in the summary section.
skills:
- name: Kubernetes
icon: "/images/sections/skills/kubernetes.png"
logo: "/images/sections/skills/kubernetes.png"
summary: "Capable de déployer, de gérer l'application sur Kubernetes. Expérimenté dans la rédaction de contrôleurs Kubernetes pour les CRD."
url: "https://kubernetes.io/"
- name: Go
icon: "/images/sections/skills/go.png"
logo: "/images/sections/skills/go.png"
summary: "Utiliser comme langue principale pour le développement professionnel. Capable d'écrire des programmes évolutifs, testables et maintenables."
url: "https://golang.org/"
- name: Cloud Computing
icon: "/images/sections/skills/cloud.png"
logo: "/images/sections/skills/cloud.png"
summary: "A travaillé avec la plupart des principaux nuages tels que GCP, AWS, Azure, etc."
- name: Docker
icon: "/images/sections/skills/docker.svg"
logo: "/images/sections/skills/docker.svg"
summary: "Inscrivez la plupart des programmes en tant que conteneur déchargé. Expérimenté dans le processus de construction en plusieurs étapes et en plusieurs arcs."
url: "https://www.docker.com/"
- name: Prometheus
icon: "/images/sections/skills/prometheus.png"
logo: "/images/sections/skills/prometheus.png"
summary: "Capable d'installation, de configurer les métriques de Prometheus. Expérimenté avec PromQL, AlertManager. Expérimenté également dans la rédaction d'exportateurs de métriques."
url: "https://prometheus.io/"
- name: Linux
icon: "/images/sections/skills/linux.png"
logo: "/images/sections/skills/linux.png"
summary: "Utilisé comme système d'exploitation principal. Capable d'écrire des scripts bash/shell."
- name: Git
icon: "/images/sections/skills/git.png"
logo: "/images/sections/skills/git.png"
summary: "Expérimenté dans le développement basé sur les GIT. Surtout, utilisez Github. Avoir également une expérience de travail avec GitLab."
url: "https://git-scm.com/"
- name: C++
icon: "/images/sections/skills/c++.png"
logo: "/images/sections/skills/c++.png"
summary: "Connaître les bases de la programmation C/C++. Utilisé pour la programmation de concours et la résolution de problèmes."

View file

@ -12,38 +12,38 @@ section:
# Give a summary of you each skill in the summary section.
skills:
- name: Kubernetes
icon: "/images/sections/skills/kubernetes.png"
logo: "/images/sections/skills/kubernetes.png"
summary: "Mampu menerapkan, mengelola aplikasi di Kubernetes. Berpengalaman dalam menulis pengontrol Kubernetes untuk CRD."
url: "https://kubernetes.io/"
- name: Go Development
icon: "/images/sections/skills/go.png"
logo: "/images/sections/skills/go.png"
summary: "Menggunakan sebagai bahasa utama untuk pengembangan profesional. Mampu menulis program yang dapat diskalakan, dapat diuji, dan dipelihara."
url: "https://golang.org/"
- name: Cloud Computing
icon: "/images/sections/skills/cloud.png"
logo: "/images/sections/skills/cloud.png"
summary: "Worked with most of the major clouds such as GCP, AWS, Azure etc."
- name: Docker
icon: "/images/sections/skills/docker.svg"
logo: "/images/sections/skills/docker.svg"
summary: "Tulis sebagian besar program sebagai kontainer docker. Berpengalaman dengan proses pembangunan multi-tahap dan multi-arch."
url: "https://www.docker.com/"
- name: Prometheus
icon: "/images/sections/skills/prometheus.png"
logo: "/images/sections/skills/prometheus.png"
summary: "Mampu mengatur, mengkonfigurasi metrik Prometheus. Berpengalaman dengan PromQL, AlertManager. Juga, berpengalaman dengan eksportir menulis metrik."
url: "https://prometheus.io/"
- name: Linux
icon: "/images/sections/skills/linux.png"
logo: "/images/sections/skills/linux.png"
summary: "Menggunakan sebagai sistem operasi utama. Mampu menulis skrip bash / shell."
- name: Git
icon: "/images/sections/skills/git.png"
logo: "/images/sections/skills/git.png"
summary: "Berpengalaman dengan pengembangan berbasis git. Kebanyakan, gunakan Github. Juga, miliki pengalaman bekerja dengan GitLab."
url: "https://git-scm.com/"
- name: C++
icon: "/images/sections/skills/c++.png"
logo: "/images/sections/skills/c++.png"
summary: "Ketahui pemrograman C / C ++ dasar. Digunakan untuk pemrograman kontes dan pemecahan masalah."

View file

@ -12,38 +12,38 @@ section:
# Fornisci una sintesi delle tue competenze per la sezione di sintesi.
skills:
- name: Kubernetes
icon: "/images/sections/skills/kubernetes.png"
logo: "/images/sections/skills/kubernetes.png"
summary: "Capacità di distribuzione e gestione di applicazioni su Kubernetes. Esperienza nello sviluppo di controller CRD per Kubernetes."
url: "https://kubernetes.io/"
- name: Sviluppo Go
icon: "/images/sections/skills/go.png"
logo: "/images/sections/skills/go.png"
summary: "Utilizzato come linguaggio principale per lo sviluppo professionale. Capacità di scrivere programmi scalabili, testabili e manutenibili."
url: "https://golang.org/"
- name: Cloud Computing
icon: "/images/sections/skills/cloud.png"
logo: "/images/sections/skills/cloud.png"
summary: "Ha lavorato con la maggior parte dei principali sistemi cloud: GCP, AWS, Azure etc."
- name: Docker
icon: "/images/sections/skills/docker.svg"
logo: "/images/sections/skills/docker.svg"
summary: "Scittura di programmi come container dockerized. Esperienza con processi multi-stage e multi-arch."
url: "https://www.docker.com/"
- name: Prometheus
icon: "/images/sections/skills/prometheus.png"
logo: "/images/sections/skills/prometheus.png"
summary: "Capacità di impostare e configurare metriche Prometheus. Esperienza con PromQL, AlertManager."
url: "https://prometheus.io/"
- name: Linux
icon: "/images/sections/skills/linux.png"
logo: "/images/sections/skills/linux.png"
summary: "Utilizzato come principale sistema operativo. Capacità di scrivere script bash/shell."
- name: Git
icon: "/images/sections/skills/git.png"
logo: "/images/sections/skills/git.png"
summary: "Esperienza con lo sviluppo git, ed in particolare usando Github. Esperienza anche con GitLab."
url: "https://git-scm.com/"
- name: C++
icon: "/images/sections/skills/c++.png"
logo: "/images/sections/skills/c++.png"
summary: "Conoscenza della programmazione di base C/C++, utilizzata per vari progetti di programmazione e problem solving."

View file

@ -46,3 +46,27 @@ 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 = "পাঠক্রম বহির্ভূত কার্যক্রম"
[see_more]
other = "আরো দেখুন"

View file

@ -49,3 +49,27 @@ 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 = "课外活动"
[see_more]
other = "查看更多"

View file

@ -49,3 +49,27 @@ other = "Nächste"
[improve_this_page]
other = "Diese Seite verbessern"
[out_of]
other = "van de"
[publications]
other = "Publicaties"
[taken_courses]
other = "Cursussen gevolgd"
[course_name]
other = "Cursus naam"
[total_credit]
other = "Totaal krediet"
[obtained_credit]
other = "Krediet verkregen"
[extracurricular_activities]
other = "Buitenschoolse activiteiten"
[see_more]
other = "Bekijk meer"

View file

@ -49,3 +49,27 @@ other = "Next"
[improve_this_page]
other = "Improve this page"
[out_of]
other = "out of"
[publications]
other = "Publications"
[taken_courses]
other = "Taken Courses"
[course_name]
other = "Course Name"
[total_credit]
other = "Total Credit"
[obtained_credit]
other = "Obtained Credit"
[extracurricular_activities]
other = "Extracurricular Activities"
[see_more]
other = "See More"

View file

@ -49,3 +49,27 @@ other = "Siguiente"
[improve_this_page]
other = "Mejorar esta página"
[out_of]
other = "de"
[publications]
other = "Publicaciones"
[taken_courses]
other = "Cursos tomados"
[course_name]
other = "Nombre del curso"
[total_credit]
other = "Crédito total"
[obtained_credit]
other = "Crédito obtenido"
[extracurricular_activities]
other = "Actividades extracurriculares"
[see_more]
other = "Ver más"

View file

@ -49,3 +49,27 @@ other = "Suivant"
[improve_this_page]
other = "Améliorez cette page"
[out_of]
other = "sur"
[publications]
other = "Publications"
[taken_courses]
other = "Taken Courses"
[course_name]
other = "Cours suivis"
[total_credit]
other = "Crédit total"
[obtained_credit]
other = "Crédit obtenu"
[extracurricular_activities]
other = "Activités extra-scolaires"
[see_more]
other = "En savoir plus"

View file

@ -49,3 +49,27 @@ other = "Lanjut"
[improve_this_page]
other = "Perbaiki halaman ini"
[out_of]
other = "dari"
[publications]
other = "Publikasi"
[taken_courses]
other = "Kursus yang Diambil"
[course_name]
other = "Nama kursus"
[total_credit]
other = "Total Kredit"
[obtained_credit]
other = "Memperoleh Kredit"
[extracurricular_activities]
other = "Kegiatan ekstrakulikuler"
[see_more]
other = "Lihat Selengkapnya"

View file

@ -49,3 +49,27 @@ other = "Successivo"
[improve_this_page]
other = "Migliora questa pagina"
[out_of]
other = "su"
[publications]
other = "Pubblicazioni"
[taken_courses]
other = "Corsi presi"
[course_name]
other = "Nome del corso"
[total_credit]
other = "Credito totale"
[obtained_credit]
other = "Credito ottenuto"
[extracurricular_activities]
other = "Attività extracurriculari"
[see_more]
other = "Vedi altro"

View file

@ -36,7 +36,7 @@ other = "ご入力いただいたメールアドレスが他人に開示され
other = "登録"
[hugoAttributionText]
other = "Powered by"
other = "搭載"
[prev]
other = "前"
@ -46,3 +46,27 @@ 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 = "課外活動"
[see_more]
other = "続きを見る"

View file

@ -49,3 +49,27 @@ 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 = "Внеклассные занятия"
[see_more]
other = "Узнать больше"

75
i18n/vn.toml Normal file
View file

@ -0,0 +1,75 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Trang chủ"
[posts]
other = "Bài viết"
[toc_heading]
other = "Mục lục"
[at]
other = "tại"
[resume]
other = "Sơ yếu lý lịch của tôi"
[navigation]
other = "Điều hướng"
[contact_me]
other = "Liên hệ với tôi"
[email]
other = "Email"
[phone]
other = "Điện thoại"
[newsletter_text]
other = "Nhận email cập nhật thông tin"
[newsletter_input_placeholder]
other = "Nhập email"
[newsletter_warning]
other = "Chúng tôi sẽ không bao giờ chia sẻ email của bạn."
[submit]
other = "Gửi"
[hugoAttributionText]
other = "Được cung cấp bởi"
[prev]
other = "Trước"
[next]
other = "Tiếp theo"
[improve_this_page]
other = "Cải thiện trang này"
[out_of]
other = "trên"
[publications]
other = "Ấn phẩm"
[taken_courses]
other = "Đã thực hiện các khóa học"
[course_name]
other = "Tên khóa học"
[total_credit]
other = "Tổng số tín dụng"
[obtained_credit]
other = "Tín dụng thu được"
[extracurricular_activities]
other = "Các hoạt động ngoại khóa"
[see_more]
other = "Xem thêm"

View file

@ -1,5 +1,5 @@
{{ define "header" }}
<link rel="stylesheet" href="{{ "/assets/css/404.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/404.css" | relURL }}">
{{ end }}
{{ define "navbar" }}
@ -7,9 +7,19 @@
{{ end }}
{{ define "content" }}
{{/* not found image */}}
{{ $notFoundImage := "/images/404.png" }}
{{/* resize the image. don't resize svg because it is not supported */}}
{{ $notFoundImage := resources.Get $notFoundImage}}
{{ if and $notFoundImage (ne $notFoundImage.MediaType.SubType "svg") }}
{{ $notFoundImage = $notFoundImage.Resize "1500x" }}
{{ end }}
{{ $notFoundImage = $notFoundImage.RelPermalink}}
<div class="container">
<div class="notFound">
<img src="{{ "/assets/images/404.png" | relURL }}" alt="">
<img src="{{ $notFoundImage }}" alt="">
<div class="message">
<h1>404</h1>
<h4>The page you are looking for is not there yet.</h4>

View file

@ -1,6 +1,6 @@
{{ define "header" }}
<link rel="stylesheet" href="{{ "/assets/css/layouts/list.css" | relURL }}">
<link rel="stylesheet" href="{{ "/assets/css/navigators/sidebar.css" | relURL}}">
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
{{ end }}
{{ define "navbar" }}
@ -10,7 +10,7 @@
{{ define "sidebar" }}
{{ $blogHome:="#" }}
{{ if site.IsMultiLingual }}
{{ $blogHome = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) "posts") }}
{{ $blogHome = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }}
<section class="sidebar-section" id="sidebar-section">
@ -19,7 +19,7 @@
<input type="text" value="" placeholder="Search" data-search="" id="search-box" />
<div class="sidebar-tree">
<ul class="tree" id="tree">
<li id="list-heading"><a href="{{ "/posts" | relLangURL }}" data-filter="all">{{ i18n "posts" }}</a></li>
<li id="list-heading"><a href="{{ .Type | relLangURL }}" data-filter="all">{{ i18n .Type }}</a></li>
<div class="subtree">
{{ partial "navigators/sidebar.html" (dict "menus" site.Menus.sidebar "ctx" .) }}
</div>
@ -47,5 +47,5 @@
{{ end }}
{{ define "scripts" }}
<script src="{{ "/assets/js/list.js" | relURL }}"></script>
<script src="{{ "/js/list.js" | relURL }}"></script>
{{ end }}

View file

@ -4,8 +4,8 @@
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/atom-one-dark.min.css"
/>
<link rel="stylesheet" href="{{ "/assets/css/layouts/single.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/navigators/sidebar.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/layouts/single.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
{{ end }}
{{ define "navbar" }}
@ -35,13 +35,13 @@
<div class="content">
<div class="container p-0 read-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" . | relURL }});'>
<div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ strings.TrimSuffix "/" site.BaseURL }}{{ partial "helpers/get-hero.html" . }});'>
</div>
<!--Content Start-->
<div class="page-content">
<div class="author-profile ml-auto align-self-lg-center">
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . | relURL }}'/>
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}'/>
<h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5>
<p>{{ .Page.Date.Format "January 2, 2006" }}</p>
</div>
@ -97,7 +97,7 @@
{{ define "scripts" }}
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script>
<script src="{{ "/assets/js/single.js" | relURL }}"></script>
<script src="{{ "/js/single.js" | relURL }}"></script>
<script>
hljs.initHighlightingOnLoad();
</script>

View file

@ -15,13 +15,14 @@
{{- partial "header.html" . -}}
<!-- import index page specific headers -->
<link rel="stylesheet" href="{{ "/assets/css/sections/home.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/sections/about.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/sections/skills.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/sections/experiences.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/sections/projects.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/sections/recent-posts.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/sections/achievements.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/home.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/about.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/skills.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/experiences.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/education.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/projects.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/recent-posts.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/achievements.css" | relURL }}"/>
<!-- Add Google Analytics if enabled in configuration -->
{{ if site.GoogleAnalytics }}
@ -70,9 +71,9 @@
{{ partial "scripts.html" . }}
<!--- ADD INDEX PAGE SPECIFIC SCRIPTS -->
<script src="{{ "/assets/js/itype.min.js" | relURL }}"></script>
<script src="{{ "/assets/js/github-button.js" | relURL }}"></script>
<script src="{{ "/assets/js/home.js" | relURL }}"></script>
<script src="{{ "/assets/js/jquery.filterizr.min.js" | relURL }}"></script>
<script src="{{ "/js/itype.min.js" | relURL }}"></script>
<script src="{{ "/js/github-button.js" | relURL }}"></script>
<script src="{{ "/js/home.js" | relURL }}"></script>
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
</body>
</html>

View file

@ -4,11 +4,17 @@
>
<div class="card mt-1">
<div class="card">
<a class="card-header" href="{{ if .repo }}{{ .repo }}{{ else if .url }}{{ .url }}{{ else }}#{{ end }}">
<a class="card-header" href="{{ if .repo }}{{ .repo }}{{ else if .url }}{{ .url }}{{ else }}javascript:void(0){{ end }}">
<div>
<div class="d-flex">
{{ if .logo }}
<img class="card-img-xs" src="{{ .logo | relURL }}" alt="{{ .name }}" />
{{ $logoImage:= resources.Get .logo}}
{{ if $logoImage }}
{{ $logoImage := $logoImage.Fit "24x24" }}
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }}
{{ end }}
<h5 class="card-title mb-0">{{ .name }}</h5>
</div>

View file

@ -1,9 +1,16 @@
<div class="col-xs-12 col-sm-6 col-lg-4 pt-2">
<a class="skill-card-link" href="{{ if .url }}{{ .url }}{{ else }}#{{ end }}">
<a class="skill-card-link" href="{{ if .url }}{{ .url }}{{ else }}javascript:void(0){{ end }}">
<div class="card">
<div class="card-head d-flex">
{{ if .icon }}
<img class="card-img-xs" src="{{ .icon | relURL }}" alt="{{ .name }}" />
{{ if .logo }}
{{ $logoImage := resources.Get .logo }}
{{/* svg don't support "Fit" operation */}}
{{ if ne $logoImage.MediaType.SubType "svg" }}
{{ $logoImage := $logoImage.Fit "24x24" }}
{{ end }}
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }}
<h5 class="card-title">{{ .name }}</h5>
</div>

View file

@ -16,6 +16,23 @@
{{ end }}
{{ end }}
{{/* footer logos */}}
{{ $themeLogo := "/images/theme-logo.png" }}
{{ $hugoLogo := "/images/hugo-logo.svg" }}
{{/* resize the logos. don't resize svg because it is not supported */}}
{{ $themeLogo:= resources.Get $themeLogo}}
{{ if and $themeLogo (ne $themeLogo.MediaType.SubType "svg") }}
{{ $themeLogo = $themeLogo.Resize "32x" }}
{{ end }}
{{ $themeLogo = $themeLogo.RelPermalink}}
{{ $hugoLogo:= resources.Get $hugoLogo}}
{{ if and $hugoLogo (ne $hugoLogo.MediaType.SubType "svg")}}
{{ $hugoLogo = $hugoLogo.Resize "32x" }}
{{ end }}
{{ $hugoLogo = $hugoLogo.RelPermalink}}
<footer class="container-fluid text-center align-content-center footer pb-2">
<div class="container pt-5">
<div class="row text-left">
@ -76,7 +93,7 @@
<div class="row text-left">
<div class="col-md-4">
<a id="theme" href="https://github.com/hossainemruz/toha" target="#">
<img src="{{ "/assets/images/inverted-logo.png" | relURL }}">
<img src="{{ $themeLogo }}">
Toha
</a>
</div>
@ -84,7 +101,7 @@
<div class="col-md-4 text-right">
<a id="hugo" href="https://gohugo.io/">{{ i18n "hugoAttributionText" }}
<img
src="{{ "/assets/images/hugo-logo-wide.svg" | relURL }}"
src="{{ $hugoLogo }}"
alt="Hugo Logo"
height="18"
/>

View file

@ -1,19 +1,34 @@
{{/* default favicon */}}
{{ $favicon := "/images/favicon.png" }}
{{/* if favicon is provided in the config, then use that */}}
{{ if site.Params.logo.favicon }}
{{ $favicon = site.Params.logo.favicon }}
{{ end }}
{{/* resize the favicon. don't resize svg because it is not supported */}}
{{ $favicon := resources.Get $favicon }}
{{ if and $favicon (ne $favicon.MediaType.SubType "svg") }}
{{ $favicon = $favicon.Resize "42x" }}
{{ end }}
{{ $favicon = $favicon.RelPermalink}}
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<!-- ============ import common css ========== -->
<link rel="stylesheet" href="{{ "/assets/css/bootstrap.min.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/layouts/main.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/style.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/assets/css/navigators/navbar.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/layouts/main.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/>
<!--=================== cdn ==============================-->
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
<!--================= fab-icon =========================-->
<link rel="icon" type="image/png" href="{{ site.Params.logo.favicon | default "/assets/images/favicon.png" | relURL }}" />
<link rel="icon" type="image/png" href="{{ $favicon }}" />
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/assets/css/style.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>

View file

@ -2,11 +2,14 @@
{{ if (index site.Data site.Language.Lang).author }}
{{ $author = (index site.Data site.Language.Lang).author }}
{{ end }}
{{ $authorImage:= "/assets/images/default-avatar.png" }}
{{/* default author image */}}
{{ $authorImage:= "/images/default-avatar.png" }}
{{ if $author.image }}
{{ $authorImage = $author.image }}
{{ end }}
{{/* if author image is provided in author's data, then use that */}}
{{ if eq (printf "%T" .Params.author ) "maps.Params" }}
{{ with .Params.author }}
{{ if .image }}
@ -14,4 +17,13 @@
{{ end }}
{{ end }}
{{ end }}
{{ return $authorImage }}
{{/* apply image processing. don't use "Fit" in svg because its not supported */}}
{{ $authorImage:= resources.Get $authorImage}}
{{ if and $authorImage (ne $authorImage.MediaType.SubType "svg") }}
{{ $authorImage := $authorImage.Fit "120x120" }}
{{ end }}
{{/* return the author image link */}}
{{ return $authorImage.RelPermalink }}

View file

@ -1,5 +1,19 @@
{{ $heroImage:= "/assets/images/default-hero.jpg"}}
{{ if .Params.hero }}
{{ $heroImage = .Params.hero }}
{{/* check if there is any hero image in the same folder as the markdown file */}}
{{ $heroImage := .Page.Resources.GetMatch "hero.{jpg,png,svg}"}}
{{ .Scratch.Set "heroScratch" $heroImage }}
{{/* if hero image is not provided, then use the default hero image */}}
{{ if not $heroImage }}
{{ $heroImage := resources.Get "images/default-hero.jpg"}}
{{ .Scratch.Set "heroScratch" $heroImage }}
{{ end }}
{{ return $heroImage }}
{{ $heroImage := .Scratch.Get "heroScratch" }}
{{/* resize hero image. don't resize if the image is an svg */}}
{{ if and $heroImage (ne $heroImage.MediaType.SubType "svg") }}
{{ $heroImage := $heroImage.Resize "148x" }}
{{ end }}
{{/* return the hero image */}}
{{ return $heroImage.RelPermalink }}

View file

@ -1,19 +1,36 @@
{{ $mainLogo:="/assets/images/main-logo.png" }}
{{ $invertedLogo:="/assets/images/inverted-logo.png" }}
{{/* default logos */}}
{{ $mainLogo := "/images/main-logo.png" }}
{{ $invertedLogo := "/images/inverted-logo.png" }}
{{/* if custom logo has been provided in the config file, then use them */}}
{{ if site.Params.logo.main }}
{{ $mainLogo = site.Params.logo.main }}
{{ end }}
{{ if site.Params.logo.inverted }}
{{ $invertedLogo = site.Params.logo.inverted }}
{{ end }}
{{/* resize the logos. don't resize svg because it is not supported */}}
{{ $mainLogo := resources.Get $mainLogo}}
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
{{ $mainLogo = $mainLogo.Resize "42x" }}
{{ end }}
{{ $mainLogo = $mainLogo.RelPermalink}}
{{ $invertedLogo := resources.Get $invertedLogo}}
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg") }}
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
{{ end }}
{{ $invertedLogo = $invertedLogo.RelPermalink}}
<nav class="navbar navbar-expand-xl top-navbar final-navbar shadow">
<div class="container">
<button class="navbar-toggler navbar-light" id="sidebar-toggler" type="button" onclick="toggleSidebar()">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
<img src="{{ $mainLogo | relURL }}">
<img src="{{ $mainLogo }}">
{{- site.Title -}}
</a>
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
@ -29,6 +46,6 @@
</div>
</div>
<!-- Store the logo information in a hidden img for the JS -->
<img src="{{ $mainLogo | relURL }}" class="d-none" id="main-logo">
<img src="{{ $invertedLogo | relURL }}" class="d-none" id="inverted-logo">
<img src="{{ $mainLogo }}" class="d-none" id="main-logo">
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo">
</nav>

View file

@ -1,5 +1,8 @@
{{ $mainLogo:="/assets/images/main-logo.png" }}
{{ $invertedLogo:="/assets/images/inverted-logo.png" }}
{{/* default logos */}}
{{ $mainLogo := "/images/site/main-logo.png" }}
{{ $invertedLogo := "/images/inverted-logo.png" }}
{{/* if custom logo is used, them */}}
{{ if site.Params.logo.main }}
{{ $mainLogo = site.Params.logo.main }}
{{ end }}
@ -7,7 +10,20 @@
{{ $invertedLogo = site.Params.logo.inverted }}
{{ end }}
{{ $sections:= site.Data.sections }}
{{/* resize the logos. don't resize svg because it is not supported */}}
{{ $mainLogo := resources.Get $mainLogo}}
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
{{ $mainLogo = $mainLogo.Resize "42x" }}
{{ end }}
{{ $mainLogo = $mainLogo.RelPermalink}}
{{ $invertedLogo := resources.Get $invertedLogo}}
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
{{ end }}
{{ $invertedLogo = $invertedLogo.RelPermalink}}
{{ $sections := site.Data.sections }}
{{ if (index site.Data site.Language.Lang).sections }}
{{ $sections = (index site.Data site.Language.Lang).sections }}
{{ end }}
@ -15,7 +31,7 @@
<nav class="navbar navbar-expand-xl top-navbar initial-navbar" id="top-navbar">
<div class="container">
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
<img src="{{ $invertedLogo | relURL }}" id="logo">
<img src="{{ $invertedLogo }}" id="logo">
{{- site.Title -}}
</a>
<button
@ -72,6 +88,6 @@
</div>
</div>
<!-- Store the logo information in a hidden img for the JS -->
<img src="{{ $mainLogo | relURL }}" class="d-none" id="main-logo">
<img src="{{ $invertedLogo | relURL }}" class="d-none" id="inverted-logo">
<img src="{{ $mainLogo }}" class="d-none" id="main-logo">
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo">
</nav>

View file

@ -1,6 +1,6 @@
<script src="{{ "/assets/js/jquery-3.4.1.min.js" | relURL }}"></script>
<script src="{{ "/assets/js/popper.min.js" | relURL }}"></script>
<script src="{{ "/assets/js/bootstrap.min.js" | relURL }}"></script>
<script src="{{ "/js/jquery-3.4.1.min.js" | relURL }}"></script>
<script src="{{ "/js/popper.min.js" | relURL }}"></script>
<script src="{{ "/js/bootstrap.min.js" | relURL }}"></script>
<script src="{{ "/assets/js/navbar.js" | relURL }}"></script>
<script src="{{ "/assets/js/main.js" | relURL }}"></script>
<script src="{{ "/js/navbar.js" | relURL }}"></script>
<script src="{{ "/js/main.js" | relURL }}"></script>

View file

@ -1,6 +1,18 @@
{{ $achievementImage := resources.Get .image }}
{{ $achievementImageLg := ""}}
{{ $achievementImageSm := ""}}
{{/* resize the images. don't resize svg image because its not supported */}}
{{ if $achievementImage }}
{{ $achievementImageSm = $achievementImage.Resize "x300" }}
{{ $achievementImageSm = $achievementImageSm.RelPermalink }}
{{ $achievementImageLg = $achievementImage.Resize "x1500" }}
{{ $achievementImageLg = $achievementImageLg.RelPermalink }}
{{ end }}
{{/* don't use "background-image: url('{{ $achievementImageSm }}');" Otherwise the images won't show in https://themes.gohugo.io/ */}}
<div
class="achievement-entry text-center"
style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ .image | relURL }}');"
style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageSm }}');"
>
<i class="fas fa-search-plus" id="enlarge-icon"></i>
<h4 class="title" id="achievement-title">{{ .title }}</h4>
@ -8,4 +20,6 @@
<h4>{{ .title }}</h4>
<p>{{ .summary | markdownify }}</p>
</div>
<span style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $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>
</div>

View file

@ -0,0 +1,110 @@
{{ $sectionID := replace (lower .section.name) " " "-" }}
{{ if .section.id }}
{{ $sectionID = .section.id }}
{{ end }}
<div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}">
{{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1>
{{ end }}
<div class="container">
<table class="education-info-table">
<tbody>
{{ range .degrees}}
<tr>
<td class="icon">
<div class="hline"></div>
<div class="icon-holder">
<i class="fas {{ .icon }}"></i>
</div>
</td>
<td class="line">
<div></div>
</td>
<td class="details">
<div class="degree-info card">
<div class="row">
<div class="col-lg-10 col-md-8">
{{ if .institution.url }}
<h5><a href="{{ .institution.url }}">{{ .institution.name }}</a></h5>
{{ else }}
<h5>{{ .institution.name }}</h5>
{{ end }}
</div>
<div class="timeframe col-lg-2 col-md-4">{{ .timeframe }}</div>
</div>
<h6>{{ .name }}</h6>
{{ if .grade }}
<h6><span>{{ .grade.scale }}: </span><span>{{ .grade.achieved }}</span> {{ i18n "out_of" }} <span>{{ .grade.outOf }}</span></h6>
{{ end }}
{{ if .publications }}
<div class="publications">
<h6 class="text-muted">{{i18n "publications"}}</h6>
<ul>
{{ range .publications }}
<li><a href="{{ .url }} ">{{ .title }}</a></li>
{{ end }}
</ul>
</div>
{{ end }}
{{ if .takenCourses }}
<div class="taken-courses">
<h6 class="text-muted">{{ i18n "taken_courses" }}</h6>
{{ if .takenCourses.showGrades }}
<table>
<thead>
<th>{{ i18n "course_name" }}</th>
<th>{{ i18n "total_credit" }}</th>
<th>{{ i18n "obtained_credit" }}</th>
</thead>
<tbody>
{{ range $index,$course := .takenCourses.courses }}
<tr class="course {{ if gt $index 1 }}hidden-course{{ end}}">
<td>{{ $course.name }}</td>
<td>{{ $course.outOf }}</td>
<td>{{ $course.achieved }}</td>
</tr>
{{ end }}
</tbody>
</table>
{{ else }}
<ul>
{{ range $index,$course := .takenCourses.courses }}
<li class="course {{ if gt $index 1 }}hidden-course{{ end}}">{{ $course.name }}</li>
{{ end }}
</ul>
{{ end }}
{{ if gt (len .takenCourses.courses) 2 }}
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
onclick="showMoreCourses(this);">{{ i18n "see_more"}}</button>
{{ end }}
</div>
{{ end }}
{{ if .extracurricularActivities }}
<div class="extracurricular-activities">
<h6 class="text-muted">{{ i18n "extracurricular_activities" }}</h6>
<ul>
{{ range .extracurricularActivities }}
<li>{{ . }}</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
</td>
<td class="line">
<div></div>
</td>
<td class="icon">
<div class="hline"></div>
<div class="icon-holder">
<i class="fas {{ .icon }}"></i>
</div>
</td>
</tr>
{{ end }}
</tbody>
</table>
</div>
</div>

View file

@ -0,0 +1,101 @@
{{ $sectionID := replace (lower .section.name) " " "-" }}
{{ if .section.id }}
{{ $sectionID = .section.id }}
{{ end }}
<div class="container-fluid anchor pb-5 education-section" id="{{ $sectionID }}">
{{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1>
{{ end }}
<div class="container">
<table class="education-info-table">
<tbody>
{{ range .degrees}}
<tr>
<td class="icon">
<div class="hline"></div>
<div class="icon-holder">
<i class="fas {{ .icon }}"></i>
</div>
</td>
<td class="line">
<div></div>
</td>
<td class="details">
<div class="degree-info card">
<div class="row">
<div class="col-lg-10 col-md-8">
{{ if .institution.url }}
<h5><a href="{{ .institution.url }}">{{ .institution.name }}</a></h5>
{{ else }}
<h5>{{ .institution.name }}</h5>
{{ end }}
</div>
<div class="timeframe col-lg-2 col-md-4">{{ .timeframe }}</div>
</div>
<h6>{{ .name }}</h6>
{{ if .grade }}
<h6><span class="text-muted">{{ .grade.scale }}: </span><span>{{ .grade.achieved }}</span> {{ i18n "out_of"}} <span>{{ .grade.outOf }}</span></h6>
{{ end }}
{{ if .publications }}
<div class="publications">
<h6 class="text-muted">{{ i18n "publications"}}</h6>
<ul>
{{ range .publications }}
<li><a href="{{ .url }} ">{{ .title }}</a></li>
{{ end }}
</ul>
</div>
{{ end }}
{{ if .takenCourses }}
<div class="taken-courses">
<h6 class="text-muted">{{ i18n "taken_courses"}}</h6>
{{ if .takenCourses.showGrades }}
<table>
<thead>
<th>{{ i18n "course_name"}}</th>
<th>{{ i18n "total_credit"}}</th>
<th>{{ i18n "obtained_credit"}}</th>
</thead>
<tbody>
{{ range $index,$course := .takenCourses.courses }}
<tr class="course {{ if gt $index 1 }}hidden-course{{ end}}">
<td>{{ $course.name }}</td>
<td>{{ $course.outOf }}</td>
<td>{{ $course.achieved }}</td>
</tr>
{{ end }}
</tbody>
</table>
{{ else }}
<ul>
{{ range $index,$course := .takenCourses.courses }}
<li class="course {{ if gt $index 1 }}hidden-course{{ end}}">{{ $course.name }}</li>
{{ end }}
</ul>
{{ end }}
{{ if gt (len .takenCourses.courses ) 2 }}
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
onclick="showMoreCourses(this);">{{ i18n "see_more"}}</button>
{{ end }}
</div>
{{ end }}
{{ if .extracurricularActivities }}
<div class="extracurricular-activities">
<h6 class="text-muted">{{ i18n "extracurricular_activities"}}</h6>
<ul>
{{ range .extracurricularActivities }}
<li>{{ . }}</li>
{{ end }}
</ul>
</div>
{{ end }}
</div>
</td>
</tr>
{{ end }}
</tbody>
</table>
</div>
</div>

View file

@ -15,23 +15,97 @@
{{ $sections = (index site.Data site.Language.Lang).sections }}
{{ end }}
{{ $backgroundImage:= "/assets/images/default-background.jpg" }}
{{ $backgroundImage:= "/images/default-background.jpg" }}
{{ if site.Params.background }}
{{ $backgroundImage = site.Params.background }}
{{ end }}
{{ $authorImage:= "/assets/images/default-avatar.png" }}
{{ $authorImage:= "/images/default-avatar.png" }}
{{ if $author.image }}
{{ $authorImage = $author.image }}
{{ end }}
{{ $authorImage := resources.Get $authorImage }}
{{ $authorImage := $authorImage.Fit "148x148" }}
{{/* get file that matches the filename as specified as src="" in shortcode */}}
{{ $src := resources.Get $backgroundImage }}
{{/* set image sizes, these are hardcoded for now, x dictates that images are resized to this width */}}
{{ $tinyw := default "500x" }}
{{ $smallw := default "800x" }}
{{ $mediumw := default "1200x" }}
{{ $largew := default "1500x" }}
{{/* resize the src image to the given sizes */}}
{{ $tiny := $src.Resize $tinyw }}
{{ $small := $src.Resize $smallw }}
{{ $medium := $src.Resize $mediumw }}
{{ $large := $src.Resize $largew }}
{{/* only use images smaller than or equal to the src (original) image size, as Hugo will upscale small images */}}
{{/* set the sizes attribute to (min-width: 35em) 1200px, 100vw unless overridden in shortcode */}}
{{ if lt $src.Width "500" }}
{{ $tiny := $src}}
{{ $small := $src}}
{{ $medium := $src}}
{{ $large := $src}}
{{ end }}
{{ if lt $src.Width "800" }}
{{ $small := $src}}
{{ $medium := $src}}
{{ $large := $src}}
{{ end }}
{{ if lt $src.Width "1200" }}
{{ $medium := $src}}
{{ $large := $src}}
{{ end }}
{{ if lt $src.Width "1500" }}
{{ $large := $src}}
{{ end }}
<div class="container-fluid home" id="home">
<style>
/* 0 to 299 */
#homePageBackgroundImageDivStyled {
/*background-image: url('{{ $tiny.RelPermalink }}'); This does not work on https://themes.gohugo.io/ */
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $tiny.RelPermalink }}');
}
/* 300 to X */
@media (min-width: 500px) and (max-width: 800px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $small.RelPermalink }}');
}
}
@media (min-width: 801px) and (max-width: 1200px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $medium.RelPermalink }}');
}
}
@media (min-width: 1201px) and (max-width: 1500px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $large.RelPermalink }}');
}
}
@media (min-width: 1501px) { /* or 301 if you want really the same as previously. */
#homePageBackgroundImageDivStyled {
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $src.RelPermalink }}');
}
}
</style>
<span class="on-the-fly-behavior"></span>
<div
id="homePageBackgroundImageDivStyled"
class="background container-fluid"
style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $backgroundImage | relURL }}');"
></div>
<div class="container content text-center">
<img src="{{ $authorImage | relURL }}"
<img src="{{ $authorImage.RelPermalink }}"
class="rounded-circle mx-auto d-block img-fluid"
/>
<h1 class="greeting"> {{ $author.greeting }} {{ $name }}</h1>

View file

@ -0,0 +1,53 @@
{{/* Combination of code taken from: https://alexlakatos.com/web/2020/07/17/hugo-image-processing/ & https://dev.to/stereobooster/responsive-images-for-hugo-dn9}}
{{/* get file that matches the filename as specified as src="" in shortcode */}}
{{ $src := resources.GetMatch (.Get "src") }}
{{ if in (.Get "src") "http" }}
<img src="{{$src}}" {{ with .Get "alt" }}alt="{{.}}"{{ else }}alt=""{{ end }}>
{{ else }}
{{ if in (.Get "src") ".gif" }}
<img src="{{$src.RelPermalink}}" {{ with .Get "alt" }}alt="{{.}}"{{ else }}alt=""{{ end }}>
{{ else }}
{{/* set image sizes, these are hardcoded for now */}}
{{ $tinyw := default "500x" }}
{{ $smallw := default "800x" }}
{{ $mediumw := default "1200x" }}
{{ $largew := default "1500x" }}
{{/* resize the src image to the given sizes */}}
{{ $tiny := $src.Resize $tinyw }}
{{ $small := $src.Resize $smallw }}
{{ $medium := $src.Resize $mediumw }}
{{ $large := $src.Resize $largew }}
{{/* add the processed images to the scratch */}}
{{/* only use images smaller than or equal to the src (original) image size */}}
<img
{{ with .Get "sizes" }}sizes='{{.}}'{{ else }}{{ end }}
srcset='
{{ if ge $src.Width "500" }}
{{ with $tiny.RelPermalink }}{{.}} 500w{{ end }}
{{ end }}
{{ if ge $src.Width "800" }}
{{ with $small.RelPermalink }}, {{.}} 800w{{ end }}
{{ end }}
{{ if ge $src.Width "1200" }}
{{ with $medium.RelPermalink }}, {{.}} 1200w{{ end }}
{{ end }}
{{ if ge $src.Width "1500" }}
{{ with $large.RelPermalink }}, {{.}} 1500w {{ end }}
{{ end }}'
{{ if .Get (print $medium) }}
src="{{ $medium.RelPermalink }}"
{{ else }}
src="{{ $src.RelPermalink }}"
{{ end }}
{{ with .Get "alt" }}alt='{{.}}'{{ end }}>
{{ end }}
{{ end }}

View file

@ -4,7 +4,7 @@
"description": "A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness.",
"main": "index.js",
"scripts": {
"autoprefixer": "postcss static/assets/css/*/*.css --use autoprefixer -r --no-map"
"autoprefixer": "postcss static/css/*/*.css --use autoprefixer -r --no-map"
},
"repository": {
"type": "git",

View file

@ -83,6 +83,14 @@ a:hover {
color: #e5e9f2 !important;
}
.btn-link{
color: #248aaa;
}
.btn-link:hover{
color: #207089;
}
.bg-white {
background-color: #f9fafc !important;
}

View file

@ -0,0 +1,158 @@
.education-section .education-info-table {
width: 100%;
}
.education-section .education-info-table tr {
padding: 0.1rem;
}
.education-section .timeframe {
color: #8392A5;
text-align: right;
}
.education-section .icon {
width: 2rem;
padding-left: 0;
padding-right: 0;
position: relative;
}
.education-section .icon .hline {
position: absolute;
left: 1rem;
top: 0;
background-color: #248aaa;
height: 100%;
width: 2px;
}
.education-section .education-info-table tr:first-child .hline {
height: 60%;
top: auto;
}
.education-section .education-info-table tr:last-child .hline {
height: 50%;
}
.education-section .icon-holder {
background-color: #248aaa;
border-radius: 50%;
height: 2rem;
width: 2rem;
padding: 0.2rem;
text-align: center;
color: #e5e9f2;
position: relative;
}
.education-section .line {
width: 5%;
padding-left: 0;
padding-right: 0;
}
.education-section .line div {
height: 2px;
/* width: 100%; */
margin-right: -1px;
background-color: #248aaa;
}
.education-section .degree-info {
padding: 1rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
border-left: 2px solid #248aaa;
border-top: 1px solid #C0CCDA;
border-bottom: 1px solid #C0CCDA;
border-right: 1px solid #C0CCDA;
border-radius: 5px;
}
.education-section .degree-info h5{
margin-bottom: 0.3rem;
}
.education-section .taken-courses table {
margin-left: 1rem;
width: 100%;
transition: all 0.3s ease-out;
}
.education-section .taken-courses .hidden-course {
display: none;
transition: all 1s ease-out;
}
.education-section .taken-courses ul {
margin-bottom: 0;
}
/*============ Education Alter Template =============*/
.education-alt .degree-info{
border-right: 2px solid #248aaa;
}
/* ============= 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) {
.education-section .container {
padding-left: 0;
}
}
/* Large devices (desktops, 992px and up) */
@media (max-width: 992px) {}
/* Medium devices (tablets, 768px and up) */
@media only screen and (max-width: 768px) {}
/* Small devices (landscape phones, 576px and up) */
@media only screen and (max-width: 576px) {
.education-section {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.education-section .container{
padding-right: 0;
}
.education-section .icon {
display: none;
}
.education-section .line{
display: none;
}
.education-section .timeframe{
text-align: left;
}
}
/* 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

@ -329,6 +329,19 @@ var projectCards;
this.parentElement.classList.toggle("col-lg-12");
this.parentElement.classList.toggle("col-md-12");
this.parentElement.classList.toggle("col-sm-12");
if (this.children["SmallImage"].hasAttribute("active")) {
let mainLogo = this.children["LargeImage"].getAttribute("Style");
this.children["LargeImage"].setAttribute("active",true);
this.children["SmallImage"].removeAttribute("active");
this.setAttribute("Style", mainLogo);
} else {
let mainLogo = this.children["SmallImage"].getAttribute("Style");
this.children["SmallImage"].setAttribute("active",true);
this.children["LargeImage"].removeAttribute("active");
this.setAttribute("Style", mainLogo);
}
if (this.children["caption"] != undefined) {
this.children["caption"].classList.toggle("hidden");
}

View file

@ -138,3 +138,27 @@ function toggleTOC() {
}
}
// Show more rows in the taken courses table
function showMoreCourses(elem) {
// find the courses
let courses = elem.parentNode.getElementsByClassName("course");
if (courses == null) {
return
}
// toggle hidden-course class from the third elements
for (var i = 0; i < courses.length; i++) {
if (i > 1 && courses[i].classList !== null) {
courses[i].classList.toggle("hidden-course");
}
}
// toggle the button text
let btnText = elem.innerText;
if (btnText == "Show More") {
elem.innerText = "Show Less";
} else {
elem.innerText = "Show More";
}
}