Merge remote-tracking branch 'upstream/master' into translate_Chinese
2
.github/workflows/draft-release.yml
vendored
|
@ -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.12.1
|
- uses: release-drafter/release-drafter@v5.13.0
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
1
.gitignore
vendored
|
@ -2,3 +2,4 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.history/
|
.history/
|
||||||
|
resources/
|
|
@ -1,6 +1,6 @@
|
||||||
---
|
---
|
||||||
hero: /assets/images/background/sunrise.jpg
|
hero: /images/background/sunrise.jpg
|
||||||
author:
|
author:
|
||||||
name: Md. Emruz Hossain
|
name: Md. Emruz Hossain
|
||||||
image: /assets/images/profile-image.jpg
|
image: /images/profile-image.jpg
|
||||||
---
|
---
|
||||||
|
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
BIN
assets/images/theme-logo.png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 385 KiB After Width: | Height: | Size: 385 KiB |
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 346 KiB After Width: | Height: | Size: 346 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
|
@ -1,5 +1,6 @@
|
||||||
baseURL: http://example.org/
|
baseURL: http://example.org/
|
||||||
languageCode: en-us
|
languageCode: en-us
|
||||||
|
defaultContentLanguage: en
|
||||||
title: "Toha"
|
title: "Toha"
|
||||||
theme: "toha"
|
theme: "toha"
|
||||||
|
|
||||||
|
|
89
exampleSite/data/bn/sections/education.yaml
Normal 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: ৪.৫
|
|
@ -13,38 +13,38 @@ section:
|
||||||
# Give a summary of you each skill in the summary section.
|
# Give a summary of you each skill in the summary section.
|
||||||
skills:
|
skills:
|
||||||
- name: Kubernetes
|
- name: Kubernetes
|
||||||
icon: "/images/sections/skills/kubernetes.png"
|
logo: "/images/sections/skills/kubernetes.png"
|
||||||
summary: "আমি Kubernetes এ অ্যাপ্লিকেশান পরিচালনা করতে সক্ষম । আমার Kubernetes এ CRD এর জন্য কন্ট্রোলার লিখার অভিজ্ঞতা আছে ।"
|
summary: "আমি Kubernetes এ অ্যাপ্লিকেশান পরিচালনা করতে সক্ষম । আমার Kubernetes এ CRD এর জন্য কন্ট্রোলার লিখার অভিজ্ঞতা আছে ।"
|
||||||
url: "https://kubernetes.io/"
|
url: "https://kubernetes.io/"
|
||||||
|
|
||||||
- name: Go ডেভেলপমেন্ট
|
- name: Go ডেভেলপমেন্ট
|
||||||
icon: "/images/sections/skills/go.png"
|
logo: "/images/sections/skills/go.png"
|
||||||
summary: "ডেভেলপমেন্টের জন্য প্রধান ভাষা হিসেবে ব্যবহার করছি। টেস্ট যোগ্য, রক্ষণাবেক্ষণ যোগ্য কোড লিখতে সক্ষম।"
|
summary: "ডেভেলপমেন্টের জন্য প্রধান ভাষা হিসেবে ব্যবহার করছি। টেস্ট যোগ্য, রক্ষণাবেক্ষণ যোগ্য কোড লিখতে সক্ষম।"
|
||||||
url: "https://golang.org/"
|
url: "https://golang.org/"
|
||||||
|
|
||||||
- name: ক্লাউড কম্পিউটিং
|
- name: ক্লাউড কম্পিউটিং
|
||||||
icon: "/images/sections/skills/cloud.png"
|
logo: "/images/sections/skills/cloud.png"
|
||||||
summary: "GCP, AWS, Azure গুলোর মত বেশিরভাগ বড় বড় ক্লাউড নিয়ে কাজর অভিজ্ঞতা আছে।"
|
summary: "GCP, AWS, Azure গুলোর মত বেশিরভাগ বড় বড় ক্লাউড নিয়ে কাজর অভিজ্ঞতা আছে।"
|
||||||
|
|
||||||
- name: Docker
|
- name: Docker
|
||||||
icon: "/images/sections/skills/docker.svg"
|
logo: "/images/sections/skills/docker.svg"
|
||||||
summary: "বেশির ভাগ প্রোগ্রামেরই Docker কন্টেইনার তৈরি করি। মাল্টি স্টেজ এবং মাল্টি আর্কিটেকচার কন্টেইনার নিয়ে অভিজ্ঞতা আছে।"
|
summary: "বেশির ভাগ প্রোগ্রামেরই Docker কন্টেইনার তৈরি করি। মাল্টি স্টেজ এবং মাল্টি আর্কিটেকচার কন্টেইনার নিয়ে অভিজ্ঞতা আছে।"
|
||||||
url: "https://www.docker.com/"
|
url: "https://www.docker.com/"
|
||||||
|
|
||||||
- name: Prometheus
|
- name: Prometheus
|
||||||
icon: "/images/sections/skills/prometheus.png"
|
logo: "/images/sections/skills/prometheus.png"
|
||||||
summary: "Prometheus metrics সেটআপ ও কনফিগার করতে সক্ষম। PromQL, AlertManager নিয়ে অভিজ্ঞতা আছে। Metric exporters লিখাতেও অভিজ্ঞতা আছে।"
|
summary: "Prometheus metrics সেটআপ ও কনফিগার করতে সক্ষম। PromQL, AlertManager নিয়ে অভিজ্ঞতা আছে। Metric exporters লিখাতেও অভিজ্ঞতা আছে।"
|
||||||
url: "https://prometheus.io/"
|
url: "https://prometheus.io/"
|
||||||
|
|
||||||
- name: লিনাক্স
|
- name: লিনাক্স
|
||||||
icon: "/images/sections/skills/linux.png"
|
logo: "/images/sections/skills/linux.png"
|
||||||
summary: "প্রধান অপারেটিং সিস্টেম হিসেবে ব্যবহার করছি। bash/shell scripts লিখতে সক্ষম।"
|
summary: "প্রধান অপারেটিং সিস্টেম হিসেবে ব্যবহার করছি। bash/shell scripts লিখতে সক্ষম।"
|
||||||
|
|
||||||
- name: গিট
|
- name: গিট
|
||||||
icon: "/images/sections/skills/git.png"
|
logo: "/images/sections/skills/git.png"
|
||||||
summary: "গিট ভিত্তিক ডেভেলপমেন্টের অভিজ্ঞতা আছে। বেশির ভাগ ক্ষেতরেই GitHub ব্যবহার করি তবে GitLab ব্যবহারেরও অভিজ্ঞতা আছে।"
|
summary: "গিট ভিত্তিক ডেভেলপমেন্টের অভিজ্ঞতা আছে। বেশির ভাগ ক্ষেতরেই GitHub ব্যবহার করি তবে GitLab ব্যবহারেরও অভিজ্ঞতা আছে।"
|
||||||
url: "https://git-scm.com/"
|
url: "https://git-scm.com/"
|
||||||
|
|
||||||
- name: C++
|
- name: C++
|
||||||
icon: "/images/sections/skills/c++.png"
|
logo: "/images/sections/skills/c++.png"
|
||||||
summary: "বেসিক C/C++ প্রোগ্রামিং জানি । প্রব্লেম সল্ভিং এবং কন্টেস্ট এর জন্য ব্যবহার করেছি।"
|
summary: "বেসিক C/C++ প্রোগ্রামিং জানি । প্রব্লেম সল্ভিং এবং কন্টেস্ট এর জন্য ব্যবহার করেছি।"
|
||||||
|
|
89
exampleSite/data/en/sections/education.yaml
Normal 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
|
|
@ -12,38 +12,38 @@ section:
|
||||||
# Give a summary of you each skill in the summary section.
|
# Give a summary of you each skill in the summary section.
|
||||||
skills:
|
skills:
|
||||||
- name: Kubernetes
|
- 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."
|
summary: "Capable of deploying, managing application on Kubernetes. Experienced in writing Kubernetes controllers for CRDs."
|
||||||
url: "https://kubernetes.io/"
|
url: "https://kubernetes.io/"
|
||||||
|
|
||||||
- name: Go Development
|
- 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."
|
summary: "Using as the main language for professional development. Capable of writing scalable, testable, and maintainable program."
|
||||||
url: "https://golang.org/"
|
url: "https://golang.org/"
|
||||||
|
|
||||||
- name: Cloud Computing
|
- 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."
|
summary: "Worked with most of the major clouds such as GCP, AWS, Azure etc."
|
||||||
|
|
||||||
- name: Docker
|
- 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."
|
summary: "Write most of the programs as dockerized container. Experienced with multi-stage, multi-arch build process."
|
||||||
url: "https://www.docker.com/"
|
url: "https://www.docker.com/"
|
||||||
|
|
||||||
- name: Prometheus
|
- 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."
|
summary: "Capable of setup, configure Prometheus metrics. Experienced with PromQL, AlertManager. Also, experienced with writing metric exporters."
|
||||||
url: "https://prometheus.io/"
|
url: "https://prometheus.io/"
|
||||||
|
|
||||||
- name: Linux
|
- 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."
|
summary: "Using as the main operating system. Capable of writing bash/shell scripts."
|
||||||
|
|
||||||
- name: Git
|
- 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."
|
summary: "Experienced with git-based development. Mostly, use Github. Also, have experience in working with GitLab."
|
||||||
url: "https://git-scm.com/"
|
url: "https://git-scm.com/"
|
||||||
|
|
||||||
- name: C++
|
- 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."
|
summary: "Know basic C/C++ programming. Used for contest programming and problem solving."
|
||||||
|
|
|
@ -13,38 +13,38 @@ section:
|
||||||
# Give a summary of you each skill in the summary section.
|
# Give a summary of you each skill in the summary section.
|
||||||
skills:
|
skills:
|
||||||
- name: Kubernetes
|
- 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."
|
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/"
|
url: "https://kubernetes.io/"
|
||||||
|
|
||||||
- name: Go
|
- 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."
|
summary: "Utiliser comme langue principale pour le développement professionnel. Capable d'écrire des programmes évolutifs, testables et maintenables."
|
||||||
url: "https://golang.org/"
|
url: "https://golang.org/"
|
||||||
|
|
||||||
- name: Cloud Computing
|
- 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."
|
summary: "A travaillé avec la plupart des principaux nuages tels que GCP, AWS, Azure, etc."
|
||||||
|
|
||||||
- name: Docker
|
- 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."
|
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/"
|
url: "https://www.docker.com/"
|
||||||
|
|
||||||
- name: Prometheus
|
- 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."
|
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/"
|
url: "https://prometheus.io/"
|
||||||
|
|
||||||
- name: Linux
|
- 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."
|
summary: "Utilisé comme système d'exploitation principal. Capable d'écrire des scripts bash/shell."
|
||||||
|
|
||||||
- name: Git
|
- 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."
|
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/"
|
url: "https://git-scm.com/"
|
||||||
|
|
||||||
- name: C++
|
- 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."
|
summary: "Connaître les bases de la programmation C/C++. Utilisé pour la programmation de concours et la résolution de problèmes."
|
||||||
|
|
|
@ -12,38 +12,38 @@ section:
|
||||||
# Give a summary of you each skill in the summary section.
|
# Give a summary of you each skill in the summary section.
|
||||||
skills:
|
skills:
|
||||||
- name: Kubernetes
|
- 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."
|
summary: "Mampu menerapkan, mengelola aplikasi di Kubernetes. Berpengalaman dalam menulis pengontrol Kubernetes untuk CRD."
|
||||||
url: "https://kubernetes.io/"
|
url: "https://kubernetes.io/"
|
||||||
|
|
||||||
- name: Go Development
|
- 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."
|
summary: "Menggunakan sebagai bahasa utama untuk pengembangan profesional. Mampu menulis program yang dapat diskalakan, dapat diuji, dan dipelihara."
|
||||||
url: "https://golang.org/"
|
url: "https://golang.org/"
|
||||||
|
|
||||||
- name: Cloud Computing
|
- 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."
|
summary: "Worked with most of the major clouds such as GCP, AWS, Azure etc."
|
||||||
|
|
||||||
- name: Docker
|
- 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."
|
summary: "Tulis sebagian besar program sebagai kontainer docker. Berpengalaman dengan proses pembangunan multi-tahap dan multi-arch."
|
||||||
url: "https://www.docker.com/"
|
url: "https://www.docker.com/"
|
||||||
|
|
||||||
- name: Prometheus
|
- 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."
|
summary: "Mampu mengatur, mengkonfigurasi metrik Prometheus. Berpengalaman dengan PromQL, AlertManager. Juga, berpengalaman dengan eksportir menulis metrik."
|
||||||
url: "https://prometheus.io/"
|
url: "https://prometheus.io/"
|
||||||
|
|
||||||
- name: Linux
|
- 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."
|
summary: "Menggunakan sebagai sistem operasi utama. Mampu menulis skrip bash / shell."
|
||||||
|
|
||||||
- name: Git
|
- 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."
|
summary: "Berpengalaman dengan pengembangan berbasis git. Kebanyakan, gunakan Github. Juga, miliki pengalaman bekerja dengan GitLab."
|
||||||
url: "https://git-scm.com/"
|
url: "https://git-scm.com/"
|
||||||
|
|
||||||
- name: C++
|
- 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."
|
summary: "Ketahui pemrograman C / C ++ dasar. Digunakan untuk pemrograman kontes dan pemecahan masalah."
|
||||||
|
|
|
@ -12,38 +12,38 @@ section:
|
||||||
# Fornisci una sintesi delle tue competenze per la sezione di sintesi.
|
# Fornisci una sintesi delle tue competenze per la sezione di sintesi.
|
||||||
skills:
|
skills:
|
||||||
- name: Kubernetes
|
- 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."
|
summary: "Capacità di distribuzione e gestione di applicazioni su Kubernetes. Esperienza nello sviluppo di controller CRD per Kubernetes."
|
||||||
url: "https://kubernetes.io/"
|
url: "https://kubernetes.io/"
|
||||||
|
|
||||||
- name: Sviluppo Go
|
- 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."
|
summary: "Utilizzato come linguaggio principale per lo sviluppo professionale. Capacità di scrivere programmi scalabili, testabili e manutenibili."
|
||||||
url: "https://golang.org/"
|
url: "https://golang.org/"
|
||||||
|
|
||||||
- name: Cloud Computing
|
- 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."
|
summary: "Ha lavorato con la maggior parte dei principali sistemi cloud: GCP, AWS, Azure etc."
|
||||||
|
|
||||||
- name: Docker
|
- 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."
|
summary: "Scittura di programmi come container dockerized. Esperienza con processi multi-stage e multi-arch."
|
||||||
url: "https://www.docker.com/"
|
url: "https://www.docker.com/"
|
||||||
|
|
||||||
- name: Prometheus
|
- 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."
|
summary: "Capacità di impostare e configurare metriche Prometheus. Esperienza con PromQL, AlertManager."
|
||||||
url: "https://prometheus.io/"
|
url: "https://prometheus.io/"
|
||||||
|
|
||||||
- name: Linux
|
- 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."
|
summary: "Utilizzato come principale sistema operativo. Capacità di scrivere script bash/shell."
|
||||||
|
|
||||||
- name: Git
|
- 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."
|
summary: "Esperienza con lo sviluppo git, ed in particolare usando Github. Esperienza anche con GitLab."
|
||||||
url: "https://git-scm.com/"
|
url: "https://git-scm.com/"
|
||||||
|
|
||||||
- name: C++
|
- 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."
|
summary: "Conoscenza della programmazione di base C/C++, utilizzata per vari progetti di programmazione e problem solving."
|
||||||
|
|
24
i18n/bn.toml
|
@ -46,3 +46,27 @@ other = "পরবর্তী"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "এই পৃষ্ঠাটি উন্নত করুন"
|
other = "এই পৃষ্ঠাটি উন্নত করুন"
|
||||||
|
|
||||||
|
[out_of]
|
||||||
|
other = "এর মধ্যে"
|
||||||
|
|
||||||
|
[publications]
|
||||||
|
other = "প্রকাশনা সমূহ"
|
||||||
|
|
||||||
|
[taken_courses]
|
||||||
|
other = "গৃহীত কোর্সসমূহ"
|
||||||
|
|
||||||
|
[course_name]
|
||||||
|
other = "কোর্সের নাম"
|
||||||
|
|
||||||
|
[total_credit]
|
||||||
|
other = "মোট ক্রেডিট"
|
||||||
|
|
||||||
|
[obtained_credit]
|
||||||
|
other = "অর্জিত ক্রেডিট"
|
||||||
|
|
||||||
|
[extracurricular_activities]
|
||||||
|
other = "পাঠক্রম বহির্ভূত কার্যক্রম"
|
||||||
|
|
||||||
|
[see_more]
|
||||||
|
other = "আরো দেখুন"
|
||||||
|
|
24
i18n/cn.toml
|
@ -49,3 +49,27 @@ other = "下一篇"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "改善此页面"
|
other = "改善此页面"
|
||||||
|
|
||||||
|
[out_of]
|
||||||
|
other = "之"
|
||||||
|
|
||||||
|
[publications]
|
||||||
|
other = "刊物"
|
||||||
|
|
||||||
|
[taken_courses]
|
||||||
|
other = "选修课程"
|
||||||
|
|
||||||
|
[course_name]
|
||||||
|
other = "课程名"
|
||||||
|
|
||||||
|
[total_credit]
|
||||||
|
other = "总信用"
|
||||||
|
|
||||||
|
[obtained_credit]
|
||||||
|
other = "获得信贷"
|
||||||
|
|
||||||
|
[extracurricular_activities]
|
||||||
|
other = "课外活动"
|
||||||
|
|
||||||
|
[see_more]
|
||||||
|
other = "查看更多"
|
||||||
|
|
24
i18n/de.toml
|
@ -49,3 +49,27 @@ other = "Nächste"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Diese Seite verbessern"
|
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"
|
||||||
|
|
24
i18n/en.toml
|
@ -49,3 +49,27 @@ other = "Next"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "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"
|
||||||
|
|
24
i18n/es.toml
|
@ -49,3 +49,27 @@ other = "Siguiente"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Mejorar esta página"
|
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"
|
||||||
|
|
24
i18n/fr.toml
|
@ -49,3 +49,27 @@ other = "Suivant"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Améliorez cette 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"
|
||||||
|
|
24
i18n/id.toml
|
@ -49,3 +49,27 @@ other = "Lanjut"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Perbaiki halaman ini"
|
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"
|
||||||
|
|
24
i18n/it.toml
|
@ -49,3 +49,27 @@ other = "Successivo"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Migliora questa pagina"
|
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"
|
||||||
|
|
26
i18n/jp.toml
|
@ -36,7 +36,7 @@ other = "ご入力いただいたメールアドレスが他人に開示され
|
||||||
other = "登録"
|
other = "登録"
|
||||||
|
|
||||||
[hugoAttributionText]
|
[hugoAttributionText]
|
||||||
other = "Powered by"
|
other = "搭載"
|
||||||
|
|
||||||
[prev]
|
[prev]
|
||||||
other = "前"
|
other = "前"
|
||||||
|
@ -46,3 +46,27 @@ other = "次"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "編集リクエストを送る"
|
other = "編集リクエストを送る"
|
||||||
|
|
||||||
|
[out_of]
|
||||||
|
other = "のうち"
|
||||||
|
|
||||||
|
[publications]
|
||||||
|
other = "出版物"
|
||||||
|
|
||||||
|
[taken_courses]
|
||||||
|
other = "受講したコース"
|
||||||
|
|
||||||
|
[course_name]
|
||||||
|
other = "コース名"
|
||||||
|
|
||||||
|
[total_credit]
|
||||||
|
other = "合計クレジット"
|
||||||
|
|
||||||
|
[obtained_credit]
|
||||||
|
other = "取得したクレジット"
|
||||||
|
|
||||||
|
[extracurricular_activities]
|
||||||
|
other = "課外活動"
|
||||||
|
|
||||||
|
[see_more]
|
||||||
|
other = "続きを見る"
|
||||||
|
|
24
i18n/ru.toml
|
@ -49,3 +49,27 @@ other = "Следующий"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Улучшить эту страницу"
|
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
|
@ -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"
|
|
@ -1,5 +1,5 @@
|
||||||
{{ define "header" }}
|
{{ define "header" }}
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/404.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "/css/404.css" | relURL }}">
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "navbar" }}
|
{{ define "navbar" }}
|
||||||
|
@ -7,9 +7,19 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "content" }}
|
{{ 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="container">
|
||||||
<div class="notFound">
|
<div class="notFound">
|
||||||
<img src="{{ "/assets/images/404.png" | relURL }}" alt="">
|
<img src="{{ $notFoundImage }}" alt="">
|
||||||
<div class="message">
|
<div class="message">
|
||||||
<h1>404</h1>
|
<h1>404</h1>
|
||||||
<h4>The page you are looking for is not there yet.</h4>
|
<h4>The page you are looking for is not there yet.</h4>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{{ define "header" }}
|
{{ define "header" }}
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/layouts/list.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/navigators/sidebar.css" | relURL}}">
|
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "navbar" }}
|
{{ define "navbar" }}
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
{{ define "sidebar" }}
|
{{ define "sidebar" }}
|
||||||
{{ $blogHome:="#" }}
|
{{ $blogHome:="#" }}
|
||||||
{{ if site.IsMultiLingual }}
|
{{ 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 }}
|
{{ end }}
|
||||||
|
|
||||||
<section class="sidebar-section" id="sidebar-section">
|
<section class="sidebar-section" id="sidebar-section">
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<input type="text" value="" placeholder="Search" data-search="" id="search-box" />
|
<input type="text" value="" placeholder="Search" data-search="" id="search-box" />
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
<ul class="tree" id="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">
|
<div class="subtree">
|
||||||
{{ partial "navigators/sidebar.html" (dict "menus" site.Menus.sidebar "ctx" .) }}
|
{{ partial "navigators/sidebar.html" (dict "menus" site.Menus.sidebar "ctx" .) }}
|
||||||
</div>
|
</div>
|
||||||
|
@ -47,5 +47,5 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "scripts" }}
|
{{ define "scripts" }}
|
||||||
<script src="{{ "/assets/js/list.js" | relURL }}"></script>
|
<script src="{{ "/js/list.js" | relURL }}"></script>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/atom-one-dark.min.css"
|
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="{{ "/css/layouts/single.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/navigators/sidebar.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "navbar" }}
|
{{ define "navbar" }}
|
||||||
|
@ -35,13 +35,13 @@
|
||||||
<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" . | 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>
|
</div>
|
||||||
|
|
||||||
<!--Content Start-->
|
<!--Content Start-->
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<div class="author-profile ml-auto align-self-lg-center">
|
<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>
|
<h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5>
|
||||||
<p>{{ .Page.Date.Format "January 2, 2006" }}</p>
|
<p>{{ .Page.Date.Format "January 2, 2006" }}</p>
|
||||||
</div>
|
</div>
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
|
|
||||||
{{ define "scripts" }}
|
{{ define "scripts" }}
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script>
|
<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>
|
<script>
|
||||||
hljs.initHighlightingOnLoad();
|
hljs.initHighlightingOnLoad();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -15,13 +15,14 @@
|
||||||
{{- partial "header.html" . -}}
|
{{- partial "header.html" . -}}
|
||||||
|
|
||||||
<!-- import index page specific headers -->
|
<!-- import index page specific headers -->
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/home.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/sections/home.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/about.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/sections/about.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/skills.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/sections/skills.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/experiences.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/sections/experiences.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/projects.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/sections/education.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/recent-posts.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/sections/projects.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/sections/achievements.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 -->
|
<!-- Add Google Analytics if enabled in configuration -->
|
||||||
{{ if site.GoogleAnalytics }}
|
{{ if site.GoogleAnalytics }}
|
||||||
|
@ -70,9 +71,9 @@
|
||||||
{{ partial "scripts.html" . }}
|
{{ partial "scripts.html" . }}
|
||||||
|
|
||||||
<!--- ADD INDEX PAGE SPECIFIC SCRIPTS -->
|
<!--- ADD INDEX PAGE SPECIFIC SCRIPTS -->
|
||||||
<script src="{{ "/assets/js/itype.min.js" | relURL }}"></script>
|
<script src="{{ "/js/itype.min.js" | relURL }}"></script>
|
||||||
<script src="{{ "/assets/js/github-button.js" | relURL }}"></script>
|
<script src="{{ "/js/github-button.js" | relURL }}"></script>
|
||||||
<script src="{{ "/assets/js/home.js" | relURL }}"></script>
|
<script src="{{ "/js/home.js" | relURL }}"></script>
|
||||||
<script src="{{ "/assets/js/jquery.filterizr.min.js" | relURL }}"></script>
|
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -4,11 +4,17 @@
|
||||||
>
|
>
|
||||||
<div class="card mt-1">
|
<div class="card mt-1">
|
||||||
<div class="card">
|
<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>
|
||||||
<div class="d-flex">
|
<div class="d-flex">
|
||||||
{{ if .logo }}
|
{{ 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 }}
|
{{ end }}
|
||||||
<h5 class="card-title mb-0">{{ .name }}</h5>
|
<h5 class="card-title mb-0">{{ .name }}</h5>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
<div class="col-xs-12 col-sm-6 col-lg-4 pt-2">
|
<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">
|
||||||
<div class="card-head d-flex">
|
<div class="card-head d-flex">
|
||||||
{{ if .icon }}
|
{{ if .logo }}
|
||||||
<img class="card-img-xs" src="{{ .icon | relURL }}" alt="{{ .name }}" />
|
{{ $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 }}
|
{{ end }}
|
||||||
<h5 class="card-title">{{ .name }}</h5>
|
<h5 class="card-title">{{ .name }}</h5>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -16,6 +16,23 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ 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">
|
<footer class="container-fluid text-center align-content-center footer pb-2">
|
||||||
<div class="container pt-5">
|
<div class="container pt-5">
|
||||||
<div class="row text-left">
|
<div class="row text-left">
|
||||||
|
@ -76,7 +93,7 @@
|
||||||
<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="#">
|
<a id="theme" href="https://github.com/hossainemruz/toha" target="#">
|
||||||
<img src="{{ "/assets/images/inverted-logo.png" | relURL }}">
|
<img src="{{ $themeLogo }}">
|
||||||
Toha
|
Toha
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -84,7 +101,7 @@
|
||||||
<div class="col-md-4 text-right">
|
<div class="col-md-4 text-right">
|
||||||
<a id="hugo" href="https://gohugo.io/">{{ i18n "hugoAttributionText" }}
|
<a id="hugo" href="https://gohugo.io/">{{ i18n "hugoAttributionText" }}
|
||||||
<img
|
<img
|
||||||
src="{{ "/assets/images/hugo-logo-wide.svg" | relURL }}"
|
src="{{ $hugoLogo }}"
|
||||||
alt="Hugo Logo"
|
alt="Hugo Logo"
|
||||||
height="18"
|
height="18"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -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 charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||||
|
|
||||||
<!-- ============ import common css ========== -->
|
<!-- ============ import common css ========== -->
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/bootstrap.min.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/layouts/main.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/layouts/main.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/style.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/navigators/navbar.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/>
|
||||||
|
|
||||||
<!--=================== cdn ==============================-->
|
<!--=================== cdn ==============================-->
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet">
|
<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" />
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
|
||||||
|
|
||||||
<!--================= fab-icon =========================-->
|
<!--================= 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 =========================-->
|
<!--================= custom style overrides =========================-->
|
||||||
<link rel="stylesheet" href="{{ "/assets/css/style.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||||
|
|
|
@ -2,11 +2,14 @@
|
||||||
{{ if (index site.Data site.Language.Lang).author }}
|
{{ if (index site.Data site.Language.Lang).author }}
|
||||||
{{ $author = (index site.Data site.Language.Lang).author }}
|
{{ $author = (index site.Data site.Language.Lang).author }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $authorImage:= "/assets/images/default-avatar.png" }}
|
|
||||||
|
{{/* default author image */}}
|
||||||
|
{{ $authorImage:= "/images/default-avatar.png" }}
|
||||||
{{ if $author.image }}
|
{{ if $author.image }}
|
||||||
{{ $authorImage = $author.image }}
|
{{ $authorImage = $author.image }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
{{/* if author image is provided in author's data, then use that */}}
|
||||||
{{ if eq (printf "%T" .Params.author ) "maps.Params" }}
|
{{ if eq (printf "%T" .Params.author ) "maps.Params" }}
|
||||||
{{ with .Params.author }}
|
{{ with .Params.author }}
|
||||||
{{ if .image }}
|
{{ if .image }}
|
||||||
|
@ -14,4 +17,13 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ 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 }}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,19 @@
|
||||||
{{ $heroImage:= "/assets/images/default-hero.jpg"}}
|
{{/* check if there is any hero image in the same folder as the markdown file */}}
|
||||||
{{ if .Params.hero }}
|
{{ $heroImage := .Page.Resources.GetMatch "hero.{jpg,png,svg}"}}
|
||||||
{{ $heroImage = .Params.hero }}
|
{{ .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 }}
|
{{ 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 }}
|
||||||
|
|
|
@ -1,19 +1,36 @@
|
||||||
{{ $mainLogo:="/assets/images/main-logo.png" }}
|
{{/* default logos */}}
|
||||||
{{ $invertedLogo:="/assets/images/inverted-logo.png" }}
|
{{ $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 }}
|
{{ if site.Params.logo.main }}
|
||||||
{{ $mainLogo = site.Params.logo.main }}
|
{{ $mainLogo = site.Params.logo.main }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if site.Params.logo.inverted }}
|
{{ if site.Params.logo.inverted }}
|
||||||
{{ $invertedLogo = site.Params.logo.inverted }}
|
{{ $invertedLogo = site.Params.logo.inverted }}
|
||||||
{{ end }}
|
{{ 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">
|
<nav class="navbar navbar-expand-xl top-navbar final-navbar shadow">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<button class="navbar-toggler navbar-light" id="sidebar-toggler" type="button" onclick="toggleSidebar()">
|
<button class="navbar-toggler navbar-light" id="sidebar-toggler" type="button" onclick="toggleSidebar()">
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
||||||
<img src="{{ $mainLogo | relURL }}">
|
<img src="{{ $mainLogo }}">
|
||||||
{{- site.Title -}}
|
{{- site.Title -}}
|
||||||
</a>
|
</a>
|
||||||
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
|
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
|
||||||
|
@ -29,6 +46,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Store the logo information in a hidden img for the JS -->
|
<!-- Store the logo information in a hidden img for the JS -->
|
||||||
<img src="{{ $mainLogo | relURL }}" class="d-none" id="main-logo">
|
<img src="{{ $mainLogo }}" class="d-none" id="main-logo">
|
||||||
<img src="{{ $invertedLogo | relURL }}" class="d-none" id="inverted-logo">
|
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo">
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{{ $mainLogo:="/assets/images/main-logo.png" }}
|
{{/* default logos */}}
|
||||||
{{ $invertedLogo:="/assets/images/inverted-logo.png" }}
|
{{ $mainLogo := "/images/site/main-logo.png" }}
|
||||||
|
{{ $invertedLogo := "/images/inverted-logo.png" }}
|
||||||
|
|
||||||
|
{{/* if custom logo is used, them */}}
|
||||||
{{ if site.Params.logo.main }}
|
{{ if site.Params.logo.main }}
|
||||||
{{ $mainLogo = site.Params.logo.main }}
|
{{ $mainLogo = site.Params.logo.main }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -7,7 +10,20 @@
|
||||||
{{ $invertedLogo = site.Params.logo.inverted }}
|
{{ $invertedLogo = site.Params.logo.inverted }}
|
||||||
{{ end }}
|
{{ 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 }}
|
{{ if (index site.Data site.Language.Lang).sections }}
|
||||||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -15,7 +31,7 @@
|
||||||
<nav class="navbar navbar-expand-xl top-navbar initial-navbar" id="top-navbar">
|
<nav class="navbar navbar-expand-xl top-navbar initial-navbar" id="top-navbar">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
||||||
<img src="{{ $invertedLogo | relURL }}" id="logo">
|
<img src="{{ $invertedLogo }}" id="logo">
|
||||||
{{- site.Title -}}
|
{{- site.Title -}}
|
||||||
</a>
|
</a>
|
||||||
<button
|
<button
|
||||||
|
@ -72,6 +88,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Store the logo information in a hidden img for the JS -->
|
<!-- Store the logo information in a hidden img for the JS -->
|
||||||
<img src="{{ $mainLogo | relURL }}" class="d-none" id="main-logo">
|
<img src="{{ $mainLogo }}" class="d-none" id="main-logo">
|
||||||
<img src="{{ $invertedLogo | relURL }}" class="d-none" id="inverted-logo">
|
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo">
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script src="{{ "/assets/js/jquery-3.4.1.min.js" | relURL }}"></script>
|
<script src="{{ "/js/jquery-3.4.1.min.js" | relURL }}"></script>
|
||||||
<script src="{{ "/assets/js/popper.min.js" | relURL }}"></script>
|
<script src="{{ "/js/popper.min.js" | relURL }}"></script>
|
||||||
<script src="{{ "/assets/js/bootstrap.min.js" | relURL }}"></script>
|
<script src="{{ "/js/bootstrap.min.js" | relURL }}"></script>
|
||||||
|
|
||||||
<script src="{{ "/assets/js/navbar.js" | relURL }}"></script>
|
<script src="{{ "/js/navbar.js" | relURL }}"></script>
|
||||||
<script src="{{ "/assets/js/main.js" | relURL }}"></script>
|
<script src="{{ "/js/main.js" | relURL }}"></script>
|
||||||
|
|
|
@ -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
|
<div
|
||||||
class="achievement-entry text-center"
|
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>
|
<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>
|
||||||
|
@ -8,4 +20,6 @@
|
||||||
<h4>{{ .title }}</h4>
|
<h4>{{ .title }}</h4>
|
||||||
<p>{{ .summary | markdownify }}</p>
|
<p>{{ .summary | markdownify }}</p>
|
||||||
</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('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageLg }}');" class="d-none" id="LargeImage"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
110
layouts/partials/sections/education-alt.html
Normal 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>
|
101
layouts/partials/sections/education.html
Normal 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>
|
|
@ -15,23 +15,97 @@
|
||||||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ $backgroundImage:= "/assets/images/default-background.jpg" }}
|
{{ $backgroundImage:= "/images/default-background.jpg" }}
|
||||||
{{ if site.Params.background }}
|
{{ if site.Params.background }}
|
||||||
{{ $backgroundImage = site.Params.background }}
|
{{ $backgroundImage = site.Params.background }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ $authorImage:= "/assets/images/default-avatar.png" }}
|
|
||||||
|
{{ $authorImage:= "/images/default-avatar.png" }}
|
||||||
{{ if $author.image }}
|
{{ if $author.image }}
|
||||||
{{ $authorImage = $author.image }}
|
{{ $authorImage = $author.image }}
|
||||||
{{ end }}
|
{{ 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">
|
<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
|
<div
|
||||||
|
id="homePageBackgroundImageDivStyled"
|
||||||
class="background container-fluid"
|
class="background container-fluid"
|
||||||
style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $backgroundImage | relURL }}');"
|
|
||||||
></div>
|
></div>
|
||||||
<div class="container content text-center">
|
<div class="container content text-center">
|
||||||
<img src="{{ $authorImage | relURL }}"
|
<img src="{{ $authorImage.RelPermalink }}"
|
||||||
class="rounded-circle mx-auto d-block img-fluid"
|
class="rounded-circle mx-auto d-block img-fluid"
|
||||||
/>
|
/>
|
||||||
<h1 class="greeting"> {{ $author.greeting }} {{ $name }}</h1>
|
<h1 class="greeting"> {{ $author.greeting }} {{ $name }}</h1>
|
||||||
|
|
53
layouts/shortcodes/rimg.html
Normal 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 }}
|
|
@ -4,7 +4,7 @@
|
||||||
"description": "A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness.",
|
"description": "A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"autoprefixer": "postcss static/assets/css/*/*.css --use autoprefixer -r --no-map"
|
"autoprefixer": "postcss static/css/*/*.css --use autoprefixer -r --no-map"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
@ -83,6 +83,14 @@ a:hover {
|
||||||
color: #e5e9f2 !important;
|
color: #e5e9f2 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn-link{
|
||||||
|
color: #248aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-link:hover{
|
||||||
|
color: #207089;
|
||||||
|
}
|
||||||
|
|
||||||
.bg-white {
|
.bg-white {
|
||||||
background-color: #f9fafc !important;
|
background-color: #f9fafc !important;
|
||||||
}
|
}
|
158
static/css/sections/education.css
Normal 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) {}
|
|
@ -329,6 +329,19 @@ var projectCards;
|
||||||
this.parentElement.classList.toggle("col-lg-12");
|
this.parentElement.classList.toggle("col-lg-12");
|
||||||
this.parentElement.classList.toggle("col-md-12");
|
this.parentElement.classList.toggle("col-md-12");
|
||||||
this.parentElement.classList.toggle("col-sm-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) {
|
if (this.children["caption"] != undefined) {
|
||||||
this.children["caption"].classList.toggle("hidden");
|
this.children["caption"].classList.toggle("hidden");
|
||||||
}
|
}
|
|
@ -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";
|
||||||
|
}
|
||||||
|
}
|