17 Commits

Author SHA1 Message Date
hossainemruz dd0c46593c Update release-drafter
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-06-28 00:11:21 +06:00
Emruz Hossain 14ee45e4a0 Fix Google Analytic not showing up for v3 ID (#363)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-06-27 18:00:23 +00:00
Jean-Baptiste Le Duigou 091c77360d Make newsletter helper label clear to complaint with GDPR (#357)
* Fix link to email address

See https://github.com/hossainemruz/toha/issues/7

* ✏️  update newsletter helper to be more GDPR compliant

Signed-off-by: jbleduigou <jb.leduigou@gmail.com>

* Add more translations

Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-06-27 23:42:44 +06:00
github-actions[bot] 884bf65e43 add vendor specific css prefixes (#360)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
2021-06-21 10:01:51 +06:00
Jean-Baptiste Le Duigou ebe659b12b 358 error next prev page (#359)
* Fix link to email address

See https://github.com/hossainemruz/toha/issues/7

* 🐛 fix bug with next-prev-navigator when no menus

Signed-off-by: jbleduigou <jb.leduigou@gmail.com>

* 🐛 fix overriding issue

Signed-off-by: jbleduigou <jb.leduigou@gmail.com>
2021-06-20 01:12:03 +06:00
github-actions[bot] efa63e7990 Update and run autoprefixer (#355)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-06-16 19:17:08 +00:00
github-actions[bot] de912c08c6 Update and run autoprefixer (#354)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-06-16 19:16:13 +00:00
Dan Gillis 0b5bde7233 Support Google Analytics v4 (#353)
Per https://github.com/hugo-toha/toha/issues/352 - in order to support Google Analytics v4, _internal/google_analytics.html should be used

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-06-16 19:15:19 +00:00
vlebert 9004e7c423 Add greeting subtitle (#350)
* resize skillcards by CSS instead of JS

* Revert "resize skillcards by CSS instead of JS"

This reverts commit 169e0599e9.

* french translation

* add an optionnal greeting subtitle

Co-authored-by: vlebert <vlebert@tactis.fr>
2021-06-17 01:14:22 +06:00
Emruz Hossain 61e5a34171 Fix Prev/Next navigator was not pointing to the actual prev/next article (#348)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-06-06 15:43:34 +00:00
Antonio Hernández 929a78837a Fix horizontal scrollbar (#347)
* Fixed scrollbar problems related to about section.

* Fixed scrollbar problems related to skill section.

* Making h1 fonts a little bit smaller on small devices.

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-06-06 15:56:06 +06:00
vlebert 65a429b664 Use CSS to fix Skill cards height instead JS (#342)
* resize skillcards by CSS instead of JS

* Revert "resize skillcards by CSS instead of JS"

This reverts commit 169e0599e9.

* resize skillcards by CSS instead of JS

Co-authored-by: vlebert <vlebert@tactis.fr>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-06-06 00:14:32 +06:00
Kaligule 08a09d5c71 Disable logo by default + add logo only if the user provide it
* Disable logo by default, allow to enable with params.logo.enable

* Don't default logo into theme logo

Signed-off-by: hossainemruz <hossainemruz@gmail.com>

* add missing comma

Signed-off-by: hossainemruz <hossainemruz@gmail.com>

* Remove unnecessary changes

Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Co-authored-by: Johannes Lippmann <johannes.lippmann@paessler.com>
Co-authored-by: hossainemruz <hossainemruz@gmail.com>
2021-06-05 23:58:26 +06:00
vlebert 88a0814025 Fix some french translations (#343)
* resize skillcards by CSS instead of JS

* Revert "resize skillcards by CSS instead of JS"

This reverts commit 169e0599e9.

* french translation

Co-authored-by: vlebert <vlebert@tactis.fr>
2021-06-04 10:30:22 +06:00
vlebert 3421c99ebf Fix ressource.Fit not resizing the image properly
Co-authored-by: vlebert <vlebert@tactis.fr>
2021-06-03 16:09:08 +06:00
Kaligule b5fe77f876 Fix typo in comment (#335)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-06-02 17:22:48 +06:00
Emruz Hossain 6f8280a656 Fix importing user CSS (#338)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-06-01 16:54:45 +00:00
37 changed files with 220 additions and 141 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ categories:
- 'feature'
- 'enhancement'
- title: 'New Translations'
- title: 'Translations'
label: 'translation'
- title: 'Bug Fixes'
+1 -1
View File
@@ -30,7 +30,7 @@ other = "ইমেইল নোটিফিকেশান এর মাধ্
other = "ইমেইল প্রবেশ করান"
[newsletter_warning]
other = "আমরা আপনার ইমেল অন্য কারও সাথে শেয়ার করব না।"
other = "আপনার ইমেঠিকানা প্রবেশের মাধমে আপনি এই ওয়েবসাইটের নিউজ লেটার পেতে সম্মত হচ্ছেন।"
[submit]
other = "জমা দিন"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "通过电子邮件接收最新信息"
other = "填入 E-mail"
[newsletter_warning]
other = "我们绝不会与任何人共享您的电子邮件。"
other = "输入您的电子邮件地址,即表示您同意接收本网站的时事通讯"
[submit]
other = "提交"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
other = "E-Mail Adresse eingeben"
[newsletter_warning]
other = "Wir geben deine E-Mail Adresse nicht an Dritte weiter."
other = "Mit der Eingabe Ihrer E-Mail-Adresse erklären Sie sich damit einverstanden, den Newsletter dieser Website zu erhalten."
[submit]
other = "Absenden"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Stay up to date with email notification"
other = "Enter email"
[newsletter_warning]
other = "We'll never share your email with anyone else."
other = "By entering your email address, you agree to receive the newsletter of this website."
[submit]
other = "Submit"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Subscribirse"
other = "Ingrese email"
[newsletter_warning]
other = "Jamás compartiremos tus datos con alguién mas"
other = "Al ingresar su dirección de correo electrónico, acepta recibir el boletín de este sitio web."
[submit]
other = "Enviar"
+4 -4
View File
@@ -3,7 +3,7 @@
other = "Accueil"
[posts]
other = "Des postes"
other = "Articles"
[toc_heading]
other = "Table des matières"
@@ -33,7 +33,7 @@ other = "Restez à jour par e-mail"
other = "Entrez une adresse e-mail"
[newsletter_warning]
other = "Nous ne partagerons jamais votre courriel avec quelqu'un d'autre."
other = "En renseignant votre adresse e-mail, vous acceptez de recevoir la newsletter de ce site."
[submit]
other = "Envoyer"
@@ -89,8 +89,8 @@ other = "Montrer moins"
# [comments_by]
# other = "comments powered by"
# [read]
# other = "Read"
[read]
other = "Lire"
# [project_star]
# other = "Star"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "ईमेल अधिसूचना से अवगत रहें"
other = "ईमेल दर्ज करें"
[newsletter_warning]
other = "हम आपके ईमेल को कभी भी किसी और के साथ साझा नहीं करेंगे"
other = "अपना ईमेल पता दर्ज करके, आप इस वेबसाइट का न्यूज़लेटर प्राप्त करने के लिए सहमत होते हैं।"
[submit]
other = "जमा करें"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Ingin selalu update dengan notifikasi email"
other = "Masukkan email"
[newsletter_warning]
other = "Kami tidak pernah berbagi data email dengan siapapun."
other = "Dengan memasukkan alamat email Anda, Anda setuju untuk menerima buletin situs web ini."
[submit]
other = "Kirim"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Resta aggiornato con la notifica di email"
other = "Inserisci l'email"
[newsletter_warning]
other = "Non condivideremo l'email con altri."
other = "Inserendo il tuo indirizzo email, accetti di ricevere la newsletter di questo sito."
[submit]
other = "Invia"
+1 -1
View File
@@ -30,7 +30,7 @@ other = "メールで最新情報を受け取る"
other = "ここにメールアドレスを入力"
[newsletter_warning]
other = "ご入力いただいたメールアドレスが他人に開示されることは決してございません。"
other = "メールアドレスを入力すると、このウェブサイトのニュースレターを受け取ることに同意したことになります。"
[submit]
other = "登録"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "이메일 알림으로 최신 상태를 유지해보세요"
other = "이메일을 입력하세요"
[newsletter_warning]
other = "이메일을 다른 목적으로 사용하지 않습니다."
other = "이메일 주소를 입력하면이 웹 사이트의 뉴스 레터 수신에 동의하는 것입니다."
[submit]
other = "제출"
+1 -1
View File
@@ -32,7 +32,7 @@ other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
other = "E-Mail-Adresse eingeben"
[newsletter_warning]
other = "Wir werden Ihre E-Mail-Adresse nicht an Dritte weitergeben."
other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
[submit]
other = "Absenden"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Подпишитесь на уведомления, чтобы не п
other = "Введите email"
[newsletter_warning]
other = "Ваши данные в безопасности"
other = "Вводя свой адрес электронной почты, вы соглашаетесь получать информационный бюллетень этого веб-сайта."
[submit]
other = "Подтвердить"
+1 -1
View File
@@ -33,7 +33,7 @@ other = "Nhận email cập nhật thông tin"
other = "Nhập email"
[newsletter_warning]
other = "Chúng tôi sẽ không bao giờ chia sẻ email của bạn."
other = "Bằng cách nhập địa chỉ email của bạn, bạn đồng ý nhận bản tin của trang web này."
[submit]
other = "Gửi"
+7 -1
View File
@@ -11,7 +11,13 @@
<!-- ADD GOOGLE ANALYTICS IF ENABLED -->
{{ if site.GoogleAnalytics }}
{{ template "_internal/google_analytics_async.html" . }}
<!-- Google Analytics v3 ID -->
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
{{ template "_internal/google_analytics_async.html" . }}
{{ else }}
<!-- Google Analytics v4 ID -->
{{ template "_internal/google_analytics.html" . }}
{{ end }}
{{ end }}
</head>
+3
View File
@@ -1,6 +1,9 @@
{{ define "header" }}
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
{{ end }}
{{ define "navbar" }}
+3
View File
@@ -1,6 +1,9 @@
{{ define "header" }}
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
{{ end }}
{{ define "navbar" }}
+3
View File
@@ -6,6 +6,9 @@
/>
<link rel="stylesheet" href="{{ "/css/layouts/single.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
{{ end }}
{{ define "navbar" }}
+10 -1
View File
@@ -25,10 +25,19 @@
<link rel="stylesheet" href="{{ "/css/sections/recent-posts.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/achievements.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/sections/accomplishments.css" | relURL }}"/>
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
<!-- Add Google Analytics if enabled in configuration -->
{{ if site.GoogleAnalytics }}
{{ template "_internal/google_analytics_async.html" . }}
<!-- Google Analytics v3 ID -->
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
{{ template "_internal/google_analytics_async.html" . }}
{{ else }}
<!-- Google Analytics v4 ID -->
{{ template "_internal/google_analytics.html" . }}
{{ end }}
{{ end }}
</head>
<body data-spy="scroll" data-target="#top-navbar" data-offset="100">
+1 -1
View File
@@ -11,7 +11,7 @@
{{ $logoImage:= resources.Get .logo}}
{{ if $logoImage }}
{{ $logoImage := $logoImage.Fit "24x24" }}
{{ $logoImage = $logoImage.Fit "24x24" }}
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }}
+1 -1
View File
@@ -7,7 +7,7 @@
{{/* svg don't support "Fit" operation */}}
{{ if ne $logoImage.MediaType.SubType "svg" }}
{{ $logoImage := $logoImage.Fit "24x24" }}
{{ $logoImage = $logoImage.Fit "24x24" }}
{{ end }}
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
+12 -19
View File
@@ -1,18 +1,3 @@
{{/* 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" />
@@ -20,7 +5,6 @@
<!-- ============ import common css ========== -->
<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 }}"/>
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
@@ -30,7 +14,16 @@
<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="{{ $favicon }}" />
{{/* add favicon only if the site author has provided the the favicon */}}
{{ if site.Params.logo.favicon }}
{{ $favicon := site.Params.logo.favicon }}
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
{{/* 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}}
<link rel="icon" type="image/png" href="{{ $favicon }}" />
{{end}}
@@ -21,7 +21,7 @@
{{/* 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" }}
{{ $authorImage = $authorImage.Fit "120x120" }}
{{ end }}
{{/* return the author image link */}}
+10
View File
@@ -0,0 +1,10 @@
{{ $pages:= slice}}
{{ range . }}
{{ if .HasChildren }}
{{ $nestedPages:=partial "helpers/get-pages.html" .Children }}
{{ $pages = $pages | append $nestedPages }}
{{ else }}
{{ $pages = $pages | append .Page }}
{{ end }}
{{ end }}
{{ return $pages}}
+25 -16
View File
@@ -1,28 +1,31 @@
{{/* default logos */}}
{{ $mainLogo := "/images/main-logo.png" }}
{{ $invertedLogo := "/images/inverted-logo.png" }}
{{/* by default, don't use any logo */}}
{{ $mainLogo := "" }}
{{ $invertedLogo := "" }}
{{/* if custom logo has been provided in the config file, then use them */}}
{{/* if custom logo has been provided, 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" }}
{{ if $mainLogo }}
{{ $mainLogo = resources.Get $mainLogo}}
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
{{ $mainLogo = $mainLogo.Resize "42x" }}
{{ end }}
{{ $mainLogo = $mainLogo.RelPermalink}}
{{ end }}
{{ $mainLogo = $mainLogo.RelPermalink}}
{{ $invertedLogo := resources.Get $invertedLogo}}
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg") }}
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
{{ if $invertedLogo }}
{{ $invertedLogo = resources.Get $invertedLogo}}
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
{{ end }}
{{ $invertedLogo = $invertedLogo.RelPermalink}}
{{ end }}
{{ $invertedLogo = $invertedLogo.RelPermalink}}
<nav class="navbar navbar-expand-xl top-navbar final-navbar shadow">
<div class="container">
@@ -30,7 +33,9 @@
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
<img src="{{ $mainLogo }}" alt="Logo">
{{ if $mainLogo }}
<img src="{{ $mainLogo }}" alt="Logo">
{{ end }}
{{- site.Title -}}
</a>
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
@@ -46,6 +51,10 @@
</div>
</div>
<!-- Store the logo information in a hidden img for the JS -->
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
{{ if $mainLogo }}
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
{{ end }}
{{ if $invertedLogo }}
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
{{ end }}
</nav>
+25 -15
View File
@@ -7,11 +7,11 @@
{{ $blogEnabled = true }}
{{ end }}
{{/* default logos */}}
{{ $mainLogo := "/images/main-logo.png" }}
{{ $invertedLogo := "/images/inverted-logo.png" }}
{{/* by default, don't use any logo */}}
{{ $mainLogo := "" }}
{{ $invertedLogo := "" }}
{{/* if custom logo is used, them */}}
{{/* if custom logo has been provided, use them */}}
{{ if site.Params.logo.main }}
{{ $mainLogo = site.Params.logo.main }}
{{ end }}
@@ -20,17 +20,21 @@
{{ 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" }}
{{ if $mainLogo }}
{{ $mainLogo = resources.Get $mainLogo}}
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
{{ $mainLogo = $mainLogo.Resize "42x" }}
{{ end }}
{{ $mainLogo = $mainLogo.RelPermalink}}
{{ end }}
{{ $mainLogo = $mainLogo.RelPermalink}}
{{ $invertedLogo := resources.Get $invertedLogo}}
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
{{ if $invertedLogo }}
{{ $invertedLogo = resources.Get $invertedLogo}}
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
{{ end }}
{{ $invertedLogo = $invertedLogo.RelPermalink}}
{{ end }}
{{ $invertedLogo = $invertedLogo.RelPermalink}}
{{ $customMenus := site.Params.customMenus }}
{{ if (index site.Data site.Language.Lang).site.customMenus }}
@@ -45,7 +49,9 @@
<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 }}" id="logo" alt="Logo">
{{ if $invertedLogo }}
<img src="{{ $invertedLogo }}" id="logo" alt="Logo">
{{ end }}
{{- site.Title -}}
</a>
<button
@@ -119,6 +125,10 @@
</div>
</div>
<!-- Store the logo information in a hidden img for the JS -->
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
{{ if $mainLogo }}
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
{{ end }}
{{ if $invertedLogo }}
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
{{ end }}
</nav>
@@ -1,33 +1,43 @@
{{ $curPage := . }}
{{ $prevPage := "" }}
{{ $nextPage := "" }}
<!-- List all the pages. It uses the sidebar menu to discover the page order. -->
{{ $pages := slice }}
{{ if isset site.Menus "sidebar" }}
{{ $pages = partial "helpers/get-pages.html" site.Menus.sidebar }}
{{ end }}
<!-- Now, find the current page index in the pages list. Then, find previous page and next page. -->
{{ $idx := 0 }}
{{ range $pages }}
{{ if eq .RelPermalink $curPage.RelPermalink }}
{{ $prevPage = index $pages (sub $idx 1) }}
{{ $nextPage = index $pages (add $idx 1) }}
{{ end }}
{{ $idx = add $idx 1 }}
{{ end }}
<div class="row next-prev-navigator">
{{ $currentPage := . }}
{{ range (where site.RegularPages.ByDate "Type" "in" site.Params.mainSections )}}
{{ if eq .RelPermalink $currentPage.RelPermalink }}
{{ if .Next }}
{{ if (in site.Params.mainSections .Next.Type) }}
<div class="col-md-6 previous-article">
<a href="{{.Next.RelPermalink}}" title="{{ .Next.Title }}" class="btn btn-outline-info">
<div><i class="fas fa-chevron-circle-left"></i> {{ i18n "prev" }}</div>
<div class="next-prev-text">{{ .Next.Title }}</div>
{{ if $prevPage }}
<div class="col-md-6 previous-article">
<a href="{{ $prevPage.RelPermalink }}" title="{{ $prevPage.Title }}" class="btn btn-outline-info">
<div><i class="fas fa-chevron-circle-left"></i> {{ i18n "prev" }}</div>
<div class="next-prev-text">{{ $prevPage.Title }}</div>
</a>
</div>
{{ end }}
{{ if $nextPage }}
{{ $columnWidth:="col-md-12" }}
{{ if $prevPage }}
{{ $columnWidth = "col-md-6" }}
{{ end}}
<div class="{{ $columnWidth }} next-article">
<a href="{{ $nextPage.RelPermalink }}" title="{{ $nextPage.Title }}" class="btn btn-outline-info">
<div>{{ i18n "next" }} <i class="fas fa-chevron-circle-right"></i></div>
<div class="next-prev-text">{{ $nextPage.Title }}</div>
</a>
</div>
{{ end }}
{{ end }}
{{ if .Prev }}
{{ if (in site.Params.mainSections .Prev.Type) }}
{{ $columnWidth:="col-md-12" }}
{{ if .Next }}
{{ if (in site.Params.mainSections .Next.Type) }}
{{ $columnWidth = "col-md-6" }}
{{ end }}
{{ end}}
<div class="{{ $columnWidth }} next-article">
<a href="{{ .Prev.RelPermalink }}" title="{{ .Prev.Title }}" class="btn btn-outline-info">
<div>{{ i18n "next" }} <i class="fas fa-chevron-circle-right"></i></div>
<div class="next-prev-text">{{ .Prev.Title }}</div>
</a>
</div>
{{ end }}
{{ end }}
{{ end }}
{{ end }}
</div>
+4 -1
View File
@@ -26,7 +26,7 @@
{{ $authorImage = $author.image }}
{{ end }}
{{ $authorImage := resources.Get $authorImage }}
{{ $authorImage := $authorImage.Fit "148x148" }}
{{ $authorImage = $authorImage.Fit "148x148" }}
{{/* get file that matches the filename as specified as src="" in shortcode */}}
{{ $src := resources.Get $backgroundImage }}
@@ -110,6 +110,9 @@
alt="Author Image"
/>
<h1 class="greeting"> {{ $author.greeting }} {{ $name }}</h1>
{{ if $author.subtitle }}
<h2 class="greeting-subtitle">{{ $author.subtitle }}</h2>
{{ end }}
<div class="typing-carousel">
<span id="ityped" class="ityped"></span>
<span class="ityped-cursor"></span>
+7 -7
View File
@@ -9,7 +9,7 @@
"license": "MIT",
"devDependencies": {
"autoprefixer": "^10.2.6",
"postcss": "^8.3.0",
"postcss": "^8.3.5",
"postcss-cli": "^8.3.1"
}
},
@@ -849,9 +849,9 @@
}
},
"node_modules/postcss": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz",
"integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==",
"version": "8.3.5",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz",
"integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==",
"dev": true,
"dependencies": {
"colorette": "^1.2.2",
@@ -1785,9 +1785,9 @@
"dev": true
},
"postcss": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz",
"integrity": "sha512-+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==",
"version": "8.3.5",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz",
"integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==",
"dev": true,
"requires": {
"colorette": "^1.2.2",
+1 -1
View File
@@ -18,7 +18,7 @@
"homepage": "https://github.com/hossainemruz/toha#readme",
"devDependencies": {
"autoprefixer": "^10.2.6",
"postcss": "^8.3.0",
"postcss": "^8.3.5",
"postcss-cli": "^8.3.1"
}
}
+13
View File
@@ -432,16 +432,29 @@ mark {
code {
padding: 0px;
}
h1 {
font-size: 2.2rem;
}
}
/* iPhoneX, iPhone 6,7,8 */
@media only screen and (max-width: 375px) {
h1 {
font-size: 2rem;
}
}
/* Galaxy S5, Moto G4 */
@media only screen and (max-width: 360px) {
h1 {
font-size: 1.8rem;
}
}
/* iPhone 5 or before */
@media only screen and (max-width: 320px) {
h1 {
font-size: 1.5rem;
}
}
+21
View File
@@ -496,11 +496,24 @@
.about-section.container {
max-width: 100%;
}
.circular-progress {
width: 135px;
height: 135px;
}
}
/* Small devices (landscape phones, 576px and up) */
@media only screen and (max-width: 576px) {
.circular-progress {
width: 150px;
height: 150px;
}
.circular-progress .circular-progress-value {
font-size: 1rem;
}
}
/* iPhoneX, iPhone 6,7,8 */
@@ -513,4 +526,12 @@
/* iPhone 5 or before */
@media only screen and (max-width: 320px) {
.col-6 {
flex: auto;
max-width: 100%;
}
.social-link {
flex-wrap: wrap;
}
}
+1 -1
View File
@@ -45,7 +45,7 @@
margin-bottom: 10px;
}
.home .greeting {
.home .greeting, .home .greeting-subtitle {
color: #f9fafc;
}
+2 -1
View File
@@ -19,6 +19,7 @@
.skills-section .card {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
height: 100%;
}
.skills-section .card .card-body {
@@ -57,7 +58,7 @@
padding-right: 0;
}
.skills-section .container {
max-width: 100%;
max-width: 95%;
}
}
+3 -25
View File
@@ -63,28 +63,6 @@ var projectCards;
}
}
// ==================== Adjust height of the skills card =============
function adjustSkillCardsHeight() {
if (!isMobile) { // no need to adjust height for mobile devices
// primary skills
var skillCards = document.getElementById("primary-skills");
if (skillCards != null) {
var cardElems = skillCards.getElementsByClassName("card");
var maxHeight = 0;
for (let i = 0; i < cardElems.length; i++) {
if (cardElems.item(i).clientHeight > maxHeight) {
maxHeight = cardElems.item(i).clientHeight;
}
}
for (let i = 0; i < cardElems.length; i++) {
cardElems.item(i).setAttribute("style", "min-height: " + maxHeight + "px;");
}
}
}
}
$(window).on("load", function () {
adjustSkillCardsHeight();
});
// ================== Project cards =====================
// Add click action on project category selector buttons
@@ -331,17 +309,17 @@ var projectCards;
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["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["SmallImage"].setAttribute("active", true);
this.children["LargeImage"].removeAttribute("active");
this.setAttribute("Style", mainLogo);
}
if (this.children["caption"] != undefined) {
this.children["caption"].classList.toggle("hidden");
}
+11 -4
View File
@@ -16,8 +16,12 @@
$('#navbar-toggler').addClass('navbar-light');
// get the main logo from hidden img tag
let mainLogo = document.getElementById("main-logo").getAttribute("src");
$('#logo').attr("src", mainLogo);
let mainLogo = document.getElementById("main-logo")
if (mainLogo !== null) {
let logoURL = mainLogo.getAttribute("src");
$('#logo').attr("src", logoURL);
}
} else {
$('#top-navbar').removeClass('final-navbar shadow');
$('#top-navbar').addClass('initial-navbar');
@@ -26,8 +30,11 @@
$('#navbar-toggler').addClass('navbar-dark');
// get the inverted logo from hidden img tag
let invertedLogo = document.getElementById("inverted-logo").getAttribute("src");
$('#logo').attr("src", invertedLogo);
let invertedLogo = document.getElementById("inverted-logo")
if (invertedLogo !== null) {
let logoURL = invertedLogo.getAttribute("src");
$('#logo').attr("src", logoURL);
}
}
});