Compare commits

...

430 commits
v2.1.0 ... main

Author SHA1 Message Date
Emruz Hossain
c7fb163e66
Fix mermaid rendering inside split shortcode (#1059) 2025-07-12 16:02:30 +06:00
Emruz Hossain
7223361464
Fix build failure due to Hugo chaning _internal template behavior (#1050)
* Fix build failure due to Hugo chaning `_internal` template behavior

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

* Update min Hugo version

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2025-04-14 22:48:34 +06:00
dependabot[bot]
b79aee97d6
Bump dompurify and mermaid (#1047)
Bumps [dompurify](https://github.com/cure53/DOMPurify) to 3.2.5 and updates ancestor dependency [mermaid](https://github.com/mermaid-js/mermaid). These dependencies need to be updated together.


Updates `dompurify` from 2.4.3 to 3.2.5
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.4.3...3.2.5)

Updates `mermaid` from 9.4.3 to 11.6.0
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/mermaid-js/mermaid/compare/v9.4.3...mermaid@11.6.0)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.2.5
  dependency-type: indirect
- dependency-name: mermaid
  dependency-version: 11.6.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-12 19:02:16 +06:00
dependabot[bot]
e6dfa1327a
Bump katex from 0.16.11 to 0.16.21 (#1045)
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.11 to 0.16.21.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.11...v0.16.21)

---
updated-dependencies:
- dependency-name: katex
  dependency-version: 0.16.21
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-06 19:51:30 +06:00
dependabot[bot]
a9fcfdba26
Bump gaurav-nelson/github-action-markdown-link-check (#1044)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.16 to 1.0.17.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.16...1.0.17)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-06 19:44:21 +06:00
JY Hsu
f329b3f2cb
fix: Fix issue #1037 (#1039)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2025-03-06 14:41:37 +06:00
James
23cc80dea8
Avoid resizing navbar gifs as they ruin animations (#1038) 2025-03-06 14:34:55 +06:00
Emruz Hossain
aa91957832
Make RSS feed path configurable (#1034)
* Make RSS feed path configurable

Fixes #997

Add configuration option for RSS feed path

* Add `rssPath` configuration option in `exampleSite/hugo.yaml` under the `params` section to specify the desired RSS feed path.
* Set the default value of `rssPath` to `/rss.xml`.
* Update `layouts/_default/baseof.html` to include the RSS feed link with the configured `rssPath` value.
* Use the default path `/index.xml` if `rssPath` is not specified.

* Add outputFormats to hugo.yaml

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

* Add reference to doc

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

---------

Signed-off-by: Emruz Hossain <hossainemruz@gmail.com>
2025-02-07 03:01:08 +06:00
Emruz Hossain
ba6bb5d369
Update minimum Hugo version to 0.141.0 (#1033)
Fixes #1029

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/hugo-toha/toha/issues/1029?shareId=XXXX-XXXX-XXXX-XXXX).
2025-02-07 01:49:49 +06:00
Rémy Jacquin
417ef950c7
fix: Create text-justify css class (#1032)
Signed-off-by: Rémy Jacquin <remy@remyj.fr>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2025-02-07 01:43:47 +06:00
Hamed Pourkhaleghi
181c12376e
feat: make phone number a clickable link in footer (#1031)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2025-02-07 01:37:04 +06:00
dependabot[bot]
9a8d3af57d
Bump katex from 0.16.11 to 0.16.21 in /exampleSite (#1025)
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.11 to 0.16.21.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.11...v0.16.21)

---
updated-dependencies:
- dependency-name: katex
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2025-02-07 01:30:58 +06:00
Bernat Borràs Civil
f8befe62cc
Add dark background (#1024)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2025-01-28 15:59:47 +01:00
dependabot[bot]
35a1686bfe
Bump gaurav-nelson/github-action-markdown-link-check from 1.0.15 to 1.0.16 (#1028)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.15 to 1.0.16.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.15...1.0.16)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 11:22:04 +00:00
dependabot[bot]
0c4b9edf48
Bump release-drafter/release-drafter from 6.0.0 to 6.1.0 (#1027)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v6.0.0...v6.1.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 11:27:34 +00:00
Alexandre Neto
5c1de702ad
Add RSS link to header (#1019)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2025-01-14 06:01:42 +06:00
Emruz Hossain
07372519ee
Add support for different logo on dark mode (#1020) 2025-01-14 06:01:14 +06:00
Andrea Maiani
047bb517cb
Adapt publication card to handle missing URLs (#1017)
* Allow for personalized titles for Blog and Note pages

* Adapt publication card to handle better the case when URL in authors, publication and paper are not used.
2024-12-19 14:24:52 +06:00
David G. Simmons
4e4acdbb6b
Remove in-line script from header (#1004)
* remove in-line script from header

* oops!

* Set script in-line with integrity hash

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

---------

Signed-off-by: Emruz Hossain <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-12-01 20:37:33 +06:00
JY Hsu
3be5a58a7c
Fix google analytics feature (#989)
* fix: Fix google analytics

* fix: Change respectDoNotTrack in GA html template

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-11-27 05:59:35 +06:00
JY Hsu
515b7eb3bf
Fix input focus and placeholder color for footer section (#1005)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-10-24 21:54:40 +06:00
dependabot[bot]
024ffa7b48
Bump actions/checkout from 4.2.1 to 4.2.2 (#1008)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-24 11:10:20 +00:00
David G. Simmons
aa9b49b318
Add statcounter to statistics (#1003) 2024-10-21 19:11:26 +06:00
David G. Simmons
2f670db6a0
Add support for canonical links (#1001)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-10-19 00:48:08 +06:00
JY Hsu
bc67ca1187
Add project image (#987)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-10-18 22:51:40 +06:00
dependabot[bot]
22531ce9a8
Bump actions/checkout from 4.2.0 to 4.2.1 (#995)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 11:06:44 +00:00
JY Hsu
d6df1f4b7c
fix: Add minute section in both zh-cn and zh-tw toml (#988)
Co-authored-by: Bernat Borràs Civil <70479573+BernatBC@users.noreply.github.com>
2024-10-02 22:07:20 +02:00
dependabot[bot]
cad7dae666
Bump actions/checkout from 4.1.7 to 4.2.0 (#985)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.7...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-26 11:24:15 +00:00
Bernat Borràs Civil
0d4d8a8e3c
Add copy code button (#963)
* Add copy code button

* External package not needed

* Improve alignement

* Update button style + add feedback on click

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

* Update dependencies

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-20 01:29:38 +00:00
JY Hsu
9da3e3420b
Add category filter for skills (#979)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-20 00:57:14 +00:00
dependabot[bot]
0f6737eee0
Bump dompurify and mermaid (#977)
Bumps [dompurify](https://github.com/cure53/DOMPurify) to 3.1.6 and updates ancestor dependency [mermaid](https://github.com/mermaid-js/mermaid). These dependencies need to be updated together.


Updates `dompurify` from 2.4.1 to 3.1.6
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.4.1...3.1.6)

Updates `mermaid` from 9.3.0 to 11.2.1
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/mermaid-js/mermaid/compare/v9.3.0...mermaid@11.2.1)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: indirect
- dependency-name: mermaid
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-20 00:53:41 +00:00
Bernat Borràs Civil
0e8f82703f
Fix perfect matching provisionally (#976)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-20 00:52:33 +00:00
Steffen Barnau
9300a22068
Align card texts and tag list to left (#974)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-20 00:50:41 +00:00
Bernat Borràs Civil
804a866371
Merge pull request #972 from deining/flag-icons
Change npm package 'flag-icon-css' to 'flag-icons'
2024-09-20 02:47:52 +02:00
Emruz Hossain
da8dbea6ca
Merge branch 'main' into flag-icons 2024-09-20 06:46:57 +06:00
Khanbala Rashidov
618039a87e
Added Azerbaijan language (#975)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-20 00:44:22 +00:00
Emruz Hossain
55da71cd90
Separate label enforcer job to separate workflow (#982)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-09-20 00:41:13 +00:00
Andreas Deininger
f032986c23 Change npm package 'flag-icon-css' to 'flag-icons' 2024-09-08 19:25:09 +02:00
Andreas Deininger
aab2b39c50
Update node version in 'autoprefixer.yml' workflow (#964)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-08 03:34:21 +06:00
Emruz Hossain
f2e549772d
Fix auto-prefixer workflow (#971)
Signed-off-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-08 03:30:42 +06:00
JY Hsu
0090f7b1fa
Fix zh-tw UI translation (#970)
* fix: Fix zh-tw.toml

* feat: Add traditional Chinese in README
2024-09-06 23:21:09 +06:00
Emruz Hossain
577e3a5d00
Fix list page card was breaking (#969)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-09-06 16:56:20 +06:00
JY Hsu
7bc37c74c7
Added default theme (#960)
* feat: Added default theme

* Revert "feat: Added default theme"

This reverts commit a11a99f92a.

* feat: Add basic theme feature

* feat: Add theme settings

* fix: Fix default theme value

* fix: Fix CR and doc-string

* Comment out darkMode on exampleSite/hugo.yaml

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-09-06 16:15:33 +06:00
dependabot[bot]
3ce670e2a5
Bump peter-evans/create-pull-request from 6 to 7 (#967)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-03 11:42:40 +00:00
Andreas Deininger
02e5e99cf6
Fix deprecation warnings (#962) 2024-08-31 04:14:02 +06:00
dependabot[bot]
dde735d3af
Bump braces from 3.0.2 to 3.0.3 (#950)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-07-31 03:26:36 +06:00
Andrea Maiani
d0329531d7
Allow for personalized titles for Blog and Note pages (#951) 2024-07-31 03:21:29 +06:00
dependabot[bot]
05dce9c509
Bump actions/checkout from 4.1.6 to 4.1.7 (#949)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.6...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-13 11:51:59 +00:00
Emruz Hossain
8599c634e3
Update hugo version in netlify.toml (#946)
* Update hugo version in netlify.toml

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

* Rename config.yaml to hugo.yaml

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

* Use go version 1.21

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

* Fix link

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-06-02 00:47:22 +06:00
dependabot[bot]
6350e5e2e2
Bump actions/checkout from 4.1.5 to 4.1.6 (#940)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.5...v4.1.6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-05-27 18:59:38 +06:00
JYHsu
b40f6f85b9
fix: Fixed font color for education pages in dark mode (#943) 2024-05-27 18:50:32 +06:00
Kemal Kolcuoğlu
6f318f5480
Turkish Localization Updated (#939) 2024-05-17 15:32:45 +06:00
Augusto Pace
f3dacf112c
Added umami analitycs support (#938)
* feat: added umami analityc support

* chore: added support to on-premise deployment of umami service

* chore: renamed 'proto' to 'scheme' on umami integration
2024-05-13 22:56:20 +06:00
Emruz Hossain
a959cb174d
Fix passing google analytics id (#937)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-05-10 20:21:23 +00:00
Emruz Hossain
a3213b46f9
Fix language selector when default language is not English (#936)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-05-11 01:59:04 +06:00
Andreas Deininger
3edd8e7858
Fix deprecation warnings (#908)
* Example site: bump hugo modules to latest versions

* Fix deprecation warnings emitted by hugo v0.124

* Fix typos

* Netlify: bump hugo version

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-05-11 00:00:29 +06:00
Bernat Borràs Civil
6f4e23ad40
Add awesome icon in project cards (#920)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-05-10 23:56:27 +06:00
Andrew Molyuk
2b47657a12
Fix dark mode image setting (#923)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-05-10 23:52:53 +06:00
dependabot[bot]
e3da3d413b
Bump actions/checkout from 4.1.4 to 4.1.5 (#935)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.4...v4.1.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-07 11:06:37 +00:00
dependabot[bot]
612048a7f9
Bump foo-software/lighthouse-check-action from 10.0.0 to 12.0.1 (#933)
Bumps [foo-software/lighthouse-check-action](https://github.com/foo-software/lighthouse-check-action) from 10.0.0 to 12.0.1.
- [Release notes](https://github.com/foo-software/lighthouse-check-action/releases)
- [Changelog](https://github.com/foo-software/lighthouse-check-action/blob/master/tsconfig.release.json)
- [Commits](https://github.com/foo-software/lighthouse-check-action/compare/v10.0.0...v12.0.1)

---
updated-dependencies:
- dependency-name: foo-software/lighthouse-check-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 11:01:51 +00:00
dependabot[bot]
5b1248da4d
Bump actions/checkout from 4.1.3 to 4.1.4 (#929)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.3...v4.1.4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 11:36:47 +00:00
dependabot[bot]
3290d40918
Bump actions/checkout from 4.1.2 to 4.1.3 (#927)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 11:36:08 +00:00
1d79da23ba
Add minute translation for finnish (#925) 2024-04-21 15:19:35 +06:00
Bernat Borràs Civil
03148c9f3f
Migrate to Bootstrap 5 (#918)
* Migrate to Bootstrap 5

* Fix dropdown

* Fix horizontal line color

* Fix vertical line

* Migrate bootstrap on example site

* Fix style issue + scroll spy

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-04-21 02:03:59 +06:00
Bernat Borràs Civil
f8c6d8c613
Add custom name in Navbar (#921)
* Add custom name

* Fix issue

* Move config to data/<language-code>/site.yaml

* Add new line

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-04-20 23:50:33 +06:00
skamensky
07763e7737
add hebrew translation (#914)
* add hebrew translation

* Add Hebrew in the Readme

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-04-14 02:22:06 +06:00
dependabot[bot]
d90b878f92
Bump katex from 0.16.9 to 0.16.10 in /exampleSite (#913)
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.9 to 0.16.10.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.9...v0.16.10)

---
updated-dependencies:
- dependency-name: katex
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-04-14 02:18:03 +06:00
dependabot[bot]
7baa0b34ad
Bump katex from 0.16.4 to 0.16.10 (#912)
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.16.4 to 0.16.10.
- [Release notes](https://github.com/KaTeX/KaTeX/releases)
- [Changelog](https://github.com/KaTeX/KaTeX/blob/main/CHANGELOG.md)
- [Commits](https://github.com/KaTeX/KaTeX/compare/v0.16.4...v0.16.10)

---
updated-dependencies:
- dependency-name: katex
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-04-14 02:11:03 +06:00
dependabot[bot]
2574f609a1
Bump peaceiris/actions-hugo from 2.6.0 to 3.0.0 (#919)
Bumps [peaceiris/actions-hugo](https://github.com/peaceiris/actions-hugo) from 2.6.0 to 3.0.0.
- [Release notes](https://github.com/peaceiris/actions-hugo/releases)
- [Changelog](https://github.com/peaceiris/actions-hugo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-hugo/compare/v2.6.0...v3.0.0)

---
updated-dependencies:
- dependency-name: peaceiris/actions-hugo
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 11:30:24 +00:00
Andreas Deininger
a69388d9b8
Fix deprecation warning emitted by hugo (#904)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-03-19 22:26:49 +06:00
dependabot[bot]
600c50c71c
Bump actions/checkout from 4.1.1 to 4.1.2 (#905)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...v4.1.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-12 11:25:06 +00:00
Bernat Borràs Civil
36e3e4c09c
Add dark logos (#903)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-03-10 16:02:51 +06:00
Bernat Borràs Civil
803821d7e8
Fixes posts in search results (#900) 2024-02-25 15:20:00 +06:00
Bernat Borràs Civil
1ec4cd2688
Add tags in post cards from search results (#895)
* Add tags in post cards from search results

* Use on_card parameter to decide to show the cards or not

* Fix search cards height

* Minor fix

* Fix null tags

* Fix CSS not applied properly in search page

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-02-23 23:37:35 +06:00
Bernat Borràs Civil
9f5a44e24e
Fix logos (#898) 2024-02-19 15:11:18 +06:00
Bernat Borràs Civil
32e95a572f
Update theme.toml for hugoThemesSiteBuilder (#896)
* Update theme.toml

* Add min hugo version
2024-02-16 20:34:13 +06:00
Bernat Borràs Civil
b8bee52c7c
Fix hovering tags in posts (#894) 2024-02-14 02:01:20 +06:00
Bernat Borràs Civil
35bca71987
Add spacing between project tags (#892)
* Add spacing between project tags

* Fix
2024-02-13 01:35:55 +06:00
Bernat Borràs Civil
cbdb07dbf1
Add custom subsections in education (#888)
* Add custom subsections in education

* Apply requested changes
2024-02-12 23:24:21 +06:00
Bernat Borràs Civil
970656789c
Fix anchors in post cards (#891)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-02-12 13:31:09 +06:00
Bernat Borràs Civil
df78c743c8
Fix Tags sidebar font color (#890)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-02-12 13:29:12 +06:00
Bernat Borràs Civil
96768ade2d
Add dutch in Readme (#883)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-02-12 13:27:15 +06:00
Bernat Borràs Civil
11bddc36a2
Add company and school logos (#882)
* Add education logo

* Fix width

* Update css

* Add logos to company

* Add multiple positions

* Update Styling

* Strenghten poistion title

* Improve timeline

* Fix missing curly braces

* Fix curly braces

* Add space

* Add space between position and date

* Make single and multiple experiences more consistent

* Remove single-position layout

* Remove duplicated comment
2024-02-12 13:26:12 +06:00
Emruz Hossain
e8b0cfb32e
Fix active menu on sidebar not getting highlighted in dark mode (#881)
Signed-off-by: Emruz Hossain <emruz.hossain@qdrant.com>
2024-02-02 18:31:03 +00:00
Emruz Hossain
de1cee3951
Fix replace directive in local development guide (#880) 2024-02-02 17:02:12 +00:00
Bernat Borràs Civil
3283a3b844
Add param profile to hide author in post (#870)
* Add param profile

* Fix date duplicated when profile not set

* Change param localization

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-02-02 22:57:18 +06:00
Nico
3d1b8f830f
Changing the translation of 'Notes' (#875)
Changed the translation for the word "Notes" from "Remarques" to "Notes" (as in English).

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2024-02-02 16:18:06 +00:00
dependabot[bot]
5159cdf6bb
Bump peter-evans/create-pull-request from 5 to 6 (#877)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2024-02-02 11:46:19 +00:00
dependabot[bot]
b3aae4de33
Bump release-drafter/release-drafter from 5.25.0 to 6.0.0 (#879)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.25.0 to 6.0.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.25.0...v6.0.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-02 11:45:20 +00:00
Emruz Hossain
c74672c1c1
Update local development guide (#869)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-01-24 10:06:35 +06:00
Bernat Borràs Civil
def5ce662e
Add select maximum number of posts per page (#866)
* Add select maximum number of posts per page

* Rename ans simplify posts to show

* Fix
2024-01-19 19:00:11 +00:00
Dieter Vansteenwegen
1aa27921d0
Add Researchgate as contact option (#864) 2024-01-17 18:56:07 +06:00
Emruz Hossain
2c5cbeee94
Update README.md (#863) 2024-01-14 13:43:18 +06:00
hossainemruz
b9713b5461 Add link to migration guide
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-01-13 19:09:23 +06:00
Emruz Hossain
0c0072eac1
Add hugoVersion info in config.yaml (#861)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-01-07 02:08:05 +06:00
Emruz Hossain
fdfee4d3bb
Refactor alert shortcode (#858)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2024-01-01 08:58:11 +00:00
Augusto Pace
d3968ca711
Fixed and improved circular progess animation on about section (#850)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-12-29 23:04:27 +06:00
Alexandre Neto
48a7b47319
Specify European Portuguese (#854) 2023-12-24 12:32:38 +06:00
dependabot[bot]
2801749573
Bump github/codeql-action from 2 to 3 (#849)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-15 19:19:24 +06:00
Emruz Hossain
d5fb8e5313
Fix embed-pdf short code not rendering pdf file (#844)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-12-08 16:04:58 +00:00
Bernat Borràs Civil
bb9fec2e5d
Fix taken courses collapsible (#840)
* Fix taken courses collapsible

* Remove space

* Reorder functions
2023-12-07 00:48:50 +06:00
Emruz Hossain
93dc9dbb26
Add lighthouse score check (#837)
* Add lighthouse check

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

* Fix URL

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-11-23 15:18:52 +06:00
hossainemruz
434061ea6b Update netlify.toml
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-11-23 15:02:20 +06:00
hossainemruz
40d121bf2c Update replace dir
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-11-23 15:00:41 +06:00
Emruz Hossain
bb56bfbc77
Add Netlify configuration (#836)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-11-23 08:21:54 +00:00
Emruz Hossain
93fc487111
Refactor workflows (#835)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-11-21 14:42:39 +06:00
Bernat Borràs Civil
e5230e8c93
Add minute translation for catalan, spanish and french (#833) 2023-11-13 17:53:02 +00:00
Nirjas Jakilim
017ab6262a
Updated min hugo version required on theme configuration (#830)
updated theme.toml to reflect with the latest minimum hugo version requirement.
2023-10-31 15:43:30 +00:00
Emruz Hossain
cd2546d4e8
Add tooltiop for scroll-to-top button (#829)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-10-31 08:24:54 +00:00
Emruz Hossain
c00d676b26
Update Hugo version in README (#828)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-10-31 08:01:38 +00:00
Luca Argentieri
05c9d3d850
Add self-hosted goat counter (#826)
* Add self-hosted goat counter

* GoatCounter custom instance and beckward compatibility

---------

Co-authored-by: SilverLuke <luca99.argentieri@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-10-31 07:15:28 +00:00
Augusto Pace
e61d6b796b
Fixed localization of post cards (#821)
* Fixed date localization on post card

* fixed also labeling localization for post card

* adressed change request by using the hugo feature of singular/plural automagic for translation

* Fix reading time translation

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: hossainemruz <hossainemruz@gmail.com>
2023-10-30 04:27:14 +00:00
dependabot[bot]
fbbef3b2c5
Bump actions/setup-node from 3 to 4 (#822)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-24 11:51:41 +00:00
Emruz Hossain
69611695e7
Fix search result card layout (#820)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-10-20 20:20:26 +00:00
Bernat Borràs Civil
fecc0546e6
Fix distorted post card images (issue #808) (#819) 2023-10-18 17:12:57 +00:00
Bernat Borràs Civil
45b0b5b704
Fix tag separation in post cards (#818) 2023-10-18 15:12:55 +00:00
dependabot[bot]
acd4f63cda
Bump actions/checkout from 4.1.0 to 4.1.1 (#817)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 11:58:10 +00:00
Bernat Borràs Civil
aa7bdb0899
Justify post content (issue #831: Text in post is not justified) (#815)
* Justify content

* Justify content

* Remove redundant justification

* Remove inline css

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-10-17 19:39:53 +00:00
dependabot[bot]
5b31653ed2
Bump release-drafter/release-drafter from 5.24.0 to 5.25.0 (#814)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.24.0 to 5.25.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.24.0...v5.25.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 11:31:42 +00:00
dependabot[bot]
e35f917370
Bump postcss from 8.4.21 to 8.4.31 (#805)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.21 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.21...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-10-16 18:06:19 +00:00
Bernat Borràs Civil
a917e1e3f7
Add input color (#812) 2023-10-16 05:01:50 +00:00
Bernat Borràs Civil
bd2181eaca
Fix featured post section after update (#807) 2023-10-15 10:41:39 +00:00
Emruz Hossain
e8f8f3b22b
Fix post author image position + responsiveness (#804)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-10-06 19:32:57 +00:00
Mariatta
1dbe8aca45
Create mastodon embed shortcode (#788)
This shortcode can be used as follows:

```
{{<mastodon server="" user="" id="">}}
```

It defaults to mastodon.social server.


Closes #787

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-10-07 01:06:16 +06:00
Bernat Borràs Civil
a1188673ad
Add section to feature some posts in the main page (#786)
* Add working-on section

* Remove more posts button in working on

* Rename working-on.html to featured-posts.html

* Iterate posts from config file

* Remove unnecessary code in featured-posts.html

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-10-07 01:01:45 +06:00
Vincent Ducamps
539828cbff
fix dark mode: absolute to relative icon path (#790) 2023-10-07 00:55:18 +06:00
David Davó
42d3c650f8
Fixed navbar scroll spy (#798) (#799)
* Fixed navbar scroll spy

* Created get-section-url helper

* Fix URL for home section

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-10-07 00:38:18 +06:00
Emruz Hossain
03d263c4a1
Remove re-write warning message (#803) 2023-10-05 09:25:56 +00:00
Emruz Hossain
c943f39617
Fix theme icon in transparent menu (#801)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-09-29 23:17:47 +00:00
Emruz Hossain
5f0aebcf68
Implement proper dark mode (#800)
* Implement proper dark mode

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

* Fix footer color in light mode

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-09-30 05:04:48 +06:00
Emruz Hossain
6dc9d1d33d
Refactor CSS (#785)
* Refactor CSS

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

* Refactor about section

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

* Refactor CSS for experiences section

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

* Update education section

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

* Update projects section

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

* Update publication + accomplishment section

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

* Update achievements section

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

* Refactor footer CSS

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

* Re-use section title adjustment css for top header

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

* Refactor navbar CSS

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

* Refactor sidebar CSS

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

* Use unified navbar for all pages

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

* Refactor 404 page CSS

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

* Refactor list page css

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

* Fix notes page css

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

* Refactor single page css

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

* Introduce color variables

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

---------

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-09-29 04:27:19 +06:00
dependabot[bot]
77447b7723
Bump actions/checkout from 4.0.0 to 4.1.0 (#795)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-25 11:19:33 +00:00
dependabot[bot]
bd7ad1148d
Bump actions/checkout from 3.6.0 to 4.0.0 (#792)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.6.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 11:45:44 +00:00
dependabot[bot]
cc0b957979
Bump actions/checkout from 3.5.3 to 3.6.0 (#789)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.3...v3.6.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-25 11:22:23 +00:00
Bernat Borràs Civil
80205a7117
Add reading time, #679 (#784)
* Add reading time

* Add reading time
2023-07-31 16:30:13 +00:00
ZeYanLin
8f2d583ab6
Support Cloudflare Web Analytics (#763)
* Support Cloudflare Web Analytics

* Support Cloudflare Web Analytics

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-07-30 07:48:13 +00:00
Bernat Borràs Civil
08017d5977
Add possibility to show tags on post cards (#782)
* Add possibility to show tags on post cards

* Add on_card tags in exampleSite

---------

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-07-29 15:21:26 +00:00
Emruz Hossain
0e12222cc3
Fix index featching during search (#783)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-07-29 02:09:17 +06:00
hossainemruz
678d955044 Fix search using incorrect element id
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-07-29 00:57:50 +06:00
Emruz Hossain
55560f40bd
Fix CSS not being applied in tags (#780)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-07-28 00:15:51 +06:00
dependabot[bot]
0afcdcd468
Bump word-wrap from 1.2.3 to 1.2.4 (#778)
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-27 22:23:42 +06:00
Bernat Borràs Civil
5372e856d7
Add space between expanding icon and category name (Sidebar) (#773) 2023-07-04 07:28:03 +00:00
Bernat Borràs Civil
a128873f20
Fix takenCourses buttons (#772) 2023-07-03 22:14:35 +06:00
Bernat Borràs Civil
9a759090cd
Add extracurricular activities url (#770)
* Add extracurricular activities url

* Allow markdown in extracurricular activities
2023-07-03 08:16:52 +00:00
Bernat Borràs Civil
cd80fc9015
Fix Issue: Skills logo misaligned #753 (#769) 2023-07-03 06:59:41 +00:00
dependabot[bot]
53f1bc9137
Bump release-drafter/release-drafter from 5.23.0 to 5.24.0 (#767)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.23.0 to 5.24.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.23.0...v5.24.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-28 11:57:52 +00:00
dependabot[bot]
147a4c1a0f
Bump actions/checkout from 3.5.2 to 3.5.3 (#766)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.2...v3.5.3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 11:57:53 +00:00
Miradil
83d10c59ad
Fixed changing default color scheme in config, affecting the result (#755) 2023-04-29 04:56:50 +00:00
dependabot[bot]
4940d4a929
Bump actions/checkout from 3.5.1 to 3.5.2 (#750)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.1 to 3.5.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.1...v3.5.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-14 11:57:58 +00:00
dependabot[bot]
88bfd76efd
Bump actions/checkout from 3.5.0 to 3.5.1 (#749)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.0 to 3.5.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.5.0...v3.5.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-13 11:57:59 +00:00
Emily
8d34a7573b
fix cardHeader (#747) 2023-04-10 16:07:03 +00:00
dependabot[bot]
951557050e
Bump peter-evans/create-pull-request from 4 to 5 (#746)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 4 to 5.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v4...v5)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-05 11:57:54 +00:00
dependabot[bot]
aa2aea46ee
Bump actions/checkout from 3.4.0 to 3.5.0 (#744)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.4.0...v3.5.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-24 12:00:24 +00:00
dependabot[bot]
5bfe8b7428
Bump actions/checkout from 3.3.0 to 3.4.0 (#743)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 11:58:01 +00:00
dependabot[bot]
5b281a7f57
Bump gaurav-nelson/github-action-markdown-link-check from 1.0.14 to 1.0.15 (#739)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.14...1.0.15)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 11:58:28 +00:00
dependabot[bot]
a71b73840e
Bump release-drafter/release-drafter from 5.22.0 to 5.23.0 (#737)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.22.0 to 5.23.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.22.0...v5.23.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 11:57:46 +00:00
Andrea
b99f5ada20
Fix italian traslation and uncommented (#736) 2023-02-19 16:39:39 +00:00
Emruz Hossain
0d20efe1b7
Support rel atribute in social links (#735)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-02-09 17:03:59 +00:00
Reo Uehara
b498330793
Add: templates: twitter-card (#732)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2023-01-28 00:10:58 +06:00
hossainemruz
e5fcc95e8b Unify package.json
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-01-27 23:19:59 +06:00
Aaron Qian
d9eccf58f4
Bundle CSS with Hugo's Sass feature (#705)
* migrate bootstrap and flags to bundle

* migrated main.css

* migrate navbar.css and plyr

* migrated mulish font and darkreader

* migrated static/css/sections stylesheets

* migrated list page and sidebar styles

* migrated search.html ( nothing to add )

* migration single page styles

* remove duplicated style tags

* migrate notes.  Deleted unused css in static

* migrate 404 css to bundle

* migrate katex styles

* migrate embedpdf styles

* migrated katex css

---------

Co-authored-by: Aaron Qian <aaron@yeet.io>
2023-01-27 22:56:34 +06:00
github-actions[bot]
cef76eb748
Update and run autoprefixer (#733)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-26 18:22:39 +00:00
github-actions[bot]
0c8c8ce2d4
Update and run autoprefixer (#731)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-26 18:21:31 +00:00
hossainemruz
cefa24409e Update usage guide in README
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-01-27 00:20:16 +06:00
Emruz Hossain
2f3a30a4ff
Add warning about on-going re-write in main branch 2023-01-16 00:45:08 +06:00
dependabot[bot]
3957190425
Bump actions/checkout from 3.2.0 to 3.3.0 (#728)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 11:02:14 +00:00
Igor Rodriguez
6620c35f5d
Brazilian Portuguese translation (#727) 2023-01-06 04:05:35 +00:00
Emruz Hossain
374b4019d8
Fix build (#724)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-01-05 19:12:55 +00:00
github-actions[bot]
95ecdfb83c
Update and run autoprefixer (#723)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-05 19:00:42 +00:00
github-actions[bot]
38ea2c6c6e
Update and run autoprefixer (#721)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-05 18:59:39 +00:00
Emruz Hossain
85f6413b7e
Update config.yaml for exampleSite to match new structure (#722)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-01-05 18:58:41 +00:00
Aaron Qian
02db3d3044
Bundling JS with ESBuild (#702)
* add npm dependencies used in this theme

* implement helper to configure JS and ESBuild

* migrate jquery popper.js bootstrap fontawesome to js bundle

* refactor main.js into smaller pieces, and moved navbar.js to assets

* remove list.js. It adjusts post card height to be the same, but is actually not needed.

* refactored notes.js, search.js, single.js into application.js

* move ityped to js asset, implement experiences horizontal vertical line in css

* align recent post height via css

* migrated home.js and refactored into various sections

* migrated darkMode feature to js bundle

* moved mermaid feature to js bundle

* migrate syntax highlight to js bundle

* migrate katex ( js portion ) to js bundle

* migrate pdf-js to js bundle by delegating to cdn

* set explicit comparisions for feature envvars so js can properly optimize

* removed goat-counter

* more fixes for broken achievements and small bugs

* more bug fixes

* allow configuration of hightlight.js, fix video-player shortcode

* remove jquery all together

* add null handling and fix merge conflicts

Co-authored-by: Aaron Qian <aaron@yeet.io>
2023-01-06 00:42:54 +06:00
dependabot[bot]
fe14b0fbf5
Bump release-drafter/release-drafter from 5.21.1 to 5.22.0 (#718)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.21.1 to 5.22.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.21.1...v5.22.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-03 11:02:44 +00:00
Emruz Hossain
d3c2c6d1fc
Add exampleSite + update module to v4 (#717)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-12-28 19:25:33 +00:00
hossainemruz
65c71f88ea Use relative URL in opengraph header
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-12-28 03:51:46 +06:00
Emruz Hossain
58ef60dc65
Use rendering hook for link (#716)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-12-27 21:28:51 +00:00
hossainemruz
2d43234614 Update module file
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-12-27 02:10:47 +06:00
hossainemruz
dedd6ca0b7 Update Hugo Module path
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-12-27 01:55:52 +06:00
zicklam
65de557d60
Add buymeacoffee.com widget (#707)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-12-26 23:23:55 +06:00
github-actions[bot]
75845423c9
add vendor specific css prefixes (#714)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-12-26 23:20:23 +06:00
Bernat Borràs Civil
bafd3034ae
Add catalan translation (#710)
* Add catalan translation

* Add catalan language

* Add catalan language in readme

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-12-26 23:19:54 +06:00
github-actions[bot]
71d2db71d9
Update and run autoprefixer (#713)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-12-26 17:19:13 +00:00
M. Akif Tokatlioglu
657c50d941
Fixed spelling problems in tr.toml (#711)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-12-26 23:18:15 +06:00
dependabot[bot]
1f22a677ca
Bump actions/checkout from 3.1.0 to 3.2.0 (#712)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-26 23:15:44 +06:00
github-actions[bot]
6704952afa
Update and run autoprefixer (#704)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-11-12 15:09:11 +00:00
github-actions[bot]
108bd93598
Update and run autoprefixer (#700)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-11-12 15:08:16 +00:00
Hiroya Onoe
996346b249
Fix links of posts, notes, and tags/%s directories redirection (#703) 2022-11-12 21:07:19 +06:00
Mathias
2cfe671487
Fix typo in i18n/fr.toml (#699) 2022-11-11 16:52:06 +00:00
Emruz Hossain
7c849ccf21
Support external link in sidebar (#696)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-11-10 16:57:30 +00:00
Emily
f475ddcef8
fix valine comment bug (#692)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-11-08 20:13:47 +06:00
eishundo
c3dc76652e
Add missing "alt" attributes to img tags in theme-selector.html (#689)
Co-authored-by: eishundo <eishundo@users.noreply.github.com>
2022-11-08 14:00:18 +00:00
Emruz Hossain
a78b031ca9
Don't show search cards in search result (#690)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-11-06 17:17:30 +00:00
eishundo
76ff0e4e40
Fix recent-posts.html to not display search card (#687)
Co-authored-by: eishundo <eishundo@users.noreply.github.com>
2022-11-03 17:28:31 +00:00
Emruz Hossain
c3f0bd449e
Look for hero image in page bundle (#684)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-11-02 17:56:27 +00:00
github-actions[bot]
a16652581b
add vendor specific css prefixes (#683)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
2022-10-30 23:08:17 +06:00
Bernat Borràs Civil
7175b0d21f
More Posts button (#680)
* Add More Posts button

* Update recent-posts.html

* Update recent-posts.html

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-10-30 22:46:36 +06:00
Joan
33d91af120
Centered Tags on Posts page (#681)
* Centered Tags on Posts page

* Update single.html

Proper Centering withour Removing <ul></ul>
2022-10-30 15:02:45 +00:00
dependabot[bot]
1dc00ccb1e
Bump peaceiris/actions-hugo from 2.5.0 to 2.6.0 (#678)
Bumps [peaceiris/actions-hugo](https://github.com/peaceiris/actions-hugo) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/peaceiris/actions-hugo/releases)
- [Changelog](https://github.com/peaceiris/actions-hugo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-hugo/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: peaceiris/actions-hugo
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 11:05:47 +00:00
Lukas Nagel
36f42bde9d
Better Support if browser blocks GoatCounter (#676)
* Added local goat counter

* Undid wrong commit
2022-10-19 16:28:14 +00:00
Emruz Hossain
33c10915a8
Fix counter.dev analytics (#674) 2022-10-18 16:06:22 +00:00
Pablo Marcos
0e8e182e33
Add PDF Shortcut (#672)
* Add Blogtrottr as newsletter provider

* Fixed absLangURL issue with sections in footer

* Added embed-pdf shortcode

pdf-js is sered locally to preserve privacy and comply with GDPR

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-10-18 21:47:41 +06:00
dependabot[bot]
211a0785fa
Bump release-drafter/release-drafter from 5.21.0 to 5.21.1 (#673)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.21.0 to 5.21.1.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.21.0...v5.21.1)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-18 11:04:40 +00:00
Alexandre Neto
32c5c04632
Allow custom hero images Fixes #379 (#670)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-10-15 17:18:50 +00:00
github-actions[bot]
c52b1f8dcc
add vendor specific css prefixes (#669)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-10-15 21:25:43 +06:00
Cyb3r Jak3
1685b0a3c4
Only load flag CSS if showing flag icons (#666) 2022-10-15 15:14:01 +00:00
Lukas Nagel
bd10f18553
Added Hugo-Module (#650)
* Updated Gitignore

* Added GoModule

* fixed typo

* Updated Module-Name

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-10-12 18:46:25 +00:00
Lukas Nagel
1ca18416d1
Centered Arrow (#664) 2022-10-11 15:33:18 +06:00
imgbot[bot]
3ef375f488
[ImgBot] Optimize images (#659)
*Total -- 2,013.46kb -> 1,961.08kb (2.6%)

/static/icons/computer-svgrepo-com.svg -- 1.33kb -> 0.89kb (32.62%)
/static/flags/1x1/ax.svg -- 0.53kb -> 0.44kb (15.61%)
/static/flags/1x1/in.svg -- 1.06kb -> 0.90kb (14.67%)
/static/icons/moon-svgrepo-com.svg -- 3.12kb -> 2.67kb (14.46%)
/static/flags/1x1/ch.svg -- 0.28kb -> 0.25kb (12.85%)
/static/flags/1x1/ps.svg -- 0.53kb -> 0.46kb (12.83%)
/static/flags/1x1/uz.svg -- 1.42kb -> 1.24kb (12.69%)
/static/flags/1x1/eu.svg -- 1.22kb -> 1.06kb (12.68%)
/static/flags/1x1/bj.svg -- 0.48kb -> 0.42kb (12.5%)
/static/flags/1x1/ve.svg -- 1.16kb -> 1.02kb (11.99%)
/static/flags/1x1/to.svg -- 0.35kb -> 0.31kb (11.73%)
/static/icons/sun-svgrepo-com.svg -- 3.44kb -> 3.04kb (11.63%)
/static/flags/1x1/tz.svg -- 0.58kb -> 0.52kb (11.52%)
/static/flags/1x1/jo.svg -- 0.67kb -> 0.60kb (11.05%)
/static/flags/1x1/sl.svg -- 0.42kb -> 0.38kb (10.57%)
/static/flags/1x1/sd.svg -- 0.48kb -> 0.43kb (10.41%)
/static/flags/1x1/kw.svg -- 0.49kb -> 0.44kb (10.12%)
/static/flags/1x1/cg.svg -- 0.46kb -> 0.41kb (9.87%)
/static/flags/1x1/cf.svg -- 0.61kb -> 0.55kb (9.7%)
/static/flags/1x1/ly.svg -- 0.51kb -> 0.46kb (9.68%)
/static/flags/1x1/pk.svg -- 0.67kb -> 0.61kb (9.46%)
/static/flags/1x1/za.svg -- 0.86kb -> 0.78kb (9.41%)
/static/flags/1x1/la.svg -- 0.49kb -> 0.44kb (9.18%)
/static/flags/1x1/bw.svg -- 0.25kb -> 0.22kb (9.16%)
/static/flags/1x1/ir.svg -- 14.96kb -> 13.59kb (9.13%)
/static/flags/1x1/cd.svg -- 0.49kb -> 0.45kb (9.13%)
/static/flags/1x1/bs.svg -- 0.55kb -> 0.50kb (9.03%)
/static/flags/1x1/cu.svg -- 0.56kb -> 0.51kb (8.95%)
/static/flags/1x1/cl.svg -- 0.56kb -> 0.51kb (8.95%)
/static/flags/1x1/tl.svg -- 0.56kb -> 0.51kb (8.9%)
/static/flags/1x1/mu.svg -- 0.31kb -> 0.28kb (8.86%)
/static/flags/1x1/bv.svg -- 0.57kb -> 0.52kb (8.81%)
/static/flags/1x1/is.svg -- 0.51kb -> 0.47kb (8.8%)
/static/flags/1x1/dj.svg -- 0.57kb -> 0.52kb (8.78%)
/static/flags/1x1/gm.svg -- 0.37kb -> 0.34kb (8.71%)
/static/flags/1x1/fo.svg -- 0.52kb -> 0.47kb (8.66%)
/static/flags/1x1/kr.svg -- 0.81kb -> 0.74kb (8.56%)
/static/flags/1x1/jp.svg -- 0.47kb -> 0.43kb (8.52%)
/static/flags/1x1/ye.svg -- 0.27kb -> 0.24kb (8.46%)
/static/flags/1x1/hu.svg -- 0.27kb -> 0.24kb (8.42%)
/static/flags/1x1/ga.svg -- 0.27kb -> 0.25kb (8.36%)
/static/flags/1x1/ml.svg -- 0.27kb -> 0.25kb (8.33%)
/static/flags/1x1/td.svg -- 0.27kb -> 0.25kb (8.33%)
/static/flags/1x1/so.svg -- 0.48kb -> 0.44kb (8.3%)
/static/flags/1x1/vn.svg -- 0.48kb -> 0.44kb (8.3%)
/static/flags/1x1/pr.svg -- 0.60kb -> 0.55kb (8.29%)
/static/flags/1x1/cw.svg -- 0.66kb -> 0.61kb (8.25%)
/static/flags/1x1/pl.svg -- 0.21kb -> 0.20kb (8.22%)
/static/flags/1x1/ci.svg -- 0.27kb -> 0.25kb (8.21%)
/static/flags/1x1/lr.svg -- 0.67kb -> 0.62kb (8.12%)
/static/flags/1x1/th.svg -- 0.28kb -> 0.26kb (8.07%)
/static/flags/1x1/co.svg -- 0.28kb -> 0.26kb (8.04%)
/static/flags/1x1/ic.svg -- 0.28kb -> 0.26kb (8.04%)
/static/flags/1x1/be.svg -- 0.28kb -> 0.26kb (8.01%)
/static/flags/1x1/ru.svg -- 0.28kb -> 0.26kb (8.01%)
/static/flags/1x1/cp.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/gf.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/mf.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/wf.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/it.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/pm.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/bl.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/gp.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/yt.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/re.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/mq.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/ie.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/fr.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/1x1/np.svg -- 1.10kb -> 1.02kb (7.96%)
/static/flags/1x1/cr.svg -- 0.28kb -> 0.26kb (7.93%)
/static/flags/1x1/bg.svg -- 0.28kb -> 0.26kb (7.9%)
/static/flags/1x1/gn.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/1x1/pa.svg -- 0.64kb -> 0.59kb (7.79%)
/static/flags/1x1/ua.svg -- 0.23kb -> 0.21kb (7.76%)
/static/flags/1x1/tj.svg -- 1.74kb -> 1.60kb (7.75%)
/static/flags/1x1/mc.svg -- 0.23kb -> 0.21kb (7.69%)
/static/flags/1x1/mg.svg -- 0.29kb -> 0.27kb (7.69%)
/static/flags/1x1/lv.svg -- 0.23kb -> 0.21kb (7.69%)
/static/flags/1x1/tg.svg -- 0.71kb -> 0.66kb (7.67%)
/static/flags/1x1/lc.svg -- 0.36kb -> 0.33kb (7.63%)
/static/flags/1x1/ro.svg -- 0.29kb -> 0.27kb (7.62%)
/static/flags/1x1/aw.svg -- 11.79kb -> 10.90kb (7.59%)
/static/flags/1x1/at.svg -- 0.23kb -> 0.22kb (7.53%)
/static/flags/1x1/cm.svg -- 0.80kb -> 0.74kb (7.44%)
/static/flags/1x1/ag.svg -- 0.74kb -> 0.68kb (7.4%)
/static/flags/1x1/nz.svg -- 2.12kb -> 1.97kb (7.36%)
/static/flags/1x1/tw.svg -- 2.44kb -> 2.26kb (7.28%)
/static/flags/1x1/jm.svg -- 0.38kb -> 0.35kb (7.25%)
/static/flags/1x1/kp.svg -- 0.83kb -> 0.77kb (7.19%)
/static/flags/1x1/ng.svg -- 0.25kb -> 0.23kb (7%)
/static/flags/1x1/st.svg -- 0.90kb -> 0.83kb (6.98%)
/static/flags/1x1/nr.svg -- 0.65kb -> 0.60kb (6.93%)
/static/flags/1x1/tn.svg -- 0.72kb -> 0.67kb (6.92%)
/static/flags/1x1/kn.svg -- 0.79kb -> 0.74kb (6.91%)
/static/flags/1x1/gy.svg -- 0.47kb -> 0.43kb (6.9%)
/static/flags/1x1/gw.svg -- 0.87kb -> 0.81kb (6.88%)
/static/flags/1x1/rw.svg -- 0.73kb -> 0.68kb (6.85%)
/static/flags/1x1/na.svg -- 0.95kb -> 0.89kb (6.78%)
/static/flags/1x1/dm.svg -- 16.06kb -> 14.98kb (6.7%)
/static/flags/1x1/tt.svg -- 0.31kb -> 0.29kb (6.62%)
/static/flags/1x1/ee.svg -- 0.34kb -> 0.32kb (6.59%)
/static/flags/1x1/il.svg -- 0.83kb -> 0.78kb (6.59%)
/static/flags/1x1/gi.svg -- 2.87kb -> 2.68kb (6.47%)
/static/flags/1x1/gd.svg -- 1.79kb -> 1.67kb (6.4%)
/static/flags/1x1/km.svg -- 1.01kb -> 0.95kb (6.38%)
/static/flags/1x1/sn.svg -- 0.40kb -> 0.38kb (6.33%)
/static/flags/1x1/hn.svg -- 1.09kb -> 1.02kb (6.29%)
/static/flags/1x1/ai.svg -- 36.46kb -> 34.24kb (6.08%)
/static/flags/1x1/eh.svg -- 0.57kb -> 0.53kb (6.02%)
/static/flags/1x1/bi.svg -- 1.02kb -> 0.96kb (5.82%)
/static/flags/1x1/ht.svg -- 14.76kb -> 13.91kb (5.82%)
/static/flags/1x1/gr.svg -- 0.84kb -> 0.79kb (5.57%)
/static/flags/1x1/bf.svg -- 0.37kb -> 0.35kb (5.54%)
/static/flags/1x1/ke.svg -- 1.45kb -> 1.38kb (5.44%)
/static/flags/1x1/fm.svg -- 0.74kb -> 0.70kb (5.43%)
/static/flags/1x1/ae.svg -- 0.25kb -> 0.24kb (5.41%)
/static/flags/1x1/sg.svg -- 0.92kb -> 0.87kb (5.4%)
/static/flags/1x1/tc.svg -- 6.97kb -> 6.60kb (5.38%)
/static/flags/1x1/sb.svg -- 0.93kb -> 0.88kb (5.37%)
/static/flags/1x1/no.svg -- 0.31kb -> 0.29kb (5.35%)
/static/flags/1x1/sj.svg -- 0.31kb -> 0.29kb (5.35%)
/static/flags/1x1/sc.svg -- 0.31kb -> 0.30kb (5.3%)
/static/flags/1x1/vc.svg -- 0.48kb -> 0.46kb (5.27%)
/static/flags/1x1/je.svg -- 6.24kb -> 5.92kb (5.24%)
/static/flags/1x1/lt.svg -- 0.43kb -> 0.41kb (5.24%)
/static/flags/1x1/ss.svg -- 0.38kb -> 0.37kb (5.08%)
/static/flags/1x1/sv.svg -- 81.80kb -> 77.66kb (5.06%)
/static/flags/1x1/de.svg -- 0.21kb -> 0.20kb (5.05%)
/static/flags/1x1/ne.svg -- 0.27kb -> 0.26kb (5.02%)
/static/flags/1x1/tr.svg -- 0.56kb -> 0.53kb (4.9%)
/static/flags/1x1/bq.svg -- 0.22kb -> 0.21kb (4.89%)
/static/flags/1x1/nl.svg -- 0.22kb -> 0.21kb (4.89%)
/static/flags/1x1/cz.svg -- 0.22kb -> 0.21kb (4.87%)
/static/flags/1x1/gb-eng.svg -- 0.22kb -> 0.21kb (4.8%)
/static/flags/1x1/lu.svg -- 0.22kb -> 0.21kb (4.8%)
/static/flags/1x1/gh.svg -- 0.29kb -> 0.27kb (4.78%)
/static/flags/1x1/dk.svg -- 0.23kb -> 0.22kb (4.74%)
/static/flags/1x1/am.svg -- 0.23kb -> 0.22kb (4.66%)
/static/flags/1x1/fi.svg -- 0.23kb -> 0.22kb (4.64%)
/static/flags/1x1/kh.svg -- 7.10kb -> 6.77kb (4.63%)
/static/flags/1x1/mv.svg -- 0.30kb -> 0.28kb (4.61%)
/static/flags/1x1/et.svg -- 1.19kb -> 1.14kb (4.59%)
/static/flags/1x1/id.svg -- 0.17kb -> 0.17kb (4.49%)
/static/flags/1x1/gt.svg -- 35.28kb -> 33.71kb (4.46%)
/static/flags/1x1/sr.svg -- 0.31kb -> 0.30kb (4.42%)
/static/flags/1x1/py.svg -- 17.00kb -> 16.26kb (4.33%)
/static/flags/1x1/sy.svg -- 0.32kb -> 0.31kb (4.28%)
/static/flags/1x1/bd.svg -- 0.18kb -> 0.18kb (4.23%)
/static/flags/1x1/ni.svg -- 18.16kb -> 17.39kb (4.21%)
/static/flags/1x1/vu.svg -- 2.08kb -> 1.99kb (4.09%)
/static/flags/1x1/az.svg -- 0.48kb -> 0.46kb (4.04%)
/static/flags/1x1/hk.svg -- 3.46kb -> 3.33kb (3.84%)
/static/flags/1x1/cefta.svg -- 0.89kb -> 0.86kb (3.83%)
/static/flags/1x1/cv.svg -- 1.32kb -> 1.27kb (3.77%)
/static/flags/1x1/mm.svg -- 0.68kb -> 0.65kb (3.76%)
/static/flags/1x1/va.svg -- 88.67kb -> 85.34kb (3.75%)
/static/flags/1x1/pt.svg -- 8.54kb -> 8.22kb (3.72%)
/static/flags/1x1/ba.svg -- 1.21kb -> 1.16kb (3.72%)
/static/flags/1x1/gg.svg -- 0.61kb -> 0.58kb (3.7%)
/static/flags/1x1/mh.svg -- 0.74kb -> 0.71kb (3.69%)
/static/flags/1x1/tm.svg -- 30.74kb -> 29.60kb (3.69%)
/static/flags/1x1/si.svg -- 2.02kb -> 1.94kb (3.68%)
/static/flags/1x1/tf.svg -- 1.17kb -> 1.12kb (3.6%)
/static/flags/1x1/dz.svg -- 0.30kb -> 0.29kb (3.59%)
/static/flags/1x1/se.svg -- 0.22kb -> 0.21kb (3.52%)
/static/flags/1x1/mz.svg -- 2.53kb -> 2.45kb (3.51%)
/static/flags/1x1/gb-sct.svg -- 0.23kb -> 0.22kb (3.39%)
/static/flags/1x1/ug.svg -- 3.93kb -> 3.80kb (3.38%)
/static/flags/1x1/gl.svg -- 0.23kb -> 0.22kb (3.38%)
/static/flags/1x1/pg.svg -- 2.04kb -> 1.97kb (3.35%)
/static/flags/1x1/sz.svg -- 4.63kb -> 4.47kb (3.33%)
/static/flags/1x1/ws.svg -- 0.68kb -> 0.66kb (3.29%)
/static/flags/1x1/xx.svg -- 0.24kb -> 0.23kb (3.28%)
/static/flags/1x1/vg.svg -- 10.45kb -> 10.11kb (3.26%)
/static/flags/1x1/mr.svg -- 0.42kb -> 0.41kb (3.25%)
/static/flags/1x1/es-ga.svg -- 28.15kb -> 27.25kb (3.19%)
/static/flags/1x1/gb.svg -- 0.53kb -> 0.51kb (3.16%)
/static/flags/1x1/br.svg -- 7.60kb -> 7.36kb (3.15%)
/static/flags/1x1/nu.svg -- 0.82kb -> 0.79kb (3.1%)
/static/flags/1x1/mn.svg -- 1.40kb -> 1.36kb (3.07%)
/static/flags/1x1/li.svg -- 8.12kb -> 7.87kb (3.07%)
/static/flags/1x1/fj.svg -- 25.41kb -> 24.63kb (3.04%)
/static/flags/1x1/bh.svg -- 0.27kb -> 0.26kb (2.9%)
/static/flags/1x1/ky.svg -- 23.78kb -> 23.10kb (2.89%)
/static/flags/1x1/ki.svg -- 5.80kb -> 5.64kb (2.8%)
/static/flags/1x1/ad.svg -- 31.88kb -> 31.01kb (2.73%)
/static/flags/1x1/mk.svg -- 0.40kb -> 0.39kb (2.7%)
/static/flags/1x1/zm.svg -- 5.29kb -> 5.15kb (2.68%)
/static/flags/1x1/nc.svg -- 1.23kb -> 1.20kb (2.55%)
/static/flags/1x1/my.svg -- 0.67kb -> 0.66kb (2.47%)
/static/flags/1x1/mt.svg -- 10.26kb -> 10.00kb (2.46%)
/static/flags/1x1/ao.svg -- 1.56kb -> 1.52kb (2.44%)
/static/flags/1x1/lb.svg -- 2.69kb -> 2.62kb (2.36%)
/static/flags/1x1/af.svg -- 20.61kb -> 20.12kb (2.36%)
/static/flags/1x1/io.svg -- 22.33kb -> 21.80kb (2.35%)
/static/flags/1x1/dg.svg -- 22.33kb -> 21.80kb (2.35%)
/static/flags/1x1/md.svg -- 11.09kb -> 10.83kb (2.33%)
/static/flags/1x1/bt.svg -- 24.55kb -> 23.97kb (2.33%)
/static/flags/4x3/bb.svg -- 0.59kb -> 0.58kb (2.3%)
/static/flags/1x1/bb.svg -- 0.60kb -> 0.58kb (2.3%)
/static/flags/1x1/gb-nir.svg -- 24.65kb -> 24.09kb (2.27%)
/static/flags/1x1/qa.svg -- 0.34kb -> 0.34kb (2.27%)
/static/flags/1x1/pe.svg -- 71.77kb -> 70.19kb (2.2%)
/static/flags/1x1/cc.svg -- 3.01kb -> 2.95kb (2.17%)
/static/flags/1x1/iq.svg -- 1.44kb -> 1.41kb (2.17%)
/static/flags/1x1/eg.svg -- 9.73kb -> 9.53kb (2.11%)
/static/flags/1x1/cx.svg -- 2.44kb -> 2.39kb (2.04%)
/static/flags/1x1/sx.svg -- 12.77kb -> 12.51kb (2.03%)
/static/flags/1x1/mp.svg -- 23.08kb -> 22.62kb (2.03%)
/static/flags/1x1/ec.svg -- 29.20kb -> 28.61kb (2.01%)
/static/flags/1x1/gq.svg -- 5.14kb -> 5.04kb (1.96%)
/static/flags/1x1/sk.svg -- 1.15kb -> 1.13kb (1.96%)
/static/flags/1x1/by.svg -- 5.94kb -> 5.83kb (1.84%)
/static/flags/1x1/kg.svg -- 3.24kb -> 3.18kb (1.84%)
/static/flags/1x1/pf.svg -- 4.12kb -> 4.05kb (1.8%)
/static/flags/1x1/sm.svg -- 15.47kb -> 15.19kb (1.79%)
/static/flags/1x1/bo.svg -- 112.75kb -> 110.76kb (1.76%)
/static/flags/1x1/mo.svg -- 1.51kb -> 1.48kb (1.75%)
/static/flags/1x1/ea.svg -- 91.47kb -> 89.88kb (1.75%)
/static/flags/1x1/es.svg -- 91.47kb -> 89.88kb (1.75%)
/static/flags/1x1/tv.svg -- 1.31kb -> 1.29kb (1.71%)
/static/flags/1x1/um.svg -- 3.88kb -> 3.81kb (1.64%)
/static/flags/1x1/im.svg -- 10.00kb -> 9.84kb (1.62%)
/static/flags/1x1/mw.svg -- 3.80kb -> 3.74kb (1.57%)
/static/flags/1x1/hm.svg -- 1.27kb -> 1.25kb (1.53%)
/static/flags/1x1/au.svg -- 1.27kb -> 1.25kb (1.53%)
/static/flags/1x1/bz.svg -- 45.95kb -> 45.26kb (1.52%)
/static/flags/1x1/er.svg -- 3.31kb -> 3.26kb (1.51%)
/static/flags/1x1/ph.svg -- 1.43kb -> 1.41kb (1.5%)
/static/flags/1x1/tk.svg -- 0.75kb -> 0.74kb (1.42%)
/static/flags/1x1/zw.svg -- 6.60kb -> 6.51kb (1.35%)
/static/flags/1x1/gu.svg -- 4.82kb -> 4.75kb (1.32%)
/static/flags/1x1/gs.svg -- 32.71kb -> 32.28kb (1.31%)
/static/flags/1x1/rs.svg -- 182.71kb -> 180.37kb (1.28%)
/static/flags/1x1/fk.svg -- 29.54kb -> 29.17kb (1.28%)
/static/flags/1x1/mx.svg -- 88.74kb -> 87.62kb (1.26%)
/static/flags/1x1/bm.svg -- 22.25kb -> 21.97kb (1.26%)
/static/flags/1x1/ca.svg -- 0.63kb -> 0.62kb (1.24%)
/static/flags/1x1/ck.svg -- 1.81kb -> 1.79kb (1.24%)
/static/flags/1x1/kz.svg -- 11.15kb -> 11.02kb (1.2%)
/static/flags/1x1/bn.svg -- 14.16kb -> 13.99kb (1.19%)
/static/flags/1x1/vi.svg -- 8.50kb -> 8.40kb (1.17%)
/static/flags/1x1/sa.svg -- 9.98kb -> 9.87kb (1.13%)
/static/flags/1x1/ms.svg -- 6.13kb -> 6.06kb (1.13%)
/static/flags/1x1/pn.svg -- 13.64kb -> 13.49kb (1.11%)
/static/flags/1x1/ge.svg -- 1.50kb -> 1.49kb (0.91%)
/static/flags/1x1/lk.svg -- 11.07kb -> 10.98kb (0.85%)
/static/flags/1x1/ta.svg -- 29.93kb -> 29.71kb (0.73%)
/static/flags/1x1/ac.svg -- 29.93kb -> 29.71kb (0.73%)
/static/flags/1x1/nf.svg -- 5.45kb -> 5.42kb (0.7%)
/static/flags/1x1/as.svg -- 31.83kb -> 31.63kb (0.66%)
/static/flags/1x1/me.svg -- 62.36kb -> 62.02kb (0.55%)
/static/flags/1x1/al.svg -- 3.14kb -> 3.13kb (0.37%)
/static/flags/1x1/aq.svg -- 2.88kb -> 2.87kb (0.37%)
/static/flags/1x1/gb-wls.svg -- 8.86kb -> 8.83kb (0.32%)
/static/flags/1x1/xk.svg -- 8.52kb -> 8.49kb (0.25%)
/static/flags/1x1/un.svg -- 19.93kb -> 19.88kb (0.24%)
/static/flags/1x1/cy.svg -- 5.88kb -> 5.87kb (0.23%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-10-09 15:26:32 +00:00
BenjaminAdam
747106edcc
Improved german localization (#662)
"Guthaben" is used for banking loans.
Changed to "Punktzahl" and "Note" to
better reflect the german education
system.

The 404 error message was just
nonsense. Changed it to correct
translation of english version.
2022-10-09 15:24:18 +00:00
Alexandre Neto
1f17e61ad6
Portuguese translation (#660)
* Portuguese translation

* Adds Portuguese to the list of languages

* Missing PT translation
2022-10-07 14:01:02 +00:00
TheDarthMole
799572c792
fix: fixed http 404 for flags required by darkreader (#658) 2022-10-06 03:48:50 +00:00
github-actions[bot]
ca85a71230
Update and run autoprefixer (#653)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-10-04 11:10:25 +00:00
dependabot[bot]
ea9812ec7c
Bump actions/checkout from 3.0.2 to 3.1.0 (#654)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-04 11:09:29 +00:00
github-actions[bot]
d61d39b9fb
Update and run autoprefixer (#648)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-10-03 01:56:07 +00:00
freezingDaniel
56615bfa43
Update repo-URLs (#651) 2022-10-03 01:55:12 +00:00
dependabot[bot]
35ccacacd2
Bump release-drafter/release-drafter from 5.20.1 to 5.21.0 (#647)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.20.1 to 5.21.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.20.1...v5.21.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-15 11:05:52 +00:00
dependabot[bot]
237a79332a
Bump actions/checkout from 2.4.0 to 3.0.2 (#645)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-08 11:09:03 +00:00
Emruz Hossain
872e2119c2
Fix soft skill text wrapping issue (#644) 2022-09-07 11:30:26 +00:00
Elise Briers
2500174f94
Improve dutch translations (#642) 2022-09-06 16:26:21 +00:00
Emruz Hossain
e2463abc4e
Update Task list for publication 2022-09-05 22:01:33 +06:00
Lukas Nagel
79282571eb
Local google font (#639)
* added font

* added mulish css

* updated local font css

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-09-05 15:49:04 +00:00
Akumetsu
6585f002a9
Added functionality for use of any fontawesome icon and custom socials (#640) 2022-09-05 04:19:59 +00:00
Abdelhak Bougouffa
d32ac9a43e
Add Arabic language localization (#638)
* Add Arabic localization

* Add Arabic to README
2022-09-01 04:59:50 +00:00
github-actions[bot]
412376fdc1
Update and run autoprefixer (#636)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-08-18 17:01:21 +00:00
github-actions[bot]
63931ee8f6
Update and run autoprefixer (#635)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-08-18 16:59:36 +00:00
dependabot[bot]
bb87ee29ac
Bump release-drafter/release-drafter from 5.20.0 to 5.20.1 (#632)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.20.0 to 5.20.1.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.20.0...v5.20.1)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-08-18 22:58:09 +06:00
David Davó
eefb6166eb
Added matomo support (#633) 2022-08-18 16:56:16 +00:00
Emruz Hossain
55dd90a0dd
Add support for providing optional URL in a achievement entry (#623)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-07-30 14:29:05 +00:00
github-actions[bot]
fe5d8af56d
add vendor specific css prefixes (#622)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-07-29 23:22:20 +06:00
Emruz Hossain
b81fd5078b
Add publication section (#620)
* Add publication section

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

* Don't make tags clickable

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-07-29 17:12:14 +00:00
Emruz Hossain
eb167e0155
Update README.md 2022-07-21 07:59:20 +06:00
Kemal Kolcuoğlu
8cb07ffeb4
Adding Turkish Language Localization (#616) 2022-07-21 01:41:11 +00:00
Emruz Hossain
27c3d0f4cc
Add margin between tags (#612)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-07-16 16:03:53 +00:00
Emruz Hossain
ad3dee71c2
Support providing custom buttons in about section (#611)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-07-16 15:52:24 +00:00
Emruz Hossain
bf6f63976b
Fix CSS for gist (#606)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-06-15 19:44:56 +00:00
Emruz Hossain
6c8ab46a73
Use RelPermalink for background url (#605)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-06-15 18:51:31 +00:00
Gabriel Jean
3d6246f3c9
Removed flag icon span if countryCode is null (#603)
* Update lang-selector.html

* Update lang-selector-2.html

* Added showFlags parameter

* Refactor showFlags logic

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

Co-authored-by: hossainemruz <hossainemruz@gmail.com>
2022-06-13 15:14:39 +00:00
github-actions[bot]
4a5f6ce426
Update and run autoprefixer (#601)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-06-10 15:23:40 +00:00
github-actions[bot]
20bc7dd71f
add vendor specific css prefixes (#600)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-06-10 21:22:48 +06:00
donfiguerres
65049cfbb7
Dark theme via DarkReader (#595)
* Initial commit for dark theme.

* Use DarkReader.auto() to watch for system theme.

* Tunning default parameters.

* Allow configurable number of recent posts.

* Added invisible element to hack theme initialization.

* Added default value.

* Use Darkreader CDN.

* Cleanup to keep darkreader in as few files as possible.

* Renamed darkmode.js to darkmode-darkreader.js.

* Bring back the initialization.

* Added provider property.

* Added theme selector to the posts navbar.

* Removed extra line breaks.

* Changed darkreader CDN to local copy.

* Renamed to darkMode.

* Fixed CodeQL failures.

* Added icons.

* Renamed function.

* Added SVG inversion.

* Used icons for selection.

* Toggle initial dark only in the dynamic navbar.

Co-authored-by: donfiguerres <donfiguerres@github.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-06-10 15:18:49 +00:00
Clarence
869eba97a2
Update zh-tw.toml (#598)
* Update zh-tw

* Update zh-tw.toml
2022-06-09 04:23:08 +00:00
hossainemruz
ddbb4bf7ce Fix project automation
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-05-16 22:26:23 +06:00
Gabriel Jean
2ae15e5235
Added logic to the education icon line (#589)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-05-16 05:08:47 +00:00
github-actions[bot]
eacae1be3e
add vendor specific css prefixes (#591)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-05-16 11:06:32 +06:00
dependabot[bot]
43fe14bfa1
Bump release-drafter/release-drafter from 5.19.0 to 5.20.0 (#590)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.19.0 to 5.20.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.19.0...v5.20.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-12 11:06:08 +00:00
github-actions[bot]
06ee3c1e1f
add vendor specific css prefixes (#585)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-04-27 14:22:02 +06:00
dependabot[bot]
baa4774862
Bump github/codeql-action from 1 to 2 (#584)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-26 11:05:42 +00:00
Marcin Jasion
a22474538d
Add RSS post sorting by date descending (#580) 2022-04-14 19:31:29 +00:00
SalahDin Ahmed
827a940995
Post specific togglable TOC (#575)
The default is true.
2022-04-04 03:20:48 +00:00
SalahDin Ahmed
f6440e69d5
Enable pages in counter.dev (#571)
* Enable pages in counter.dev

Not perfect but will work fine for a while.

* Make counter.dev's `referrerPolicy` togglable

* Make `referrerPolicy` take more options

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-04-02 00:06:38 +06:00
Emruz Hossain
a50f947384
Add commento.io support (#564)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-03-30 19:57:40 +00:00
github-actions[bot]
a1bff16050
Update and run autoprefixer (#568)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-28 04:47:39 +00:00
github-actions[bot]
e8615c64e2
Update and run autoprefixer (#567)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-28 04:47:26 +00:00
jakob42
c43da0089d
fixed gitlab link (#570)
Co-authored-by: Jakob Lenfers <lenfers@bremen-social-sciences.de>
2022-03-28 04:46:26 +00:00
Marko Korhonen
c9cebe5fe8
Add finnish translation (#565)
* Add finnish translation

* Add finnish translation to the README

* Use a more fitting word for prev in finnish translation

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-03-23 21:21:54 +06:00
dependabot[bot]
4025a6e321
Bump peter-evans/create-pull-request from 3.14.0 to 4 (#566)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.14.0 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.14.0...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-23 11:38:19 +00:00
Emruz Hossain
3809d298ca
Use repoID and categoryID in giscus template (#560)
* Use repoID and categoryID in giscus template

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

* Fix links

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-03-15 17:36:11 +00:00
dependabot[bot]
974d4485ba
Bump gaurav-nelson/github-action-markdown-link-check from 1.0.13 to 1.0.14 (#559)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.13 to 1.0.14.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.13...1.0.14)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-15 11:03:43 +00:00
Pablo Marcos
91b18c0f04
Add analytics template + Add Ko-Fi donation button + Host fonts locally (#530)
* Add Blogtrottr as newsletter provider

* Fixed absLangURL issue with sections in footer

* Fixes LaTeX support

Makes scripts fully local and only loads them if math:true. Adds support for 18462\latex18462 or even $\latex$

* Added 2 New, Privacy-Friendly Analytics Methods

Counter.dev and GoatAnalytics. Google Analytics should keep working the same

* Removed 1 CDN

* Moved params under features

* Added Ko-Fi floating button for support

* Refactor analytics code + Add local fonts

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

Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-03-14 22:01:49 +06:00
James Ray
c89fe66332
Add optional mermaid shortcode (#551)
* add optional mermaid shotcode

* Use page level configuration for mermaid + use local file

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

* Fix comment

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
Co-authored-by: Emruz Hossain <emruz@appscode.com>
2022-03-13 15:53:27 +00:00
James Ray
8caa12724e
Auto build (#548)
* add build workflow

* add create config

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-03-08 15:54:08 +00:00
github-actions[bot]
309118c068
Update and run autoprefixer (#556)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-08 11:09:30 +00:00
github-actions[bot]
be903cfd69
Update and run autoprefixer (#555)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-08 11:08:25 +00:00
github-actions[bot]
fe647ce34f
Update and run autoprefixer (#554)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-08 11:08:09 +00:00
dependabot[bot]
17128e9388
Bump actions/checkout from 2.4.0 to 3 (#549)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.4.0...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-08 11:06:59 +00:00
dependabot[bot]
de221c342d
Bump peter-evans/create-pull-request from 3.13.0 to 3.14.0 (#547)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.13.0 to 3.14.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.13.0...v3.14.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-03-08 11:05:57 +00:00
dependabot[bot]
6f5e748b5b
Bump release-drafter/release-drafter from 5.18.1 to 5.19.0 (#553)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.18.1 to 5.19.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.18.1...v5.19.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-08 11:04:55 +00:00
James Ray
e151dad461
Refine rss build logic (#545)
* Add refine rss build logic

* Switch to .RelPermalink since URL is deprecated
2022-03-01 04:10:10 +00:00
James Ray
711d4c7749
Support commenting using giscus (#543)
* add giscus

* update theme default to light

update category default to General
2022-02-28 17:45:03 +00:00
dependabot[bot]
56e1bc5a69
Bump peter-evans/create-pull-request from 3.12.1 to 3.13.0 (#544)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.12.1 to 3.13.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.12.1...v3.13.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-28 11:05:48 +00:00
James Ray
d3b20dc424
add rss feed (#542) 2022-02-28 07:33:37 +00:00
github-actions[bot]
8ac46052e4
Update and run autoprefixer (#541)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-02-28 03:41:14 +00:00
github-actions[bot]
6b4b367c13
Update and run autoprefixer (#538)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-02-28 03:40:16 +00:00
Ivan Katliarchuk
abca4629bc
Don't show Responsibilities header, if there aren't any (#540) 2022-02-28 03:39:13 +00:00
dependabot[bot]
4c6e7d404d
Bump actions/setup-node from 2.5.1 to 3 (#537)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.5.1 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.5.1...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-25 11:06:51 +00:00
Jan
2c5f991275
fix: translated "Search" in search box (#521)
* fix: translated "Search" in search box

Implemented i18n for term "Search" in search box. Added translation
(mostly "Search") in i18n/*.toml files.

* Fix search translation not applied to posts + update translations

Co-authored-by: stueja <jan@jbook.js73.de>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-02-13 14:48:04 +00:00
Jean-Baptiste Le Duigou
1e951589ef
[enhancement] Fix year in copyright notice (#528)
* Fix link to email address

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

* fix: 🐛 year of copyright notice should be generated
2022-02-09 05:55:32 +00:00
dependabot[bot]
896db21fa5
Bump release-drafter/release-drafter from 5.18.0 to 5.18.1 (#527)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.18.0 to 5.18.1.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.18.0...v5.18.1)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-07 11:10:59 +00:00
github-actions[bot]
9e8d0c401d
add vendor specific css prefixes (#524)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-02-05 23:04:00 +06:00
dependabot[bot]
5772734a34
Bump release-drafter/release-drafter from 5.17.6 to 5.18.0 (#523)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.17.6 to 5.18.0.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.17.6...v5.18.0)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-04 11:06:02 +00:00
hossainemruz
69132a1dae Revert setting 3px offset in .top-right class
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-01-31 23:38:58 +06:00
Jan
46769a2b6d
fix: correct tel: URL for translated about section (#518)
In the about section, a correct `tel:` URL was only generated if the
name of the sociallink was "Phone". Now, a correct link will also be
generated if the name of the sociallink corresponds to the translation
of "phone" in one of the i18n files.

Co-authored-by: stueja <jan@jBook.local>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-31 17:10:53 +00:00
Jan
d74549f870
feat: id for footer (#517)
Added id="footer" just in case someone wants to link there via custom
menus or href="#footer".

Co-authored-by: stueja <jan@jBook.local>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-31 17:09:31 +00:00
James Ray
42a0e5100a
add calculation to line up lines (#516)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-31 17:07:41 +00:00
Jan
bfa1e4c2b3
feat: configurable custom navbar items (#514)
* feat: configurable custom navbar items

The customMenu item from `data/<language>/site.yaml` will only appear if
its property `showOnNavbar` is `true`.

Example:
```
customMenus:
  - name: Imprint
    url: posts/imprint
    showOnNavbar: false
```

* fix: change logic from  to

Co-authored-by: stueja <jan@jBook.local>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-31 17:05:05 +00:00
Jan
a159ff65b1
feat: customMenus in footer (#513)
* feat: customMenus in footer

Show customMenu links also in footer.
In `config.yaml`,
 - `params.footer.enable` is `true` to show the footer at all
 - `params.footer.navigation.enable` is `true` to show navigation items
   in the footer
 - `params.footer.navigation.customMenus.enable` is `true` to show
   customMenu items

Example:
```
params:
  footer:
    enable: true
    navigation:
      enable: true
      customMenus:
        enable: true
```

In `data/<language>/site.yaml`,
 - `customMenus` must contain at least one entry with `showOnFooter:
   true`

Example:
 ```
 customMenus:
   - name: Imprint
     url: posts/imprint
     showOnFooter: true
 ```

* fix: nesting levels in config

Co-authored-by: stueja <jan@jBook.local>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-31 17:04:01 +00:00
dependabot[bot]
e4cda24f7f
Bump nanoid from 3.1.30 to 3.2.0 (#520)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.2.0.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.1.30...3.2.0)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 17:00:15 +00:00
dependabot[bot]
585c1ef847
Bump peter-evans/create-pull-request from 3.12.0 to 3.12.1 (#519)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.12.0 to 3.12.1.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.12.0...v3.12.1)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 11:05:49 +00:00
Jan
2b9ce8fb29
Update skill.html (#512)
As proposed in #506
2022-01-24 10:58:50 +00:00
Gabriel Jean
d93c49d82a
Tweaked background of table in education.css (#510) 2022-01-23 18:21:48 +00:00
Emruz Hossain
91f6b69fa7
Fix navbar missing an item in the dropdown (#509)
Signed-off-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-21 05:27:46 +00:00
dependabot[bot]
99a131fe43
Bump release-drafter/release-drafter from 5.17.5 to 5.17.6 (#507)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.17.5 to 5.17.6.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.17.5...v5.17.6)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-20 11:08:03 +00:00
Jan
4ebbb523a5
fix: navigation with hidden title (#505)
* Update accomplishments.html

fix display property when hidden

* Update achievements.html

fixed display property when hidden

* Update education-alt.html

fixed display property when hidden

* Update education.html

fixed display property when hidden

* Update experiences.html

fixed display property when hidden

* Update projects.html

fixed display property when hidden

* Update recent-posts.html

fixed display property when hidden

* Update skills.html

fixed display property when hidden
2022-01-19 18:32:28 +00:00
Jan
d0a6eb4b28
Update experience-info.html (#502)
added .html to multiple-positions
2022-01-18 03:57:20 +00:00
dependabot[bot]
5e172bca28
Bump release-drafter/release-drafter from 5.16.1 to 5.17.5 (#501)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.16.1 to 5.17.5.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.16.1...v5.17.5)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-17 11:05:25 +00:00
Jan
93f422675f
Update footer.html (#499)
Added closing div
2022-01-17 03:38:25 +00:00
hossainemruz
2e8bf65885 Upgrade minimum required Hugo version to 0.87.0
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2022-01-14 01:50:26 +06:00
Jan
801208c664
Localize post date (#492) 2022-01-14 01:35:10 +06:00
Jan
f69ec4fca3
configurable navbar item count (#493)
* configurable navbar item count

Make the number of navbar items outside "More" configurable via

```
config.yaml
---
params:
  features:
    maxnavitems: 6
```

* fix configurable navbar count

replace all evidences of "5" by $maxnavitems

* Move `features.maxnavitems` into `topNavbar.maxVisibleSections`

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

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-13 19:29:12 +00:00
Pablo Marcos
063c65716b
Add LaTeX support (#481)
* Add Blogtrottr as newsletter provider

* Fixed absLangURL issue with sections in footer

* Add LaTeX support

Added katex scripts and css to scripts and header partials, respectively

* Replace CDN with local files for LaTex resources + Fix flag error

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

Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2022-01-13 19:06:07 +00:00
github-actions[bot]
11ca8ef8b3
add vendor specific css prefixes (#496)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-01-14 00:43:48 +06:00
dependabot[bot]
ec80b7f22d
Bump release-drafter/release-drafter from 5.15.0 to 5.16.1 (#495)
Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.15.0 to 5.16.1.
- [Release notes](https://github.com/release-drafter/release-drafter/releases)
- [Commits](https://github.com/release-drafter/release-drafter/compare/v5.15.0...v5.16.1)

---
updated-dependencies:
- dependency-name: release-drafter/release-drafter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-13 11:05:30 +00:00
Emruz Hossain
2134464267
Remove unused adjustSkillCardsHeight(); function (#488) 2022-01-04 15:27:54 +00:00
github-actions[bot]
f29aa9b4fa
add vendor specific css prefixes (#487)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2022-01-04 12:06:35 +06:00
Tobias Mühlberger
d1bc8e2f4c
Fix Nav-Bar when link to section of page (#486) 2022-01-04 04:43:27 +00:00
github-actions[bot]
bc0b69d726
Update and run autoprefixer (#484)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-28 11:06:20 +00:00
github-actions[bot]
cab383aa12
Update and run autoprefixer (#477)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-28 11:05:18 +00:00
dependabot[bot]
0b27282e6a
Bump actions/setup-node from 2.5.0 to 2.5.1 (#483)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.5.0...v2.5.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-28 11:04:18 +00:00
dependabot[bot]
b5c841295c
Bump peter-evans/create-pull-request from 3.11.0 to 3.12.0 (#476)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-14 11:05:21 +00:00
Till
39e1433fca
Footer contact info: Icons and linking (#471)
* Footer contact info: Icons and linking

* Open link in a new tab

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

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-12-07 18:11:59 +00:00
github-actions[bot]
0c408aa7ce
Update and run autoprefixer (#470)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-07 17:41:44 +00:00
Fabio Fenoglio
e3c84e0ba1
Fixed "show-more-btn" toggle logic and added optional "collapseAfter" parameter (#473)
* fixed "show-more-btn" toggle logic

* allow customization of number of items to show in "taken courses" when before collapsing

* renamed treshold param to collapseAfter

Co-authored-by: Fabio Fenoglio <fabio.fenoglio@eng.it>
2021-12-07 17:40:34 +00:00
dependabot[bot]
fea093c187
Bump actions/setup-node from 2.4.1 to 2.5.0 (#469)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.1...v2.5.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-29 11:06:13 +00:00
安红豆
4e029b7de8
Add utteranc comment plugin (#465)
* add comment plugin utteranc(save message to github issue)

config.yml
    # Enable comment feature. There, should be only one of them.
    comment:
      enable: true
      utteranc:
        repo: ormissia/ormissia.github.io
        issueTerm: title
        theme: github-light

* Update utteranc.html
2021-11-18 23:17:46 +06:00
Emruz Hossain
3cd9c910f7
Find Linked Issues to a PR (#456)
* Find Linked Issues to a PR

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Add issue parser workflow

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

* Add custom action

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

* Update workflow

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

* Update linked_issues workflow

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

* Update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-11-04 21:18:58 +00:00
dependabot[bot]
a4e30e80a3
Bump peter-evans/create-pull-request from 3.10.1 to 3.11.0 (#460)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.10.1 to 3.11.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.10.1...v3.11.0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-04 11:04:26 +00:00
dependabot[bot]
5d3f195c00
Bump actions/checkout from 2.3.5 to 2.4.0 (#458)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.5...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-03 11:09:41 +00:00
Emruz Hossain
8dbe04b95d Add issue parser workflow 2021-11-03 00:09:45 +06:00
Emruz Hossain
cac27fc8c4 Fix issue automation workflow 2021-11-02 00:57:38 +06:00
Emruz Hossain
b9d6b6612c Update workflow 2021-11-02 00:54:53 +06:00
Emruz Hossain
0d1bd1f9f4
Update Issue Automation (#454)
* Update Issue Automation

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

* Add connected event

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

* Update workflow

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

* Update workflows

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

* Update workflow

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

* Update workflow

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-11-02 00:49:36 +06:00
Emruz Hossain
b28d8e93cf
Add connected event for issues 2021-11-01 23:08:17 +06:00
Emruz Hossain
9c8b6bd59b
Update issue automation workflow 2021-11-01 22:45:05 +06:00
Emruz Hossain
0773fe303e
Update project automation workflow for PR (#452)
* Update project automation workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-10-29 20:33:40 +00:00
Emruz Hossain
32837a0938
Fix disqus comment not working on new configuration style (#451)
* Fix disqus comment not working on new configuration style

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

* Fix LOC badge

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-10-29 16:37:46 +00:00
hossainemruz
8e7e195b91 Fix issue workflow
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-10-29 05:02:56 +06:00
Emruz Hossain
232e5d2f3a
Add project automation workflow (#447)
* Add project automation workflow

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

* Print project_data.json

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

* Update project automation

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-10-29 05:00:37 +06:00
github-actions[bot]
2ffc0c7a9c
add vendor specific css prefixes (#448)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2021-10-28 21:30:02 +06:00
Emily
098179ec1f
Add valine comment system support (#446)
* feat: add valine support

* Adjust the comment config

* Adjust the comment config

* Make comment section backward compatible with old config

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

Co-authored-by: hossainemruz <hossainemruz@gmail.com>
2021-10-28 15:11:25 +00:00
Florian ANCEAU
ff86f78b4d
Fix badge display when name is too long (#445) 2021-10-21 09:18:12 +00:00
github-actions[bot]
b5c3713277
add vendor specific css prefixes (#444)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2021-10-21 01:12:40 +06:00
Pablo Marcos
ad149f4d80
Fixed absLangURL issue with sections in footer (#442)
* Add Blogtrottr as newsletter provider

* Fixed absLangURL issue with sections in footer

Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
2021-10-20 19:00:17 +00:00
Emruz Hossain
35c6586412
Fix unwanted margin on topbar (#438)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-10-18 18:24:28 +00:00
Reyhan
6e41689c06
Fixed section landing position on navigation #154 (#436)
* Fixed alignment issue in tables under education(#233)

* Fixed section landing position on navigation

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-10-18 18:16:10 +00:00
dependabot[bot]
f779ac4ebb
Bump actions/checkout from 2.3.4 to 2.3.5 (#437)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.3.5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-18 11:04:32 +00:00
Reyhan
adf5d52ab3
Fixed alignment issue in tables under education(#233) (#434) 2021-10-12 17:10:04 +00:00
github-actions[bot]
ba997ff4c5
Update and run autoprefixer #432
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2021-10-08 00:04:31 +06:00
Jai Vaidya
7b604b30e5 Added smoother effects to the navbar (#429) 2021-10-07 17:46:16 +00:00
github-actions[bot]
8a8c0ec9fd
Update and run autoprefixer (#425)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-29 05:55:44 +00:00
BoT
6e849034ac
Update Simplified Chinese and Traditional Chinese. (#427)
Signed-off-by: Ray <Chow-Ray@outlook.com>
2021-09-29 05:54:39 +00:00
dependabot[bot]
41b1106703
Bump actions/setup-node from 2.4.0 to 2.4.1 (#424)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.4.0...v2.4.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-28 11:04:52 +00:00
Emruz Hossain
20ff5ac182
Update plyrjs (#422)
* Update plyr.js

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

* Update plyr.css

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-09-24 18:27:56 +00:00
Emruz Hossain
0072234546
Update dependency for security issue (#421)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-09-24 17:59:50 +00:00
github-actions[bot]
c0480898ed
add vendor specific css prefixes (#420)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
2021-09-24 23:46:33 +06:00
Pablo Marcos
bb01f1a975
Added some social buttons to the "Post" template (#415)
* Added new 'GitForge' param for non-git repos

* Added some (optional) social buttons

* Small fix for hardcoded values

* Update single.html

* Update look & feel for share buttons

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

* Fix improve-this-page btn alignment when share-buttons disabled

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

Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
Co-authored-by: hossainemruz <hossainemruz@gmail.com>
2021-09-24 23:40:41 +06:00
Emruz Hossain
069b0aa328
Fix View certificate Italian translation (#418) 2021-09-16 20:56:57 +00:00
Léo GATELLIER
15c17a471b
Add some french translations (#417)
Co-authored-by: Léo GATELLIER <git@leogatellier.fr>
2021-09-10 19:07:40 +00:00
github-actions[bot]
cf7c11421b
add vendor specific css prefixes (#416)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2021-09-08 08:10:26 +06:00
Pablo Marcos
e8e23ed9a3
Added new 'GitForge' param for non GitHub repos (#403)
* Added new 'GitForge' param for non-git repos

* Solved comments

Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-09-07 18:28:31 +00:00
bbarcesaj125
d155f2063b
Corrected the word "Details" and another minor capitalization change. (#413)
* Corrected the word "Details" and another minor capitalitzation change.

* Corrected the word "Details" and another minor capitalization change.
2021-09-02 03:22:59 +00:00
Pablo Marcos
c68a0e20af
Update es.toml (#409)
Updated after asking for permission in a question :p
2021-08-29 11:15:27 +00:00
github-actions[bot]
e2b666c6d1
Update and run autoprefixer (#408)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-08-29 09:08:10 +00:00
github-actions[bot]
02c2483c6c
Update and run autoprefixer (#407)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-08-29 09:07:12 +00:00
dependabot[bot]
b06326bbe8
Bump peter-evans/create-pull-request from 3.10.0 to 3.10.1 (#401)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.10.0 to 3.10.1.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.10.0...v3.10.1)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-08-29 09:06:12 +00:00
Pablo Marcos
4803151e93
Add Blogtrottr as newsletter provider (#402)
Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
2021-08-29 15:05:16 +06:00
Emruz Hossain
3c62edec20
Fix multiple active menu in taxonomy (#397)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-08-16 17:24:56 +00:00
James Ray
7b92452e2b
taxonomies - added taxonmies support (#396)
* taxonomies -  added taxonmies support

* taxonomies -  add active class

* Update CSS

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

* Fix tag link for multilingual mode + add translations

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

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-08-16 16:28:30 +00:00
donfiguerres
6d98c15136
Configure the number of posts in recent posts (#395)
* Add configuration to number of recent posts.

* Added default value.

Co-authored-by: donfiguerres <donfiguerres@github.com>
2021-08-14 10:00:35 +00:00
James Ray
fc3b483697
Allow setting GIFS as author image (#394)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-08-10 02:39:10 +00:00
James Ray
8c7ae86720
education-line (#393) 2021-08-08 16:34:38 +00:00
dependabot[bot]
8f239a0ddc
Bump actions/setup-node from 2.3.2 to 2.4.0 (#391)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.3.2 to 2.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.3.2...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-06 11:03:51 +00:00
dependabot[bot]
990cd7a58b
Bump actions/setup-node from 2.3.1 to 2.3.2 (#390)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.3.1...v2.3.2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-05 11:03:55 +00:00
dependabot[bot]
d868096c3c
Bump actions/setup-node from 2.3.0 to 2.3.1 (#389)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.3.0...v2.3.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-04 11:04:46 +00:00
github-actions[bot]
d36ecdb810
Update and run autoprefixer (#386)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-30 16:59:28 +00:00
github-actions[bot]
1ed12aacdf
Update and run autoprefixer (#384)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-07-30 16:58:38 +00:00
BoT
03edbac376
Add text link support for disclaimer. (#385)
为免责声明添加文本链接支持。
Fix some Chinese translation.
变更disclaimer翻译为“免责声明”。

Signed-off-by: Ray <Chow-Ray@outlook.com>
2021-07-30 22:57:36 +06:00
BoT
f56f3dd176
Translate chinese (#383)
* translate_Chinese

* translate_Chinese

* Improve simplified Chinese translation, modify simplified Chinese and traditional Chinese file names

Signed-off-by: Ray <Chow-Ray@outlook.com>

* Improve simplified Chinese translation, modify simplified Chinese and traditional Chinese file names。

Signed-off-by: Ray <Chow-Ray@outlook.com>
2021-07-29 23:35:35 +06:00
dependabot[bot]
ccc67a2a02
Bump actions/setup-node from 2.2.0 to 2.3.0 (#378)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-21 11:04:14 +00:00
jstehn
3b75961f58
Added svg support for project icons (#376)
Co-authored-by: Jack Stehn <jack.stehn@protonmail.com>
2021-07-15 07:53:28 +00:00
github-actions[bot]
6a55617adc
add vendor specific css prefixes (#373)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
2021-07-14 11:35:40 +06:00
HeiTang
ffe40b1cba
Add zh.toml (#372) 2021-07-13 04:38:05 +00:00
dependabot[bot]
1a5bbe4eeb
Bump gaurav-nelson/github-action-markdown-link-check from 1.0.12 to 1.0.13 (#370)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.12 to 1.0.13.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.12...1.0.13)

---
updated-dependencies:
- dependency-name: gaurav-nelson/github-action-markdown-link-check
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-08 11:04:45 +00:00
William Hou
46952f6ab9
Remove about section whitespace when there are no soft skills/badges (#369)
* Remove about section whitespace when there are no soft skills

* Check for badges in conditional
2021-07-04 15:11:12 +06:00
dependabot[bot]
4099f4f1e6
Bump actions/setup-node from 2.1.5 to 2.2.0 (#367)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2.1.5 to 2.2.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2.1.5...v2.2.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-01 18:14:20 +00:00
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
hossainemruz
892fe83255 Use absURL for image in OpenGraph header
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-30 18:49:06 +06:00
hossainemruz
e86f574aca Use absURL for image in OpenGraph header
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-30 18:45:29 +06:00
Emruz Hossain
4a0aa4758a
Add OpenGraph Headers (#333)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-30 12:32:00 +00:00
github-actions[bot]
d9df1053e1
Update and run autoprefixer (#332)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-05-30 12:25:48 +00:00
github-actions[bot]
0884fb6fc6
Update and run autoprefixer (#331)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-05-30 12:24:54 +00:00
hossainemruz
e7cc9bcbe8 Revert "Add OpenGraph Headers"
This reverts commit 249f18d853.

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-30 18:23:56 +06:00
hossainemruz
249f18d853 Add OpenGraph Headers
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-30 18:20:35 +06:00
github-actions[bot]
fdd2ae46fa
Update and run autoprefixer (#328)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-05-25 05:35:44 +00:00
github-actions[bot]
1824e56268
Update and run autoprefixer (#324)
Co-authored-by: kodiakhq[bot] <kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-05-25 05:34:52 +00:00
Steven Conrad Bayer
a811118a53
Fix German translation + add Dutch translations (#326)
* Update translations

* Update german translation
2021-05-25 11:33:58 +06:00
dependabot[bot]
ace2adfeb7
Bump peter-evans/create-pull-request from 3.9.2 to 3.10.0 (#323)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.9.2 to 3.10.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.9.2...v3.10.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-24 06:36:34 +00:00
github-actions[bot]
cc4f7ee706
add vendor specific css prefixes (#322)
Co-authored-by: hossainemruz <hossainemruz@users.noreply.github.com>
2021-05-19 01:11:58 +06:00
Emruz Hossain
3aa610538e
Fix auto-prefixer workflow (#321) 2021-05-19 01:07:42 +06:00
Jean-Baptiste Le Duigou
5f293a8fcc
Documentation mailchimp (#320)
* Fix link to email address

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

* 📝 add mailchimp parameters to documentation

Signed-off-by: jbleduigou <jb.leduigou@gmail.com>
2021-05-19 00:53:47 +06:00
Pablo Marcos
ac28e9824e
Make search multilingual (#305)
* Make search multilingual

* Added Support for custom country flags

* Add search.md for more language + fix search behavior

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

Co-authored-by: Pablo Marcos <codebergflamingo@staplehorse.anonaddy.com>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-05-18 00:32:39 +06:00
Emruz Hossain
16f64aa4c2
Allow overwriting country flag for a language (#316)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-17 17:43:06 +00:00
hossainemruz
6a01c1ea4b Rename "circular-bar" into "soft-skill-indicator"
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-17 23:01:36 +06:00
Jean-Baptiste Le Duigou
466580b57b
Support adding verifiable Certification badges in about section (#307)
* Fix link to email address

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

*  provide ability to show certification badges in about section

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

* Merge certifications and sofkSkills under "badges" generic title

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

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-05-17 22:50:37 +06:00
Jean-Baptiste Le Duigou
c3405ba75b
Mailchimp (#308)
* Fix link to email address

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

*  adding mailchimp newsletter feature

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

* Make possible to support different newsletter service in future

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

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-05-17 17:56:16 +06:00
Thorsten Alteholz
0cdce56244
In case the old config already deactivated the newletter, it must be also (#311)
deactivated in the compatibility code.

Co-authored-by: Thorsten Alteholz <thorsten@alteholz.de>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-05-17 00:02:18 +06:00
Thorsten Alteholz
5798312a92
Add a disclaimer in the footer of each page. (#312)
* Add a disclaimer in the footer of each page.

* Fix CSS + Add translations

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

Co-authored-by: Thorsten Alteholz <thorsten@alteholz.de>
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-05-16 23:57:17 +06:00
Emruz Hossain
1fc66aae56
Add CodeQL Security analysis (#314) 2021-05-16 20:08:48 +06:00
Emruz Hossain
6eefce8533
Update postcss-cli and autoprefixer (#313)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-16 20:05:53 +06:00
dependabot[bot]
0ff2ecce52
Bump peter-evans/create-pull-request from 3.9.1 to 3.9.2 (#310)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3.9.1 to 3.9.2.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.9.1...v3.9.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-14 05:47:07 +00:00
dependabot[bot]
1124295e82
Bump gaurav-nelson/github-action-markdown-link-check from 1 to 1.0.12 (#309)
Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1 to 1.0.12.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/v1...1.0.12)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-12 19:21:26 +06:00
dependabot[bot]
7d5f1ea324
Bump peter-evans/create-pull-request from v3.8.2 to v3.9.1 (#306)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from v3.8.2 to v3.9.1.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3.8.2...d9d6fd980e1e0904e8e4dce3f0992640091bde37)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-10 07:40:09 +00:00
Emruz Hossain
67c49c7432
Fix note layout (#274)
* Re-structure note lists

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

* Support note splitting

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

* Update single page

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

* Refactor separator logic in navbar

Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-05-02 05:02:27 +06:00
Kaligule
fc5656c937
Allow footer configuration (#303)
* Allow to disable the footer with params.footer.enable = false

Default is to have the footer enabled (to keep backwards
compatibility).

The diff looks much worse than it is, I just added a variable and an
if clause, but then had to indent the rest of the file.

Make footerEnabled an explicit variable.

This should improve readability.

Use default parameter for even more readability.

* Allow to enable/disable the "contact me" section in the footer.

Just set `footer.contactMe.enable` in the config. Default is true, for
backwards compatibility.

* Make footer template more consistent.

Enabling footers elements and the newsletter is now managed in the
same place.

* Allow to disable the footer navigation. Default is enabled.

* Allow to disable credentials and copyright notice. Default: enabled

* Footer: Reformat variable initialization for readability.

* Allow providing template for footer

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

Co-authored-by: hossainemruz <hossainemruz@gmail.com>
2021-05-02 03:57:19 +06:00
Kaligule
ab962d4f4a
Readme: Give each badge it's own line (#302)
This improves code readability and doesn't effect the Rendered html Readme.
2021-04-30 01:19:37 +06:00
Kaligule
78ea0674dd
Use verbose flags in Readme (#300)
so people who don't know hugos flags can guess what they mean just from reading.
2021-04-26 17:35:26 +06:00
imgbot[bot]
c6183cb404
[ImgBot] Optimize images (#299)
*Total -- 2,336.15kb -> 2,251.55kb (3.62%)

/static/flags/4x3/bd.svg -- 1.56kb -> 0.29kb (81.77%)
/static/flags/4x3/ax.svg -- 0.55kb -> 0.46kb (15.03%)
/static/flags/4x3/in.svg -- 1.05kb -> 0.89kb (14.8%)
/static/flags/4x3/uz.svg -- 1.42kb -> 1.24kb (12.65%)
/static/flags/4x3/eu.svg -- 1.22kb -> 1.07kb (12.65%)
/static/flags/4x3/ch.svg -- 0.29kb -> 0.25kb (12.46%)
/static/flags/4x3/bj.svg -- 0.49kb -> 0.43kb (12.35%)
/static/flags/4x3/ps.svg -- 0.55kb -> 0.48kb (12.3%)
/static/flags/4x3/ve.svg -- 1.14kb -> 1.00kb (12.16%)
/static/flags/4x3/to.svg -- 0.35kb -> 0.31kb (11.83%)
/static/flags/4x3/jo.svg -- 0.70kb -> 0.63kb (10.56%)
/static/flags/4x3/sd.svg -- 0.49kb -> 0.44kb (10.26%)
/static/flags/4x3/gm.svg -- 0.53kb -> 0.48kb (10.26%)
/static/flags/4x3/la.svg -- 0.45kb -> 0.40kb (10.07%)
/static/flags/4x3/kw.svg -- 0.50kb -> 0.45kb (10.02%)
/static/flags/4x3/sc.svg -- 0.56kb -> 0.50kb (9.81%)
/static/flags/4x3/za.svg -- 0.84kb -> 0.76kb (9.66%)
/static/flags/4x3/cg.svg -- 0.48kb -> 0.43kb (9.45%)
/static/flags/4x3/uy.svg -- 1.68kb -> 1.52kb (9.43%)
/static/flags/4x3/tz.svg -- 0.54kb -> 0.49kb (9.29%)
/static/flags/4x3/bs.svg -- 0.54kb -> 0.49kb (9.24%)
/static/flags/4x3/bw.svg -- 0.25kb -> 0.22kb (9.13%)
/static/flags/4x3/cl.svg -- 0.55kb -> 0.50kb (9.06%)
/static/flags/4x3/ir.svg -- 15.09kb -> 13.72kb (9.05%)
/static/flags/4x3/cf.svg -- 0.67kb -> 0.62kb (8.83%)
/static/flags/4x3/pk.svg -- 0.72kb -> 0.66kb (8.8%)
/static/flags/4x3/pw.svg -- 0.46kb -> 0.42kb (8.78%)
/static/flags/4x3/is.svg -- 0.51kb -> 0.47kb (8.78%)
/static/flags/4x3/mu.svg -- 0.31kb -> 0.28kb (8.78%)
/static/flags/4x3/bv.svg -- 0.57kb -> 0.52kb (8.72%)
/static/flags/4x3/jp.svg -- 0.46kb -> 0.42kb (8.65%)
/static/flags/4x3/dj.svg -- 0.58kb -> 0.53kb (8.63%)
/static/flags/4x3/td.svg -- 0.26kb -> 0.24kb (8.61%)
/static/flags/4x3/do.svg -- 384.62kb -> 351.70kb (8.56%)
/static/flags/4x3/tl.svg -- 0.59kb -> 0.54kb (8.46%)
/static/flags/4x3/ga.svg -- 0.27kb -> 0.25kb (8.39%)
/static/flags/4x3/hu.svg -- 0.27kb -> 0.25kb (8.39%)
/static/flags/4x3/sl.svg -- 0.27kb -> 0.25kb (8.36%)
/static/flags/4x3/ye.svg -- 0.27kb -> 0.25kb (8.36%)
/static/flags/4x3/ml.svg -- 0.27kb -> 0.25kb (8.33%)
/static/flags/4x3/vn.svg -- 0.48kb -> 0.44kb (8.3%)
/static/flags/4x3/mm.svg -- 0.83kb -> 0.76kb (8.25%)
/static/flags/4x3/so.svg -- 0.49kb -> 0.45kb (8.25%)
/static/flags/4x3/cw.svg -- 0.67kb -> 0.61kb (8.22%)
/static/flags/4x3/ci.svg -- 0.27kb -> 0.25kb (8.21%)
/static/flags/4x3/cu.svg -- 0.61kb -> 0.56kb (8.2%)
/static/flags/4x3/pl.svg -- 0.22kb -> 0.20kb (8.11%)
/static/flags/4x3/fo.svg -- 0.56kb -> 0.51kb (8.07%)
/static/flags/4x3/bg.svg -- 0.28kb -> 0.26kb (8.04%)
/static/flags/4x3/ru.svg -- 0.28kb -> 0.26kb (8.04%)
/static/flags/4x3/th.svg -- 0.28kb -> 0.26kb (8.01%)
/static/flags/4x3/pr.svg -- 0.62kb -> 0.57kb (8.01%)
/static/flags/4x3/co.svg -- 0.28kb -> 0.26kb (7.96%)
/static/flags/4x3/be.svg -- 0.28kb -> 0.26kb (7.93%)
/static/flags/4x3/gf.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/gp.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/yt.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/bl.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/wf.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/mf.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/ie.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/it.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/pm.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/mq.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/re.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/fr.svg -- 0.29kb -> 0.26kb (7.88%)
/static/flags/4x3/tw.svg -- 2.52kb -> 2.32kb (7.86%)
/static/flags/4x3/cr.svg -- 0.29kb -> 0.26kb (7.85%)
/static/flags/4x3/gn.svg -- 0.29kb -> 0.27kb (7.8%)
/static/flags/4x3/lv.svg -- 0.23kb -> 0.21kb (7.73%)
/static/flags/4x3/lr.svg -- 0.71kb -> 0.66kb (7.7%)
/static/flags/4x3/tg.svg -- 0.71kb -> 0.66kb (7.69%)
/static/flags/4x3/kp.svg -- 0.78kb -> 0.72kb (7.67%)
/static/flags/4x3/mg.svg -- 0.29kb -> 0.27kb (7.62%)
/static/flags/4x3/id.svg -- 0.23kb -> 0.21kb (7.59%)
/static/flags/4x3/mc.svg -- 0.23kb -> 0.21kb (7.59%)
/static/flags/4x3/lc.svg -- 0.36kb -> 0.33kb (7.57%)
/static/flags/4x3/ua.svg -- 0.23kb -> 0.21kb (7.56%)
/static/flags/4x3/ro.svg -- 0.30kb -> 0.28kb (7.54%)
/static/flags/4x3/at.svg -- 0.23kb -> 0.22kb (7.5%)
/static/flags/4x3/ag.svg -- 0.73kb -> 0.68kb (7.48%)
/static/flags/4x3/pa.svg -- 0.73kb -> 0.68kb (7.48%)
/static/flags/4x3/cm.svg -- 0.80kb -> 0.75kb (7.4%)
/static/flags/4x3/jm.svg -- 0.38kb -> 0.35kb (7.2%)
/static/flags/4x3/ee.svg -- 0.31kb -> 0.29kb (7.17%)
/static/flags/4x3/nr.svg -- 0.64kb -> 0.59kb (7.07%)
/static/flags/4x3/nu.svg -- 1.73kb -> 1.61kb (7.01%)
/static/flags/4x3/eh.svg -- 0.85kb -> 0.79kb (6.99%)
/static/flags/4x3/st.svg -- 0.89kb -> 0.83kb (6.99%)
/static/flags/4x3/gd.svg -- 1.64kb -> 1.53kb (6.96%)
/static/flags/4x3/ng.svg -- 0.25kb -> 0.24kb (6.92%)
/static/flags/4x3/dm.svg -- 15.60kb -> 14.52kb (6.9%)
/static/flags/4x3/kn.svg -- 0.80kb -> 0.75kb (6.84%)
/static/flags/4x3/rw.svg -- 0.73kb -> 0.68kb (6.83%)
/static/flags/4x3/tn.svg -- 0.73kb -> 0.68kb (6.79%)
/static/flags/4x3/gy.svg -- 0.48kb -> 0.44kb (6.76%)
/static/flags/4x3/na.svg -- 0.98kb -> 0.92kb (6.57%)
/static/flags/4x3/nz.svg -- 2.88kb -> 2.69kb (6.48%)
/static/flags/4x3/gi.svg -- 2.87kb -> 2.68kb (6.47%)
/static/flags/4x3/bf.svg -- 0.35kb -> 0.33kb (6.44%)
/static/flags/4x3/hn.svg -- 1.09kb -> 1.02kb (6.29%)
/static/flags/4x3/il.svg -- 0.88kb -> 0.83kb (6.22%)
/static/flags/4x3/vc.svg -- 0.44kb -> 0.41kb (6.21%)
/static/flags/4x3/km.svg -- 1.04kb -> 0.97kb (6.2%)
/static/flags/4x3/sn.svg -- 0.41kb -> 0.39kb (6.13%)
/static/flags/4x3/cz.svg -- 0.23kb -> 0.21kb (6.06%)
/static/flags/4x3/bh.svg -- 0.50kb -> 0.47kb (6%)
/static/flags/4x3/ke.svg -- 1.35kb -> 1.27kb (5.87%)
/static/flags/4x3/ht.svg -- 14.65kb -> 13.79kb (5.86%)
/static/flags/4x3/kr.svg -- 1.78kb -> 1.68kb (5.82%)
/static/flags/4x3/sg.svg -- 0.87kb -> 0.82kb (5.75%)
/static/flags/4x3/aw.svg -- 9.72kb -> 9.17kb (5.69%)
/static/flags/4x3/bi.svg -- 1.05kb -> 0.99kb (5.68%)
/static/flags/4x3/ae.svg -- 0.25kb -> 0.23kb (5.51%)
/static/flags/4x3/np.svg -- 1.04kb -> 0.98kb (5.47%)
/static/flags/4x3/sb.svg -- 0.93kb -> 0.88kb (5.35%)
/static/flags/4x3/sj.svg -- 0.31kb -> 0.30kb (5.3%)
/static/flags/4x3/no.svg -- 0.31kb -> 0.30kb (5.3%)
/static/flags/4x3/fm.svg -- 0.76kb -> 0.72kb (5.28%)
/static/flags/4x3/lt.svg -- 0.43kb -> 0.41kb (5.2%)
/static/flags/4x3/ss.svg -- 0.38kb -> 0.36kb (5.18%)
/static/flags/4x3/de.svg -- 0.21kb -> 0.20kb (5.16%)
/static/flags/4x3/sv.svg -- 80.76kb -> 76.62kb (5.13%)
/static/flags/4x3/ne.svg -- 0.27kb -> 0.26kb (5.07%)
/static/flags/4x3/tr.svg -- 0.54kb -> 0.51kb (5.05%)
/static/flags/4x3/gh.svg -- 0.27kb -> 0.26kb (4.98%)
/static/flags/4x3/am.svg -- 0.22kb -> 0.21kb (4.93%)
/static/flags/4x3/nl.svg -- 0.22kb -> 0.21kb (4.91%)
/static/flags/4x3/bq.svg -- 0.22kb -> 0.21kb (4.91%)
/static/flags/4x3/mv.svg -- 0.28kb -> 0.27kb (4.84%)
/static/flags/4x3/lu.svg -- 0.22kb -> 0.21kb (4.82%)
/static/flags/4x3/gw.svg -- 0.79kb -> 0.76kb (4.8%)
/static/flags/4x3/se.svg -- 0.23kb -> 0.21kb (4.76%)
/static/flags/4x3/ai.svg -- 47.13kb -> 44.89kb (4.75%)
/static/flags/4x3/fi.svg -- 0.23kb -> 0.22kb (4.64%)
/static/flags/4x3/kh.svg -- 7.09kb -> 6.76kb (4.64%)
/static/flags/4x3/dk.svg -- 0.23kb -> 0.22kb (4.6%)
/static/flags/4x3/gb-eng.svg -- 0.24kb -> 0.23kb (4.55%)
/static/flags/4x3/et.svg -- 1.20kb -> 1.15kb (4.54%)
/static/flags/4x3/sr.svg -- 0.31kb -> 0.29kb (4.44%)
/static/flags/4x3/py.svg -- 16.70kb -> 15.96kb (4.44%)
/static/flags/4x3/gr.svg -- 1.07kb -> 1.02kb (4.38%)
/static/flags/4x3/ni.svg -- 17.98kb -> 17.21kb (4.25%)
/static/flags/4x3/je.svg -- 4.60kb -> 4.41kb (4.06%)
/static/flags/4x3/gt.svg -- 36.38kb -> 34.93kb (3.99%)
/static/flags/4x3/om.svg -- 22.11kb -> 21.23kb (3.98%)
/static/flags/4x3/tf.svg -- 1.06kb -> 1.02kb (3.95%)
/static/flags/4x3/pt.svg -- 8.09kb -> 7.77kb (3.93%)
/static/flags/4x3/az.svg -- 0.50kb -> 0.48kb (3.91%)
/static/flags/4x3/hk.svg -- 3.41kb -> 3.28kb (3.89%)
/static/flags/4x3/cn.svg -- 0.78kb -> 0.75kb (3.87%)
/static/flags/4x3/gg.svg -- 0.58kb -> 0.56kb (3.87%)
/static/flags/4x3/tj.svg -- 1.77kb -> 1.70kb (3.86%)
/static/flags/4x3/va.svg -- 88.94kb -> 85.61kb (3.74%)
/static/flags/4x3/dz.svg -- 0.29kb -> 0.28kb (3.74%)
/static/flags/4x3/sz.svg -- 6.58kb -> 6.34kb (3.72%)
/static/flags/4x3/si.svg -- 2.00kb -> 1.93kb (3.7%)
/static/flags/4x3/tm.svg -- 31.53kb -> 30.38kb (3.65%)
/static/flags/4x3/cv.svg -- 1.38kb -> 1.33kb (3.6%)
/static/flags/4x3/gl.svg -- 0.22kb -> 0.21kb (3.59%)
/static/flags/4x3/my.svg -- 1.24kb -> 1.20kb (3.54%)
/static/flags/4x3/ms.svg -- 9.06kb -> 8.74kb (3.51%)
/static/flags/4x3/ba.svg -- 1.28kb -> 1.23kb (3.51%)
/static/flags/4x3/tt.svg -- 0.31kb -> 0.30kb (3.49%)
/static/flags/4x3/tv.svg -- 1.74kb -> 1.68kb (3.48%)
/static/flags/4x3/mz.svg -- 2.56kb -> 2.47kb (3.47%)
/static/flags/4x3/gb-sct.svg -- 0.23kb -> 0.22kb (3.46%)
/static/flags/4x3/ug.svg -- 3.86kb -> 3.73kb (3.44%)
/static/flags/4x3/ws.svg -- 0.68kb -> 0.65kb (3.32%)
/static/flags/4x3/es-ga.svg -- 27.60kb -> 26.69kb (3.29%)
/static/flags/4x3/ma.svg -- 0.24kb -> 0.24kb (3.2%)
/static/flags/4x3/mr.svg -- 0.43kb -> 0.42kb (3.17%)
/static/flags/4x3/gb.svg -- 0.53kb -> 0.51kb (3.16%)
/static/flags/4x3/cd.svg -- 0.34kb -> 0.33kb (3.15%)
/static/flags/4x3/mh.svg -- 0.72kb -> 0.70kb (3.1%)
/static/flags/4x3/es-ct.svg -- 0.25kb -> 0.24kb (3.1%)
/static/flags/4x3/ar.svg -- 3.32kb -> 3.22kb (3.09%)
/static/flags/4x3/li.svg -- 8.07kb -> 7.83kb (3.08%)
/static/flags/4x3/io.svg -- 26.70kb -> 25.88kb (3.06%)
/static/flags/4x3/br.svg -- 7.91kb -> 7.67kb (3.03%)
/static/flags/4x3/mt.svg -- 8.53kb -> 8.28kb (2.9%)
/static/flags/4x3/fj.svg -- 26.60kb -> 25.83kb (2.89%)
/static/flags/4x3/mk.svg -- 0.37kb -> 0.36kb (2.88%)
/static/flags/4x3/ki.svg -- 5.68kb -> 5.51kb (2.86%)
/static/flags/4x3/mn.svg -- 1.22kb -> 1.18kb (2.81%)
/static/flags/4x3/nc.svg -- 1.38kb -> 1.34kb (2.7%)
/static/flags/4x3/ad.svg -- 32.69kb -> 31.81kb (2.69%)
/static/flags/4x3/vg.svg -- 24.06kb -> 23.42kb (2.67%)
/static/flags/4x3/gu.svg -- 4.73kb -> 4.60kb (2.67%)
/static/flags/4x3/zm.svg -- 5.37kb -> 5.23kb (2.64%)
/static/flags/4x3/hm.svg -- 1.29kb -> 1.26kb (2.49%)
/static/flags/4x3/sy.svg -- 0.55kb -> 0.54kb (2.48%)
/static/flags/4x3/ao.svg -- 1.55kb -> 1.51kb (2.46%)
/static/flags/4x3/sm.svg -- 15.43kb -> 15.05kb (2.44%)
/static/flags/4x3/vu.svg -- 3.68kb -> 3.60kb (2.39%)
/static/flags/4x3/af.svg -- 20.57kb -> 20.09kb (2.36%)
/static/flags/4x3/as.svg -- 7.88kb -> 7.69kb (2.34%)
/static/flags/4x3/md.svg -- 10.97kb -> 10.72kb (2.33%)
/static/flags/4x3/bt.svg -- 24.64kb -> 24.06kb (2.32%)
/static/flags/4x3/lb.svg -- 2.75kb -> 2.69kb (2.31%)
/static/flags/4x3/gb-nir.svg -- 24.47kb -> 23.91kb (2.3%)
/static/flags/4x3/qa.svg -- 0.35kb -> 0.34kb (2.23%)
/static/flags/4x3/pe.svg -- 71.88kb -> 70.31kb (2.2%)
/static/flags/4x3/iq.svg -- 1.44kb -> 1.40kb (2.18%)
/static/flags/4x3/cc.svg -- 3.05kb -> 2.98kb (2.15%)
/static/flags/4x3/eg.svg -- 9.67kb -> 9.46kb (2.12%)
/static/flags/4x3/tc.svg -- 14.16kb -> 13.86kb (2.09%)
/static/flags/4x3/cx.svg -- 2.40kb -> 2.35kb (2.08%)
/static/flags/4x3/ec.svg -- 28.63kb -> 28.04kb (2.05%)
/static/flags/4x3/mp.svg -- 22.85kb -> 22.38kb (2.05%)
/static/flags/4x3/pn.svg -- 10.62kb -> 10.41kb (2.04%)
/static/flags/4x3/gs.svg -- 33.76kb -> 33.07kb (2.04%)
/static/flags/4x3/sx.svg -- 12.90kb -> 12.64kb (2.01%)
/static/flags/4x3/gq.svg -- 5.06kb -> 4.96kb (1.99%)
/static/flags/4x3/sk.svg -- 1.17kb -> 1.15kb (1.91%)
/static/flags/4x3/pf.svg -- 4.19kb -> 4.11kb (1.89%)
/static/flags/4x3/mo.svg -- 1.43kb -> 1.40kb (1.85%)
/static/flags/4x3/kg.svg -- 3.29kb -> 3.24kb (1.81%)
/static/flags/4x3/es.svg -- 88.69kb -> 87.10kb (1.79%)
/static/flags/4x3/bo.svg -- 114.16kb -> 112.19kb (1.73%)
/static/flags/4x3/ph.svg -- 1.53kb -> 1.50kb (1.73%)
/static/flags/4x3/im.svg -- 9.64kb -> 9.48kb (1.68%)
/static/flags/4x3/by.svg -- 5.82kb -> 5.73kb (1.64%)
/static/flags/4x3/ls.svg -- 1.19kb -> 1.17kb (1.64%)
/static/flags/4x3/pg.svg -- 1.62kb -> 1.60kb (1.63%)
/static/flags/4x3/bz.svg -- 45.34kb -> 44.64kb (1.54%)
/static/flags/4x3/au.svg -- 1.51kb -> 1.49kb (1.49%)
/static/flags/4x3/um.svg -- 4.42kb -> 4.35kb (1.44%)
/static/flags/4x3/tk.svg -- 0.77kb -> 0.76kb (1.4%)
/static/flags/4x3/zw.svg -- 6.49kb -> 6.40kb (1.37%)
/static/flags/4x3/bm.svg -- 22.04kb -> 21.76kb (1.28%)
/static/flags/4x3/mx.svg -- 92.75kb -> 91.62kb (1.22%)
/static/flags/4x3/fk.svg -- 31.22kb -> 30.84kb (1.22%)
/static/flags/4x3/bn.svg -- 13.88kb -> 13.71kb (1.21%)
/static/flags/4x3/kz.svg -- 11.06kb -> 10.93kb (1.21%)
/static/flags/4x3/rs.svg -- 182.75kb -> 180.60kb (1.18%)
/static/flags/4x3/vi.svg -- 8.54kb -> 8.44kb (1.17%)
/static/flags/4x3/sa.svg -- 10.00kb -> 9.88kb (1.13%)
/static/flags/4x3/ca.svg -- 0.71kb -> 0.70kb (1.1%)
/static/flags/4x3/ck.svg -- 2.05kb -> 2.03kb (1.1%)
/static/flags/4x3/ky.svg -- 21.21kb -> 20.99kb (1.08%)
/static/flags/4x3/mw.svg -- 3.57kb -> 3.53kb (1.04%)
/static/flags/4x3/ge.svg -- 1.36kb -> 1.35kb (1%)
/static/flags/4x3/us.svg -- 4.36kb -> 4.32kb (0.94%)
/static/flags/4x3/er.svg -- 3.11kb -> 3.08kb (0.88%)
/static/flags/4x3/lk.svg -- 10.98kb -> 10.88kb (0.85%)
/static/flags/4x3/sh.svg -- 28.81kb -> 28.60kb (0.74%)
/static/flags/4x3/xk.svg -- 9.42kb -> 9.36kb (0.64%)
/static/flags/4x3/hr.svg -- 39.66kb -> 39.42kb (0.61%)
/static/flags/4x3/nf.svg -- 5.70kb -> 5.67kb (0.57%)
/static/flags/4x3/me.svg -- 60.91kb -> 60.58kb (0.55%)
/static/flags/4x3/al.svg -- 3.13kb -> 3.12kb (0.34%)
/static/flags/4x3/gb-wls.svg -- 8.95kb -> 8.92kb (0.32%)
/static/flags/4x3/un.svg -- 19.47kb -> 19.42kb (0.24%)
/static/flags/4x3/cy.svg -- 5.73kb -> 5.71kb (0.24%)
/static/flags/4x3/aq.svg -- 6.00kb -> 5.99kb (0.18%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
2021-04-25 19:40:22 +00:00
hossainemruz
93f2a53f6c Fix space after flag icon
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-04-26 00:59:46 +06:00
Emruz Hossain
4679efe5c5
Fix country flag not showing in language selector (#298)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-04-25 18:48:49 +00:00
Jakub Cabak
19c2edb08d
Accessibility and SEO improvements (#296)
Co-authored-by: JCabak <kubaczento@gmail.com>
2021-04-25 17:15:22 +06:00
David G. Simmons
6996894ec1
add video shortcode (#289)
* add video shortcode

* Use "sampotts/plyr" library instead of "clappr/clappr"

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

Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-04-06 01:12:28 +06:00
Tommy Chu
d38634df8d
Refactor target values of redirections to external pages (#292) 2021-04-05 23:32:54 +06:00
Tommy Chu
d6706e05ee
Fix redirections to empty tabs (#290)
Whenever href (url) attribute was omitted or had no value
the click action would do nothing. With no URLs defined and
`target="_blank"` attributes, which were recently added,
anchor tags now redirect users to new blank tabs (side effect).

This PR solves the issues by adding conditions
before applying `target="_blank"` or in some cases by
ommiting entire entities (e.g. the view_certificate button).
2021-04-05 22:25:27 +06:00
Tommy Chu
cb3df73d53
Fix inconsistencies in target attributes (#288) 2021-04-04 15:35:51 +06:00
Nirjas Jakilim
60d2b21649
Fixed Errors in the Console issue #239 (#287)
* Fixed Errors in the Console #239
2021-04-03 20:11:38 +06:00
260 changed files with 23466 additions and 7122 deletions

3
.eslintignore Normal file
View file

@ -0,0 +1,3 @@
node_modules
exampleSite/node_modules
exampleSite/public

12
.eslintrc.yml Normal file
View file

@ -0,0 +1,12 @@
env:
browser: true
es2021: true
extends:
- standard
- plugin:no-jquery/all
- prettier
plugins:
- no-jquery
parserOptions:
ecmaVersion: latest
sourceType: module

View file

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

View file

@ -17,7 +17,7 @@ categories:
- 'feature'
- 'enhancement'
- title: 'New Translations'
- title: 'Translations'
label: 'translation'
- title: 'Bug Fixes'

View file

@ -8,20 +8,20 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout to latest commit
uses: actions/checkout@v2.3.4
uses: actions/checkout@v4.2.2
- name: Setup Node
uses: actions/setup-node@v2.1.5
uses: actions/setup-node@v4
with:
node-version: "15.x"
node-version: "20.x"
- name: Run autoprefixer
run: |
npm install postcss-cli autoprefixer --save-dev
npm install postcss postcss-cli autoprefixer --save-dev
npm run autoprefixer
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3.8.2
uses: peter-evans/create-pull-request@v7
with:
branch: autoprefixer
branch-suffix: timestamp

71
.github/workflows/codeql-analysis.yml vendored Normal file
View file

@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '19 16 * * 2'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v4.2.2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3

View file

@ -1,9 +1,12 @@
name: Enforce Labels
name: Label Enforcer
# Run action on pull request creation, reopening, or label changes
on:
pull_request:
types: [labeled, unlabeled, opened, edited, synchronize]
types: [opened, reopened, labeled, unlabeled]
jobs:
# Ensure that PR has desired labels
enforce-label:
runs-on: ubuntu-latest
steps:

View file

@ -1,13 +0,0 @@
name: Check Markdown links
# Run action on pull request event
on: [pull_request]
jobs:
markdown-link-check:
runs-on: ubuntu-latest
steps:
# checkout to latest commit
- uses: actions/checkout@master
# run markdown linter
- uses: gaurav-nelson/github-action-markdown-link-check@v1

View file

@ -1,4 +1,4 @@
name: Release Drafter
name: Merge to main workflows
# Run action on push in mater branch
on:
push:
@ -10,6 +10,6 @@ jobs:
runs-on: ubuntu-latest
steps:
# Create/Update release draft
- uses: release-drafter/release-drafter@v5.15.0
- uses: release-drafter/release-drafter@v6.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

83
.github/workflows/pull-request.yml vendored Normal file
View file

@ -0,0 +1,83 @@
name: PR Workflows
# Run action on pull request event
on: [pull_request]
jobs:
# Build exampleSite
build:
runs-on: ubuntu-latest
steps:
# checkout to the commit that has been pushed
- uses: actions/checkout@v4.2.2
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install node modules
run: npm install
- name: Setup Hugo
uses: peaceiris/actions-hugo@v3.0.0
with:
hugo-version: 'latest'
extended: true
- name: Build
run: |
cd exampleSite
hugo --minify
# Run linter
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.2
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install node modules
run: npm install
- name: Lint
run: |
npm run lint
lighthouse-check:
runs-on: ubuntu-latest
steps:
- name: Waiting for Netlify Preview
uses: kamranayub/wait-for-netlify-action@v2.1.1
id: preview
with:
site_name: "toha-ci"
max_timeout: 300
env:
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}}
- name: Run Lighthouse
uses: foo-software/lighthouse-check-action@v12.0.1
id: lighthouseCheck
with:
accessToken: ${{ secrets.LIGHTHOUSE_TOKEN }}
gitHubAccessToken: ${{secrets.GITHUB_TOKEN}}
emulatedFormFactor: 'all'
prCommentEnabled: true
prCommentSaveOld: false
timeout: 5
urls: "${{ steps.preview.outputs.url }},${{ steps.preview.outputs.url }}/posts/,${{ steps.preview.outputs.url }}/posts/markdown-sample/,${{ steps.preview.outputs.url }}/posts/shortcodes/"
# Check for any broken links
markdown-link-check:
runs-on: ubuntu-latest
steps:
# checkout to latest commit
- uses: actions/checkout@v4.2.2
# run markdown linter
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.17

4
.gitignore vendored
View file

@ -2,4 +2,6 @@
node_modules/
.DS_Store
.history/
resources/
resources/
public/
.hugo_build.lock

5
.prettierrc.yml Normal file
View file

@ -0,0 +1,5 @@
printWidth: 100
tabWidth: 2
semi: false
singleQuote: true
trailingComma: "all"

1
.tool-versions Normal file
View file

@ -0,0 +1 @@
nodejs 18.12.1

377
README.md
View file

@ -1,6 +1,20 @@
> [!IMPORTANT]
> If you are migrating from v3 (`git submodule` based) theme to v4 (`hugo modules` based) theme, please read this [migration guide](https://toha-guides.netlify.app/posts/update-v3-to-v4/).
# Toha
[![Netlify Status](https://api.netlify.com/api/v1/badges/b1b93b02-f278-440b-ae1b-304e9f4c4ab5/deploy-status)](https://app.netlify.com/sites/toha/deploys) [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fhugo-toha%2Ftoha%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main) ![Repository Size](https://img.shields.io/github/repo-size/hugo-toha/toha) ![Lines of Codes](https://img.shields.io/tokei/lines/github/hugo-toha/toha) ![Contributor](https://img.shields.io/github/contributors/hugo-toha/toha) ![Latest Release](https://img.shields.io/github/v/release/hugo-toha/toha?include_prereleases) ![Last Commit](https://img.shields.io/github/last-commit/hugo-toha/toha) ![Open Issues](https://img.shields.io/github/issues/hugo-toha/toha?color=important) ![Open Pull Requests](https://img.shields.io/github/issues-pr/hugo-toha/toha?color=yellowgreen) ![License](https://img.shields.io/github/license/hugo-toha/toha) ![Security Headers](https://img.shields.io/security-headers?url=https%3A%2F%2Fhugo-toha.github.io%2F) [![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/b7cb60ab/hugo-toha.github.io)
[![Netlify Status](https://api.netlify.com/api/v1/badges/b1b93b02-f278-440b-ae1b-304e9f4c4ab5/deploy-status)](https://app.netlify.com/sites/toha/deploys)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fhugo-toha%2Ftoha%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)
![Repository Size](https://img.shields.io/github/repo-size/hugo-toha/toha)
![Lines of Codes](https://img.shields.io/tokei/lines/github.com/hugo-toha/toha)
![Contributor](https://img.shields.io/github/contributors/hugo-toha/toha)
![Latest Release](https://img.shields.io/github/v/release/hugo-toha/toha?include_prereleases)
![Last Commit](https://img.shields.io/github/last-commit/hugo-toha/toha)
![Open Issues](https://img.shields.io/github/issues/hugo-toha/toha?color=important)
![Open Pull Requests](https://img.shields.io/github/issues-pr/hugo-toha/toha?color=yellowgreen)
![License](https://img.shields.io/github/license/hugo-toha/toha)
![Security Headers](https://img.shields.io/security-headers?url=https%3A%2F%2Fhugo-toha.github.io%2F)
[![This project is using Percy.io for visual regression testing.](https://percy.io/static/images/percy-badge.svg)](https://percy.io/b7cb60ab/hugo-toha.github.io)
A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness.
@ -19,8 +33,17 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
- Achievement Gallery
- Sidebar to Categorize the Posts
- Short Codes
- Google Analytics Support
- Disqus Comment Support
- Analytics Support
- GoatCounter
- counter.dev
- Google Analytics
- Matomo/Piwik
- [Umami](https://umami.is/)
- Comment Support
- [Disqus](https://disqus.com/)
- [Valine](https://valine.js.org/)
- [Uttarances](https://utteranc.es/)
- [Giscus](https://giscus.app/)
For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
@ -33,12 +56,22 @@ For more details about the features please visit [here](https://toha-guides.netl
- Deutsch
- Español
- 简体中文
- 繁體中文
- हिन्दी
- Italiano
- 日本語
- 한국어
- русский
- suomi
- Tiếng Việt
- Azerbaijan
- Turkish
- Arabic (العربية)
- Português Europeu
- Català
- Português Brasileiro
- Nederlands
- Hebrew
To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io).
@ -60,86 +93,70 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
## Requirements
- Hugo Version 0.68.0 or higher
- Hugo Version 0.128.0 (extended) or higher
- Go language 1.18 or higher (require for hugo modules)
- Node version v18.x or later and npm 8.x or later.
## Usage
In order to use this theme, follow the following steps:
The easiest way to use this theme is to fork [hugo-toha.github.io](https://github.com/hugo-toha/hugo-toha.github.io) sample repo.Then change the configurations according to your need.
#### Add theme as git submodule
If you want to start from scratch, then follow these steps:
At first, add [Toha](https://github.com/hugo-toha/toha) theme as git submodule to your hugo-site.
##### 1. Initialize Hugo module on you repo
```console
$ git submodule add https://github.com/hugo-toha/toha.git themes/toha
At first, initialize [Hugo modules](https://gohugo.io/hugo-modules/) in your repo. This will create a `go.mod` file.
```bash
hugo mod init github.com/<your username>/<your repo name>
```
> Don't use SSH URL of the theme during adding as git sub-module. Also, don't clone the theme in your `themes` directory using `git clone`. They don't work well with Github Action or Netlify.
##### 2. Add this theme as your module dependency
If you don't already have a hugo site, create one by following the step-by-step guide from [here](https://toha-guides.netlify.app/posts/getting-started/prepare-site/).
#### Configuring Site
Now, configure your site to use `toha` theme by adding the following configuration in `config.yaml` file of your site.
Now, in your `hugo.yaml` file, add a `module` section.
```yaml
baseURL: https://hugo-toha.github.io
languageCode: en-us
title: "John's Blog"
theme: "toha"
# Manage languages
# For any more details, you can check the official documentation: https://gohugo.io/content-management/multilingual/
languages:
en:
languageName: English
weight: 1
# Control TOC depth
markup:
tableOfContents:
startLevel: 2
endLevel: 6
ordered: false
# At least HTML and JSON are required for the main HTML content and
# client-side JavaScript search
outputs:
home:
- HTML
- RSS
- JSON
# Enable global emoji support
enableEmoji: true
# Site parameters
params:
# GitHub repo URL and branch of your site
gitRepo: https://github.com/hugo-toha/hugo-toha.github.io
gitBranch: main
# specify whether you want to write some blog posts or not
enableBlogPost: true
# specify whether you want to show Table of Contents in reading page
enableTOC: true
# Provide newsletter configuration. This feature hasn't been implemented yet.
# Currently, you can just hide it from the footer.
newsletter:
enable: true
# Use Hugo modules to add theme
module:
imports:
- path: github.com/hugo-toha/toha/v4
```
Don't forget to update `title`, `baseURL`, and `gitRepo` fields with your own information. To know about more available configuration options, please visit [here](https://toha-guides.netlify.app/posts/configuration/site-parameters/).
Check this sample [hugo.yaml](https://github.com/hugo-toha/hugo-toha.github.io/blob/main/hugo.yaml) for further reference.
##### 3. Update your module
Now, run this command to load this theme as your module.
```bash
hugo mod tidy
```
#### Running Locally
Now, you can run your hugo site with `toha` theme locally with the following command:
Now, you can run your hugo site locally with the following steps:
```console
$ hugo server -t toha -w
##### 1. Generate node dependency configuration
Now run the following command to generate node dependency configuration. This will create the a `package.json` file in you repo.
```bash
hugo mod npm pack
```
##### 2. Install dependencies
Install the node dependencies using following command:
```bash
npm install
```
##### 3. Run your site
Now, run you site locally using following command.
```bash
hugo server -w
```
When you run your site for first time, it will start with the default parameters. It should look similar to the [example site](https://hugo-toha.github.io). However, it will not have any sections in the homepage as we haven't configured them yet. You can configure your site by following the guides from [here](https://toha-guides.netlify.app/posts/configuration/).
@ -148,142 +165,12 @@ When you run your site for first time, it will start with the default parameters
Here, are some handy shortcodes you can use with this theme.
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/)
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/)
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/)
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/)
## Project Roadmap
Here, are the current plan and progress of various components of this theme. The components will be prioritized based on users requests.
### 1. Portfolio Mode
Here is the check list for portfolio mode,
- [x] **Home**
- [x] Configurable Background
- [x] Author Image
- [x] Greeting
- [x] Typing Carousel
- [x] **About**
- [x] Name and Designation
- [x] Summary
- [x] Markdown Support
- [x] Social Links
- [x] Font Awesome Support
- [x] Resume Link
- [x] Soft Skills Indicator
- [x] **Skills**
- [x] Skill Cards
- [x] Markdown Support
- [x] **Experiences**
- [x] Designation
- [x] Timeline
- [x] Company Overview
- [x] Responsibilities
- [x] **Projects**
- [x] Category Filter
- [x] Project Card
- [x] Overview
- [x] Markdown Support
- [x] Github Stars
- [x] External URL Support
- [x] Technology Tags
- [x] **Recent Posts**
- [x] **Academic Career**
- [x] Degree
- [x] Institution
- [x] Timeline
- [x] Taken Courses
- [x] CGPA
- [x] Extracurricular Activities
- [ ] **Publications**
- [ ] Category Filter
- [ ] Card
- [ ] Abstract
- [ ] Authors
- [ ] Tags
- [ ] Links
- [ ] Gallery
- [x] **Accomplishment / Courses**
- [x] Overview
- [x] Certificate
- [x] **Achievements Gallery**
- [x] Image
- [x] Summary
### 2. Blog Mode
Here is the checklist for blog mode,
- [ ] **Dedicated Home page**
- [x] **List Page**
- [x] Post Cards
- [x] Sidebar
- [x] Pagination
- [x] **Reading Page**
- [x] Hero Image
- [x] Author Information
- [x] Sidebar
- [x] Table of Contents
- [x] Next & Previous Page Navigation
- [x] `Improve This Page` Button
- [x] Disqus Comment
### 3. Documentation Mode
Here is the check list for documentation mode,
- [ ] **Dedicated Home Page**
- [ ] **Doc Page**
- [ ] Redesign sidebar
- [ ] Redesign TOC menu
- [ ] Search Capability
### 4. Note Mode
- [ ] **Dedicated Home Page**
- [ ] **Note Page**
- [x] Add note view
- [ ] Redesign sidebar
- [ ] Add search capability
### 5. Tracking and Comments
- [x] Google Analytics
- [x] Disqus Comment
### 6. Shortcodes
- [x] Image
- [x] Split Page into Multiple Column
- [x] Vertical space between two sections
- [x] Alert
- [ ] Figure & sub-figure
- [ ] Tabs
- [x] Notes
- [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
- [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
- [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
- [Vertical Space](https://toha-guides.netlify.app/posts/shortcodes/#vertical-space)
- [Video](https://toha-guides.netlify.app/posts/shortcodes/#video)
- [Mermaid](https://hugo-toha.github.io/posts/shortcodes/#mermaid)
## Contributing
@ -306,34 +193,72 @@ For local development, you can make changes in the theme submodule and test the
At first, fork [this repo](https://github.com/hugo-toha/toha). Then, follow the following steps to use the forked theme for local developments,
**Using the forked theme in your own site:**
If you want to run your local development against your own site, follow the following steps:
```bash
# add the original theme as a submodule of your site if you haven't done already
$ git submodule add https://github.com/hugo-toha/toha.git themes/toha
# navigate into the toha theme folder
$ cd themes/toha
# add your own fork as a remote
$ git remote add my-fork https://github.com/<your-github-user>/toha
# create a new branch for your changes
$ git checkout -b my-feature-branch
```
**Using the forked theme in the example site:**
#### Running the forked theme against the example site
If your want to run your local development against this [example site](https://github.com/hugo-toha/hugo-toha.github.io), follow the following steps:
```bash
# clone the example site along with the submodules
$ git clone git@github.com:hugo-toha/hugo-toha.github.io.git --recursive
# navigate into the toha theme folder
$ cd themes/toha
# add your own fork as a remote
$ git remote add my-fork https://github.com/<your-github-user>/toha
# create a new branch for your changes
$ git checkout -b my-feature-branch
# go to exampleSite directory
$ cd exampleSite
# install hugo modules
$ hugo mod tidy
# install dependencies
$ hugo mod npm pack
$ npm install
# run the example site locally
$ hugo server -w
```
Now, you can make change in the theme and they will be reflected immediately on the running site. If you need to change any configuration, you can do that in the `hugo.yaml` file inside `exampleSite` folder. If you need to add any content or data, you can create the respective folder inside `exampleSite` directory and add your desired content or data there.
#### Running the forked theme against your own site
If you want to run your local development against your own site, follow the following steps:
**Replace the theme module:**
Open your site's `go.mod` file and replace the `github.com/hugo-toha/toha/v4` with your forked repo's path. For example, if your forked repo is `github.com/<your-github-user>/toha`, then replace the `github.com/hugo-toha/toha/v4` with `github.com/<your-github-user>/toha/v4`.
```go
module github.com/hugo-toha/hugo-toha.github.io
go 1.19
require github.com/hugo-toha/toha/v4 v4.0.1-0.20231229170427-d3968ca711ef // indirect
replace(
github.com/hugo-toha/toha/v4 => github.com/<your-github-user>/toha/v4 <git branch>
)
```
For interactive development, you can replace the theme with your locally cloned fork. For example, if you have cloned your fork in `/home/my-projects/toha`, then replace the `github.com/hugo-toha/toha/v4` with `/home/my-projects/toha`.
```go
module github.com/hugo-toha/hugo-toha.github.io
go 1.19
require github.com/hugo-toha/toha/v4 v4.0.1-0.20231229170427-d3968ca711ef // indirect
replace(
github.com/hugo-toha/toha/v4 => /home/my-projects/toha
)
```
**Update dependencies:**
```bash
# update hugo modules
$ hugo mod tidy
# install dependencies
$ hugo mod npm pack
$ npm install
```
**Run your site locally:**
```bash
$ hugo server -w
```
From there you can make changes to the source code of the theme while testing with your running Hugo site or the example site.

10
assets/jsconfig.json Normal file
View file

@ -0,0 +1,10 @@
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"*": [
"*"
]
}
}
}

View file

@ -0,0 +1,11 @@
import 'popper.js'
import 'bootstrap'
import '@fortawesome/fontawesome-free/js/all'
import feather from 'feather-icons'
import './core'
import './features'
import './sections'
import './pages'
feather.replace();

View file

@ -0,0 +1,36 @@
let deviceState = {
isMobile: false,
isTablet: false,
isLaptop: false
}
function detectDeviceState () {
if (window.innerWidth <= 425) {
deviceState = {
isMobile: true,
isTablet: false,
isLaptop: false
}
} else if (window.innerWidth <= 768) {
deviceState = {
isMobile: false,
isTablet: true,
isLaptop: false
}
} else {
deviceState = {
isMobile: false,
isTablet: false,
isLaptop: true
}
}
}
detectDeviceState()
window.addEventListener('resize', detectDeviceState)
// returns a copy of the device state
// so other parts of code can't override this.
export function getDeviceState () {
return { ...deviceState }
}

View file

@ -0,0 +1,2 @@
export * from './device'
export * from './insertScript'

View file

@ -0,0 +1,14 @@
export const insertScript = (id, src, onload) => {
// script is already inserted, do nothing
if (document.getElementById(id)) return
// insert script
const firstScriptTag = document.getElementsByTagName('script')[0]
const scriptTag = document.createElement('script')
scriptTag.id = id
scriptTag.onload = onload
scriptTag.src = src
scriptTag.defer = true
scriptTag.async = true
firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag)
}

View file

@ -0,0 +1,9 @@
let theme = localStorage.getItem('theme-scheme') || localStorage.getItem('darkmode:color-scheme') || 'light'
if (theme === 'system') {
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
theme = 'dark'
} else {
theme = 'light'
}
}
document.documentElement.setAttribute('data-theme', theme)

View file

@ -0,0 +1,22 @@
addCopyButtons(navigator.clipboard)
function addCopyButtons(clipboard) {
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
const button = document.createElement('button')
button.title = "Copy"
button.className = 'copy-code-button btn btn-sm'
button.innerHTML = "<i class='fa-regular fa-copy'></i>"
button.addEventListener('click', function () {
clipboard.writeText(codeBlock.innerText)
})
const pre = codeBlock.parentNode
if (pre.parentNode.classList.contains('highlight')) {
const highlight = pre.parentNode
highlight.parentNode.insertBefore(button, highlight)
} else {
pre.parentNode.insertBefore(button, pre)
}
})
}

View file

@ -0,0 +1 @@
import './copyCode'

View file

@ -0,0 +1,70 @@
const PERSISTENCE_KEY = 'darkmode:color-scheme'
window.addEventListener('load', async () => {
const menu = document.getElementById('themeMenu')
const $icon = document.getElementById('navbar-theme-icon-svg')
if (menu == null || $icon == null) return
const btns = menu.getElementsByTagName('a')
const iconMap = Array.from(btns).reduce((map, btn) => {
const $img = btn.getElementsByTagName('img')[0]
map[btn.dataset.scheme] = $img.src
return map
}, {})
function loadScheme() {
return localStorage.getItem(PERSISTENCE_KEY) || "system"
}
function saveScheme(scheme) {
localStorage.setItem(PERSISTENCE_KEY, scheme)
}
function getPreferredColorScheme() {
const isDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches;
return isDarkMode ? "dark" : "light";
}
function setScheme(newScheme) {
let theme = newScheme
if (newScheme === 'system') {
theme = getPreferredColorScheme()
}
// set data-theme attribute on html tag
document.querySelector("html").dataset.theme = theme;
// update icon
$icon.src = iconMap[newScheme]
// save preference to local storage
saveScheme(newScheme)
setImages(theme)
}
setScheme(loadScheme())
Array.from(menu.getElementsByTagName('a')).forEach((btn) => {
btn.addEventListener('click', () => {
const { scheme } = btn.dataset
setScheme(scheme)
})
})
})
function setImages(newScheme) {
const els = Array.from(document.getElementsByClassName('logo-holder'));
for (const el of els) {
const light = el.querySelector('.light-logo');
const dark = el.querySelector('.dark-logo');
if (newScheme === "dark" && dark !== null) {
if (light !== null) light.style.display = 'none'
dark.style.display = 'inline'
}
else {
if (light !== null) light.style.display = 'inline'
if (dark !== null) dark.style.display = 'none'
}
}
}

View file

@ -0,0 +1,165 @@
import { insertScript } from '../../core'
const PDFJS_BUNDLE = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@3.0.279/build/pdf.min.js'
const WORKER_BUNDLE = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@3.0.279/build/pdf.worker.min.js'
class PDFViewer {
constructor (el) {
const {
url,
hidePaginator,
hideLoader,
scale,
pageNum
} = el.dataset
if (url == null) {
throw new Error('Cannot load PDF! Attribute `data-url` is not set.')
}
// props
this.url = url
this.hidePaginator = hidePaginator !== 'false'
this.hideLoader = hideLoader !== 'false'
this.scale = scale || 3
// initial state
this.pageNum = parseInt(pageNum, 10) || 1
this.loaded = false
this.pageRendering = false
this.pageNumPending = null
// DOM elements
this.canvas = el.getElementsByClassName('pdf-canvas')[0]
if (this.canvas == null) {
throw new Error('canvas element not found!')
};
this.paginator = el.getElementsByClassName('paginator')[0]
this.loadingWrapper = el.getElementsByClassName('loading-wrapper')[0]
this.next = el.getElementsByClassName('next')[0]
this.prev = el.getElementsByClassName('prev')[0]
this.curPage = el.getElementsByClassName('page-num')[0]
this.pageCount = el.getElementsByClassName('page-count')[0]
// context
this.ctx = this.canvas.getContext('2d')
// events
this.next.addEventListener('click', this.handleNextPage.bind(this))
this.prev.addEventListener('click', this.handlePrevPage.bind(this))
this.showPaginator()
this.showLoader()
this.loadPDF()
}
/**
* If we haven't disabled the loader, show loader and hide canvas
*/
showLoader () {
if (this.hideLoader) return
this.loadingWrapper.style.display = 'flex'
this.canvas.style.display = 'none'
}
/**
* If we haven't disabled the paginator, show paginator
*/
showPaginator () {
if (this.hidePaginator) return
this.paginator.style.display = 'block'
}
/**
* Hides loader and shows canvas
*/
showContent () {
this.loadingWrapper.style.display = 'none'
this.canvas.style.display = 'block'
}
/**
* Asynchronously downloads PDF.
*/
async loadPDF () {
this.pdfDoc = await window.pdfjsLib.getDocument(this.url).promise
this.pageCount.textContent = this.pdfDoc.numPages
// If the user passed in a number that is out of range, render the last page.
if (this.pageNum > this.pdfDoc.numPages) {
this.pageNum = this.pdfDoc.numPages
}
this.renderPage(this.pageNum)
}
/**
* Get page info from document, resize canvas accordingly, and render page.
* @param num Page number.
*/
async renderPage (num) {
this.pageRendering = true
const page = await this.pdfDoc.getPage(num)
const viewport = page.getViewport({ scale: this.scale })
this.canvas.height = viewport.height
this.canvas.width = viewport.width
// Wait for rendering to finish
await page.render({
canvasContext: this.ctx,
viewport
}).promise
this.pageRendering = false
this.showContent()
if (this.pageNumPending !== null) {
// New page rendering is pending
this.renderPage(this.pageNumPending)
this.pageNumPending = null
}
// Update page counters
this.curPage.textContent = num
}
/**
* If another page rendering in progress, waits until the rendering is
* finished. Otherwise, executes rendering immediately.
*/
queueRenderPage (num) {
if (this.pageRendering) {
this.pageNumPending = num
} else {
this.renderPage(num)
}
}
/**
* Displays previous page.
*/
handlePrevPage () {
if (this.pageNum <= 1) {
return
}
this.pageNum--
this.queueRenderPage(this.pageNum)
}
/**
* Displays next page.
*/
handleNextPage () {
if (this.pageNum >= this.pdfDoc.numPages) {
return
}
this.pageNum++
this.queueRenderPage(this.pageNum)
}
}
insertScript('pdfjs', PDFJS_BUNDLE, () => {
window.pdfjsLib.GlobalWorkerOptions.workerSrc = WORKER_BUNDLE
Array.from(document.getElementsByClassName('pdf-viewer')).forEach(el => new PDFViewer(el))
})

View file

@ -0,0 +1,3 @@
if (process.env.FEATURE_FLOWCHART_MERMAID === '1') {
import('./mermaid')
}

View file

@ -0,0 +1,7 @@
import mermaid from 'mermaid'
import * as params from '@params'
const mermaidOptions = params.flowchart?.mermaid || {}
const options = Object.assign({}, mermaidOptions, { startOnLoad: true })
mermaid.initialize(options)

View file

@ -0,0 +1,35 @@
if (process.env.FEATURE_VIDEOPLAYER === '1') {
import('./videoplayer')
}
if (process.env.FEATURE_TOC === '1') {
import('./toc')
}
if (process.env.FEATURE_DARKMODE === '1') {
import('./darkmode')
}
if (process.env.FEATURE_THEME === '1') {
import('./theme')
}
if (process.env.FEATURE_FLOWCHART === '1') {
import('./flowchart')
}
if (process.env.FEATURE_SYNTAXHIGHLIGHT === '1') {
import('./syntaxhighlight')
}
if (process.env.FEATURE_MATH === '1') {
import('./math')
}
if (process.env.FEATURE_EMBEDPDF === '1') {
import('./embedpdf')
}
if (process.env.FEATURE_COPYCODEBUTTON === '1') {
import('./copyCode')
}

View file

@ -0,0 +1,3 @@
if (process.env.FEATURE_MATH_KATEX === '1') {
import('./katex')
}

View file

@ -0,0 +1,21 @@
import renderMathInElement from 'katex/contrib/auto-render'
import * as params from '@params'
const defaultOptions = {
delimiters: [
{ left: '$$', right: '$$', display: true },
{ left: '\\[', right: '\\]', display: true },
{ left: '$', right: '$', display: false },
{ left: '\\(', right: '\\)', display: false }
]
}
window.addEventListener('DOMContentLoaded', () => {
renderMathInElement(
document.body,
{
...defaultOptions,
...(params.math?.katex || {})
}
)
})

View file

@ -0,0 +1,12 @@
import hljs from 'highlight.js'
import * as params from '@params'
const defaultOptions = {
ignoreUnescapedHTML: true
}
hljs.configure({
...defaultOptions,
...(params.syntaxhighlight?.hljs || {}),
});
hljs.highlightAll();

View file

@ -0,0 +1,3 @@
if (process.env.FEATURE_SYNTAXHIGHLIGHT_HLJS === '1') {
import('./hljs')
}

View file

@ -0,0 +1,88 @@
import * as params from '@params';
const PERSISTENCE_KEY = 'theme-scheme'
const themeOptions = params.theme || {}
const THEME_DARK = typeof themeOptions.dark === 'undefined' ? true : themeOptions.dark;
const THEME_LIGHT = typeof themeOptions.light === 'undefined' ? true : themeOptions.light;
const THEME_DEFAULT = typeof themeOptions.default === 'undefined' ? "system" : themeOptions.default;
window.addEventListener('load', async () => {
const menu = document.getElementById('themeMenu')
const $icon = document.getElementById('navbar-theme-icon-svg')
if (menu == null || $icon == null) return
const btns = menu.getElementsByTagName('a')
const iconMap = Array.from(btns).reduce((map, btn) => {
const $img = btn.getElementsByTagName('img')[0]
map[btn.dataset.scheme] = $img.src
return map
}, {})
function checkScheme(scheme) {
if (THEME_LIGHT === false) return "dark"
if (THEME_DARK === false) return "light"
return scheme
}
function loadScheme() {
return localStorage.getItem(PERSISTENCE_KEY) || loadDefaultScheme()
}
function loadDefaultScheme() {
return THEME_DEFAULT || "system"
}
function saveScheme(scheme) {
localStorage.setItem(PERSISTENCE_KEY, scheme)
}
function getPreferredColorScheme() {
const isDarkMode = window.matchMedia("(prefers-color-scheme: dark)").matches;
return isDarkMode ? "dark" : "light";
}
function setScheme(newScheme) {
let theme = newScheme
if (newScheme === 'system') {
theme = getPreferredColorScheme()
}
// set data-theme attribute on html tag
document.querySelector("html").dataset.theme = theme;
// update icon
$icon.src = iconMap[newScheme]
// save preference to local storage
saveScheme(newScheme)
setImages(theme)
}
const checkedScheme = checkScheme(loadScheme())
setScheme(checkedScheme)
Array.from(menu.getElementsByTagName('a')).forEach((btn) => {
btn.addEventListener('click', () => {
const { scheme } = btn.dataset
setScheme(scheme)
})
})
})
function setImages(newScheme) {
const els = Array.from(document.getElementsByClassName('logo-holder'));
for (const el of els) {
const light = el.querySelector('.light-logo');
const dark = el.querySelector('.dark-logo');
if (newScheme === "dark" && dark !== null) {
if (light !== null) light.style.display = 'none'
dark.style.display = 'inline'
}
else {
if (light !== null) light.style.display = 'inline'
if (dark !== null) dark.style.display = 'none'
}
}
}

View file

@ -0,0 +1,48 @@
import { getDeviceState } from '../../core'
// Toggle Table of Contents on click. Here, class "hide" open the toc
function toggleTOC () {
const toc = document.getElementById('toc-section')
if (toc == null) {
return
}
if (toc.classList.contains('hide')) {
toc.classList.remove('hide')
} else {
// if sidebar-section is open, then close it first
const sidebar = document.getElementById('sidebar-section')
if (sidebar != null && sidebar.classList.contains('hide')) {
sidebar.classList.remove('hide')
}
// add "hide" class
toc.classList.add('hide')
// if it is mobile device. then scroll to top.
const { isMobile } = getDeviceState()
if (isMobile && toc.classList.contains('hide')) {
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
}
}
if (document.getElementById('hero-area') != null) {
document.getElementById('hero-area').classList.toggle('hide')
}
}
window.addEventListener('DOMContentLoaded', () => {
// bind click event to #toc-toggle in navbar-2.html
const toggle = document.getElementById('toc-toggler')
if (toggle) toggle.addEventListener('click', toggleTOC)
// hide TOC when user clicks on a TOC link.
// Only applies if it's mobile.
const toc = document.getElementById('TableOfContents')
if (toc) {
toc.addEventListener('click', (event) => {
const { isMobile } = getDeviceState()
if (isMobile && event.target.nodeName === 'A') {
toggleTOC()
}
})
}
})

View file

@ -0,0 +1,3 @@
if (process.env.FEATURE_VIDEOPLAYER_PLYR === '1') {
import('./plyr')
}

View file

@ -0,0 +1,5 @@
import Plyr from 'plyr'
import * as params from '@params'
const options = params.videoplayer?.plyr
window.addEventListener('DOMContentLoaded', () => Plyr.setup('.video-player', options))

View file

@ -0,0 +1,16 @@
import { init } from 'ityped'
// =========== Typing Carousel ================
// get data from hidden ul and set as typing data
document.addEventListener('DOMContentLoaded', () => {
const $ul = document.getElementById('typing-carousel-data')?.children
if ($ul == null || $ul.length === 0) return
const strings = Array.from($ul).map($el => $el.textContent)
init('#ityped', {
strings,
startDelay: 200,
loop: true
})
})

View file

@ -0,0 +1,4 @@
import './note'
import './search'
import './single'
import './home'

View file

@ -0,0 +1,30 @@
import imagesLoaded from 'imagesloaded'
document.addEventListener('DOMContentLoaded', function () {
function resizeGridItem (item) {
const grid = document.getElementsByClassName('note-card-holder')[0]
const rowHeight = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-auto-rows'))
const rowGap = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-row-gap'))
const rowSpan = Math.ceil((item.querySelector('.item').getBoundingClientRect().height + rowGap) / (rowHeight + rowGap))
item.style.gridRowEnd = 'span ' + rowSpan
}
function resizeAllGridItems () {
const allItems = document.getElementsByClassName('note-card')
for (let x = 0; x < allItems.length; x++) {
resizeGridItem(allItems[x])
}
}
function resizeInstance (instance) {
const item = instance.elements[0]
resizeGridItem(item)
}
window.addEventListener('resize', resizeAllGridItems)
const allItems = document.getElementsByClassName('note-card')
for (let x = 0; x < allItems.length; x++) {
imagesLoaded(allItems[x], resizeInstance)
}
})

View file

@ -0,0 +1,140 @@
import Fuse from 'fuse.js'
import Mark from 'mark.js'
window.addEventListener('DOMContentLoaded', () => {
const summaryInclude = 60
const fuseOptions = {
shouldSort: true,
includeMatches: true,
threshold: 0.1,
tokenize: true,
location: 0,
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 1,
keys: [
{ name: 'title', weight: 0.8 },
{ name: 'hero', weight: 0.7 },
{ name: 'summary', weight: 0.6 },
{ name: 'date', weight: 0.5 },
{ name: 'contents', weight: 0.5 },
{ name: 'tags', weight: 0.3 },
{ name: 'categories', weight: 0.3 }
]
}
const searchQuery = param('keyword')
if (searchQuery) {
document.getElementById('search-box').value = searchQuery
executeSearch(searchQuery)
} else {
const node = document.createElement('p')
node.textContent = 'Please enter a word or phrase above'
document.getElementById('search-results')?.append(node)
}
function executeSearch (searchQuery) {
const url = window.location.href.split('/search/')[0] + '/index.json'
fetch(url).then(response => response.json()).then(function (data) {
const pages = data
const fuse = new Fuse(pages, fuseOptions)
const results = fuse.search(searchQuery)
document.getElementById('search-box').value = searchQuery
if (results.length > 0) {
populateResults(results)
} else {
const node = document.createElement('p')
node.textContent = 'No matches found'
document.getElementById('search-results')?.append(node)
}
})
}
function populateResults (results) {
results.forEach(function (value, key) {
const contents = value.item.contents
let snippet = ''
const snippetHighlights = []
if (fuseOptions.tokenize) {
snippetHighlights.push(searchQuery)
} else {
value.matches.forEach(function (mvalue) {
if (mvalue.key === 'tags' || mvalue.key === 'categories') {
snippetHighlights.push(mvalue.value)
} else if (mvalue.key === 'contents') {
const start = mvalue.indices[0][0] - summaryInclude > 0 ? mvalue.indices[0][0] - summaryInclude : 0
const end = mvalue.indices[0][1] + summaryInclude < contents.length ? mvalue.indices[0][1] + summaryInclude : contents.length
snippet += contents.substring(start, end)
snippetHighlights.push(mvalue.value.substring(mvalue.indices[0][0], mvalue.indices[0][1] - mvalue.indices[0][0] + 1))
}
})
}
if (snippet.length < 1) {
snippet += contents.substring(0, summaryInclude * 2)
}
// pull template from hugo template definition
const templateDefinition = document.getElementById('search-result-template').innerHTML
// replace values
function adaptTags() {
const tags = value.item.tags;
let string = '';
if (tags) tags.forEach((t) => {string += '<li class="rounded"><a href="/tags/' + t.toLowerCase() + '/" class="btn btn-sm btn-info">' + t + "</a></li>"});
return string;
}
const output = render(templateDefinition, {
key,
title: value.item.title,
hero: value.item.hero,
date: value.item.date,
summary: value.item.summary,
link: value.item.permalink,
tags: adaptTags(),
categories: value.item.categories,
snippet
})
const dom = new DOMParser().parseFromString(output, 'text/html')
document.getElementById('search-results').append(dom.getElementsByClassName('post-card')[0])
snippetHighlights.forEach(function (snipvalue) {
const context = document.getElementById('#summary-' + key)
const instance = new Mark(context)
instance.mark(snipvalue)
})
})
}
function param (name) {
return decodeURIComponent((location.search.split(name + '=')[1] || '').split('&')[0]).replace(/\+/g, ' ')
}
function render (templateString, data) {
let conditionalMatches, copy
const conditionalPattern = /\$\{\s*isset ([a-zA-Z]*) \s*\}(.*)\$\{\s*end\s*}/g
// since loop below depends on re.lastInxdex, we use a copy to capture any manipulations whilst inside the loop
copy = templateString
while ((conditionalMatches = conditionalPattern.exec(templateString)) !== null) {
if (data[conditionalMatches[1]]) {
// valid key, remove conditionals, leave contents.
copy = copy.replace(conditionalMatches[0], conditionalMatches[2])
} else {
// not valid, remove entire section
copy = copy.replace(conditionalMatches[0], '')
}
}
templateString = copy
// now any conditionals removed we can do simple substitution
let key, find, re
for (key in data) {
find = '\\$\\{\\s*' + key + '\\s*\\}'
re = new RegExp(find, 'g')
templateString = templateString.replace(re, data[key])
}
return templateString
}
})

View file

@ -0,0 +1,60 @@
window.addEventListener('DOMContentLoaded', () => {
// =========== Add anchor to the headers ================
function addAnchor (element) {
element.innerHTML = `<a href="#${element.id}" class="header-anchor">${element.innerHTML}<sup><i class="fas fa-link fa-sm"></i></sup></a>`
}
const postContent = document.getElementById('post-content')
if (postContent != null) {
const headerTypes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']
for (let i = 0; i < headerTypes.length; i++) {
const headers = postContent.querySelectorAll(headerTypes[i])
if (headers) {
headers.forEach(addAnchor)
}
}
}
// =============== Make TOC Compatible with Bootstrap Scroll Spy ========
// add "navbar" class to the "nav" element
const toc = document.getElementById('TableOfContents')
if (toc) {
toc.classList.add('navbar')
// add "nav-pills" class to the "ul" elements
let elems = toc.getElementsByTagName('ul')
for (let i = 0; i < elems.length; i++) {
elems[i].classList.add('nav-pills')
}
// add "nav-item" class to the "li" elements
elems = toc.getElementsByTagName('li')
for (let i = 0; i < elems.length; i++) {
elems[i].classList.add('nav-item')
}
// add "nav-link" class to the "a" elements
elems = toc.getElementsByTagName('a')
for (let i = 0; i < elems.length; i++) {
elems[i].classList.add('nav-link')
}
}
// add scroll to top button
const btn = document.getElementById('scroll-to-top')
if(btn) {
window.addEventListener('scroll', function () {
if (window.scrollY > 300) {
btn.classList.add('show')
} else {
btn.classList.remove('show')
}
})
btn.addEventListener('click', function (e) {
e.preventDefault()
window.scrollTo({
top: 0,
behavior: 'smooth'
})
})
}
})

View file

@ -0,0 +1,3 @@
export const process = {
env: {}
}

View file

@ -0,0 +1,220 @@
import { getDeviceState } from '../core'
function fourColumnRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-3', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-2')
i++
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[1].classList.add('img-type-2')
gallery.appendChild(entry3)
i++
}
function fourColumnReversedRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-3', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-2')
i++
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[1].classList.add('img-type-2')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-6', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-1')
gallery.appendChild(entry3)
i++
}
function threeColumnRow (gallery, entries, i) {
console.log(i)
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-6', 'col-md-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-1')
gallery.appendChild(entry3)
i++
}
function threeColumnReversedRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-6', 'col-md-3', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-1')
gallery.appendChild(entry3)
i++
}
function twoColumnRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-6', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
}
function singleColumnRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-12', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
}
function showAchievements () {
const { isLaptop, isTablet } = getDeviceState()
// show achievements from achievements-holder div
const gallery = document.getElementById('gallery')
if (gallery == null) {
return
}
gallery.innerHTML = ''
const entries = document.getElementById('achievements-holder').children
let len = entries.length
let i = 0
let rowNumber = 1
while (i < len) {
if (isLaptop) {
if (i + 4 <= len) {
if (rowNumber % 2) {
fourColumnRow(gallery, entries, i)
} else {
fourColumnReversedRow(gallery, entries, i)
}
i += 4
} else if (i + 3 <= len) {
if (rowNumber % 2) {
threeColumnRow(gallery, entries, i)
} else {
threeColumnReversedRow(gallery, entries, i)
}
i += 3
} else if (i + 2 <= len) {
twoColumnRow(gallery, entries, i)
i += 2
} else {
singleColumnRow(gallery, entries, i)
i++
}
} else if (isTablet) {
if (i + 2 <= len) {
twoColumnRow(gallery, entries, i)
i += 2
} else {
singleColumnRow(gallery, entries, i)
i++
}
} else {
singleColumnRow(gallery, entries, i)
i++
}
rowNumber++
}
// show full image on click
const elements = document.getElementsByClassName('achievement-entry')
len = elements.length
for (let i = 0; i < len; i++) {
elements[i].onclick = function () {
const achievements = document.getElementsByClassName('achievement-entry')
const len2 = achievements.length
for (let j = 0; j < len2; j++) {
achievements[j].classList.toggle('hidden')
}
this.classList.toggle('achievement-details')
this.classList.toggle('hidden')
this.parentElement.classList.toggle('col-lg-12')
this.parentElement.classList.toggle('col-md-12')
this.parentElement.classList.toggle('col-sm-12')
if (this.children.SmallImage.hasAttribute('active')) {
const mainLogo = this.children.LargeImage.getAttribute('Style')
this.children.LargeImage.setAttribute('active', true)
this.children.SmallImage.removeAttribute('active')
this.setAttribute('Style', mainLogo)
} else {
const mainLogo = this.children.SmallImage.getAttribute('Style')
this.children.SmallImage.setAttribute('active', true)
this.children.LargeImage.removeAttribute('active')
this.setAttribute('Style', mainLogo)
}
if (this.children.caption !== undefined) {
this.children.caption.classList.toggle('hidden')
}
if (this.children['enlarge-icon'] !== undefined) {
this.getElementsByClassName('fa-xmark')[0].classList.toggle('hidden')
this.getElementsByClassName('fa-magnifying-glass-plus')[0].classList.toggle('hidden')
}
if (this.children['achievement-title'] !== undefined) {
this.children['achievement-title'].classList.toggle('hidden')
}
}
}
}
['DOMContentLoaded', 'resize'].forEach((event) =>
document.addEventListener(event, showAchievements))

View file

@ -0,0 +1,30 @@
// Show more rows in the taken courses table
function toggleCourseVisibility (elem) {
// find the courses
const courses = elem.parentNode.getElementsByClassName('course')
if (courses == null) {
return
}
// toggle hidden-course class from the third elements
for (const course of courses) {
if (course.classList.contains('hidden-course') || course.classList.contains('toggled-hidden-course')) {
course.classList.toggle('hidden-course')
course.classList.add('toggled-hidden-course')
}
}
// toggle the buttons visibility
const buttonsToToggle = elem.parentNode.getElementsByClassName('show-more-btn')
for (const buttonToToggle of buttonsToToggle) {
buttonToToggle.classList.toggle('hidden')
}
}
window.addEventListener('DOMContentLoaded', () => {
const els = Array.from(document.getElementsByClassName('btn'));
els.filter((el) => el != null && (el.id === 'show-more-btn' || el.id === 'show-less-btn')).forEach((el) =>
el.addEventListener('click', ({ target }) =>
toggleCourseVisibility(target)))
})

View file

@ -0,0 +1,8 @@
import './navbar'
import './sidebar'
import './education'
import './achievements'
import './projects'
import './skills'
import './publications'

View file

@ -0,0 +1,63 @@
const updateNavBar = () => {
const topNavbar = document.getElementById('top-navbar')
const navbarToggler = document.getElementById('navbar-toggler')
const themeIcon = document.getElementById('navbar-theme-icon-svg')
if (window.scrollY > 40) {
topNavbar?.classList.remove('transparent-navbar')
topNavbar?.classList.add('shadow')
navbarToggler?.classList.remove('navbar-dark')
navbarToggler?.classList.add('navbar-light')
// color theme selector a.k.a. dark mode
themeIcon?.classList.remove('svg-inverted')
// get the main logo from hidden img tag
const mainLogo = document.getElementById('main-logo')
if (mainLogo) {
const logoURL = mainLogo.getAttribute('src')
document.getElementById('logo')?.setAttribute('src', logoURL)
}
} else {
topNavbar?.classList.remove('shadow')
topNavbar?.classList.add('transparent-navbar')
navbarToggler?.classList.remove('navbar-light')
navbarToggler?.classList.add('navbar-dark')
// color theme selector a.k.a. dark mode
themeIcon?.classList.add('svg-inverted')
// get the inverted logo from hidden img tag
const invertedLogo = document.getElementById('inverted-logo')
if (invertedLogo) {
const logoURL = invertedLogo.getAttribute('src')
document.getElementById('logo')?.setAttribute('src', logoURL)
}
}
}
document.addEventListener('DOMContentLoaded', function () {
// change navbar style on scroll
// ==================================================
// When the user scrolls down 80px from the top of the document,
// resize the navbar's padding and the logo's font size
const topNavbar = document.getElementById('top-navbar')
if (topNavbar?.classList.contains('homepage')) {
document.addEventListener('scroll', updateNavBar)
updateNavBar()
}
// Creates a click handler to collapse the navigation when
// anchors in the mobile nav pop up are clicked
const navMain = document.getElementsByClassName('navbar-collapse')
Array.from(navMain).forEach(function (el) {
el.addEventListener('click', function (e) {
if (e.target.tagName === 'A' && !e.target.classList.contains("dropdown-toggle")) {
el.classList.add('collapse')
el.classList.remove('show')
}
})
})
})

View file

@ -0,0 +1,19 @@
import Filterizr from 'filterizr'
import { insertScript } from '../core'
document.addEventListener('DOMContentLoaded', () => {
// ================== Project cards =====================
// setup project filter buttons
const projectCardHolder = document.getElementById('project-card-holder')
if (projectCardHolder != null && projectCardHolder.children.length !== 0) {
// eslint-disable-next-line no-new
new Filterizr('.filtr-projects', {
layout: 'sameWidth',
controlsSelector: '.project-filtr-control'
})
}
})
// dynamically insert github buttons script.
insertScript('github-buttons', 'https://buttons.github.io/buttons.js')

View file

@ -0,0 +1,13 @@
import Filterizr from 'filterizr'
document.addEventListener('DOMContentLoaded', () => {
const publicationCardHolder = document.getElementById('publication-card-holder')
if (publicationCardHolder != null && publicationCardHolder.children.length !== 0) {
// eslint-disable-next-line no-new
new Filterizr('.filtr-publications', {
layout: 'sameWidth',
gridItemsSelector: '.pub-filtr-item',
controlsSelector: '.pub-filtr-control'
})
}
})

View file

@ -0,0 +1,38 @@
import { getDeviceState } from '../core/device'
// Toggle sidebar on click. Here, class "hide" open the sidebar
function toggleSidebar () {
const sidebar = document.getElementById('sidebar-section')
if (sidebar == null) {
return
}
if (sidebar.classList.contains('expanded')) {
sidebar.classList.remove('expanded')
} else {
// if toc-section is open, then close it first
const toc = document.getElementById('toc-section')
if (toc != null && toc.classList.contains('hide')) {
toc.classList.remove('hide')
}
// add "expanded" class
sidebar.classList.add('expanded')
// if it is mobile device. then scroll to top.
const { isMobile } = getDeviceState()
if (isMobile && sidebar.classList.contains('expanded')) {
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
if (document.getElementById('hero-area') != null) {
document.getElementById('hero-area').classList.toggle('hide')
}
}
}
if (document.getElementById('content-section') != null) {
document.getElementById('content-section').classList.toggle('hide')
}
}
window.addEventListener('DOMContentLoaded', () => {
// bind click event to #sidebar-toggler in navbar-2.html
const toggle = document.getElementById('sidebar-toggler')
if (toggle) toggle.addEventListener('click', toggleSidebar)
})

View file

@ -0,0 +1,15 @@
import Filterizr from 'filterizr'
document.addEventListener('DOMContentLoaded', () => {
// ================== Skill cards =====================
// setup skill filter buttons
const skillCardHolder = document.getElementById('skill-card-holder')
if (skillCardHolder != null && skillCardHolder.children.length !== 0) {
// eslint-disable-next-line no-new
new Filterizr('.filtr-skills', {
layout: 'sameWidth',
controlsSelector: '.skill-filtr-control'
})
}
})

View file

@ -0,0 +1,80 @@
// loading bootstrap
// TODO: Refactor to use bootstrap sass variable for theming.
@import 'bootstrap/scss/bootstrap';
@import 'include-media/dist/_include-media';
// The Mulish font, we use font-weight 300 - 700
@import '@fontsource/mulish/300';
@import '@fontsource/mulish/index'; // 400
@import '@fontsource/mulish/500';
@import '@fontsource/mulish/600';
@import '@fontsource/mulish/700';
@import './variables';
@import './mixins';
// components
@import './components/cards';
@import './components/buttons';
@import './components/links';
@import './components/texts';
@import './components/images';
@import './components/tables';
@import './components/misc';
// layouts
@import './layouts/main';
@import './layouts/list';
@import './layouts/single';
@import './layouts/notes';
@import './layouts/404';
// navigators
@import './navigators/navbar';
@import './navigators/sidebar';
// sections
@import './sections/home';
@import './sections/about';
@import './sections/skills';
@import './sections/experiences';
@import './sections/education';
@import './sections/projects';
@import './sections/recent-posts';
@import './sections/achievements';
@import './sections/accomplishments';
@import './sections/publications';
@import './sections/footer';
// override
@import './override';
// features and services, only imported if enabled.
{{ range $feature, $featureDef := site.Params.features }}
{{ with $featureDef }}
{{ $featureEnabled := or (not (isset . "enable")) .enable }}
{{ if $featureEnabled }}
{{ with (index site.Data.toha.styles $feature) }}
{{ range .styles }}
@import '{{.}}';
{{ end }}
{{ end }}
{{ range $service, $config := .services }}
{{ with (index site.Data.toha.styles $feature) }}
{{ with .services }}
{{ with (index . $service) }}
{{ range .styles }}
@import '{{ . }}';
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}

View file

@ -0,0 +1,217 @@
.btn-dark {
background-color: get-light-color('text-color') !important;
border-color: get-light-color('text-color') !important;
color: get-light-color('text-over-accent-color') !important;
@include transition();
&:hover,
&:focus {
background-color: get-light-color('accent-color') !important;
border-color: get-light-color('accent-color') !important;
@include transition();
}
}
.btn-info {
background-color: get-light-color('accent-color') !important;
color: get-light-color('text-over-accent-color') !important;
&:hover,
&:focus {
background-color: get-light-color('hover-over-accent-color') !important;
}
}
.btn-outline-info {
color: get-light-color('accent-color') !important;
border-color: get-light-color('accent-color') !important;
&:hover,
&:focus {
background-color: get-light-color('accent-color') !important;
color: get-light-color('text-over-accent-color') !important;
}
}
.btn-link {
color: get-light-color('accent-color');
&:hover,
&:focus {
color: get-light-color('hover-over-accent-color');
}
}
.nav-button {
background-color: transparent;
border: 1px solid transparent;
border-radius: 0.25rem;
color: get-light-color('muted-text-color');
}
.navbar-toggler {
border: none;
&:focus {
border: none;
outline: none !important;
box-shadow: none;
}
}
.tags {
text-align: left;
padding-top: 0.5em;
li {
font-size: 0.5em;
list-style-type: none;
display: inline-block;
margin-left: 0.2em;
margin-right: 0.2em;
margin-top: 0.6em;
margin-bottom: 0.6em;
}
a {
text-decoration: none !important;
}
}
.icon-button {
background-color: get-light-color('text-color');
color: get-light-color('text-over-accent-color') !important;
padding: 0.25rem 0.5rem;
line-height: 1.5;
border-radius: 0.2rem;
border: none;
&:hover,
&:focus {
background-color: get-light-color('accent-color') !important;
@include transition();
}
}
.filled-button {
background-color: get-light-color('accent-color') !important;
color: get-light-color('text-over-accent-color') !important;
@include transition();
&:hover,
&:active {
background-color: get-light-color('hover-over-accent-color') !important;
@include transition();
}
}
.copy-code-button {
float: right;
margin-top: 0.5em;
margin-left: -2.6em;
margin-right: 3em;
background-color: get-light-color('text-color') !important;
color: get-light-color('inverse-text-color') !important;
padding: 0.25rem 0.5rem;
line-height: 1.5;
border-radius: 0.2rem;
border: none;
&:hover,
&:focus {
background-color: get-light-color('accent-color') !important;
color: get-light-color('text-over-accent-color') !important;
@include transition();
}
&:focus {
&::before {
content: 'Copied!';
position: absolute;
padding: 0.3em;
border-radius: 0.2em;
margin-left: -5em;
margin-top: -0.2em;
background-color: get-light-color('accent-color') !important;
color: get-light-color('text-over-accent-color') !important;
@include transition();
}
}
}
html[data-theme='dark'] {
.btn-dark {
background-color: get-dark-color('accent-color') !important;
border-color: get-dark-color('accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
&:hover,
&:focus {
background-color: get-dark-color('hover-over-accent-color') !important;
border-color: get-dark-color('hover-over-accent-color') !important;
}
}
.btn-info {
background-color: get-dark-color('bg-card') !important;
color: get-dark-color('text-color') !important;
border: 1px solid get-dark-color('muted-text-color') !important;
&:hover,
&:focus {
background-color: get-dark-color('hover-over-accent-color') !important;
}
}
.btn-outline-info {
color: get-dark-color('accent-color') !important;
border-color: get-dark-color('accent-color') !important;
&:hover,
&:focus {
background-color: get-dark-color('accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
}
}
.btn-link {
color: get-dark-color('accent-color');
&:hover,
&:focus {
color: get-dark-color('hover-over-accent-color');
}
}
.nav-button {
color: get-dark-color('muted-text-color');
}
.icon-button {
background-color: get-dark-color('muted-text-color');
color: get-dark-color('text-over-accent-color') !important;
&:hover,
&:focus {
background-color: get-dark-color('accent-color') !important;
}
}
.filled-button {
background-color: get-dark-color('accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
&:hover,
&:active {
background-color: get-dark-color('hover-over-accent-color') !important;
}
}
.copy-code-button {
background-color: get-dark-color('bg-primary') !important;
color: get-dark-color('muted-text-color') !important;
&:hover,
&:focus,
&::before {
background-color: get-dark-color('accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
}
}
}

View file

@ -0,0 +1,129 @@
.card {
box-shadow: none;
@include transition();
overflow: hidden;
background: get-light-color('bg-card');
&:hover,
&:focus {
box-shadow: $box-shadow;
border: 1px solid get-light-color('bg-primary');
@include transition();
.card-img-top {
transform: scale(1.2);
object-fit: cover;
@include transition();
}
}
.card-head {
height: 172px;
display: flex;
overflow: hidden;
}
.card-title {
font-size: large;
}
.card-body {
text-align: left;
}
.card-img-top {
-o-object-fit: cover;
object-fit: cover;
@include transition();
}
.card-img-sm {
width: 32px;
height: 32px;
}
.card-img-xs {
width: 24px;
height: 24px;
}
.card-footer {
background: get-light-color('bg-card') !important;
a.btn {
text-decoration: none !important;
}
}
}
.post-card {
width: 24rem;
display: inline-flex;
.post-card-link {
text-decoration: none !important;
color: get-light-color('text-color');
}
.card {
margin: 5px;
position: relative;
&:hover,
&:focus {
.card-img-top {
transform: scale(1.2);
-o-object-fit: cover;
object-fit: cover;
@include transition();
}
}
.card-body {
padding: 1.25rem !important;
padding-bottom: 0 !important;
.post-summary {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
max-height: 144px;
/* fallback */
-webkit-line-clamp: 5;
/* number of lines to show */
-webkit-box-orient: vertical;
}
}
.card-footer {
margin-top: auto;
span {
font-size: 10pt;
color: get-light-color('muted-text-color') !important;
padding-top: 5px;
}
}
}
}
html[data-theme='dark'] {
.card {
background: get-dark-color('bg-card');
&:hover,
&:focus {
border: 1px solid rgba(get-dark-color('accent-color'), 0.2);
}
.card-footer {
background: get-dark-color('bg-card') !important;
}
}
.post-card {
.card {
.card-footer {
span {
color: get-dark-color('muted-text-color') !important;
}
}
}
}
}

View file

@ -0,0 +1,76 @@
img {
display: block;
max-width: 100%;
&.center {
margin-left: auto;
margin-right: auto;
}
&.left {
margin-right: auto;
}
&.right {
margin-left: auto;
}
}
figure {
border: 1px solid rgba(get-light-color('accent-color'), 0.1);
height: -moz-fit-content;
height: fit-content;
width: -moz-fit-content;
width: fit-content;
align-self: center;
margin: auto;
}
caption,
figcaption {
caption-side: bottom;
text-align: center;
color: get-light-color('muted-text-color');
}
html[data-theme='dark'] {
figure {
border: 1px solid rgba(get-dark-color('accent-color'), 0.1);
}
caption,
figcaption {
color: get-dark-color('muted-text-color');
}
}
.svg-inverted {
filter: invert(1);
}
.logo-holder {
height: 64px;
margin-bottom: 1em;
}
.company-logo {
max-height: 100%;
width: auto;
}
.light-logo {
display: inline;
}
.dark-logo {
display: none;
}
html[data-theme='dark'] {
.light-logo {
display: none;
}
.dark-logo {
display: inline;
}
}

View file

@ -0,0 +1,97 @@
a {
color: get-light-color('accent-color');
@include transition();
&:link {
text-decoration: none;
}
&:hover,
&:focus {
-webkit-text-decoration: get-light-color('hover-over-accent-color') underline;
text-decoration: get-light-color('hover-over-accent-color') underline;
color: get-light-color('hover-over-accent-color');
@include transition();
}
}
.list-link, .taxonomy-term {
text-decoration: none !important;
color: get-light-color('text-color');
@include transition();
&.active {
display: inline;
color: get-light-color('accent-color');
}
&:hover {
margin-left: 3px;
color: get-light-color('accent-color');
@include transition();
}
}
a.header-anchor {
text-decoration: none;
color: get-light-color('heading-color');
i,
svg {
font-size: 10pt;
color: get-light-color('text-color');
display: none;
margin-left: 0.5rem;
}
&:hover {
i,
svg {
display: inline-block;
}
}
code {
color: get-light-color('inline-code-color');
}
}
.anchor {
padding-top: 3.5rem;
}
html[data-theme='dark'] {
a {
color: get-dark-color('accent-color');
&:hover,
&:focus {
-webkit-text-decoration: get-dark-color('hover-over-accent-color') underline;
text-decoration: get-dark-color('hover-over-accent-color') underline;
color: get-dark-color('hover-over-accent-color');
}
}
.list-link, .taxonomy-term {
color: get-dark-color('text-color');
&:hover,
&.active {
color: get-dark-color('accent-color');
}
}
a.header-anchor {
color: get-dark-color('heading-color');
i,
svg {
color: get-dark-color('text-color');
}
code {
color: get-dark-color('inline-code-color');
}
}
}

View file

@ -0,0 +1,79 @@
.paginator {
width: -moz-fit-content;
width: fit-content;
margin: auto;
vertical-align: bottom;
.page-item {
& > a {
color: get-light-color('accent-color');
}
&.active,
&:hover > a {
background-color: get-light-color('accent-color') !important;
color: get-light-color('text-over-accent-color') !important;
}
}
}
pre {
margin: 5px;
& > code {
padding: 10px !important;
}
}
@include media('<=large') {
pre {
margin: 0px;
& > code {
padding: 0px !important;
}
}
}
$alert-types: ('success', 'info', 'warning', 'danger');
.alert {
@each $type in $alert-types {
&.#{$type} {
background: get-alert-bg-color($type, 'light');
svg {
width: 1.25rem;
height: 1.25rem;
color: get-alert-text-color($type, 'light') !important;
}
strong {
padding-left: 0.5rem;
color: get-alert-text-color($type, 'light') !important;
}
}
}
}
html[data-theme='dark'] {
.paginator {
.page-item {
& > a {
color: get-dark-color('accent-color');
}
&.active,
&:hover > a {
background-color: get-dark-color('accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
}
}
}
.alert {
@each $type in $alert-types {
&.#{$type} {
background: get-alert-bg-color($type, 'dark');
svg {
color: get-alert-text-color($type, 'dark') !important;
}
strong {
color: get-alert-text-color($type, 'dark') !important;
}
}
}
}
}

View file

@ -0,0 +1,114 @@
table {
border-radius: 0.1rem;
border: 1px solid rgba(get-light-color('accent-color'), 0.1);
min-width: 10rem;
padding: 0.1rem;
thead {
tr {
background: get-light-color('accent-color');
color: get-light-color('text-over-accent-color');
}
}
tbody {
tr {
height: 40px !important;
color: get-light-color('text-color');
&:nth-child(odd) {
background-color: get-light-color('bg-primary');
}
&:nth-child(even) {
background-color: rgba(get-light-color('accent-color'), 0.05);
}
}
}
th,
td {
padding-top: 0.2rem;
padding-bottom: 0.2rem;
padding-left: 0.5rem;
padding-right: 0.5rem;
}
}
.gist {
table {
border-radius: unset !important;
background: unset !important;
border: unset !important;
padding: unset !important;
tr {
height: unset !important;
}
th,
td {
padding: unset !important;
border-left: unset !important;
border-bottom: unset !important;
}
td,
tc {
border-right: 1px solid rgba(get-light-color('accent-color'), 0.1);
}
thead {
tr {
background: unset !important;
color: unset !important;
}
}
tbody {
tr {
&:nth-child(odd) {
background-color: unset !important;
}
&:hover {
background: unset !important;
}
}
}
}
}
html[data-theme='dark'] {
table {
border: 1px solid rgba(get-dark-color('accent-color'), 0.1);
thead {
tr {
background: get-dark-color('accent-color');
color: get-dark-color('text-over-accent-color');
}
}
tbody {
tr {
color: get-dark-color('text-color');
&:nth-child(odd) {
background-color: get-dark-color('bg-primary');
}
&:nth-child(even) {
background-color: rgba(get-dark-color('accent-color'), 0.05);
}
}
}
}
.gist {
&::-moz-selection{
background: get-dark-color('text-color');
color: get-dark-color('inverse-text-color');
}
&::selection{
background: get-dark-color('text-color');
color: get-dark-color('inverse-text-color');
}
table {
td,
tc {
border-right: 1px solid rgba(get-dark-color('accent-color'), 0.1);
}
}
}
}

View file

@ -0,0 +1,124 @@
h1,
h2,
h3,
h4,
h5 {
color: get-light-color('heading-color');
}
strong {
color: get-light-color('heading-color') !important;
}
p {
color: get-light-color('text-color');
text-align: left;
text-justify: inter-word;
}
input {
color: get-light-color('text-color');
}
blockquote {
border-left: 4px solid get-light-color('accent-color');
background-color: rgba(get-light-color('accent-color'), 0.05);
padding: 0.3rem;
padding-left: 1rem;
& > p {
color: get-light-color('text-color');
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
}
.text-justify {
text-align: justify;
}
.text-muted {
color: get-light-color('muted-text-color') !important;
}
.text-heading {
font-weight: bold;
color: get-light-color('muted-text-color');
}
.sub-title {
color: get-light-color('muted-text-color');
font-size: 10pt;
}
::-moz-selection {
@include selection-color();
}
::selection {
@include selection-color();
}
@include media('<=small') {
h1 {
font-size: 2.2rem;
}
}
@include media('<=tiny') {
h1 {
font-size: 1.5rem;
}
}
html[data-theme='dark'] {
h1,
h2,
h3,
h4,
h5,
h6 {
color: get-dark-color('heading-color');
}
strong {
color: get-dark-color('heading-color') !important;
}
p {
color: get-dark-color('text-color');
}
input {
color: get-dark-color('text-color');
}
blockquote {
border-left: 4px solid get-dark-color('accent-color');
background-color: rgba(get-dark-color('accent-color'), 0.05);
color: get-dark-color('text-color');
}
.text-muted {
color: get-dark-color('muted-text-color') !important;
}
.text-heading {
color: get-dark-color('muted-text-color');
}
.sub-title {
color: get-dark-color('muted-text-color');
}
::-moz-selection {
@include selection-color($theme: 'dark');
}
::selection {
@include selection-color($theme: 'dark');
}
li,
ul {
color: get-dark-color('text-color');
}
}

View file

@ -0,0 +1,64 @@
body.kind-404 {
#sidebar-toggler {
display: none;
}
.notFound {
padding-top: 5rem;
text-align: center;
padding-bottom: 8rem;
img {
height: 500px;
}
h1 {
font-style: italic;
}
.message {
position: absolute;
max-width: 20rem;
top: 40%;
left: 30%;
}
}
@include media('<=very-large') {
.notFound .message {
top: 50%;
left: 25%;
}
}
@include media('<=large') {
.notFound .message {
top: 46%;
left: 25%;
}
}
@include media('<=medium') {
.notFound {
img {
height: 400px;
}
.message {
top: 20rem;
left: 4rem;
}
}
}
@include media('<=small') {
.notFound {
img {
height: 250px;
}
.message {
top: 20rem;
left: 2rem;
}
}
}
}

View file

@ -0,0 +1,207 @@
/* in Hugo, Page kind can be either "section" or "page".*/
/* if it is section, then it's a page with a list of items, for example /posts*/
/* if it is page, then it is a single page.*/
body.kind-section,
body.kind-term,
body.kind-page {
.wrapper {
display: flex;
padding: 0;
margin: 0;
width: 100%;
.content-section {
flex: 80%;
order: 2;
/* background-color: lightseagreen; */
padding: 0;
position: relative;
padding-left: 0.5rem;
padding-right: 0.5rem;
.content {
padding: 0;
position: relative;
padding-top: 2rem;
min-height: 130vh;
.post-card-holder {
margin-top: 32px;
margin-left: auto;
padding: 0;
display: flex;
flex-flow: wrap;
}
.paginator {
width: -moz-fit-content;
width: fit-content;
margin: auto;
.pagination {
margin-left: auto;
margin-right: auto;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
width: -moz-fit-content;
width: fit-content;
}
.page-item {
& > a {
color: get-light-color('accent-color');
}
&.active > a {
background-color: get-light-color('accent-color');
color: get-light-color('text-over-accent-color');
}
}
}
}
}
}
@include media('<medium') {
.post-card {
margin-left: 1%;
margin-right: 1%;
width: 98%;
}
.wrapper {
padding-left: 0px;
padding-right: 0px;
flex-flow: column;
overflow: hidden;
.content-section {
flex: 100%;
max-width: 100%;
padding-left: 0;
width: 100%;
.content {
width: 100%;
padding-left: 0;
padding-right: 0;
@include transition();
}
&.hide {
.content {
margin-top: 0;
padding-top: 0;
@include transition();
}
.post-card-holder {
margin-top: 0.5rem;
@include transition();
}
}
}
}
}
@include media('>=medium', '<large') {
.post-card {
width: calc(100% / 2);
}
.content-section.hide {
.post-card {
width: 100%;
}
}
}
@include media('>=large', '<very-large') {
.post-card {
width: calc(100% / 3);
}
.wrapper {
padding-left: 0px;
padding-right: 0px;
.content-section {
padding: 0;
flex: 60%;
order: 2;
padding-bottom: 0.5rem;
.content {
overflow: hidden;
.post-card-holder {
margin: 0;
margin-top: 1.5rem;
padding-left: 0.5rem;
padding-right: 0.5rem;
position: relative;
@include transition();
}
}
.container {
max-width: 100%;
}
&.hide {
.post-card {
width: calc(100% / 2);
}
}
}
}
}
@include media('>=very-large', '<extra-large') {
.post-card {
width: calc(100% / 4);
}
.post-card-holder {
margin-left: 0px;
}
}
@include media('>=extra-large') {
.post-card {
width: calc(100% / 5);
}
.content-section {
padding-left: 1rem;
padding-right: 1rem;
flex: 85%;
max-width: 85%;
}
}
}
html[data-theme='dark'] {
body.kind-section,
body.kind-term,
body.kind-page {
.wrapper {
.content-section {
.content {
.paginator {
.page-item {
& > a {
background-color: get-dark-color('bg-card') !important;
color: get-dark-color('text-color') !important;
border: 1px solid get-dark-color('muted-text-color') !important;
text-decoration: none !important;
&:hover {
background-color: get-dark-color('hover-over-accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
}
}
&.active > a {
background-color: get-dark-color('accent-color') !important;
color: get-dark-color('text-over-accent-color') !important;
}
}
}
}
}
}
}
}

View file

@ -0,0 +1,114 @@
/*
Removed smooth scrolling implementation in main.js in favor of
simpler css approach.
See: https://css-tricks.com/snippets/jquery/smooth-scrolling/
*/
*,
html {
scroll-behavior: smooth !important;
}
body {
position: relative;
}
/*
Fixes anchor overlapping with header.
See: https://stackoverflow.com/questions/4086107/fixed-page-header-overlaps-in-page-anchors
*/
:target::before {
content: '';
display: block;
height: 2em; /* fixed header height*/
margin: -2em 0 0; /* negative fixed header height */
}
body {
background-color: get-light-color('bg-primary');
font-family: 'Mulish';
}
.bg-primary {
background-color: get-light-color('bg-primary') !important;
}
.bg-secondary {
background-color: get-light-color('bg-secondary') !important;
}
.flag-icon {
width: 16px !important;
margin-top: 3px;
margin-right: 3px;
}
.hidden {
display: none !important;
}
.content {
ul > ol,
ol > ul,
ul > ul,
ol > ol,
li > ol,
li > ul {
padding-inline-start: 1rem;
}
}
kbd {
background-color: get-light-color('accent-color');
color: get-light-color('text-over-accent-color');
}
mark {
background-color: get-light-color('highlight-color');
border-radius: 0.25rem;
}
@include media('<=small') {
.skills-section,
.projects-section,
.publications-section {
.container {
padding-left: 0.3rem;
padding-right: 0.3rem;
}
}
.section-holder {
padding-left: 5px;
padding-right: 5px;
}
.skills-section,
.projects-section,
.recent-posts-section,
.achievements-section,
.publications-section {
padding-left: 0;
padding-right: 0;
}
}
html[data-theme='dark'] {
body {
background-color: get-dark-color('bg-primary');
color: get-dark-color('text-color');
}
.bg-primary {
background-color: get-dark-color('bg-primary') !important;
}
.bg-secondary {
background-color: get-dark-color('bg-secondary') !important;
}
kbd {
background-color: get-dark-color('accent-color');
color: get-dark-color('text-over-accent-color');
}
mark {
background-color: get-dark-color('highlight-color');
}
}

View file

@ -0,0 +1,199 @@
body.type-notes {
.wrapper {
display: flex;
padding: 0;
margin: 0;
width: 100%;
.content-section {
flex: 80%;
max-width: 80%;
order: 2;
/* background-color: lightseagreen; */
padding: 0;
position: relative;
padding-left: 0.5rem;
padding-right: 0.5rem;
.content {
padding: 0;
position: relative;
padding-top: 2rem;
min-height: 130vh;
.note-card-holder {
margin-top: 2rem;
display: flex;
flex-flow: wrap;
margin-left: auto;
padding: 0;
.note-card {
align-self: flex-start;
flex: auto;
.card {
margin: 0.5rem;
.card-body {
padding: 1rem;
pre {
margin: 0;
border-radius: 3px;
}
}
}
}
.note-title {
padding-left: 1rem;
color: get-light-color('accent-color');
&:before {
content: '';
display: inline-block;
width: 98%;
height: 100%;
margin-bottom: -26px;
border-bottom: 1px solid get-light-color('accent-color');
}
span {
background: get-light-color('bg-secondary');
padding-right: 5px;
}
}
}
}
}
}
@include media('<=extra-large') {
.note-card-holder {
.note-card {
flex: 30%;
}
}
}
@include media('<=large') {
.wrapper {
padding-left: 0px;
padding-right: 0px;
.content-section {
padding: 0;
max-width: 100%;
order: 2;
padding-bottom: 0.5rem;
@include transition();
.content {
overflow: hidden;
.note-card-holder {
margin: 0;
margin-top: 1.5rem;
padding-left: 0.5rem;
padding-right: 0.5rem;
position: relative;
@include transition();
.note-card {
flex: 50%;
}
}
}
.container {
max-width: 100%;
}
&.hide {
max-width: 60%;
@include transition();
}
}
}
}
@include media('<=medium') {
.note-card-holder .note-card {
max-width: 50%;
min-width: 50%;
@include transition();
}
.content-section.hide .note-card-holder .note-card {
max-width: 100%;
min-width: 100%;
@include transition();
}
}
@include media('<=small') {
.wrapper {
padding-left: 0px;
padding-right: 0px;
flex-flow: column;
overflow: hidden;
.content-section {
.content {
width: 100%;
padding-left: 0;
padding-right: 0;
@include transition();
.note-card-holder {
margin-top: 0.5rem;
@include transition();
.note-card {
flex: 100%;
max-width: 100%;
@include transition();
}
}
}
&.hide {
flex: 100%;
max-width: 100%;
padding-left: 0;
width: 100%;
@include transition();
.content {
.note-card-holder {
margin-top: 0;
padding-top: 0;
@include transition();
}
}
}
}
}
}
}
html[data-theme='dark'] {
body.type-notes {
.wrapper {
.content-section {
.content {
.note-card-holder {
.note-title {
color: get-dark-color('accent-color');
&:before {
border-bottom: 1px solid get-dark-color('accent-color');
}
span {
background: get-dark-color('bg-secondary');
padding-right: 5px;
}
}
}
}
}
}
}
}

View file

@ -0,0 +1,389 @@
body.kind-page {
background-color: get-light-color('bg-secondary');
position: relative;
.wrapper {
display: flex;
padding: 0;
margin: 0;
width: 100%;
justify-content: space-between;
position: relative;
.content-section {
flex: 60%;
max-width: 60%;
order: 2;
padding: 0;
position: relative;
padding-left: 1rem;
padding-right: 1rem;
.content {
padding-top: 1.5rem;
.read-area {
background-color: get-light-color('bg-primary');
.hero-area {
margin-top: 3rem;
width: 100%;
height: 400px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.page-content {
width: 100%;
position: relative;
top: -4.5rem;
padding: 15px;
.author-profile {
position: relative;
align-content: center;
text-align: center;
.author-name {
margin-top: 0px;
}
p {
text-align: center;
}
img {
height: 120px;
width: 120px;
margin-left: auto;
margin-right: auto;
-o-object-fit: cover;
object-fit: cover;
background-color: get-light-color('bg-primary');
padding: 5px;
}
}
.title {
text-align: center;
}
.tags {
text-align: center;
}
.post-content {
padding: 15px;
h1,
h2 {
margin-top: 1.4rem;
}
h3,
h4,
h5,
h6 {
margin-top: 1.3rem;
}
}
.next-prev-navigator {
padding-left: 1rem !important;
padding-right: 1rem !important;
.next-article {
text-align: right;
}
.next-prev-text {
white-space: break-spaces;
}
a {
text-decoration: none !important;
}
}
}
}
}
}
.toc-section {
flex: 20%;
order: 3;
max-width: 20%;
@include transition();
.toc-holder {
position: sticky;
top: 4.5rem;
padding-top: 1rem;
overflow-x: hidden;
overflow-y: auto;
background-color: get-light-color('bg-primary');
margin-right: 0.5rem;
@include transition();
.toc {
position: relative;
padding-top: 0px;
@include transition();
nav {
padding-top: 0px;
margin-top: 0px;
display: flex;
flex-direction: column;
align-items: flex-start;
@include transition();
ul {
list-style: none;
padding-left: 0.5rem;
margin-bottom: 0rem;
width: 100%;
}
.nav-link {
padding: 0;
padding-left: 0.5rem;
text-decoration: none !important;
@include transition();
color: get-light-color('text-color');
&:hover,
&:focus,
&.active {
padding-left: 1rem;
padding-right: 0.5rem;
background-color: get-light-color('accent-color');
color: get-light-color('text-over-accent-color');
@include transition();
}
}
}
}
}
}
.disquss {
padding: 10px;
}
.share-buttons {
@include brand-background();
.btn {
border: none !important;
}
}
}
.btn-improve-page {
text-align: right;
}
#scroll-to-top {
position: fixed;
border: none;
bottom: 0rem;
right: 1rem;
color: get-light-color('accent-color');
font-size: 24pt;
z-index: 900000;
visibility: hidden;
&:hover {
color: get-light-color('hover-over-accent-color');
}
&.show {
visibility: visible;
}
i {
box-shadow: $box-shadow;
background-color: get-light-color('bg-primary');
border-radius: 50%;
}
}
@include media('<=ultra-large') {
.content-section {
flex: 65%;
max-width: 65%;
}
.content-section .container {
max-width: 100%;
}
}
@include media('<very-large') {
.container {
max-width: 100%;
}
.wrapper {
padding-left: 0px;
padding-right: 0px;
.content-section {
padding: 0;
flex: 60%;
max-width: 100%;
order: 2;
overflow: hidden;
.content {
overflow: hidden;
.read-area {
.hero-area {
height: 300px;
margin-top: 1rem;
}
.page-content {
padding: 0px;
}
}
}
}
.toc-section {
display: none;
}
.share-buttons {
max-width: 48%;
}
.btn-improve-page {
margin-right: 1rem;
max-width: 48%;
}
#disqus_thread,
.dsq-brlink {
padding: 5px;
}
}
}
@include media('<=small') {
.wrapper {
padding: 0px;
display: flex;
flex-direction: column;
.content-section {
padding: 0;
flex: 100%;
max-width: 100%;
order: 3;
.content {
.read-area {
.hero-area {
height: 200px;
margin-top: 1rem;
}
.page-content {
padding: 0px;
.next-prev-navigator {
.previous-article {
text-align: center;
margin: 5px;
a {
width: 100%;
}
}
.next-article {
text-align: center;
margin: 5px;
a {
width: 100%;
}
}
}
}
}
}
}
.share-buttons {
max-width: 100%;
}
.btn-improve-page {
text-align: start;
max-width: 100%;
}
#scroll-to-top {
right: 0.5rem;
}
#disqus_thread,
.dsq-brlink {
padding: 5px;
}
}
}
}
html[data-theme='dark'] {
body.kind-page {
background-color: get-dark-color('bg-secondary');
.wrapper {
.content-section {
.content {
.read-area {
background-color: get-dark-color('bg-primary');
.page-content {
.author-profile {
img {
background-color: get-dark-color('bg-primary');
}
}
}
}
}
}
.toc-section {
.toc-holder {
background-color: get-dark-color('bg-primary');
hr {
background-color: get-dark-color('muted-text-color');
}
.toc {
nav {
.nav-link {
color: get-dark-color('text-color');
&:hover,
&:focus,
&.active {
background-color: get-dark-color('accent-color');
color: get-dark-color('text-over-accent-color');
}
}
}
}
}
}
#scroll-to-top {
color: get-dark-color('accent-color');
&:hover {
color: get-dark-color('hover-over-accent-color');
}
i {
background-color: get-dark-color('bg-primary');
}
}
}
}
}

72
assets/styles/mixins.scss Normal file
View file

@ -0,0 +1,72 @@
@function get-color($mode, $key) {
@if map-has-key($themes, $mode) {
$theme: map-get($themes, $mode);
@if map-has-key($theme, $key) {
@return map-get($theme, $key);
}
}
@return red; // default color for debugging purpose
}
@function get-light-color($key) {
@return get-color('light', $key);
}
@function get-dark-color($key) {
@return get-color('dark', $key);
}
@mixin reset-list {
margin: 0;
padding: 0;
list-style: none;
}
@mixin section-title-adjustment() {
h1 > span {
margin-top: -55px; /* Size of fixed header */
padding-bottom: 55px;
display: block;
}
}
@mixin brand-background() {
@each $brand, $color in $brand-colors {
.bg-#{$brand} {
background-color: $color;
}
}
}
@mixin transition() {
transition: all $transition-type $transition-duration;
}
@mixin selection-color($theme: 'light') {
background: get-light-color('accent-color');
color: get-light-color('text-over-accent-color');
@if $theme == 'dark' {
background: get-dark-color('accent-color');
color: get-dark-color('text-over-accent-color');
}
}
@function get-alert-bg-color($type, $mode) {
$colors: map-get($alerts, $type);
@if $mode == 'light' {
@return map-get($colors, 'bg-color');
} @else {
@return map-get($colors, 'text-color');
}
@return red;
}
@function get-alert-text-color($type, $mode) {
$colors: map-get($alerts, $type);
@if $mode == 'light' {
@return map-get($colors, 'text-color');
} @else {
@return map-get($colors, 'bg-color');
}
@return red;
}

View file

@ -0,0 +1,286 @@
@mixin nav-item-hover-effect($theme: 'light') {
color: get-light-color('accent-color') !important;
border-bottom: 2px solid get-light-color('accent-color') !important;
background: rgba(get-light-color('accent-color'), 0.1);
@include transition();
@if $theme == 'dark' {
color: get-dark-color('accent-color') !important;
border-bottom: 2px solid get-dark-color('accent-color') !important;
background: rgba(get-dark-color('accent-color'), 0.1);
}
}
.top-navbar {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 50px;
z-index: 99999;
margin: 0px;
padding-top: 0.4rem;
color: get-light-color('heading-color');
text-align: center;
background-color: get-light-color('bg-primary');
@include transition();
.navbar-brand {
color: get-light-color('heading-color');
text-decoration: none !important;
font-weight: 600;
img {
width: 42px;
padding: 5px;
margin-left: -10px;
}
}
img {
display: inline-block;
}
.sidebar-icon {
width: 32px;
height: 32px;
filter: invert(0.5);
}
li {
a {
color: get-light-color('heading-color');
text-decoration: none !important;
font-weight: 500;
@include transition();
border-bottom: 2px solid transparent;
&:hover {
@include nav-item-hover-effect();
}
}
}
.navbar-nav .active {
@include nav-item-hover-effect();
}
#top-navbar-divider {
margin-top: 10px;
background-color: get-light-color('muted-text-color');
height: 20px;
width: 2px;
}
.dropdown-menu {
box-shadow: $box-shadow;
border: 1px solid rgba(get-light-color('accent-color'), 0.1);
max-height: 0vh;
overflow: hidden;
display: block;
visibility: hidden;
@include transition();
&.show {
max-height: 100vh;
visibility: visible;
@include transition();
a {
color: get-light-color('heading-color') !important;
&:hover {
@include nav-item-hover-effect();
}
}
}
}
.navbar-collapse {
margin-top: -5px;
&.show,
&.collapsing {
background-color: get-light-color('bg-primary');
padding-left: 1rem;
li {
a {
color: get-light-color('heading-color');
font-weight: 500;
@include transition();
}
}
.navbar-nav {
.active {
color: get-light-color('accent-color');
}
a:hover {
color: get-light-color('accent-color');
}
}
}
}
&.transparent-navbar {
background-color: transparent !important;
.navbar-brand {
color: get-light-color('inverse-text-color');
font-weight: 600;
}
li {
a {
color: get-light-color('inverse-text-color');
}
}
.feather-menu {
stroke: get-light-color('inverse-text-color');
}
}
#themeMenu {
width: 25px;
min-width: 3rem;
img.theme-icon {
display: block !important;
margin-left: auto !important;
margin-right: auto !important;
}
}
@include media('<very-large') {
height: -moz-fit-content;
height: fit-content;
padding-bottom: 0px;
padding-top: 0px;
.container {
max-width: 100%;
}
&.transparent-navbar {
.navbar-nav .active,
li a:hover {
color: get-light-color('accent-color');
@include transition();
}
}
#top-navbar-divider {
height: auto;
width: auto;
margin-right: 15px;
border-top: 1px solid #c0ccda;
}
.dropdown-menu {
text-align: center;
margin-right: 1rem;
@include transition();
}
.languageSelector {
position: fixed;
right: 0.5rem;
bottom: 1rem;
z-index: 10000000;
background-color: get-light-color('bg-primary');
box-shadow: $box-shadow;
}
#themeMenu {
width: 100%;
}
}
@include media('<=small') {
.dropdown-menu {
margin-left: -1rem;
margin-right: 0rem;
}
}
}
.feather-sidebar,
.feather-menu {
width: 1.5rem;
height: 1.5rem;
stroke: get-light-color('text-color');
}
html[data-theme='dark'] {
.top-navbar {
color: get-dark-color('heading-color');
background-color: get-dark-color('bg-primary');
.navbar-brand {
color: get-dark-color('heading-color');
}
.sidebar-icon {
filter: invert(0.5);
}
li {
a {
color: get-dark-color('heading-color');
}
}
#top-navbar-divider {
background-color: get-dark-color('muted-text-color');
}
.dropdown-menu {
box-shadow: $box-shadow;
background-color: get-dark-color('bg-card');
border: 1px solid rgba(get-dark-color('accent-color'), 0.1);
&.show {
a {
color: get-dark-color('heading-color') !important;
}
}
}
.navbar-collapse {
&.show,
&.collapsing {
background-color: get-dark-color('bg-primary');
li {
a {
color: get-dark-color('heading-color');
}
}
.navbar-nav {
.active {
color: get-dark-color('accent-color');
}
a:hover {
color: get-dark-color('accent-color');
}
}
}
}
&.transparent-navbar {
.navbar-brand {
color: get-dark-color('text-color');
}
li {
a {
color: get-dark-color('text-color');
}
}
.feather-menu {
stroke: get-dark-color('text-color');
}
}
}
img.theme-icon {
filter: invert(1);
}
.feather-sidebar,
.feather-menu {
stroke: get-dark-color('text-color');
}
}

View file

@ -0,0 +1,301 @@
.sidebar-section {
order: 1;
flex: 20%;
max-width: 20%;
@include transition();
.sidebar-holder {
top: 2.5rem;
position: sticky;
background-color: get-light-color('bg-primary');
height: 100vh;
overflow: auto;
box-shadow: $box-shadow;
@include transition();
.sidebar {
background: get-light-color('bg-primary');
height: 100vh;
@include transition();
#search-box {
margin-left: 5%;
margin-right: 5%;
width: -webkit-fill-available;
height: 35px;
padding-left: 15px;
margin-top: 30px;
margin-bottom: 10px;
border-radius: 5px;
background-color: get-light-color('bg-secondary');
@include transition();
border: 1px solid rgba(get-light-color('accent-color'), 0.1);
&:focus {
border: 1pt solid get-light-color('accent-color');
outline: none;
}
}
#list-heading {
padding-left: 0px !important;
}
.sidebar-tree {
padding-left: 1rem;
position: relative;
width: -moz-max-content;
width: max-content;
.tree {
margin: 0;
padding: 0;
list-style: none;
li {
margin: 0;
padding: 0 1em;
line-height: 2em;
color: get-light-color('heading-color');
position: relative;
i {
color: get-light-color('heading-color');
font-size: 12px;
margin-right: 5px;
}
}
.shift-right {
margin-left: 5px;
}
.subtree {
padding-left: 0.7rem;
&:before {
content: '';
display: block;
width: 0;
position: absolute;
top: 2.5rem;
left: 1.5rem;
bottom: 0.9rem;
border-left: 1px solid get-light-color('text-color');
}
li {
&:before {
content: '';
display: block;
width: 18px;
height: 0;
border-top: 1px solid get-light-color('text-color');
margin-top: -1px;
position: absolute;
top: 18px;
left: -2px;
}
&:last-child:before {
background: get-light-color('bg-primary');
height: auto;
top: 1.1rem;
bottom: 0;
}
ul {
position: relative;
padding-left: 0.5rem;
display: none;
list-style: none;
&.active {
display: block;
}
&:before {
content: '';
display: block;
width: 0;
position: absolute;
top: -8px;
left: 6px;
bottom: 0.8rem;
border-left: 1px solid;
}
}
}
}
}
}
}
}
@include media('<=ultra-large') {
flex: 15%;
max-width: 15%;
.sidebar-holder {
max-width: 100%;
}
}
@include media('<=extra-large') {
.sidebar-holder {
max-width: 20rem;
}
}
@include media('<=very-large') {
.sidebar-tree {
margin-left: 1rem;
}
}
@include media('<very-large') {
flex: 0%;
max-width: 0%;
min-height: 100vh;
@include transition();
.sidebar-holder {
position: sticky;
top: 2.5rem;
width: 100%;
padding-bottom: 1rem;
max-height: calc(100vh - 2.5rem);
}
&.expanded {
flex: 30%;
max-width: 30%;
margin-right: 0.5rem;
@include transition();
}
}
@include media('<=medium') {
flex: 0%;
max-width: 0%;
min-height: 100vh;
@include transition();
.sidebar-holder {
position: sticky;
top: 2.5rem;
width: 100%;
}
&.expanded {
flex: 40%;
max-width: 40%;
margin-right: 0.5rem;
@include transition();
}
}
@include media('<=small') {
width: 100%;
min-height: 0;
max-height: 0;
max-width: 100%;
@include transition();
.sidebar-holder {
max-height: 0;
height: -moz-fit-content;
height: fit-content;
overflow: hidden;
max-width: 100%;
@include transition();
.sidebar {
position: relative;
height: -moz-fit-content;
height: fit-content;
max-height: -moz-fit-content;
max-height: fit-content;
width: 100vw;
min-height: 0;
overflow: hidden;
@include transition();
.sidebar-tree {
margin-left: 0rem;
max-height: 0;
@include transition();
}
}
}
&.expanded {
margin-top: 2rem;
position: relative;
height: -moz-fit-content;
height: fit-content;
flex: none;
max-height: 300vh;
max-width: 100%;
@include transition();
.sidebar-holder {
max-height: 200vh;
@include transition();
.sidebar-tree {
max-height: 200vh;
@include transition();
}
}
}
}
}
.feather-plus-circle,
.feather-minus-circle {
width: 1rem;
height: 1rem;
}
html[data-theme='dark'] {
.sidebar-section {
.sidebar-holder {
background-color: get-dark-color('bg-primary');
.sidebar {
background: get-dark-color('bg-primary');
#search-box {
background-color: get-dark-color('bg-secondary');
border: 1px solid rgba(get-dark-color('accent-color'), 0.1);
&:focus {
border: 1pt solid get-dark-color('accent-color');
}
}
.sidebar-tree {
.tree {
li {
color: get-dark-color('heading-color');
i {
color: get-dark-color('heading-color');
}
}
.subtree {
&:before {
border-left: 1px solid get-dark-color('text-color');
}
li {
&:before {
border-top: 1px solid get-dark-color('text-color');
}
&:last-child:before {
background: get-dark-color('bg-primary');
}
}
}
}
}
}
}
}
}

View file

@ -0,0 +1,15 @@
/* override this file for custom css */
/* you can import bootstrap mixins */
// @import 'bootstrap/scss/mixins';
// Example usage
// .some-class {
// @include media-breakpoint-up(sm) {
// // Larger than sm: 576px
// display: inline;
// }
// @include media-breakpoint-down(md) {
// // Smaller than md: 768px
// display: block;
// }
// }

View file

@ -0,0 +1,232 @@
@use 'sass:map';
$progress-bar-colors: (
'blue': #048dff,
'yellow': #eebb4d,
'pink': #ed63d2,
'green': #2dca73,
'sky': #00c9e3,
'orange': #ff7c7c,
);
@mixin circular-progress-bar-color() {
@each $color, $value in $progress-bar-colors {
&.#{$color} {
.circular-progress-bar {
border-color: $value;
}
}
}
}
@mixin circular-progress-animation-breakpoints() {
$progress: 0;
$duration: 0;
$delay: 1.8;
@for $i from 0 through 20 {
.circular-progress-percentage-#{$progress} {
animation: circular-loading-#{$progress} #{$duration}s linear forwards 1.8s;
}
.circular-progress-percentage-#{$progress}-delay {
animation-delay: #{$delay}s;
}
$progress: $progress + 5;
$duration: $duration + 0.18;
$delay: $duration + 1.8;
}
}
@mixin circular-progress-animation-keyframes($progress, $degree, $keyframes) {
@for $i from 0 through $keyframes {
@keyframes circular-loading-#{$progress} {
0% {
transform: rotate(0);
}
100% {
transform: rotate(#{$degree}deg);
}
}
$progress: $progress + 5;
$degree: $degree + 18;
}
}
.about-section {
.social-link {
list-style: none;
padding: 0.2rem;
a {
font-size: 1.5rem;
color: get-light-color('text-color');
padding: 0.5rem;
&:hover {
color: get-light-color('accent-color');
@include transition();
}
}
}
.circular-progress {
width: 150px;
height: 150px;
line-height: 150px;
background: none;
margin: 0 auto;
box-shadow: none;
position: relative;
&::after {
content: '';
width: 100%;
height: 100%;
border-radius: 50%;
border: 12px solid get-light-color('bg-primary');
position: absolute;
top: 0;
left: 0;
}
span {
width: 50%;
height: 100%;
overflow: hidden;
position: absolute;
top: 0;
z-index: 1;
}
.circular-progress-bar {
width: 100%;
height: 100%;
background: none;
border-width: 12px;
border-style: solid;
position: absolute;
top: 0;
}
.circular-progress-left {
left: 0;
.circular-progress-bar {
left: 100%;
border-top-right-radius: 80px;
border-bottom-right-radius: 80px;
border-left: 0;
transform-origin: center left;
}
}
.circular-progress-right {
right: 0;
.circular-progress-bar {
left: -100%;
border-top-left-radius: 80px;
border-bottom-left-radius: 80px;
border-right: 0;
transform-origin: center right;
}
}
.circular-progress-value {
width: 90%;
height: 90%;
padding: 1rem;
border-radius: 50%;
background: get-light-color('text-color');
font-size: 1rem;
color: get-light-color('bg-primary');
line-height: initial;
text-align: center;
position: absolute;
top: 5%;
left: 5%;
display: flex;
justify-content: center;
align-items: center;
}
@include circular-progress-bar-color();
@include circular-progress-animation-breakpoints();
@include circular-progress-animation-keyframes($progress: 0, $degree: 0, $keyframes: 20);
}
@include media('<=large') {
.circular-progress {
margin-bottom: 20px;
}
}
@include media('<=medium') {
.about-section.container {
max-width: 100%;
}
.circular-progress {
width: 135px;
height: 135px;
}
}
@include media('<=small') {
.circular-progress {
width: 150px;
height: 150px;
}
.circular-progress .circular-progress-value {
font-size: 1rem;
}
}
@include media('<=tiny') {
.col-6 {
flex: auto;
max-width: 100%;
}
.social-link {
flex-wrap: wrap;
}
.certificate-badge {
padding-left: 2rem;
padding-right: 2rem;
}
.circular-progress {
width: 200px;
height: 200px;
.circular-progress-left .circular-progress-bar {
border-top-right-radius: 100px;
border-bottom-right-radius: 100px;
}
.circular-progress-right .circular-progress-bar {
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
}
}
}
}
html[data-theme='dark'] {
.about-section {
.social-link {
a {
color: get-dark-color('text-color');
&:hover {
color: get-dark-color('accent-color');
}
}
}
.circular-progress {
&::after {
border: 12px solid get-dark-color('bg-primary');
}
.circular-progress-value {
background: get-dark-color('inverse-text-color');
color: get-dark-color('text-color');
}
}
}
}

View file

@ -0,0 +1,78 @@
.accomplishments-section {
@include section-title-adjustment();
.card {
background: get-light-color('bg-card');
border-top: 2px solid get-light-color('accent-color');
height: 100%;
&:hover,
&:focus {
border-top: 2px solid get-light-color('hover-over-accent-color');
}
.card-header {
background: none;
border: none;
.sub-title {
color: get-light-color('muted-text-color');
margin-top: 0.4rem;
}
}
.card-body {
padding: 0;
padding-left: 1rem;
padding-right: 1rem;
}
.card-footer {
background: get-light-color('bg-card');
border: none;
padding: 0;
padding-left: 0.7rem;
padding-bottom: 0.3rem;
}
}
@include media('<=large') {
width: 100%;
padding: 0;
padding-left: 0.2rem;
padding-right: 0.2rem;
margin-top: 2rem;
.container {
max-width: 100%;
}
}
@include media('<=small') {
flex: 100%;
max-width: 100%;
}
}
html[data-theme='dark'] {
.accomplishments-section {
.card {
background: get-dark-color('bg-card');
border-top: 2px solid get-dark-color('accent-color');
&:hover,
&:focus {
border-top: 2px solid get-dark-color('hover-over-accent-color');
}
.card-header {
.sub-title {
color: get-dark-color('muted-text-color');
}
}
.card-footer {
background: get-dark-color('bg-card');
}
}
}
}

View file

@ -0,0 +1,159 @@
.achievements-section {
@include section-title-adjustment();
.container {
padding-top: 0.5rem;
}
#gallery {
.achievement-entry {
margin-top: 5px;
margin-bottom: 5px;
margin-left: 7px;
margin-right: 7px;
z-index: 1;
background-color: get-light-color('bg-secondary');
background-size: cover;
background-repeat: no-repeat;
background-position: center;
position: relative;
overflow: hidden;
@include transition();
.title {
color: get-light-color('inverse-text-color');
background-color: rgba(get-light-color('bg-primary-inverse'), 0.7);
opacity: 0;
padding: 5px;
position: absolute;
bottom: 0px;
width: 100%;
margin-bottom: 0px;
bottom: -5px;
}
&:hover {
cursor: pointer;
transform: scale(1.1);
@include transition();
z-index: 20000;
.svg-inline--fa {
opacity: 1;
font-size: 1rem;
@include transition();
}
.title {
opacity: 1;
bottom: 0px;
@include transition();
}
}
}
.achievement-details {
cursor: pointer;
z-index: 1;
height: 75vh !important;
opacity: 1 !important;
transition: none !important;
transform: none !important;
.img-type-1 .svg-inline--fa,
.img-type-2 .svg-inline--fa {
margin-top: 0px !important;
transition: none !important;
float: right;
}
}
.img-type-1 {
height: 300px;
.svg-inline--fa {
margin-top: 135px;
}
}
.img-type-2 {
height: 146px;
margin-bottom: 8px;
.svg-inline--fa {
margin-top: 50px;
}
}
.svg-inline--fa {
color: get-light-color('muted-text-color');
background-color: rgba(get-light-color('bg-primary-inverse'), 0.7);
padding: 10px;
font-size: 0rem;
opacity: 0;
}
.caption {
background-color: rgba(get-light-color('bg-primary-inverse'), 0.7);
bottom: 1rem;
left: 1rem;
color: get-light-color('inverse-text-color');
padding: 15px;
position: absolute;
@include transition();
h4 {
color: get-light-color('inverse-text-color');
}
p {
font-size: 16px;
font-weight: 300;
color: get-light-color('inverse-text-color');
}
}
@include media('<=medium') {
.container {
max-width: 100%;
}
.col-md-6 {
flex: 50%;
width: 50%;
}
}
@include media('<=small') {
#gallery .achievement-entry:hover {
transform: scale(1.05);
}
}
}
}
html[data-theme='dark'] {
.achievements-section {
#gallery {
.achievement-entry {
background-color: get-dark-color('bg-secondary');
.title {
color: get-dark-color('inverse-text-color');
background-color: rgba(get-dark-color('bg-primary-inverse'), 0.7);
}
}
.svg-inline--fa {
color: get-dark-color('muted-text-color');
background-color: rgba(get-dark-color('bg-primary-inverse'), 0.7);
}
.caption {
background-color: rgba(get-dark-color('bg-primary-inverse'), 0.7);
color: get-dark-color('inverse-text-color');
h4 {
color: get-dark-color('inverse-text-color');
}
p {
color: get-dark-color('inverse-text-color');
}
}
}
}
}

View file

@ -0,0 +1,245 @@
.education-section {
@include section-title-adjustment();
.card {
&:hover,
&:focus {
border-left: 2px solid get-light-color('accent-color');
}
}
.education-info-table {
width: 100%;
border: none;
background: none;
.icon {
width: 2rem;
padding-left: 0;
padding-right: 0;
position: relative;
.hline {
position: absolute;
left: 1rem;
top: 0;
background-color: get-light-color('accent-color');
height: 100%;
width: 2px;
}
.icon-holder {
background-color: get-light-color('accent-color');
border-radius: 50%;
height: 2rem;
width: 2rem;
padding: 0.2rem;
text-align: center;
color: get-light-color('text-over-accent-color');
position: relative;
}
}
tr,
th,
td {
border: none !important;
padding: 0;
background: none !important;
}
tr {
&:hover {
background: none !important;
}
&:first-child {
.hline {
height: 65%;
top: auto;
}
}
&:last-child {
.hline {
height: 50%;
}
}
.line {
width: 5%;
padding-left: 0;
padding-right: 0;
div {
height: 2px;
margin-right: -1px;
background-color: get-light-color('accent-color');
}
}
.details {
.degree-info {
padding: 1rem;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
border-left: 2px solid get-light-color('accent-color');
border-top: 1px solid get-light-color('bg-primary');
border-bottom: 1px solid get-light-color('bg-primary');
border-right: 1px solid get-light-color('bg-primary');
border-radius: 5px;
h5 {
margin-bottom: 0.3rem;
}
.timeframe {
color: get-light-color('muted-text-color');
text-align: right;
}
.taken-courses {
table {
margin-left: 1rem;
width: 100%;
@include transition();
background: none;
border: none;
tr,
td,
th {
background: none;
border: none;
color: get-light-color('text-color');
}
tr {
height: auto !important;
}
th {
.course-name-header {
width: 50%;
}
}
}
.hidden-course {
display: none;
@include transition();
}
ul {
margin-bottom: 0;
}
}
.custom-section {
.custom-content {
padding-bottom: 0.5em;
}
}
}
}
}
}
.hidden {
display: none;
}
@include media('<=large') {
.container {
padding-left: 0;
}
}
@include media('<=small') {
padding-left: 0.5rem;
padding-right: 0.5rem;
.container {
padding-right: 0;
}
.icon {
display: none;
}
.line {
display: none;
}
.timeframe {
text-align: left;
}
}
}
.education-alt .degree-info {
border-right: 2px solid get-light-color('accent-color');
}
html[data-theme='dark'] {
.education-section {
.card {
&:hover,
&:focus {
border-left: 2px solid get-dark-color('accent-color');
}
}
.education-info-table {
.icon {
.hline {
background-color: get-dark-color('accent-color');
}
.icon-holder {
background-color: get-dark-color('accent-color');
color: get-dark-color('text-over-accent-color');
}
}
tr {
.line {
div {
background-color: get-dark-color('accent-color');
}
}
.details {
.degree-info {
border-left: 2px solid get-dark-color('accent-color');
border-top: 1px solid get-dark-color('bg-primary');
border-bottom: 1px solid get-dark-color('bg-primary');
border-right: 1px solid get-dark-color('bg-primary');
.timeframe {
color: get-dark-color('muted-text-color');
}
.taken-courses {
table {
tr,
td,
th {
color: get-dark-color('text-color');
}
}
}
&:hover{
border: 1px solid rgba(get-dark-color('accent-color'),0.2);
border-left: 2px solid get-dark-color('accent-color');
}
}
.custom-section {
.custom-content {
color: get-dark-color('text-color');
}
}
}
}
}
}
.education-alt .degree-info {
border-right: 2px solid get-dark-color('accent-color');
}
}

View file

@ -0,0 +1,156 @@
.experiences-section {
@include section-title-adjustment();
padding-bottom: 1rem;
ul {
padding-left: 1rem;
& > li {
margin-left: 0;
color: get-light-color('text-color');
}
}
.designation {
font-weight: 600;
}
.circle {
padding: 13px 20px;
border-radius: 50%;
background-color: get-light-color('accent-color');
color: get-light-color('text-over-accent-color');
max-height: 50px;
z-index: 2;
}
.timeline {
margin-top: 1.5rem !important;
.vertical-line {
align-self: stretch;
&::after {
content: '';
position: relative;
border-left: 3px solid get-light-color('accent-color');
z-index: 1;
height: 100%;
left: -23px;
}
&:nth-child(even)::after {
left: -26px;
}
}
.horizontal-line {
div {
padding: 0;
height: 40px;
}
hr {
border-top: 3px solid get-light-color('accent-color');
margin: 0;
top: 17px;
position: relative;
opacity: 1;
}
.timeline-side-div {
display: flex;
overflow: hidden;
}
.corner {
border: 3px solid get-light-color('accent-color');
width: 100%;
position: relative;
border-radius: 15px;
}
}
.row {
&:nth-child(2n) {
div {
&:nth-child(1) .corner {
left: 50%;
top: -50%;
}
&:nth-child(3) .corner {
left: -50%;
top: calc(50% - 3px);
}
}
}
&:nth-child(4n) {
div {
&:nth-child(1) .corner {
left: 50%;
top: calc(50% - 3px);
}
&:nth-child(3) .corner {
left: -50%;
top: -50%;
}
}
}
}
}
.company-heading {
h5 {
display: inline;
margin-right: 0.25em;
}
p {
display: inline;
}
}
@include media('<=medium') {
.container {
max-width: 100%;
}
}
@include media('<=small') {
.container {
padding-left: 0px;
padding-right: 0px;
}
.timeline {
.vertical-line {
visibility: hidden;
}
.horizontal-line {
visibility: hidden;
}
}
}
}
html[data-theme='dark'] {
.experiences-section {
ul {
& > li {
color: get-dark-color('text-color');
}
}
.circle {
background-color: get-dark-color('accent-color');
color: get-dark-color('text-over-accent-color');
}
.timeline {
.vertical-line {
&::after {
border-left: 3px solid get-dark-color('accent-color');
}
}
.horizontal-line {
hr {
border-top: 3px solid get-dark-color('accent-color');
}
.corner {
border: 3px solid get-dark-color('accent-color');
}
}
}
}
}

View file

@ -0,0 +1,118 @@
.footer {
color: get-light-color('muted-text-color') !important;
background-color: get-light-color('footer-color');
position: relative;
z-index: 9999;
h5 {
color: get-light-color('inverse-text-color');
}
a {
color: get-light-color('muted-text-color');
@include transition();
&:hover {
margin-left: 5px;
-webkit-text-decoration: get-light-color('muted-text-color') underline;
text-decoration: get-light-color('muted-text-color') underline;
@include transition();
}
}
ul {
list-style: none;
padding-left: 0;
li {
margin-top: 5px;
}
}
hr {
background-color: get-light-color('muted-text-color');
}
p:first-child {
color: get-light-color('inverse-text-color');
}
input {
background-color: get-light-color('inverse-text-color');
&:focus {
background-color: get-light-color('bg-secondary');
}
}
#disclaimer {
color: get-light-color('muted-text-color') !important;
text-align: justify;
& > strong {
color: get-light-color('inverse-text-color') !important;
}
}
#theme {
color: get-light-color('inverse-text-color');
img {
width: 32px;
display: inline-block;
}
}
#hugo {
&:hover {
margin-right: 5px;
@include transition();
}
img {
display: inline-block;
}
}
}
html[data-theme='dark'] {
.footer {
color: get-dark-color('muted-text-color') !important;
background-color: get-dark-color('footer-color');
h5 {
color: get-dark-color('heading-color');
}
a {
color: get-dark-color('muted-text-color');
&:hover {
-webkit-text-decoration: get-dark-color('muted-text-color') underline;
text-decoration: get-dark-color('muted-text-color') underline;
}
}
hr {
background-color: get-dark-color('muted-text-color');
}
p:first-child {
color: get-dark-color('muted-text-color');
}
input {
background-color: get-dark-color('bg-primary');
&:focus {
background-color: get-dark-color('bg-secondary');
color: get-dark-color('text-color');
}
&::placeholder {
color: get-dark-color('muted-text-color');
}
}
#disclaimer {
color: get-dark-color('muted-text-color') !important;
& > strong {
color: get-dark-color('text-color') !important;
}
}
#theme {
color: get-dark-color('text-color');
}
}
}

View file

@ -0,0 +1,131 @@
.home {
height: 100vh;
padding: 0;
margin: 0;
color: get-light-color('text-over-accent-color');
overflow: hidden;
.background {
height: 100%;
width: 100%;
padding: 0;
margin: 0;
background-attachment: fixed;
background-position: center;
transform: scale(1.1);
filter: blur(3px);
background-size: cover;
}
.arrow-center {
display: flex;
justify-content: center;
}
/*
Resolves https://github.com/hugo-toha/toha/issues/70
fixed attached images use the whole <body> size. On mobile this can get really
tall which blows your image out. Setting the attachment back to scroll allows
your cover image to stretch within its own container
*/
@supports (-webkit-touch-callout: none) {
.background {
background-attachment: scroll;
}
}
.content {
position: relative;
top: -65%;
height: 60%;
}
img {
width: 148px;
height: 148px;
background-color: get-light-color('bg-secondary');
padding: 5px;
margin-bottom: 10px;
}
.greeting,
.greeting-subtitle {
color: get-light-color('text-over-accent-color');
}
.typing-carousel {
font-size: 14pt;
color: get-light-color('text-over-accent-color');
}
#typing-carousel-data {
display: none;
}
.arrow {
position: absolute;
color: get-light-color('text-over-accent-color');
font-size: 1.5rem;
bottom: 0;
}
.bounce {
animation: bounce 2s infinite;
}
@keyframes bounce {
0%,
20%,
50%,
80%,
100% {
transform: translateY(0);
}
40% {
transform: translateY(-30px);
}
60% {
transform: translateY(-15px);
}
}
@include media('<=small') {
.content {
position: relative;
top: -75%;
height: 65%;
}
img {
width: 140px;
max-width: 50%;
height: auto;
}
.greeting {
font-size: 24pt;
}
}
}
html[data-theme='dark'] {
.home {
color: get-dark-color('text-over-accent-color');
img {
background-color: get-dark-color('bg-secondary');
}
.greeting,
.greeting-subtitle {
color: get-dark-color('text-over-accent-color');
}
.typing-carousel {
color: get-dark-color('text-over-accent-color');
}
.arrow {
color: get-dark-color('text-over-accent-color');
}
}
}

View file

@ -0,0 +1,45 @@
.pdf-viewer {
canvas {
border: 1px solid black;
direction: ltr;
width: 100%;
height: auto;
display: none;
}
.paginator {
display: flex!important;
width: 100% !important;
text-align: center;
margin-bottom: 0.2rem !important;
justify-content: space-between;
.page-number-indicator {
margin-left: auto;
margin-right: auto;
}
}
.loading-wrapper {
display: none;
justify-content: center;
align-items: center;
width: 100%;
height: 350px;
}
.loading {
display: inline-block;
width: 50px;
height: 50px;
border: 3px solid #d2d0d0;;
border-radius: 50%;
border-top-color: #383838;
animation: spin 1s ease-in-out infinite;
-webkit-animation: spin 1s ease-in-out infinite;
}
@keyframes spin {
to { -webkit-transform: rotate(360deg); }
}
}

View file

@ -0,0 +1,100 @@
.projects-section {
.card {
.card-header {
background-color: get-light-color('bg-card');
padding: 0.7rem;
padding-bottom: 0rem;
text-decoration: none;
.card-img-xs {
margin-right: 0.5rem;
}
.sub-title {
color: get-light-color('muted-text-color');
margin-top: 0.4rem;
span {
&:nth-child(1) {
float: left;
}
&:nth-child(2) {
float: right;
}
}
}
}
.card-body {
padding: 0.7rem;
}
}
.filtr-projects {
padding: 1rem !important;
}
.project-card-footer {
display: flex;
.badge {
margin-left: 0.1em;
margin-right: 0.1em;
}
}
.project-tags-holder {
width: 70%;
}
.project-btn-holder {
width: 30%;
display: flex;
justify-content: flex-end;
flex-direction: column;
span {
display: flex;
justify-content: flex-end;
}
}
@include media('<=large') {
padding-left: 0;
padding-right: 0;
width: 100%;
.container {
max-width: 100%;
}
.filtr-projects {
padding: 0;
}
.filtr-item {
flex: 50%;
padding-left: 0.2rem;
padding-right: 0.2rem;
max-width: calc(100% / 2 - 0.2rem);
}
}
@include media('<=small') {
.btn {
margin-top: 0.3125rem;
}
.filtr-item {
max-width: 100%;
}
}
}
html[data-theme='dark'] {
.projects-section {
.card {
.card-header {
background-color: get-dark-color('bg-card');
.sub-title {
color: get-dark-color('muted-text-color');
}
}
}
}
}

View file

@ -0,0 +1,140 @@
.publications-section {
@include section-title-adjustment();
.card {
background: get-light-color('bg-card');
border-top: 2px solid get-light-color('accent-color');
&:hover,
&:focus {
border-top: 2px solid get-light-color('accent-color');
}
.card-header {
background: none;
border: none;
display: flex;
flex-direction: column;
.sub-title {
color: get-light-color('muted-text-color');
margin-top: 0.4rem;
span:nth-child(2) {
float: right !important;
}
}
a[href] {
text-decoration: underline; /* Underline only when href is present */
}
a:not([href]) {
text-decoration: none; /* No underline when href is absent */
}
}
.card-body {
padding: 0;
padding-left: 1rem;
padding-right: 1rem;
}
.card-footer {
background: get-light-color('bg-card');
border: none;
padding: 0;
padding-left: 1rem;
padding-right: 1rem;
padding-bottom: 0.3rem;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
}
.filtr-publications {
padding: 1rem !important;
}
.btn-group {
justify-content: center;
}
@include media('<=large') {
padding-left: 0;
padding-right: 0;
width: 100%;
.container {
max-width: 100%;
}
.filtr-publications {
padding: 0;
}
.pub-filtr-item {
padding-left: 0.2rem;
padding-right: 0.2rem;
}
}
@include media('<=medium') {
.pub-filtr-item {
flex: 100%;
}
}
@include media('<=small') {
.pub-filtr-item {
flex: 100%;
max-width: 100%;
}
.details-btn {
.btn {
margin-top: 0.5rem;
margin-left: auto;
}
}
.card {
.card-footer {
padding-left: 0.5rem;
.tags {
flex: 100%;
max-width: 100%;
.btn {
margin-top: 0.2rem;
}
}
}
}
}
}
html[data-theme='dark'] {
.publications-section {
.card {
background: get-dark-color('bg-card');
border-top: 2px solid get-dark-color('accent-color');
&:hover,
&:focus {
border-top: 2px solid get-dark-color('accent-color');
}
.card-header {
.sub-title {
color: get-dark-color('muted-text-color');
}
}
.card-footer {
background: get-dark-color('bg-card');
}
}
}
}

View file

@ -0,0 +1,32 @@
.recent-posts-section {
.container {
padding-top: 1rem;
}
h1 > span {
margin-top: -55px; /* Size of fixed header */
padding-bottom: 55px;
display: block;
}
@include media('<medium') {
.post-card {
margin-left: 1%;
margin-right: 1%;
width: 98%;
}
}
@include media('>=medium', '<large') {
.container {
max-width: 100%;
}
.post-card {
width: calc(100% / 2);
}
}
@include media('>=large') {
.post-card {
width: calc(100% / 3);
}
}
}

View file

@ -0,0 +1,46 @@
.skills-section {
.card {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
height: 100%;
.card-head {
background-color: get-light-color('bg-primary') !important;
height: -moz-fit-content;
height: fit-content;
padding: 0.7rem;
padding-bottom: 0rem;
border-bottom: 0.0625rem solid rgba(get-light-color('accent-color'), 0.4);
.card-img-xs {
margin-right: 0.5rem;
margin-bottom: 0.75rem;
}
}
.card-body {
padding-top: 0.2rem;
padding-left: 0.7rem;
}
}
@include media('<=medium') {
padding-left: 0;
padding-right: 0;
.container {
max-width: 95%;
}
}
}
html[data-theme='dark'] {
.skills-section {
.card {
.card-head {
background-color: get-dark-color('bg-card') !important;
border-bottom: 0.0625rem solid rgba(get-dark-color('accent-color'), 0.4);
}
}
}
}

View file

@ -0,0 +1,122 @@
@use 'sass:map';
$breakpoints: (
tiny: 320px,
small: 640px,
medium: 768px,
large: 1024px,
very-large: 1280px,
extra-large: 1536px,
ultra-large: 2560px,
);
// Color are chosen from TailwindCSS color scheme
// https://tailwindcss.com/docs/customizing-colors
// transitions
$transition-duration: 0.3s;
$transition-type: ease-out;
// borders and shadows
$box-shadow: 0px 8px 56px rgba(15, 80, 100, 0.16);
// themes
$themes: (
'light': (
// cyan 600
'accent-color': #0891b2,
// cyan 500
'hover-over-accent-color': #06b6d4,
// zinc 200
'text-over-accent-color': #e4e4e7,
// slate 50
'bg-primary': #f8fafc,
// slate 900
'bg-primary-inverse': #0f172a,
// slate 200
'bg-secondary': #e2e8f0,
'bg-card': #fff,
// slate 800
'heading-color': #1e293b,
// slate 700
'text-color': #334155,
// slate 300
'inverse-text-color': #cbd5e1,
// slate 500
'muted-text-color': #64748b,
// red 600
'inline-code-color': #dc2626,
// amber 200
'highlight-color': #fde68a,
// slate 900
'footer-color': #0f172a,
),
'dark': (
// cyan 600
'accent-color': #0891b2,
// cyan 500
'hover-over-accent-color': #06b6d4,
// zinc 200
'text-over-accent-color': #e4e4e7,
// gray-800
'bg-primary': #1f2937,
// slate 900
'bg-primary-inverse': #0f172a,
// gray 900
'bg-secondary': #111827,
// slate 800
'bg-card': #1e293b,
// slate 100
'heading-color': #f1f5f9,
// slate 300
'text-color': #cbd5e1,
// slate 900
'inverse-text-color': #0f172a,
// slate 500
'muted-text-color': #64748b,
// red 600
'inline-code-color': #dc2626,
// amber 200
'highlight-color': #fde68a,
// slate 900
'footer-color': #0f172a,
),
);
$brand-colors: (
'facebook': #3b5998,
'twitter': #1da1f2,
'linkedin': #0077b5,
'reddit': #ff4500,
'tumblr': #35465c,
'pocket': #ef4056,
'diaspora': #1e1e1e,
'whatsapp': #25d366,
);
$alerts: (
'success': (
// green 100
'bg-color': #dcfce7,
// green 800
'text-color': #166534,
),
'info': (
// sky 100
'bg-color': #e0f2fe,
// sky 800
'text-color': #075985,
),
'warning': (
// yellow 100
'bg-color': #fef9c3,
// yellow 800
'text-color': #854d0e,
),
'danger': (
// red 100
'bg-color': #fee2e2,
// red 800
'text-color': #991b1b,
),
);

View file

@ -0,0 +1,54 @@
---
title: "অনুসন্ধানের ফলাফল"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Resultados de Búsqueda"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
Este archivo existe únicamente para responder a la URL /search con la plantilla de diseño `search` relacionada.
No se muestra ningún contenido aquí, todo el contenido se basa en la plantilla layouts/page/search.html
Establecer una prioridad muy baja en el mapa del sitio le dirá a los motores de búsqueda que éste no es un contenido importante.
Esta implementación utiliza Fusejs, jquery y mark.js
## Configuración inicial
La búsqueda depende del tipo de contenido de salida adicional de JSON en config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Búsqueda de archivos adicionales
Para buscar campos adicionales definidos en el front matter, debes añadirlo en 2 lugares.
### Editar layouts/_default/index.JSON
Esto expone los valores en /index.json: por ejemplo, para agregar `categories`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Editar las opciones de fuse.js para buscar
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -13,7 +13,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@ -24,7 +24,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"]
\```
## Searching additional fileds
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
@ -41,7 +41,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

3
content/posts/_index.md Normal file
View file

@ -0,0 +1,3 @@
---
title: Posts
---

View file

@ -0,0 +1,54 @@
---
title: "অনুসন্ধানের ফলাফল"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Suchergebnisse"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Resultados de Búsqueda"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
Este archivo existe únicamente para responder a la URL /search con la plantilla de diseño `search` relacionada.
No se muestra ningún contenido aquí, todo el contenido se basa en la plantilla layouts/page/search.html
Establecer una prioridad muy baja en el mapa del sitio le dirá a los motores de búsqueda que éste no es un contenido importante.
Esta implementación utiliza Fusejs, jquery y mark.js
## Configuración inicial
La búsqueda depende del tipo de contenido de salida adicional de JSON en config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Búsqueda de archivos adicionales
Para buscar campos adicionales definidos en el front matter, debes añadirlo en 2 lugares.
### Editar layouts/_default/index.JSON
Esto expone los valores en /index.json: por ejemplo, para agregar `categories`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Editar las opciones de fuse.js para buscar
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

View file

@ -0,0 +1,54 @@
---
title: "Search Results"
date: 2010-06-08T08:06:25+06:00
weight: 999999
sitemap:
priority : 0.1
layout: "search"
url: search
---
This file exists solely to respond to /search URL with the related `search` layout template.
No content shown here is rendered, all content is based in the template layouts/page/search.html
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs and mark.js
## Initial setup
Search depends on additional output content type of JSON in config.toml
\```
[outputs]
home = ["HTML", "JSON"]
\```
## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places.
### Edit layouts/_default/index.JSON
This exposes the values in /index.json
i.e. add `category`
\```
...
"contents":{{ .Content | plainify | jsonify }}
{{ if .Params.tags }},
"tags":{{ .Params.tags | jsonify }}{{end}},
"categories" : {{ .Params.categories | jsonify }},
...
\```
### Edit fuse.js options to Search
`assets/scripts/pages/search.js`
\```
keys: [
"title",
"contents",
"tags",
"categories"
]
\```

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