43 Commits

Author SHA1 Message Date
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
Marko Korhonen 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
92 changed files with 738 additions and 386 deletions
+2 -2
View File
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout to latest commit - name: Checkout to latest commit
uses: actions/checkout@v4.1.1 uses: actions/checkout@v4.1.5
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v4 uses: actions/setup-node@v4
@@ -21,7 +21,7 @@ jobs:
npm run autoprefixer npm run autoprefixer
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v5 uses: peter-evans/create-pull-request@v6
with: with:
branch: autoprefixer branch: autoprefixer
branch-suffix: timestamp branch-suffix: timestamp
+1 -1
View File
@@ -39,7 +39,7 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4.1.1 uses: actions/checkout@v4.1.5
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
+1 -1
View File
@@ -10,6 +10,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# Create/Update release draft # Create/Update release draft
- uses: release-drafter/release-drafter@v5.25.0 - uses: release-drafter/release-drafter@v6.0.0
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+7 -7
View File
@@ -10,18 +10,18 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# checkout to the commit that has been pushed # checkout to the commit that has been pushed
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.5
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 20
- name: Install node modules - name: Install node modules
run: npm install run: npm install
- name: Setup Hugo - name: Setup Hugo
uses: peaceiris/actions-hugo@v2.6.0 uses: peaceiris/actions-hugo@v3.0.0
with: with:
hugo-version: 'latest' hugo-version: 'latest'
extended: true extended: true
@@ -35,12 +35,12 @@ jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.5
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 18 node-version: 20
- name: Install node modules - name: Install node modules
run: npm install run: npm install
@@ -62,7 +62,7 @@ jobs:
NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}} NETLIFY_TOKEN: ${{secrets.NETLIFY_TOKEN}}
- name: Run Lighthouse - name: Run Lighthouse
uses: foo-software/lighthouse-check-action@v10.0.0 uses: foo-software/lighthouse-check-action@v12.0.1
id: lighthouseCheck id: lighthouseCheck
with: with:
accessToken: ${{ secrets.LIGHTHOUSE_TOKEN }} accessToken: ${{ secrets.LIGHTHOUSE_TOKEN }}
@@ -87,6 +87,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# checkout to latest commit # checkout to latest commit
- uses: actions/checkout@v4.1.1 - uses: actions/checkout@v4.1.5
# run markdown linter # run markdown linter
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.15 - uses: gaurav-nelson/github-action-markdown-link-check@1.0.15
+68 -24
View File
@@ -1,3 +1,6 @@
> [!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 # Toha
[![Netlify Status](https://api.netlify.com/api/v1/badges/b1b93b02-f278-440b-ae1b-304e9f4c4ab5/deploy-status)](https://app.netlify.com/sites/toha/deploys) [![Netlify Status](https://api.netlify.com/api/v1/badges/b1b93b02-f278-440b-ae1b-304e9f4c4ab5/deploy-status)](https://app.netlify.com/sites/toha/deploys)
@@ -35,6 +38,7 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
- counter.dev - counter.dev
- Google Analytics - Google Analytics
- Matomo/Piwik - Matomo/Piwik
- [Umami](https://umami.is/)
- Comment Support - Comment Support
- [Disqus](https://disqus.com/) - [Disqus](https://disqus.com/)
- [Valine](https://valine.js.org/) - [Valine](https://valine.js.org/)
@@ -64,6 +68,8 @@ For more details about the features please visit [here](https://toha-guides.netl
- Português Europeu - Português Europeu
- Català - Català
- Português Brasileiro - 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). 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).
@@ -185,34 +191,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, 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:** #### Running the forked theme against the example 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:**
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: 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 ```bash
# clone the example site along with the submodules # go to exampleSite directory
$ git clone git@github.com:hugo-toha/hugo-toha.github.io.git --recursive $ cd exampleSite
# navigate into the toha theme folder # install hugo modules
$ cd themes/toha $ hugo mod tidy
# add your own fork as a remote # install dependencies
$ git remote add my-fork https://github.com/<your-github-user>/toha $ hugo mod npm pack
# create a new branch for your changes $ npm install
$ git checkout -b my-feature-branch # 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 `config.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. From there you can make changes to the source code of the theme while testing with your running Hugo site or the example site.
+18
View File
@@ -39,6 +39,8 @@ window.addEventListener('load', async () => {
// save preference to local storage // save preference to local storage
saveScheme(newScheme) saveScheme(newScheme)
setImages(theme)
} }
setScheme(loadScheme()) setScheme(loadScheme())
@@ -50,3 +52,19 @@ window.addEventListener('load', async () => {
}) })
}) })
}) })
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'
}
}
}
+8 -1
View File
@@ -79,6 +79,13 @@ window.addEventListener('DOMContentLoaded', () => {
// pull template from hugo template definition // pull template from hugo template definition
const templateDefinition = document.getElementById('search-result-template').innerHTML const templateDefinition = document.getElementById('search-result-template').innerHTML
// replace values // 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, { const output = render(templateDefinition, {
key, key,
title: value.item.title, title: value.item.title,
@@ -86,7 +93,7 @@ window.addEventListener('DOMContentLoaded', () => {
date: value.item.date, date: value.item.date,
summary: value.item.summary, summary: value.item.summary,
link: value.item.permalink, link: value.item.permalink,
tags: value.item.tags, tags: adaptTags(),
categories: value.item.categories, categories: value.item.categories,
snippet snippet
}) })
+1 -1
View File
@@ -15,7 +15,7 @@ window.addEventListener('DOMContentLoaded', () => {
} }
} }
// =============== Make TOC Compatible wit Bootstrap Scroll Spy ======== // =============== Make TOC Compatible with Bootstrap Scroll Spy ========
// add "navbar" class to the "nav" element // add "navbar" class to the "nav" element
const toc = document.getElementById('TableOfContents') const toc = document.getElementById('TableOfContents')
if (toc) { if (toc) {
+2 -2
View File
@@ -1,6 +1,6 @@
import { getDeviceState } from '../core' import { getDeviceState } from '../core'
function fourColumRow (gallery, entries, i) { function fourColumnRow (gallery, entries, i) {
const entry1 = document.createElement('div') const entry1 = document.createElement('div')
entry1.classList.add('col-lg-6', 'm-0', 'p-0') entry1.classList.add('col-lg-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true)) entry1.appendChild(entries[i].cloneNode(true))
@@ -140,7 +140,7 @@ function showAchievements () {
if (isLaptop) { if (isLaptop) {
if (i + 4 <= len) { if (i + 4 <= len) {
if (rowNumber % 2) { if (rowNumber % 2) {
fourColumRow(gallery, entries, i) fourColumnRow(gallery, entries, i)
} else { } else {
fourColumnReversedRow(gallery, entries, i) fourColumnReversedRow(gallery, entries, i)
} }
+9 -13
View File
@@ -49,6 +49,15 @@
color: get-light-color('muted-text-color'); color: get-light-color('muted-text-color');
} }
.navbar-toggler {
border: none;
&:focus {
border: none;
outline: none !important;
box-shadow: none;
}
}
.tags { .tags {
text-align: left; text-align: left;
padding-top: 0.5em; padding-top: 0.5em;
@@ -56,14 +65,12 @@
font-size: 0.5em; font-size: 0.5em;
list-style-type: none; list-style-type: none;
display: inline-block; display: inline-block;
background: get-light-color('accent-color');
margin-left: 0.2em; margin-left: 0.2em;
margin-right: 0.2em; margin-right: 0.2em;
margin-top: 0.6em; margin-top: 0.6em;
margin-bottom: 0.6em; margin-bottom: 0.6em;
} }
a { a {
color: get-light-color('text-over-accent-color');
text-decoration: none !important; text-decoration: none !important;
} }
} }
@@ -143,17 +150,6 @@ html[data-theme='dark'] {
color: get-dark-color('muted-text-color'); color: get-dark-color('muted-text-color');
} }
.tags {
li {
background: get-dark-color('accent-color');
a {
background-color: get-dark-color('bg-card');
border: 1px solid get-dark-color('muted-text-color');
color: get-dark-color('text-over-accent-color');
}
}
}
.icon-button { .icon-button {
background-color: get-dark-color('muted-text-color'); background-color: get-dark-color('muted-text-color');
color: get-dark-color('text-over-accent-color') !important; color: get-dark-color('text-over-accent-color') !important;
+1
View File
@@ -50,6 +50,7 @@
.post-card-link { .post-card-link {
text-decoration: none !important; text-decoration: none !important;
color: get-light-color('text-color');
} }
.card { .card {
+10
View File
@@ -46,3 +46,13 @@ html[data-theme='dark'] {
.svg-inverted { .svg-inverted {
filter: invert(1); filter: invert(1);
} }
.logo-holder {
height: 64px;
margin-bottom: 1em;
}
.company-logo {
max-height: 100%;
width: auto;
}
+19 -3
View File
@@ -2,6 +2,10 @@ a {
color: get-light-color('accent-color'); color: get-light-color('accent-color');
@include transition(); @include transition();
&:link {
text-decoration: none;
}
&:hover, &:hover,
&:focus { &:focus {
text-decoration: get-light-color('hover-over-accent-color') underline; text-decoration: get-light-color('hover-over-accent-color') underline;
@@ -10,10 +14,11 @@ a {
} }
} }
.list-link { .list-link, .taxonomy-term {
text-decoration: none !important; text-decoration: none !important;
color: get-light-color('text-color'); color: get-light-color('text-color');
@include transition(); @include transition();
&.active { &.active {
display: inline; display: inline;
color: get-light-color('accent-color'); color: get-light-color('accent-color');
@@ -29,6 +34,7 @@ a {
a.header-anchor { a.header-anchor {
text-decoration: none; text-decoration: none;
color: get-light-color('heading-color'); color: get-light-color('heading-color');
i, i,
svg { svg {
font-size: 10pt; font-size: 10pt;
@@ -36,12 +42,15 @@ a.header-anchor {
display: none; display: none;
margin-left: 0.5rem; margin-left: 0.5rem;
} }
&:hover { &:hover {
i, i,
svg { svg {
display: inline-block; display: inline-block;
} }
} }
code { code {
color: get-light-color('inline-code-color'); color: get-light-color('inline-code-color');
} }
@@ -54,24 +63,31 @@ a.header-anchor {
html[data-theme='dark'] { html[data-theme='dark'] {
a { a {
color: get-dark-color('accent-color'); color: get-dark-color('accent-color');
&:hover, &:hover,
&:focus { &:focus {
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'); color: get-dark-color('hover-over-accent-color');
} }
} }
.list-link {
.list-link, .taxonomy-term {
color: get-dark-color('text-color'); color: get-dark-color('text-color');
&:hover {
&:hover,
&.active {
color: get-dark-color('accent-color'); color: get-dark-color('accent-color');
} }
} }
a.header-anchor { a.header-anchor {
color: get-dark-color('heading-color'); color: get-dark-color('heading-color');
i, i,
svg { svg {
color: get-dark-color('text-color'); color: get-dark-color('text-color');
} }
code { code {
color: get-dark-color('inline-code-color'); color: get-dark-color('inline-code-color');
} }
+1
View File
@@ -184,6 +184,7 @@ body.kind-page {
#scroll-to-top { #scroll-to-top {
position: fixed; position: fixed;
border: none;
bottom: 0rem; bottom: 0rem;
right: 1rem; right: 1rem;
color: get-light-color('accent-color'); color: get-light-color('accent-color');
+1
View File
@@ -27,6 +27,7 @@
.navbar-brand { .navbar-brand {
color: get-light-color('heading-color'); color: get-light-color('heading-color');
text-decoration: none !important;
font-weight: 600; font-weight: 600;
img { img {
width: 42px; width: 42px;
+1 -1
View File
@@ -1,6 +1,6 @@
/* override this file for custom css */ /* override this file for custom css */
/* you can import boostrap mixins */ /* you can import bootstrap mixins */
// @import 'bootstrap/scss/mixins'; // @import 'bootstrap/scss/mixins';
// Example usage // Example usage
// .some-class { // .some-class {
+6
View File
@@ -129,6 +129,12 @@
margin-bottom: 0; margin-bottom: 0;
} }
} }
.custom-section {
.custom-content {
padding-bottom: 0.5em;
}
}
} }
} }
} }
+14 -3
View File
@@ -32,14 +32,14 @@
&::after { &::after {
content: ''; content: '';
position: absolute; position: relative;
border-left: 3px solid get-light-color('accent-color'); border-left: 3px solid get-light-color('accent-color');
z-index: 1; z-index: 1;
height: 100%; height: 100%;
left: 50%; left: -23px;
} }
&:nth-child(even)::after { &:nth-child(even)::after {
left: calc(50% - 3px) !important; left: -26px;
} }
} }
.horizontal-line { .horizontal-line {
@@ -52,6 +52,7 @@
margin: 0; margin: 0;
top: 17px; top: 17px;
position: relative; position: relative;
opacity: 1;
} }
.timeline-side-div { .timeline-side-div {
display: flex; display: flex;
@@ -92,6 +93,16 @@
} }
} }
.company-heading {
h5 {
display: inline;
margin-right: 0.25em;
}
p {
display: inline;
}
}
@include media('<=medium') { @include media('<=medium') {
.container { .container {
max-width: 100%; max-width: 100%;
+4
View File
@@ -35,6 +35,10 @@
.project-card-footer { .project-card-footer {
display: flex; display: flex;
.badge {
margin-left: 0.1em;
margin-right: 0.1em;
}
} }
.project-tags-holder { .project-tags-holder {
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -24,7 +24,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+2 -2
View File
@@ -1,5 +1,5 @@
--- ---
title: "Search Results" title: "Suchergebnisse"
date: 2010-06-08T08:06:25+06:00 date: 2010-06-08T08:06:25+06:00
weight: 999999 weight: 999999
sitemap: sitemap:
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+1 -1
View File
@@ -26,7 +26,7 @@ Search depends on additional output content type of JSON in config.toml
home = ["HTML", "JSON"] home = ["HTML", "JSON"]
\``` \```
## Searching additional fileds ## Searching additional fields
To search additional fields defined in front matter, you must add it in 2 places. To search additional fields defined in front matter, you must add it in 2 places.
+2 -2
View File
@@ -3,8 +3,8 @@ module github.com/hugo-toha/toha/exampleSite
go 1.19 go 1.19
require ( require (
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20231031082630-2c32a26d2207 // indirect github.com/hugo-toha/hugo-toha.github.io v0.0.0-20240319164719-d8a7e99b594d // indirect
github.com/hugo-toha/toha/v4 v4.0.0-20231113175302-e5230e8c93d8 // indirect github.com/hugo-toha/toha/v4 v4.4.0 // indirect
) )
replace github.com/hugo-toha/toha/v4 => ../ replace github.com/hugo-toha/toha/v4 => ../
+4 -4
View File
@@ -1,4 +1,4 @@
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20221228191121-007f31838bd6 h1:TPFhOZAnuH4wjLIdzimswCRa2qCcc1teKVTatADJU2g= github.com/hugo-toha/hugo-toha.github.io v0.0.0-20240319164719-d8a7e99b594d h1:TWNaAG2e1EZDvtl64fjyriR/qc8m7qaKnN13DgKzkFk=
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20221228191121-007f31838bd6/go.mod h1:OMMaP9Hh9NsKd41lVIazBQRPa0s6Z57AfJoY3DcCNNY= github.com/hugo-toha/hugo-toha.github.io v0.0.0-20240319164719-d8a7e99b594d/go.mod h1:BRsZS1LeIc+eSM2OWSOeXDNeZUNRcTlJtw1bL874AfQ=
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20231031082630-2c32a26d2207 h1:T71lEaGpHYpdy8yKM5vaVwm+CJGt8wjHvPgVM+GjCJM= github.com/hugo-toha/toha/v4 v4.4.0 h1:RdRpjfsPgE+VXb/m3Rl+1n86pVZTrplsDvtXYK3wNh0=
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20231031082630-2c32a26d2207/go.mod h1:aTn1lQX1rbcbfbwNuWHG/L5DPtD+bEzQro49QyFlbEg= github.com/hugo-toha/toha/v4 v4.4.0/go.mod h1:p/K34lqlqmhzfPd4cx66od7sjlROBqhMxG30mJz+aKQ=
@@ -33,14 +33,18 @@ module:
# For any more details, you can check the official documentation: https://gohugo.io/content-management/multilingual/ # For any more details, you can check the official documentation: https://gohugo.io/content-management/multilingual/
languages: languages:
en: en:
languageCode: en
languageName: English languageName: English
title: "John's Blog"
weight: 1 weight: 1
bn: bn:
languageCode: bn
languageName: বাংলা languageName: বাংলা
weight: 3 title: "জনের ব্লগ"
weight: 2
# Force a locale to be use, really useful to develop the application ! Should be commented in production, the "weight" should rocks. # default language for the content
# DefaultContentLanguage: bn defaultContentLanguage: en
# Allow raw html in markdown file # Allow raw html in markdown file
markup: markup:
@@ -98,6 +102,7 @@ params:
# Enable and configure blog posts # Enable and configure blog posts
blog: blog:
enable: true enable: true
showAuthor: true
# Share post on different social media # Share post on different social media
shareButtons: shareButtons:
facebook: true facebook: true
@@ -169,6 +174,11 @@ params:
# matomo: # matomo:
# instance: matomo.example.com # instance: matomo.example.com
# siteId: 1 # Or any other number # siteId: 1 # Or any other number
# # Umami
# umami:
# scheme: https
# instance: umami.example.com
# id: <your umami site id>
# Enable Support # Enable Support
support: support:
+20 -17
View File
@@ -11,7 +11,7 @@
"@fontsource/mulish": "4.5.13", "@fontsource/mulish": "4.5.13",
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bootstrap": "^4.6.2", "bootstrap": "^5.3.3",
"eslint": "^8.31.0", "eslint": "^8.31.0",
"eslint-config-prettier": "^8.6.0", "eslint-config-prettier": "^8.6.0",
"eslint-config-standard": "^17.0.0", "eslint-config-standard": "^17.0.0",
@@ -27,7 +27,7 @@
"imagesloaded": "^5.0.0", "imagesloaded": "^5.0.0",
"include-media": "^1.4.10", "include-media": "^1.4.10",
"ityped": "^1.0.3", "ityped": "^1.0.3",
"katex": "^0.16.3", "katex": "^0.16.10",
"mark.js": "^8.11.1", "mark.js": "^8.11.1",
"mermaid": "^9.2.1", "mermaid": "^9.2.1",
"plyr": "^3.7.2", "plyr": "^3.7.2",
@@ -191,6 +191,17 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"dev": true,
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@types/json5": { "node_modules/@types/json5": {
"version": "0.0.29", "version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -474,9 +485,9 @@
} }
}, },
"node_modules/bootstrap": { "node_modules/bootstrap": {
"version": "4.6.2", "version": "5.3.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
"integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -489,8 +500,7 @@
} }
], ],
"peerDependencies": { "peerDependencies": {
"jquery": "1.9.1 - 3", "@popperjs/core": "^2.11.8"
"popper.js": "^1.16.1"
} }
}, },
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
@@ -2779,13 +2789,6 @@
"integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==", "integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==",
"dev": true "dev": true
}, },
"node_modules/jquery": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
"dev": true,
"peer": true
},
"node_modules/js-yaml": { "node_modules/js-yaml": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -2841,9 +2844,9 @@
} }
}, },
"node_modules/katex": { "node_modules/katex": {
"version": "0.16.9", "version": "0.16.10",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.10.tgz",
"integrity": "sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==", "integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==",
"dev": true, "dev": true,
"funding": [ "funding": [
"https://opencollective.com/katex", "https://opencollective.com/katex",
+2 -2
View File
@@ -35,7 +35,7 @@
"@fontsource/mulish": "4.5.13", "@fontsource/mulish": "4.5.13",
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bootstrap": "^4.6.2", "bootstrap": "^5.3.3",
"eslint": "^8.31.0", "eslint": "^8.31.0",
"eslint-config-prettier": "^8.6.0", "eslint-config-prettier": "^8.6.0",
"eslint-config-standard": "^17.0.0", "eslint-config-standard": "^17.0.0",
@@ -51,7 +51,7 @@
"imagesloaded": "^5.0.0", "imagesloaded": "^5.0.0",
"include-media": "^1.4.10", "include-media": "^1.4.10",
"ityped": "^1.0.3", "ityped": "^1.0.3",
"katex": "^0.16.3", "katex": "^0.16.10",
"mark.js": "^8.11.1", "mark.js": "^8.11.1",
"mermaid": "^9.2.1", "mermaid": "^9.2.1",
"plyr": "^3.7.2", "plyr": "^3.7.2",
+4
View File
@@ -124,3 +124,7 @@ other = "Vastuuilmoitus"
[search] [search]
other = "Haku" other = "Haku"
[minute]
one = "minuutti"
other = "minuuttia"
+1 -1
View File
@@ -117,7 +117,7 @@ other = "Suite"
other = "Afficher le certificat" other = "Afficher le certificat"
[notes] [notes]
other = "Remarques" other = "Notes"
[disclaimer_text] [disclaimer_text]
other = "Avis de responsabilité" other = "Avis de responsabilité"
+126
View File
@@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "בית"
[posts]
other = "פוסטים"
[toc_heading]
other = "תוכן העניינים"
[tags]
other = "תגים"
[categories]
other = "קטגוריות"
[at]
other = "ב"
[resume]
other = "הקורות החיים שלי"
[navigation]
other = "ניווט"
[contact_me]
other = "צור קשר:"
[email]
other = "דוא\"ל"
[phone]
other = "טלפון"
[newsletter_text]
other = "הישאר מעודכן עם התראות בדוא\"ל"
[newsletter_input_placeholder]
other = "הכנס דוא\"ל"
[newsletter_warning]
other = "על ידי הזנת כתובת הדוא\"ל שלך, אתה מסכים לקבל את הניוזלטר של אתר זה."
[submit]
other = "שלח"
[hugoAttributionText]
other = "מופעל ע\"י"
[prev]
other = "הקודם"
[next]
other = "הבא"
[share_on]
other = "שתף ב"
[improve_this_page]
other = "שפר את הדף הזה"
[out_of]
other = "מתוך"
[publications]
other = "פרסומים"
[taken_courses]
other = "קורסים"
[course_name]
other = "שם הקורס"
[total_credit]
other = "נקודות זכות סך הכל"
[obtained_credit]
other = "נקודות זכות שהושגו"
[extracurricular_activities]
other = "פעילויות חוץ לימודיות"
[show_more]
other = "הצג יותר"
[show_less]
other = "הצג פחות"
[responsibilities]
other = "אחריות:"
[present]
other = "נוכחי"
[comments_javascript]
other = "אנא הפעל את JavaScript כדי לראות את"
[comments_by]
other = "תגובות מופעלות ע\"י"
[read]
other = "קרא"
[project_star]
other = "כוכב"
[project_details]
other = "פרטים"
[err_404]
other = "הדף שאתה מחפש אינו קיים עדיין."
[more]
other = "עוד"
[view_certificate]
other = "צפה בתעודה"
[notes]
other = "הערות"
[disclaimer_text]
other = "הבהרת אחריות"
[search]
other = "חיפוש"
+7 -3
View File
@@ -93,16 +93,16 @@ other = "Sorumluluklar:"
other = "Halen" other = "Halen"
[comments_javascript] [comments_javascript]
other = "Görüntüleyebilmek için lüften Javascript etkinleştirin" other = "Görüntüleyebilmek için lüften JavaScript etkinleştirin"
[comments_by] [comments_by]
other = "comments powered by" other = "Yorum sağlayıcı"
[read] [read]
other = "Oku" other = "Oku"
[project_star] [project_star]
other = "Star" other = "Yıldız"
[project_details] [project_details]
other = "Detaylar" other = "Detaylar"
@@ -124,3 +124,7 @@ other = "Yükümlülük Bildirisi"
[search] [search]
other = "Ara" other = "Ara"
[minute]
one = "dakika"
other = "dakika"
+1 -1
View File
@@ -24,7 +24,7 @@
</script> </script>
</head> </head>
<body class="type-{{ .Page.Type }} kind-{{ .Page.Kind }}" data-spy="scroll" data-target="#TableOfContents" data-offset="80"> <body class="type-{{ .Page.Type }} kind-{{ .Page.Kind }}" data-bs-spy="scroll" data-bs-target="#TableOfContents" data-bs-offset="80">
<div class="container-fluid bg-secondary wrapper"> <div class="container-fluid bg-secondary wrapper">
<!----- ADD NAVBAR ---------------> <!----- ADD NAVBAR --------------->
{{ block "navbar" . }} {{ end }} {{ block "navbar" . }} {{ end }}
+3 -2
View File
@@ -4,7 +4,7 @@
{{ define "sidebar" }} {{ define "sidebar" }}
{{ $homePage:="#" }} {{ $homePage:="#" }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }} {{ end }}
@@ -32,7 +32,8 @@
<div class="content container-fluid" id="content"> <div class="content container-fluid" id="content">
<div class="container-fluid post-card-holder" id="post-card-holder"> <div class="container-fluid post-card-holder" id="post-card-holder">
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }} {{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
{{ $paginator := .Paginate $posts 12 }} {{ $numShow := site.Params.features.pagination.maxPostsPerPage | default 12}}
{{ $paginator := .Paginate $posts $numShow }}
{{ range $paginator.Pages }} {{ range $paginator.Pages }}
{{ if .Layout }} {{ if .Layout }}
{{/* ignore the search.md file*/}} {{/* ignore the search.md file*/}}
+4 -4
View File
@@ -19,9 +19,9 @@
<link>{{ .Permalink }}</link> <link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description> <description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }} <generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }} <language>{{.}}</language>{{end}}{{ with .Site.Params.Author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }} <managingEditor>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Params.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }} <webMaster>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }} <copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }} <lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" -}} {{- with .OutputFormats.Get "RSS" -}}
@@ -33,7 +33,7 @@
<title>{{ .Title }}</title> <title>{{ .Title }}</title>
<link>{{ .Permalink }}</link> <link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate> <pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}} {{ with .Site.Params.Author.email }}<author>{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid> <guid>{{ .Permalink }}</guid>
<description>{{ .Summary | html }}</description> <description>{{ .Summary | html }}</description>
</item> </item>
+19 -7
View File
@@ -4,7 +4,7 @@
{{ define "sidebar" }} {{ define "sidebar" }}
{{ $homePage:="#" }} {{ $homePage:="#" }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }} {{ end }}
@@ -28,28 +28,40 @@
{{ end }} {{ end }}
{{ define "content" }} {{ define "content" }}
<script>
document.body.classList.replace('kind-page', 'kind-section');
</script>
<section class="content-section" id="content-section"> <section class="content-section" id="content-section">
<div class="content container-fluid" id="content"> <div class="content container-fluid" id="content">
<div class="container-fluid post-card-holder" id="post-card-holder"> <div class="container-fluid post-card-holder" id="post-card-holder">
<div id="search-results"> <div id="search-results" style="display: flex; flex-wrap: wrap;">
<script id="search-result-template" type="text/x-js-template"> <script id="search-result-template" type="text/x-js-template">
<div class="post-card"> <div class="post-card">
<a href="${link}" class="post-card-link"> <div class="card">
<div class="card" style="min-height: 352px;"><a href="${link}" class="post-card-link">
<div class="card-head"> <div class="card-head">
<a href="${link}" class="post-card-link">
<img class="card-img-top" src="${hero}" alt="Card Heading Image"> <img class="card-img-top" src="${hero}" alt="Card Heading Image">
</a>
</div> </div>
<div class="card-body"> <div class="card-body">
<a href="${link}" class="post-card-link">
<h5 class="card-title">${title}</h5> <h5 class="card-title">${title}</h5>
<p class="card-text post-summary">${summary}</p> <p class="card-text post-summary">${summary}</p>
</a>
{{ if site.Params.features.tags.on_card }}
<div class="tags">
<ul style="padding-left: 0;">
${tags}
</ul>
</div>
{{ end }}
</div> </div>
<div class="card-footer"> <div class="card-footer">
<span class="float-left">${date}</span> <span class="float-start">${date}</span>
<a href="${link}" class="float-right btn btn-outline-info btn-sm">Read</a> <a href="${link}" class="float-end btn btn-outline-info btn-sm">Read</a>
</div> </div>
</div> </div>
</a>
</div> </div>
</script> </script>
+17 -6
View File
@@ -36,15 +36,26 @@
<!--Content Start--> <!--Content Start-->
<div class="page-content"> <div class="page-content">
<div class="author-profile ml-auto align-self-lg-center"> {{ if site.Params.features.blog.showAuthor | default true }}
<div class="author-profile ms-auto align-self-lg-center">
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' alt="Author Image"> <img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' alt="Author Image">
<h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5> <h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5>
<p class="text-muted">{{ .Page.Date | time.Format ":date_full" }}{{ if site.Params.features.readingTime }} | {{ .ReadingTime }} {{i18n "minute" .ReadingTime }}{{ end }}</p> <p class="text-muted">{{ .Page.Date | time.Format ":date_full" }}{{ if site.Params.features.readingTime }} | {{ .ReadingTime }} {{i18n "minute" .ReadingTime }}{{ end }}</p>
</div> </div>
{{ else }}
<div style="margin-bottom: 80px;"></div>
{{ end }}
<div class="title"> <div class="title">
<h1>{{ .Page.Title }}</h1> <h1>{{ .Page.Title }}</h1>
</div> </div>
{{ if not (site.Params.features.blog.showAuthor | default true) }}
<div class="author-profile ms-auto align-self-lg-center">
<p class="text-muted">{{ .Page.Date | time.Format ":date_full" }}{{ if site.Params.features.readingTime }} | {{ .ReadingTime }} {{i18n "minute" .ReadingTime }}{{ end }}</p>
</div>
{{ end }}
{{ if site.Params.features.tags.enable }} {{ if site.Params.features.tags.enable }}
{{partial "misc/tags.html" .Params.tags }} {{partial "misc/tags.html" .Params.tags }}
{{ end }} {{ end }}
@@ -53,7 +64,7 @@
</div> </div>
<!-- Share or Contribute --> <!-- Share or Contribute -->
<div class="row pl-3 pr-3"> <div class="row ps-3 pe-3">
<!--Social Media Share Buttons--> <!--Social Media Share Buttons-->
<div class="col-md-6 share-buttons"> <div class="col-md-6 share-buttons">
{{ if site.Params.features.blog.shareButtons }} {{ if site.Params.features.blog.shareButtons }}
@@ -146,15 +157,15 @@
{{ end }} {{ end }}
<!-- Keep backward compatibility with old config.yaml --> <!-- Keep backward compatibility with old config.yaml -->
{{ if site.DisqusShortname }} {{ if .Site.Config.Services.Disqus.Shortname }}
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }} {{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") .Site.Config.Services.Disqus.Shortname) }}
{{ end }} {{ end }}
</div> </div>
</div> </div>
</div> </div>
<!--scroll back to top--> <!--scroll back to top-->
<a id="scroll-to-top" class="btn" data-toggle="tooltip" data-placement="left" title="Scroll to top"> <a id="scroll-to-top" class="btn" type="button" data-bs-toggle="tooltip" data-bs-placement="left" title="Scroll to top">
<i class="fas fa-chevron-circle-up"></i> <i class="fas fa-chevron-circle-up"></i>
</a> </a>
</section> </section>
@@ -164,7 +175,7 @@
<section class="toc-section" id="toc-section"> <section class="toc-section" id="toc-section">
{{ if and site.Params.features.toc.enable ( .Params.enableTOC | default true ) }} {{ if and site.Params.features.toc.enable ( .Params.enableTOC | default true ) }}
<div class="toc-holder"> <div class="toc-holder">
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5> <h5 class="text-center ps-3">{{ i18n "toc_heading" }}</h5>
<hr> <hr>
<div class="toc"> <div class="toc">
{{ .TableOfContents }} {{ .TableOfContents }}
+3 -2
View File
@@ -4,7 +4,7 @@
{{ define "sidebar" }} {{ define "sidebar" }}
{{ $homePage:="#" }} {{ $homePage:="#" }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }} {{ end }}
@@ -33,7 +33,8 @@
<div class="content container-fluid" id="content"> <div class="content container-fluid" id="content">
<div class="container-fluid post-card-holder" id="post-card-holder"> <div class="container-fluid post-card-holder" id="post-card-holder">
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }} {{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
{{ $paginator := .Paginate $posts 12 }} {{ $numShow := site.Params.features.pagination.maxPostsPerPage | default 12}}
{{ $paginator := .Paginate $posts $numShow }}
{{ range $paginator.Pages }} {{ range $paginator.Pages }}
{{ if .Layout }} {{ if .Layout }}
{{/* ignore the search.md file*/}} {{/* ignore the search.md file*/}}
+1 -1
View File
@@ -29,7 +29,7 @@
document.documentElement.setAttribute('data-theme', theme); document.documentElement.setAttribute('data-theme', theme);
</script> </script>
</head> </head>
<body data-spy="scroll" data-target="#top-navbar" data-offset="100"> <body data-bs-spy="scroll" data-bs-target="#top-navbar" data-bs-offset="100">
<!--- NAVBAR -------------------------> <!--- NAVBAR ------------------------->
{{- partial "navigators/navbar.html" . -}} {{- partial "navigators/navbar.html" . -}}
+1 -1
View File
@@ -4,7 +4,7 @@
{{ define "sidebar" }} {{ define "sidebar" }}
{{ $homePage:="#" }} {{ $homePage:="#" }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }} {{ end }}
+1 -1
View File
@@ -4,7 +4,7 @@
{{ define "sidebar" }} {{ define "sidebar" }}
{{ $homePage:="#" }} {{ $homePage:="#" }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }} {{ end }}
+8 -2
View File
@@ -5,7 +5,7 @@
<!-- Google Analytics --> <!-- Google Analytics -->
{{ with .google }} {{ with .google }}
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }} {{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
{{ $analyticsConfig := dict (slice "Site" "GoogleAnalytics") .id }} {{ $analyticsConfig := dict (slice "Site" "Config" "Services" "GoogleAnalytics" "ID") .id }}
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }} {{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
{{ end }} {{ end }}
@@ -51,11 +51,17 @@
></script> ></script>
<!-- End Cloudflare Web Analytics --> <!-- End Cloudflare Web Analytics -->
{{ end }} {{ end }}
{{ with .umami }}
<!-- Umami analytics -->
<script defer src='{{ or .scheme "https" }}://{{ or .instance "analytics.eu.umami.is" }}/script.js' data-website-id="{{ .id }}"></script>
<!-- End Umami analytics -->
{{end}}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
<!-- Keep backwards compatibility and consistency with HUGO defaults --> <!-- Keep backwards compatibility and consistency with HUGO defaults -->
{{ if site.GoogleAnalytics }} {{ if .Site.Config.Services.GoogleAnalytics.ID }}
{{ template "_internal/google_analytics.html" . }} {{ template "_internal/google_analytics.html" . }}
{{ end }} {{ end }}
+2 -2
View File
@@ -4,7 +4,7 @@
<h5 class="card-title mb-0">{{ .name }}</h5> <h5 class="card-title mb-0">{{ .name }}</h5>
<div class="sub-title"> <div class="sub-title">
<span><a href="{{ .organization.url }}" title="{{ .organization.name }}" target="_blank" rel="noopener">{{ .organization.name }}</a></span> <span><a href="{{ .organization.url }}" title="{{ .organization.name }}" target="_blank" rel="noopener">{{ .organization.name }}</a></span>
<span class="ml-2">{{ .timeline }}</span> <span class="ms-2">{{ .timeline }}</span>
</div> </div>
</div> </div>
<div class="card-body"> <div class="card-body">
@@ -12,7 +12,7 @@
</div> </div>
<div class="card-footer"> <div class="card-footer">
{{ if .certificateURL }} {{ if .certificateURL }}
<a class="btn btn-outline-info ml-1 pl-2 mb-2" href="{{ .certificateURL }}" target="_blank" rel="noopener" role="button">{{ i18n "view_certificate"}}</a> <a class="btn btn-outline-info ms-1 ps-2 mb-2" href="{{ .certificateURL }}" target="_blank" rel="noopener" role="button">{{ i18n "view_certificate"}}</a>
{{ end }} {{ end }}
</div> </div>
</div> </div>
+6 -4
View File
@@ -1,24 +1,26 @@
<div class="post-card"> <div class="post-card">
<a href="{{ .RelPermalink | relLangURL }}" class="post-card-link">
<div class="card"> <div class="card">
<div class="card-head"> <div class="card-head">
<a href="{{ .RelPermalink | relLangURL }}" class="post-card-link">
<img class="card-img-top" src='{{ partial "helpers/get-hero.html" . }}' alt="Hero Image"> <img class="card-img-top" src='{{ partial "helpers/get-hero.html" . }}' alt="Hero Image">
</a>
</div> </div>
<div class="card-body"> <div class="card-body">
<a href="{{ .RelPermalink | relLangURL }}" class="post-card-link">
<h5 class="card-title">{{ .Title }}</h5> <h5 class="card-title">{{ .Title }}</h5>
<p class="card-text post-summary">{{ .Summary }}</p> <p class="card-text post-summary">{{ .Summary }}</p>
</a>
{{ if and site.Params.features.tags.enable site.Params.features.tags.on_card }} {{ if and site.Params.features.tags.enable site.Params.features.tags.on_card }}
{{ partial "misc/tags.html" .Params.tags }} {{ partial "misc/tags.html" .Params.tags }}
{{ end }} {{ end }}
</div> </div>
<div class="card-footer"> <div class="card-footer">
<span class="float-left"> <span class="float-start">
{{ .Date | time.Format ":date_full" }} {{ .Date | time.Format ":date_full" }}
{{ if site.Params.features.readingTime }} | {{.ReadingTime}} {{ i18n "minute" .ReadingTime }} {{ end }}</span> {{ if site.Params.features.readingTime }} | {{.ReadingTime}} {{ i18n "minute" .ReadingTime }} {{ end }}</span>
<a <a
href="{{ .RelPermalink | relLangURL }}" href="{{ .RelPermalink | relLangURL }}"
class="float-right btn btn-outline-info btn-sm">{{ i18n "read" }}</a> class="float-end btn btn-outline-info btn-sm">{{ i18n "read" }}</a>
</div> </div>
</div> </div>
</a>
</div> </div>
+9 -1
View File
@@ -9,16 +9,24 @@
<div class="d-flex"> <div class="d-flex">
{{ if .logo }} {{ if .logo }}
{{ if eq (len (findRE ".*/.*" .logo) ) 0 }}
<i style="padding-right: 0.25em" class="{{.logo}} h4"></i>
{{ else }}
{{ $logoImage:= resources.Get .logo}} {{ $logoImage:= resources.Get .logo}}
{{ if $logoImage }} {{ if $logoImage }}
{{/* svg don't support "Fit" operation */}} {{/* svg don't support "Fit" operation */}}
{{ if ne $logoImage.MediaType.SubType "svg" }} {{ if ne $logoImage.MediaType.SubType "svg" }}
{{ $logoImage = $logoImage.Fit "24x24" }} {{ $logoImage = $logoImage.Fit "24x24" }}
{{ end }} {{ end }}
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" /> <img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }}
<h5 class="card-title mb-0">{{ .name }}</h5> <h5 class="card-title mb-0">{{ .name }}</h5>
</div> </div>
<div class="sub-title"> <div class="sub-title">
+4 -4
View File
@@ -12,11 +12,11 @@
<h5 class="card-title mb-0">{{ .title }}</h5> <h5 class="card-title mb-0">{{ .title }}</h5>
<div class="sub-title"> <div class="sub-title">
<span><a class="" href="{{.publishedIn.url}}">{{ .publishedIn.name }}</a></span> <span><a class="" href="{{.publishedIn.url}}">{{ .publishedIn.name }}</a></span>
<span class="ml-2">{{ .publishedIn.date }}</span> <span class="ms-2">{{ .publishedIn.date }}</span>
</div> </div>
<div class="authors"> <div class="authors">
{{ range $index,$author:= .authors }} {{ range $index,$author:= .authors }}
<span class="mr-2"><a class="" href="{{.url}}">{{ .name }}</a></span> <span class="me-2"><a class="" href="{{.url}}">{{ .name }}</a></span>
{{ end }} {{ end }}
</div> </div>
</div> </div>
@@ -26,13 +26,13 @@
<div class="card-footer"> <div class="card-footer">
<div class="tags"> <div class="tags">
{{ range $index,$tag:= .tags }} {{ range $index,$tag:= .tags }}
<span class="btn badge btn-info ml-1 p-2"> <span class="btn badge btn-info ms-1 p-2">
{{ $tag }} {{ $tag }}
</span> </span>
{{ end }} {{ end }}
</div> </div>
<div class="details-btn"> <div class="details-btn">
<a class="btn btn-outline-info ml-1 pl-2 mb-2" href="{{ .paper.url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a> <a class="btn btn-outline-info ms-1 ps-2 mb-2" href="{{ .paper.url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a>
</div> </div>
</div> </div>
</div> </div>
+7 -3
View File
@@ -66,7 +66,7 @@
<footer id="footer" class="container-fluid text-center align-content-center footer pb-2"> <footer id="footer" class="container-fluid text-center align-content-center footer pb-2">
<div class="container pt-5"> <div class="container pt-5">
<div class="row text-left"> <div class="row text-start">
{{ if $navigationEnabled }} {{ if $navigationEnabled }}
<div class="col-md-4 col-sm-12"> <div class="col-md-4 col-sm-12">
<h5>{{ i18n "navigation" }}</h5> <h5>{{ i18n "navigation" }}</h5>
@@ -115,6 +115,10 @@
<li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener"> <li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener">
<span><i class="fab fa-github"></i></span> <span>{{ $value }}</span> <span><i class="fab fa-github"></i></span> <span>{{ $value }}</span>
</a></li> </a></li>
{{ else if (eq $key "researchgate") }}
<li><a href={{ printf "https://www.researchgate.net/profile/%s" $value }} target="_blank" rel="noopener">
<span><i class="fab fa-researchgate"></i></span> <span>{{ $author.name }}</span>
</a></li>
{{ else if reflect.IsMap $value }} {{ else if reflect.IsMap $value }}
<li> <li>
{{ if (and (isset $value "url") (isset $value "icon"))}} {{ if (and (isset $value "url") (isset $value "icon"))}}
@@ -189,7 +193,7 @@
{{ if $credentialsEnabled }} {{ if $credentialsEnabled }}
<hr /> <hr />
<div class="container"> <div class="container">
<div class="row text-left"> <div class="row text-start">
<div class="col-md-4"> <div class="col-md-4">
<a id="theme" href="https://github.com/hugo-toha/toha" target="_blank" rel="noopener"> <a id="theme" href="https://github.com/hugo-toha/toha" target="_blank" rel="noopener">
<img src="{{ $themeLogo }}" alt="Toha Theme Logo"> <img src="{{ $themeLogo }}" alt="Toha Theme Logo">
@@ -197,7 +201,7 @@
</a> </a>
</div> </div>
<div class="col-md-4 text-center">{{ $copyrightNotice | markdownify }}</div> <div class="col-md-4 text-center">{{ $copyrightNotice | markdownify }}</div>
<div class="col-md-4 text-right"> <div class="col-md-4 text-end">
<a id="hugo" href="https://gohugo.io/" target="_blank" rel="noopener">{{ i18n "hugoAttributionText" }} <a id="hugo" href="https://gohugo.io/" target="_blank" rel="noopener">{{ i18n "hugoAttributionText" }}
<img <img
src="{{ $hugoLogo }}" src="{{ $hugoLogo }}"
@@ -1,7 +1,7 @@
{{/* Uses the top level site's config for a single author across all locales */}} {{/* Uses the top level site's config for a single author across all locales */}}
{{ $authorName:= site.Params.author.name }} {{ $authorName:= site.Params.author.name }}
{{/* Overrides with the locale specifc author if provided */}} {{/* Overrides with the locale specific author if provided */}}
{{ if (index site.Data site.Language.Lang).author }} {{ if (index site.Data site.Language.Lang).author }}
{{ $authorName = (index site.Data site.Language.Lang).author.name }} {{ $authorName = (index site.Data site.Language.Lang).author.name }}
{{ end }} {{ end }}
+1 -1
View File
@@ -2,7 +2,7 @@
<ul style="padding-left: 0;"> <ul style="padding-left: 0;">
{{ range . }} {{ range . }}
{{ $url:= printf "tags/%s/" . }} {{ $url:= printf "tags/%s/" . }}
<li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn, btn-sm">{{ . }}</a></li> <li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn btn-sm btn-info">{{ . }}</a></li>
{{ end }} {{ end }}
</ul> </ul>
</div> </div>
@@ -1,9 +1,9 @@
{{ $pageURL:= .RelPermalink }} {{ $pageURL:= .RelPermalink }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $pageURL = strings.TrimPrefix (path.Join "/" .Language.Lang) $pageURL }} {{ $pageURL = strings.TrimPrefix (path.Join "/" .Language.Lang) $pageURL }}
{{ end }} {{ end }}
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ if ne site.Params.features.flags.enable false }} {{ if ne site.Params.features.flags.enable false }}
{{ $countryCode := partial "helpers/country-code.html" . }} {{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> <span class="flag-icon flag-icon-{{$countryCode}}"></span>
@@ -12,7 +12,7 @@
</a> </a>
<div class="dropdown-menu" aria-labelledby="languageSelector"> <div class="dropdown-menu" aria-labelledby="languageSelector">
{{ range site.Home.AllTranslations }} {{ range site.Home.AllTranslations }}
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}"> <a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang $.Sites.First.Language.Lang) "" .Language.Lang) $pageURL }}">
{{ if ne site.Params.features.flags.enable false }} {{ if ne site.Params.features.flags.enable false }}
{{ $countryCode := partial "helpers/country-code.html" . }} {{ $countryCode := partial "helpers/country-code.html" . }}
<span class="flag-icon flag-icon-{{$countryCode}}"></span> <span class="flag-icon flag-icon-{{$countryCode}}"></span>
+10 -5
View File
@@ -52,6 +52,11 @@
{{ $sections = (index site.Data site.Language.Lang).sections }} {{ $sections = (index site.Data site.Language.Lang).sections }}
{{ end }} {{ end }}
{{ $navBarTitle := (index site.Data site.Language.Lang).site.navBarTitle }}
{{ if not $navBarTitle }}
{{ $navBarTitle = site.Title }}
{{ end }}
<nav class="navbar navbar-expand-xl top-navbar shadow {{ if .IsHome}}transparent-navbar homepage{{end}}" id="top-navbar"> <nav class="navbar navbar-expand-xl top-navbar shadow {{ if .IsHome}}transparent-navbar homepage{{end}}" id="top-navbar">
<div class="container"> <div class="container">
{{ if not .IsHome }} {{ if not .IsHome }}
@@ -63,21 +68,21 @@
{{ if $logo }} {{ if $logo }}
<img src="{{ $logo }}" id="logo" alt="Logo"> <img src="{{ $logo }}" id="logo" alt="Logo">
{{ end }} {{ end }}
{{- site.Title -}} {{- $navBarTitle -}}
</a> </a>
<button <button
class="navbar-toggler {{if .IsHome}}navbar-dark{{else}}navbar-light{{end}}" class="navbar-toggler {{if .IsHome}}navbar-dark{{else}}navbar-light{{end}}"
id="navbar-toggler" id="navbar-toggler"
type="button" type="button"
data-toggle="collapse" data-bs-toggle="collapse"
data-target="#top-nav-items" data-bs-target="#top-nav-items"
aria-label="menu" aria-label="menu"
> >
<i data-feather="menu"></i> <i data-feather="menu"></i>
</button> </button>
<div class="collapse navbar-collapse dynamic-navbar" id="top-nav-items"> <div class="collapse navbar-collapse dynamic-navbar" id="top-nav-items">
<ul class="nav navbar-nav ml-auto"> <ul class="nav navbar-nav ms-auto">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ if .IsHome }}#home{{else}}{{ site.BaseURL | relLangURL }}#home{{end}}">{{ i18n "home" }}</a> <a class="nav-link" href="{{ if .IsHome }}#home{{else}}{{ site.BaseURL | relLangURL }}#home{{end}}">{{ i18n "home" }}</a>
</li> </li>
@@ -95,7 +100,7 @@
{{- end }} {{- end }}
{{ if gt $sectionCount $maxVisibleSections }} {{ if gt $sectionCount $maxVisibleSections }}
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{i18n "more" }}</a> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{i18n "more" }}</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown"> <div class="dropdown-menu" aria-labelledby="navbarDropdown">
{{ $sectionCount := 1 }} {{ $sectionCount := 1 }}
{{ range sort $sections "section.weight" }} {{ range sort $sections "section.weight" }}
@@ -1,6 +1,6 @@
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="themeSelector" role="button" <a class="nav-link dropdown-toggle" href="#" id="themeSelector" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img id="navbar-theme-icon-svg" class="theme-icon" src="{{ "icons/moon-svgrepo-com.svg" | relURL }}" width=20 alt="Dark Theme"> <img id="navbar-theme-icon-svg" class="theme-icon" src="{{ "icons/moon-svgrepo-com.svg" | relURL }}" width=20 alt="Dark Theme">
</a> </a>
<div id="themeMenu" class="dropdown-menu dropdown-menu-icons-only" aria-labelledby="themeSelector"> <div id="themeMenu" class="dropdown-menu dropdown-menu-icons-only" aria-labelledby="themeSelector">
+2 -2
View File
@@ -25,7 +25,7 @@
<p class="p-1 text-justify"> <p class="p-1 text-justify">
{{ .summary | markdownify }} {{ .summary | markdownify }}
</p> </p>
<div class="text-container ml-auto"> <div class="text-container ms-auto">
<ul class="social-link d-flex"> <ul class="social-link d-flex">
{{ range .socialLinks }} {{ range .socialLinks }}
<li> <li>
@@ -52,7 +52,7 @@
{{ end }} {{ end }}
</div> </div>
<!-- soft skills circular-progressbar --> <!-- soft skills circular-progressbar -->
<div class="col-sm-6 pt-5 pl-md-4 pl-sm-3 pt-sm-0"> <div class="col-sm-6 pt-5 ps-md-4 ps-sm-3 pt-sm-0">
<div class="row"> <div class="row">
{{ range .badges }} {{ range .badges }}
{{ partial "misc/badge.html" . }} {{ partial "misc/badge.html" . }}
@@ -13,7 +13,7 @@
{{ end }} {{ end }}
<div class="container"> <div class="container">
<div class="row" id="acomplishment-card-holder"> <div class="row" id="accomplishment-card-holder">
{{ range .accomplishments }} {{ range .accomplishments }}
{{ partial "cards/accomplishments" . }} {{ partial "cards/accomplishments" . }}
{{ end }} {{ end }}
@@ -17,11 +17,11 @@
<i class="fa-solid fa-xmark hidden"></i> <i class="fa-solid fa-xmark hidden"></i>
<i class="fa-solid fa-magnifying-glass-plus" id="enlarge-icon"></i> <i class="fa-solid fa-magnifying-glass-plus" id="enlarge-icon"></i>
<h4 class="title" id="achievement-title">{{ .title }}</h4> <h4 class="title" id="achievement-title">{{ .title }}</h4>
<div class="caption hidden col-lg-6 text-left" id="caption"> <div class="caption hidden col-lg-6 text-start" id="caption">
<h4>{{ .title }}</h4> <h4>{{ .title }}</h4>
<p>{{ .summary | markdownify }}</p> <p>{{ .summary | markdownify }}</p>
{{ if .url }} {{ if .url }}
<a class="btn btn-info ml-1 pl-2 mb-2" href="{{ .url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a> <a class="btn btn-info ms-1 ps-2 mb-2" href="{{ .url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a>
{{ end }} {{ end }}
</div> </div>
<span style="background-image: url('{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span> <span style="background-image: url('{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span>
+22 -2
View File
@@ -31,6 +31,18 @@
</td> </td>
<td class="details"> <td class="details">
<div class="degree-info card"> <div class="degree-info card">
{{ $logoImage:= resources.Get .institution.logo}}
{{ $darkLogoImage:= resources.Get .institution.darkLogo}}
{{ if $logoImage }}
<div class="logo-holder">
<img class="company-logo light-logo" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ if $darkLogoImage }}
<img class="company-logo dark-logo" src="{{ $darkLogoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }}
</div>
{{ end }}
<div class="row"> <div class="row">
<div class="col-lg-10 col-md-8"> <div class="col-lg-10 col-md-8">
{{ if .institution.url }} {{ if .institution.url }}
@@ -89,9 +101,9 @@
</ul> </ul>
{{ end }} {{ end }}
{{ if gt (len .takenCourses.courses) $collapseAfter }} {{ if gt (len .takenCourses.courses) $collapseAfter }}
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}" <button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ms-1{{ else }}ms-2{{ end }}"
id="show-more-btn" aria-label="{{ i18n "show_more"}}">{{ i18n "show_more"}}</button> id="show-more-btn" aria-label="{{ i18n "show_more"}}">{{ i18n "show_more"}}</button>
<button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}" <button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ms-1{{ else }}ms-2{{ end }}"
id="show-less-btn" aria-label="{{ i18n "show_less"}}">{{ i18n "show_less"}}</button> id="show-less-btn" aria-label="{{ i18n "show_less"}}">{{ i18n "show_less"}}</button>
{{ end }} {{ end }}
</div> </div>
@@ -106,6 +118,14 @@
</ul> </ul>
</div> </div>
{{ end }} {{ end }}
{{ if .customSections }}
<div class="custom-section">
{{ range .customSections }}
<h6 class="text-heading">{{ .name }}: </h6>
<div class="custom-content">{{ .content | markdownify }}</div>
{{ end }}
</div>
{{ end }}
</div> </div>
</td> </td>
<td class="line"> <td class="line">
+22 -2
View File
@@ -31,6 +31,18 @@
</td> </td>
<td class="details"> <td class="details">
<div class="degree-info card"> <div class="degree-info card">
{{ $logoImage:= resources.Get .institution.logo}}
{{ $darkLogoImage:= resources.Get .institution.darkLogo}}
{{ if $logoImage }}
<div class="logo-holder">
<img class="company-logo light-logo" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ if $darkLogoImage }}
<img class="company-logo dark-logo" src="{{ $darkLogoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }}
</div>
{{ end }}
<div class="row"> <div class="row">
<div class="col-lg-10 col-md-8"> <div class="col-lg-10 col-md-8">
{{ if .institution.url }} {{ if .institution.url }}
@@ -89,9 +101,9 @@
</ul> </ul>
{{ end }} {{ end }}
{{ if gt (len .takenCourses.courses ) $collapseAfter }} {{ if gt (len .takenCourses.courses ) $collapseAfter }}
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}" <button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ms-1{{ else }}ms-2{{ end }}"
id="show-more-btn">{{ i18n "show_more"}}</button> id="show-more-btn">{{ i18n "show_more"}}</button>
<button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}" <button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ms-1{{ else }}ms-2{{ end }}"
id="show-less-btn">{{ i18n "show_less"}}</button> id="show-less-btn">{{ i18n "show_less"}}</button>
{{ end }} {{ end }}
</div> </div>
@@ -106,6 +118,14 @@
</ul> </ul>
</div> </div>
{{ end }} {{ end }}
{{ if .customSections }}
<div class="custom-section">
{{ range .customSections }}
<h6 class="text-heading">{{ .name }}: </h6>
<div class="custom-content">{{ .content | markdownify }}</div>
{{ end }}
</div>
{{ end }}
</div> </div>
</td> </td>
</tr> </tr>
+2 -2
View File
@@ -18,11 +18,11 @@
{{ if eq (mod $index 2) 0 }} {{ if eq (mod $index 2) 0 }}
<div class="row align-items-center d-flex"> <div class="row align-items-center d-flex">
{{ partial "sections/experiences/vertical-line.html" $index }} {{ partial "sections/experiences/vertical-line.html" $index }}
{{ partial "sections/experiences/experience-info.html" $experience }} {{ partial "sections/experiences/positions.html" $experience }}
</div> </div>
{{else}} {{else}}
<div class="row align-items-center justify-content-end d-flex"> <div class="row align-items-center justify-content-end d-flex">
{{ partial "sections/experiences/experience-info.html" $experience }} {{ partial "sections/experiences/positions.html" $experience }}
{{ partial "sections/experiences/vertical-line.html" $index }} {{ partial "sections/experiences/vertical-line.html" $index }}
</div> </div>
{{ end }} {{ end }}
@@ -1,5 +0,0 @@
{{ if gt (len .positions) 1 }}
{{ partial "sections/experiences/multiple-positions.html" . }}
{{ else }}
{{ partial "sections/experiences/single-position.html" . }}
{{ end }}
@@ -1,29 +0,0 @@
<div class="col-10 col-lg-8">
<div class="experience-entry-heading">
<!-- For multiple positions, give emphasis on the company name-->
<h5>{{ if .company.url }}<a href={{.company.url}} title="{{ .company.name }}" target="_blank" rel="noopener">{{ .company.name }}</a>{{ else }}{{ .company.name }}{{ end }}</h5>
<!-- Total experience duration on a company is time between the starting date of the oldest position and ending date of most recent position -->
{{ $oldestPosition := index (last 1 .positions) 0}}
{{ $mostRecentPosition := index (first 1 .positions) 0}}
<p class="text-muted">
{{ $oldestPosition.start }} - {{ if $mostRecentPosition.end }}{{ $mostRecentPosition.end }}{{ else }}{{ i18n "present" }}{{ end }},
{{ .company.location }}
</p>
<!-- Add company overview -->
<p>{{ .company.overview | markdownify }}</p>
</div>
<!-- Add the positions information -->
<div class="positions">
{{ range $index,$position:= .positions }}
<h6 class="designation">{{ $position.designation }}</h6>
<p class="text-muted">{{ $position.start }} - {{if $position.end }} {{ $position.end }} {{else}} {{ i18n "present" }} {{end}}</p>
<!-- Add the responsibilities handled at this position -->
<ul class="justify-content-around">
{{ range $position.responsibilities }}
<li>{{ . | markdownify }}</li>
{{ end }}
</ul>
{{ end }}
</div>
</div>
@@ -0,0 +1,46 @@
<div class="col-10 col-lg-8">
<div class="experience-entry-heading">
{{ $logoImage:= resources.Get .company.logo}}
{{ $darkLogoImage:= resources.Get .company.darkLogo}}
{{ if $logoImage }}
<div class="logo-holder">
<img class="company-logo light-logo" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ if $darkLogoImage }}
<img class="company-logo dark-logo" src="{{ $darkLogoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }}
</div>
{{ end }}
<!-- Total experience duration on a company is time between the starting date of the oldest position and ending date of most recent position -->
{{ $oldestPosition := index (last 1 .positions) 0}}
{{ $mostRecentPosition := index (first 1 .positions) 0}}
<div class="company-heading">
<h5>{{ if .company.url }}<a href={{.company.url}} title="{{ .company.name }}" target="_blank" rel="noopener">{{ .company.name }}</a>{{ else }}{{ .company.name }}{{ end }}</h5>
<p class="text-muted">
{{ $oldestPosition.start }} - {{ if $mostRecentPosition.end }}{{ $mostRecentPosition.end }}{{ else }}{{ i18n "present" }}{{ end }}
</p>
</div>
<p class="text-muted">
<i class="fa-solid fa-location-dot"></i> {{ .company.location }}
</p>
<!-- Add company overview -->
<p>{{ .company.overview | markdownify }}</p>
</div>
<!-- Add the positions information -->
<div class="positions">
{{ range $index,$position:= .positions }}
<div class="company-heading">
<h5 class="designation">{{ $position.designation }}</h5>
<p class="text-muted">{{ $position.start }} - {{if $position.end }} {{ $position.end }} {{else}} {{ i18n "present" }} {{end}}</p>
</div>
<!-- Add the responsibilities handled at this position -->
{{ if $position.responsibilities }}
<h6 class="text-heading">{{ i18n "responsibilities" }}</h6>
<ul class="justify-content-around">
{{ range $position.responsibilities }}
<li>{{ . | markdownify }}</li>
{{ end }}
</ul>
{{ end }}
{{ end }}
</div>
</div>
@@ -1,23 +0,0 @@
<div class="col-10 col-lg-8">
<div class="experience-entry-heading">
{{ $position:= index .positions 0 }}
<!-- For single position, give emphasis on the designation-->
<h5>{{ $position.designation }}</h5>
<h6>{{ if .company.url }}<a href={{.company.url}} title="{{ .company.name }}" target="_blank" rel="noopener">{{ .company.name }}</a>{{ else }}{{ .company.name }}{{ end }}</h6>
<!-- Add experience duration info -->
<p class="text-muted">{{ $position.start }} - {{ if $position.end }}{{ $position.end }}{{ else }}{{ i18n "present" }}{{ end }},
{{ .company.location }}
</p>
</div>
<!-- Add company overview -->
<p>{{ .company.overview | markdownify }}</p>
<!-- Add the responsibilities handled at this position -->
{{ if $position.responsibilities }}
<h6 class="text-heading">{{ i18n "responsibilities" }}</h6>
<ul class="justify-content-around">
{{ range $position.responsibilities }}
<li>{{ . | markdownify }}</li>
{{ end }}
</ul>
{{ end }}
</div>
@@ -1,3 +1,3 @@
<div class="col-1 col-lg-2 text-center vertical-line d-inline-flex justify-content-center"> <div class="col-1 col-lg-2 text-center vertical-line d-inline-flex justify-content-center">
<div class="circle font-weight-bold">{{ add . 1 }}</div> <div class="circle fw-bold">{{ add . 1 }}</div>
</div> </div>
+1 -1
View File
@@ -11,7 +11,7 @@
<h1 class="text-center" style="display: none"> <h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1> <span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container ml-auto text-center"> <div class="container ms-auto text-center">
<div class="btn-group flex-wrap" role="group" id="project-filter-buttons"> <div class="btn-group flex-wrap" role="group" id="project-filter-buttons">
{{ range .buttons }} {{ range .buttons }}
<button type="button" class="btn btn-dark project-filtr-control" data-filter="{{ .filter }}"> <button type="button" class="btn btn-dark project-filtr-control" data-filter="{{ .filter }}">
+1 -1
View File
@@ -11,7 +11,7 @@
<h1 class="text-center" style="display: none"> <h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1> <span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container ml-auto text-center"> <div class="container ms-auto text-center">
<div class="btn-group flex-wrap" role="pub-group" id="publication-filter-buttons"> <div class="btn-group flex-wrap" role="pub-group" id="publication-filter-buttons">
{{ range .buttons }} {{ range .buttons }}
<button type="button" class="btn btn-dark pub-filtr-control" data-filter="pub-{{ .filter }}"> <button type="button" class="btn btn-dark pub-filtr-control" data-filter="pub-{{ .filter }}">
+1 -1
View File
@@ -29,7 +29,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center;"> justify-content: center;">
<a href="/posts/" title="Show More" class="float-right btn btn-outline-info btn-sm" > <a href="/posts/" title="Show More" class="float-end btn btn-outline-info btn-sm" >
{{ i18n "show_more"}}</a> {{ i18n "show_more"}}</a>
</div> </div>
{{ end }} {{ end }}
+3 -2
View File
@@ -4,7 +4,7 @@
{{ define "sidebar" }} {{ define "sidebar" }}
{{ $homePage:="#" }} {{ $homePage:="#" }}
{{ if site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }} {{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }} {{ end }}
@@ -33,7 +33,8 @@
<div class="content container-fluid" id="content"> <div class="content container-fluid" id="content">
<div class="container-fluid post-card-holder" id="post-card-holder"> <div class="container-fluid post-card-holder" id="post-card-holder">
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }} {{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
{{ $paginator := .Paginate $posts 12 }} {{ $numShow := site.Params.features.pagination.maxPostsPerPage | default 12}}
{{ $paginator := .Paginate $posts $numShow }}
{{ range $paginator.Pages }} {{ range $paginator.Pages }}
{{ if .Layout }} {{ if .Layout }}
{{/* ignore the search.md file*/}} {{/* ignore the search.md file*/}}
+12 -12
View File
@@ -5,34 +5,34 @@ publish = "exampleSite/public"
[context.production.environment] [context.production.environment]
HUGO_ENABLEGITINFO = "true" HUGO_ENABLEGITINFO = "true"
HUGO_ENV = "production" HUGO_ENV = "production"
HUGO_VERSION = "0.120.1" HUGO_VERSION = "0.124.0"
NODE_VERSION = "v18.12.1" NODE_VERSION = "v20.11.1"
NPM_VERSION = "8.19.2" NPM_VERSION = "10.5.0"
[context.split1] [context.split1]
command = "cd exampleSite && hugo mod tidy && hugo mod npm pack && npm install && hugo --gc --minify --enableGitInfo" command = "cd exampleSite && hugo mod tidy && hugo mod npm pack && npm install && hugo --gc --minify --enableGitInfo"
[context.split1.environment] [context.split1.environment]
HUGO_ENV = "production" HUGO_ENV = "production"
HUGO_VERSION = "0.120.1" HUGO_VERSION = "0.124.0"
NODE_VERSION = "v18.12.1" NODE_VERSION = "v20.11.1"
NPM_VERSION = "8.19.2" NPM_VERSION = "10.5.0"
[context.deploy-preview] [context.deploy-preview]
command = "cd exampleSite && hugo mod tidy && hugo mod npm pack && npm install && hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL" command = "cd exampleSite && hugo mod tidy && hugo mod npm pack && npm install && hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
[context.deploy-preview.environment] [context.deploy-preview.environment]
HUGO_VERSION = "0.120.1" HUGO_VERSION = "0.124.0"
NODE_VERSION = "v18.12.1" NODE_VERSION = "v20.11.1"
NPM_VERSION = "8.19.2" NPM_VERSION = "10.5.0"
[context.branch-deploy] [context.branch-deploy]
command = "cd exampleSite && hugo mod tidy && hugo mod npm pack && npm install && hugo --gc --minify -b $DEPLOY_PRIME_URL" command = "cd exampleSite && hugo mod tidy && hugo mod npm pack && npm install && hugo --gc --minify -b $DEPLOY_PRIME_URL"
[context.branch-deploy.environment] [context.branch-deploy.environment]
HUGO_VERSION = "0.120.1" HUGO_VERSION = "0.124.0"
NODE_VERSION = "v18.12.1" NODE_VERSION = "v20.11.1"
NPM_VERSION = "8.19.2" NPM_VERSION = "10.5.0"
[context.next.environment] [context.next.environment]
HUGO_ENABLEGITINFO = "true" HUGO_ENABLEGITINFO = "true"
+35 -32
View File
@@ -12,7 +12,7 @@
"@fontsource/mulish": "4.5.13", "@fontsource/mulish": "4.5.13",
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bootstrap": "^4.6.2", "bootstrap": "^5.3.3",
"eslint": "^8.31.0", "eslint": "^8.31.0",
"eslint-config-prettier": "^8.6.0", "eslint-config-prettier": "^8.6.0",
"eslint-config-standard": "^17.0.0", "eslint-config-standard": "^17.0.0",
@@ -28,7 +28,7 @@
"imagesloaded": "^5.0.0", "imagesloaded": "^5.0.0",
"include-media": "^1.4.10", "include-media": "^1.4.10",
"ityped": "^1.0.3", "ityped": "^1.0.3",
"katex": "^0.16.3", "katex": "^0.16.10",
"mark.js": "^8.11.1", "mark.js": "^8.11.1",
"mermaid": "^9.2.1", "mermaid": "^9.2.1",
"plyr": "^3.7.2", "plyr": "^3.7.2",
@@ -150,6 +150,17 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"dev": true,
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@types/json5": { "node_modules/@types/json5": {
"version": "0.0.29", "version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -352,9 +363,9 @@
} }
}, },
"node_modules/bootstrap": { "node_modules/bootstrap": {
"version": "4.6.2", "version": "5.3.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
"integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -367,8 +378,7 @@
} }
], ],
"peerDependencies": { "peerDependencies": {
"jquery": "1.9.1 - 3", "@popperjs/core": "^2.11.8"
"popper.js": "^1.16.1"
} }
}, },
"node_modules/brace-expansion": { "node_modules/brace-expansion": {
@@ -2522,13 +2532,6 @@
"integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==", "integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==",
"dev": true "dev": true
}, },
"node_modules/jquery": {
"version": "3.6.3",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz",
"integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==",
"dev": true,
"peer": true
},
"node_modules/js-sdsl": { "node_modules/js-sdsl": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
@@ -2588,16 +2591,16 @@
} }
}, },
"node_modules/katex": { "node_modules/katex": {
"version": "0.16.4", "version": "0.16.10",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.4.tgz", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.10.tgz",
"integrity": "sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==", "integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==",
"dev": true, "dev": true,
"funding": [ "funding": [
"https://opencollective.com/katex", "https://opencollective.com/katex",
"https://github.com/sponsors/katex" "https://github.com/sponsors/katex"
], ],
"dependencies": { "dependencies": {
"commander": "^8.0.0" "commander": "^8.3.0"
}, },
"bin": { "bin": {
"katex": "cli.js" "katex": "cli.js"
@@ -3931,6 +3934,13 @@
"fastq": "^1.6.0" "fastq": "^1.6.0"
} }
}, },
"@popperjs/core": {
"version": "2.11.8",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"dev": true,
"peer": true
},
"@types/json5": { "@types/json5": {
"version": "0.0.29", "version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -4063,9 +4073,9 @@
"dev": true "dev": true
}, },
"bootstrap": { "bootstrap": {
"version": "4.6.2", "version": "5.3.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
"integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==", "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
@@ -5652,13 +5662,6 @@
"integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==", "integrity": "sha512-46Qnh3qs+6EJlWDHmvWRW6qiz5jFy2mkh9UvtTvQmLJMZIjKrdz4du68le7hLX4tAWCp6QTKiq/OuLv6huHxZg==",
"dev": true "dev": true
}, },
"jquery": {
"version": "3.6.3",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz",
"integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==",
"dev": true,
"peer": true
},
"js-sdsl": { "js-sdsl": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
@@ -5706,12 +5709,12 @@
} }
}, },
"katex": { "katex": {
"version": "0.16.4", "version": "0.16.10",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.4.tgz", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.10.tgz",
"integrity": "sha512-WudRKUj8yyBeVDI4aYMNxhx5Vhh2PjpzQw1GRu/LVGqL4m1AxwD1GcUp0IMbdJaf5zsjtj8ghP0DOQRYhroNkw==", "integrity": "sha512-ZiqaC04tp2O5utMsl2TEZTXxa6WSC4yo0fv5ML++D3QZv/vx2Mct0mTlRx3O+uUkjfuAgOkzsCmq5MiUEsDDdA==",
"dev": true, "dev": true,
"requires": { "requires": {
"commander": "^8.0.0" "commander": "^8.3.0"
} }
}, },
"khroma": { "khroma": {
+3 -3
View File
@@ -27,18 +27,18 @@
"eslint-plugin-n": "^15.6.0", "eslint-plugin-n": "^15.6.0",
"eslint-plugin-no-jquery": "^2.7.0", "eslint-plugin-no-jquery": "^2.7.0",
"eslint-plugin-promise": "^6.1.1", "eslint-plugin-promise": "^6.1.1",
"postcss": "^8.4.21", "postcss": "^8.4.31",
"postcss-cli": "^8.3.1", "postcss-cli": "^8.3.1",
"@fontsource/mulish": "4.5.13", "@fontsource/mulish": "4.5.13",
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.0",
"bootstrap": "^4.6.2", "bootstrap": "^5.3.3",
"filterizr": "^2.2.4", "filterizr": "^2.2.4",
"flag-icon-css": "^4.1.7", "flag-icon-css": "^4.1.7",
"fuse.js": "^6.6.2", "fuse.js": "^6.6.2",
"highlight.js": "^11.6.0", "highlight.js": "^11.6.0",
"imagesloaded": "^5.0.0", "imagesloaded": "^5.0.0",
"ityped": "^1.0.3", "ityped": "^1.0.3",
"katex": "^0.16.3", "katex": "^0.16.10",
"mark.js": "^8.11.1", "mark.js": "^8.11.1",
"mermaid": "^9.2.1", "mermaid": "^9.2.1",
"plyr": "^3.7.2", "plyr": "^3.7.2",
+2 -2
View File
@@ -40,7 +40,7 @@
"@fontsource/mulish": "4.5.13", "@fontsource/mulish": "4.5.13",
"@fortawesome/fontawesome-free": "^6.2.0", "@fortawesome/fontawesome-free": "^6.2.0",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"bootstrap": "^4.6.2", "bootstrap": "^5.3.3",
"eslint": "^8.31.0", "eslint": "^8.31.0",
"eslint-config-prettier": "^8.6.0", "eslint-config-prettier": "^8.6.0",
"eslint-config-standard": "^17.0.0", "eslint-config-standard": "^17.0.0",
@@ -56,7 +56,7 @@
"imagesloaded": "^5.0.0", "imagesloaded": "^5.0.0",
"include-media": "^1.4.10", "include-media": "^1.4.10",
"ityped": "^1.0.3", "ityped": "^1.0.3",
"katex": "^0.16.3", "katex": "^0.16.10",
"mark.js": "^8.11.1", "mark.js": "^8.11.1",
"mermaid": "^9.2.1", "mermaid": "^9.2.1",
"plyr": "^3.7.2", "plyr": "^3.7.2",
+27 -20
View File
@@ -1,24 +1,14 @@
# theme.toml template for a Hugo theme name = "Toha"
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
description = "A simple hugo theme for personal portfolio"
homepage = "https://hugo-toha.github.io/"
license = "MIT" license = "MIT"
licenselink = "https://github.com/hugo-toha/toha/blob/master/LICENSE" licenselink = "https://github.com/hugo-toha/toha/blob/master/LICENSE"
min_version = "0.118.0" description = "A simple hugo theme for personal portfolio"
name = "Toha"
# The home page of the theme, where the source can be found.
homepage = "https://github.com/hugo-toha/toha"
# If you have a running demo of the theme.
demosite = "https://hugo-toha.github.io/"
features = [
"Minimalist Design",
"Fully Responsive",
"Multiple Language Support",
"Carefully Designed Cards",
"Experience Timeline",
"Achievement Gallery",
"Sidebar to Categorize the Posts",
"Short Codes",
"Google Analytics Support",
"Disqus Comment Support",
]
tags = [ tags = [
"Portfolio", "Portfolio",
"Blog", "Blog",
@@ -34,7 +24,24 @@ tags = [
"Bootstrap", "Bootstrap",
"Syntax highlighting", "Syntax highlighting",
] ]
features = [
"Minimalist Design",
"Fully Responsive",
"Multiple Language Support",
"Carefully Designed Cards",
"Experience Timeline",
"Achievement Gallery",
"Sidebar to Categorize the Posts",
"Short Codes",
"Google Analytics Support",
"Disqus Comment Support",
]
[author] [author]
homepage = "https://hossainemruz.github.io" homepage = "https://hossainemruz.github.io"
name = "Emruz Hossain" name = "Emruz Hossain"
[module]
[module.hugoVersion]
extended = true
min = "0.118.0"