137 Commits

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

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

* Tunning default parameters.

* Allow configurable number of recent posts.

* Added invisible element to hack theme initialization.

* Added default value.

* Use Darkreader CDN.

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

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

* Bring back the initialization.

* Added provider property.

* Added theme selector to the posts navbar.

* Removed extra line breaks.

* Changed darkreader CDN to local copy.

* Renamed to darkMode.

* Fixed CodeQL failures.

* Added icons.

* Renamed function.

* Added SVG inversion.

* Used icons for selection.

* Toggle initial dark only in the dynamic navbar.

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

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

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

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

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

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

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

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

Not perfect but will work fine for a while.

* Make counter.dev's `referrerPolicy` togglable

* Make `referrerPolicy` take more options

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

* Add finnish translation to the README

* Use a more fitting word for prev in finnish translation

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

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

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

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

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

* Fix links

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

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

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

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

* Fixed absLangURL issue with sections in footer

* Fixes LaTeX support

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

* Added 2 New, Privacy-Friendly Analytics Methods

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

* Removed 1 CDN

* Moved params under features

* Added Ko-Fi floating button for support

* Refactor analytics code + Add local fonts

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

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

* Use page level configuration for mermaid + use local file

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

* Fix comment

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

* add create config

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

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

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

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

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

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

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

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

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

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

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

* update theme default to light

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

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

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

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

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

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

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

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

* Fix search translation not applied to posts + update translations

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: change logic from  to

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

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

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

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

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

* fix: nesting levels in config

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

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

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

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

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

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

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

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

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

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

fix display property when hidden

* Update achievements.html

fixed display property when hidden

* Update education-alt.html

fixed display property when hidden

* Update education.html

fixed display property when hidden

* Update experiences.html

fixed display property when hidden

* Update projects.html

fixed display property when hidden

* Update recent-posts.html

fixed display property when hidden

* Update skills.html

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

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

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

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

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

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

* fix configurable navbar count

replace all evidences of "5" by $maxnavitems

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

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

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

* Fixed absLangURL issue with sections in footer

* Add LaTeX support

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

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

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

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

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

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

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

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

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

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

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

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

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

* Open link in a new tab

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

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

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

* renamed treshold param to collapseAfter

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

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

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

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

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

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

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Add issue parser workflow

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

* Add custom action

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

* Update workflow

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

* Update linked_issues workflow

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

* Update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

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

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

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

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

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

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

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

* Add connected event

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

* Update workflow

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

* Update workflows

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

* Update workflow

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

* Update workflow

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

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

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

* Fix LOC badge

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

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

* Print project_data.json

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

* Update project automation

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Adjust the comment config

* Adjust the comment config

* Make comment section backward compatible with old config

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

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

* Fixed absLangURL issue with sections in footer

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

* Fixed section landing position on navigation

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

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

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

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

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

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

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

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

* Update plyr.css

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

* Added some (optional) social buttons

* Small fix for hardcoded values

* Update single.html

* Update look & feel for share buttons

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

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

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

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

* Solved comments

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

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

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

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

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

* taxonomies -  add active class

* Update CSS

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

* Fix tag link for multilingual mode + add translations

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

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

* Added default value.

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

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

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

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

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

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

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

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

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

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

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

* translate_Chinese

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

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

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

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

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

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

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

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

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

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

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

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-01 18:14:20 +00:00
168 changed files with 7942 additions and 894 deletions
+3 -3
View File
@@ -8,10 +8,10 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout to latest commit - name: Checkout to latest commit
uses: actions/checkout@v2.3.4 uses: actions/checkout@v3
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v2.1.5 uses: actions/setup-node@v3
with: with:
node-version: "15.x" node-version: "15.x"
@@ -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@v3.10.0 uses: peter-evans/create-pull-request@v4
with: with:
branch: autoprefixer branch: autoprefixer
branch-suffix: timestamp branch-suffix: timestamp
+28
View File
@@ -0,0 +1,28 @@
name: Run Build
# Run action on pull request event
on: [pull_request]
jobs:
build:
runs-on: ubuntu-18.04
steps:
# checkout to the commit that has been pushed
- uses: actions/checkout@v2.4.0
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
# install Hugo
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.5.0
with:
hugo-version: 'latest'
extended: true
# build website
- name: Create Config
run: touch config.toml
- name: Build
run: hugo --minify
+4 -4
View File
@@ -39,11 +39,11 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v1 uses: github/codeql-action/init@v2
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
@@ -54,7 +54,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@v2
# ️ Command-line programs to run using the OS shell. # ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl # 📚 https://git.io/JvXDl
@@ -68,4 +68,4 @@ jobs:
# make release # make release
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@v2
+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.15.0 - uses: release-drafter/release-drafter@v5.20.0
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+2 -2
View File
@@ -8,6 +8,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
# checkout to latest commit # checkout to latest commit
- uses: actions/checkout@master - uses: actions/checkout@v3
# run markdown linter # run markdown linter
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.12 - uses: gaurav-nelson/github-action-markdown-link-check@1.0.14
@@ -0,0 +1,150 @@
name: Project Automation (Issue)
on:
issues:
types:
- opened
- reopened
- closed
- labeled
- unlabeled
jobs:
issue_automation:
runs-on: ubuntu-latest
steps:
- name: Get project data
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
ORGANIZATION: hugo-toha
PROJECT_NUMBER: 4
run: |
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
query($org: String!, $number: Int!) {
organization(login: $org){
projectNext(number: $number) {
id
fields(first:20) {
nodes {
id
name
settings
}
}
}
}
}' -f org="$ORGANIZATION" -F number=$PROJECT_NUMBER > project_data.json
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
# Read the ID of the "Type" field options
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_BUG='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Bug") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_FEATURE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Feature") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_ENHANCEMENT='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Enhancement") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_DOCUMENTATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Documentation") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_TRANSLATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Translation") |.id' project_data.json) >> $GITHUB_ENV
# Read the id of the "Status" field options
echo 'STATUS_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_TODO='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_IN_PROGRESS='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="In Progress") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_READY_FOR_REVIEW='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Ready for Review") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_DONE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Done") |.id' project_data.json) >> $GITHUB_ENV
- name: Add Issue to project
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
ISSUE_ID: ${{ github.event.issue.node_id }}
run: |
item_id="$( gh api graphql -f query='
mutation($project:ID!, $issue:ID!) {
addProjectNextItem(input: {projectId: $project, contentId: $issue}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f issue="$ISSUE_ID" --jq '.data.addProjectNextItem.projectNextItem.id')"
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
- name: Export Labels
env:
ISSUE_DATA: ${{ toJson(github.event.issue) }}
run: |
echo 'LABELS='$(echo "$ISSUE_DATA" | jq -r '[.labels[].name] | join(" ")') >> $GITHUB_ENV
- name: Set "Type" field
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
run: |
# Only execute this step if the Issue contains at least one label
if [ "${#LABELS[@]}" -gt 0 ]; then
# Let by default the type is "Bug"
OPTION_ID=$TYPE_BUG
# If it has "feature" label then set the type to "Feature"
if [[ "${LABELS[*]}" =~ "feature" ]]; then
OPTION_ID=$TYPE_FEATURE
fi
# If it has "enhancement" label then set the type to "Enhancement"
if [[ "${LABELS[*]}" =~ "enhancement" ]]; then
OPTION_ID=$TYPE_ENHANCEMENT
fi
# If it has "documentation" label then set the type to "Documentation"
if [[ "${LABELS[*]}" =~ "documentation" ]]; then
OPTION_ID=$TYPE_DOCUMENTATION
fi
# If it has "translation" label then set the type to "Translation"
if [[ "${LABELS[*]}" =~ "translation" ]]; then
OPTION_ID=$TYPE_TRANSLATION
fi
# Set the "Type" field to appropriate option
gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: String!) {
updateProjectNextItemField(input: {
projectId: $project
itemId: $item
fieldId: $field
value: $opt_id
}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$TYPE_ID" -f opt_id="$OPTION_ID" --silent
fi
- name: Set "Status" field
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
run: |
STATE=${{github.event.issue.state}}
echo "State: $STATE"
OPTION_ID=$STATUS_TODO
if [[ "${STATE}" == "closed" ]]
then
OPTION_ID=$STATUS_DONE
fi
gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
updateProjectNextItemField(input: {
projectId: $project
itemId: $item
fieldId: $field
value: $status_id
}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$STATUS_ID" -f status_id="$OPTION_ID" --silent
@@ -0,0 +1,219 @@
name: Project Automation (PR)
on:
pull_request:
types:
- opened
- ready_for_review
- reopened
- review_requested
- closed
- labeled
- unlabeled
- synchronize
jobs:
pr_automation:
runs-on: ubuntu-latest
steps:
- name: Get project data
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
ORGANIZATION: hugo-toha
PROJECT_NUMBER: 4
run: |
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
query($org: String!, $number: Int!) {
organization(login: $org){
projectNext(number: $number) {
id
fields(first:20) {
nodes {
id
name
settings
}
}
}
}
}' -f org="$ORGANIZATION" -F number=$PROJECT_NUMBER > project_data.json
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
# Read the ID of the "Type" field options
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_BUG='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Bug") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_FEATURE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Feature") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_ENHANCEMENT='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Enhancement") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_DOCUMENTATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Documentation") |.id' project_data.json) >> $GITHUB_ENV
echo 'TYPE_TRANSLATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Translation") |.id' project_data.json) >> $GITHUB_ENV
# Read the id of the "Status" field options
echo 'STATUS_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_TODO='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_IN_PROGRESS='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="In Progress") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_READY_FOR_REVIEW='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Ready for Review") |.id' project_data.json) >> $GITHUB_ENV
echo 'STATUS_DONE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Done") |.id' project_data.json) >> $GITHUB_ENV
- name: Add PR to project
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
PR_ID: ${{ github.event.pull_request.node_id }}
run: |
item_id="$( gh api graphql -f query='
mutation($project:ID!, $pr:ID!) {
addProjectNextItem(input: {projectId: $project, contentId: $pr}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f pr="$PR_ID" --jq '.data.addProjectNextItem.projectNextItem.id')"
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
- name: Export Labels
env:
PR_DATA: ${{ toJson(github.event.pull_request) }}
run: |
echo 'LABELS='$(echo "$PR_DATA" | jq -r '[.labels[].name] | join(" ")') >> $GITHUB_ENV
- name: Set "Type" field
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
run: |
# Only execute this step if the PR contains at least one label
if [ "${#LABELS[@]}" -gt 0 ]; then
# Let by default the type is "Bug"
OPTION_ID=$TYPE_BUG
# If it has "feature" label then set the type to "Feature"
if [[ "${LABELS[*]}" =~ "feature" ]]; then
OPTION_ID=$TYPE_FEATURE
fi
# If it has "enhancement" label then set the type to "Enhancement"
if [[ "${LABELS[*]}" =~ "enhancement" ]]; then
OPTION_ID=$TYPE_ENHANCEMENT
fi
# If it has "documentation" label then set the type to "Documentation"
if [[ "${LABELS[*]}" =~ "documentation" ]]; then
OPTION_ID=$TYPE_DOCUMENTATION
fi
# If it has "translation" label then set the type to "Translation"
if [[ "${LABELS[*]}" =~ "translation" ]]; then
OPTION_ID=$TYPE_TRANSLATION
fi
# Set the "Type" field to appropriate option
gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: String!) {
updateProjectNextItemField(input: {
projectId: $project
itemId: $item
fieldId: $field
value: $opt_id
}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$TYPE_ID" -f opt_id="$OPTION_ID" --silent
fi
- name: Set "Status" field
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
run: |
MERGED=${{github.event.pull_request.merged}}
STATE=${{github.event.pull_request.state}}
REVIEWERS=${{github.event.pull_request.requested_reviewers}}
DRAFT=${{github.event.pull_request.draft}}
echo "Merged: $MERGED"
echo "State: $STATE"
echo "Draft: $DRAFT"
echo "Reviewer: $REVIEWER"
OPTION_ID=$STATUS_TODO
if [[ ("${MERGED}" == "true") || ("${STATE}" == "closed") ]]
then
OPTION_ID=$STATUS_DONE
elif [[ ${#REVIEWERS[@]} -gt 0 ]]
then
OPTION_ID=$STATUS_READY_FOR_REVIEW
else
OPTION_ID=$STATUS_IN_PROGRESS
fi
# Expose the OPTION_ID so that it can be used in later steps
echo 'PR_STATUS='$OPTION_ID >> $GITHUB_ENV
gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
updateProjectNextItemField(input: {
projectId: $project
itemId: $item
fieldId: $field
value: $status_id
}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$STATUS_ID" -f status_id="$OPTION_ID" --silent
- name: Find Linked Issues
id: linked_issues
uses: hossainemruz/linked-issues@main
with:
pr_url: ${{github.event.pull_request.html_url}}
format: IssueNumber
- name: Update Linked Issues Status
env:
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
run: |
declare -a issues=(${{ steps.linked_issues.outputs.issues }})
# Loop through the every issues and update their Status to same as the PR Status
for i in "${issues[@]}"
do
# Find the Issue ID
ISSUE_ID="$(gh api graphql -f query='
query($owner: String!, $name: String!, $issue_number: Int!) {
repository(owner: $owner, name: $name) {
issue(number: $issue_number) {
id
}
}
}' -f owner="${{github.event.pull_request.head.repo.owner.login}}" -f name="${{github.event.pull_request.head.repo.name}}" -F issue_number=$i --jq='.data.repository.issue.id')"
# Find the id of the Issue at the project board
item_id="$( gh api graphql -f query='
mutation($project:ID!, $pr:ID!) {
addProjectNextItem(input: {projectId: $project, contentId: $pr}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f pr="$ISSUE_ID" --jq '.data.addProjectNextItem.projectNextItem.id')"
# Update the Issue Status
gh api graphql -f query='
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
updateProjectNextItemField(input: {
projectId: $project
itemId: $item
fieldId: $field
value: $status_id
}) {
projectNextItem {
id
}
}
}' -f project="$PROJECT_ID" -f item="$item_id" -f field="$STATUS_ID" -f status_id="$PR_STATUS" --silent
done
+18 -8
View File
@@ -3,7 +3,7 @@
[![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)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fhugo-toha%2Ftoha%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main) [![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fhugo-toha%2Ftoha%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)
![Repository Size](https://img.shields.io/github/repo-size/hugo-toha/toha) ![Repository Size](https://img.shields.io/github/repo-size/hugo-toha/toha)
![Lines of Codes](https://img.shields.io/tokei/lines/github/hugo-toha/toha) ![Lines of Codes](https://img.shields.io/tokei/lines/github.com/hugo-toha/toha)
![Contributor](https://img.shields.io/github/contributors/hugo-toha/toha) ![Contributor](https://img.shields.io/github/contributors/hugo-toha/toha)
![Latest Release](https://img.shields.io/github/v/release/hugo-toha/toha?include_prereleases) ![Latest Release](https://img.shields.io/github/v/release/hugo-toha/toha?include_prereleases)
![Last Commit](https://img.shields.io/github/last-commit/hugo-toha/toha) ![Last Commit](https://img.shields.io/github/last-commit/hugo-toha/toha)
@@ -30,8 +30,15 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
- Achievement Gallery - Achievement Gallery
- Sidebar to Categorize the Posts - Sidebar to Categorize the Posts
- Short Codes - Short Codes
- Google Analytics Support - Analytics Support
- Disqus Comment Support - GoatCounter
- counter.dev
- Google Analytics
- Comment Support
- [Disqus](https://disqus.com/)
- [Valine](https://valine.js.org/)
- [Uttarances](https://utteranc.es/)
- [Giscus](https://giscus.app/)
For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/). For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
@@ -49,6 +56,7 @@ For more details about the features please visit [here](https://toha-guides.netl
- 日本語 - 日本語
- 한국어 - 한국어
- русский - русский
- suomi
- Tiếng Việt - Tiếng Việt
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).
@@ -71,7 +79,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
## Requirements ## Requirements
- Hugo Version 0.68.0 or higher - Hugo Version 0.87.0 or higher
## Usage ## Usage
@@ -165,10 +173,12 @@ When you run your site for first time, it will start with the default parameters
Here, are some handy shortcodes you can use with this theme. Here, are some handy shortcodes you can use with this theme.
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/) - [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/) - [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/) - [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/) - [Vertical Space](https://toha-guides.netlify.app/posts/shortcodes/#vertical-space)
- [Video](https://toha-guides.netlify.app/posts/shortcodes/#video)
- [Mermaid](https://hugo-toha.github.io/posts/shortcodes/#mermaid)
## Project Roadmap ## Project Roadmap
+12
View File
@@ -8,6 +8,12 @@ other = "পোষ্ট সমূহ"
[toc_heading] [toc_heading]
other = "সুচিপত্র" other = "সুচিপত্র"
[tags]
other = "ট্যাগ সমুহ"
[categories]
other = "বিভাগ সমুহ"
[resume] [resume]
other = "আমার জীবনবৃত্তান্ত" other = "আমার জীবনবৃত্তান্ত"
@@ -44,6 +50,9 @@ other = "পূর্ববর্তী"
[next] [next]
other = "পরবর্তী" other = "পরবর্তী"
[share_on]
other = "শেয়ার করুন"
[improve_this_page] [improve_this_page]
other = "এই পৃষ্ঠাটি উন্নত করুন" other = "এই পৃষ্ঠাটি উন্নত করুন"
@@ -109,3 +118,6 @@ other = "নোট সমূহ"
[disclaimer_text] [disclaimer_text]
other = "দায় বিজ্ঞপ্তি" other = "দায় বিজ্ঞপ্তি"
[search]
other = "অনুসন্ধান করুন"
+12
View File
@@ -8,6 +8,12 @@ other = "Beiträge"
[toc_heading] [toc_heading]
other = "Inhaltsverzeichnis" other = "Inhaltsverzeichnis"
[tags]
other = "Stichworte"
[categories]
other = "Kategorien"
[at] [at]
other = "bei" other = "bei"
@@ -47,6 +53,9 @@ other = "Vorherige"
[next] [next]
other = "Nächste" other = "Nächste"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "Diese Seite verbessern" other = "Diese Seite verbessern"
@@ -112,3 +121,6 @@ other = "Notizen"
[disclaimer_text] [disclaimer_text]
other = "Haftungshinweis" other = "Haftungshinweis"
[search]
other = "Suche"
+12
View File
@@ -8,6 +8,12 @@ other = "Posts"
[toc_heading] [toc_heading]
other = "Table of Contents" other = "Table of Contents"
[tags]
other = "Tags"
[categories]
other = "Categories"
[at] [at]
other = "at" other = "at"
@@ -47,6 +53,9 @@ other = "Prev"
[next] [next]
other = "Next" other = "Next"
[share_on]
other = "Share on"
[improve_this_page] [improve_this_page]
other = "Improve this page" other = "Improve this page"
@@ -112,3 +121,6 @@ other = "Notes"
[disclaimer_text] [disclaimer_text]
other = "Liability Notice" other = "Liability Notice"
[search]
other = "Search"
+28 -16
View File
@@ -8,6 +8,12 @@ other = "Posts"
[toc_heading] [toc_heading]
other = "Contenido" other = "Contenido"
[tags]
other = "Etiquetas"
[categories]
other = "Categorías"
[at] [at]
other = "en" other = "en"
@@ -47,6 +53,9 @@ other = "Anterior"
[next] [next]
other = "Siguiente" other = "Siguiente"
[share_on]
other = "Compartir en"
[improve_this_page] [improve_this_page]
other = "Mejorar esta página" other = "Mejorar esta página"
@@ -77,29 +86,29 @@ other = "Ver más"
[show_less] [show_less]
other = "Muestra menos" other = "Muestra menos"
# [responsibilities] [responsibilities]
# other = "Responsibilities:" other = "Responsabilidades:"
# [present] [present]
# other = "Present" other = "Presente"
# [comments_javascript] [comments_javascript]
# other = "Please enable JavaScript to view the" other = "Por favor, activa JavaScript para ver el"
# [comments_by] [comments_by]
# other = "comments powered by" other = "comentarios cortesía de"
# [read] [read]
# other = "Read" other = "Leer"
# [project_star] [project_star]
# other = "Star" other = "Favorito"
# [project_details] [project_details]
# other = "Details" other = "Detalles"
# [err_404] [err_404]
# other = "The page you are looking for is not there yet." other = "La página que estás buscando no está aquí (todavía)"
[more] [more]
other = "Más" other = "Más"
@@ -112,3 +121,6 @@ other = "Notas"
[disclaimer_text] [disclaimer_text]
other = "Aviso de responsabilidad" other = "Aviso de responsabilidad"
[search]
other = "Búsqueda"
+126
View File
@@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Koti"
[posts]
other = "Artikkelit"
[toc_heading]
other = "Sisällysluettelo"
[tags]
other = "Tagit"
[categories]
other = "Kategoriat"
[at]
other = "at"
[resume]
other = "Ansioluetteloni"
[navigation]
other = "Navigointi"
[contact_me]
other = "Ota yhteyttä minuun:"
[email]
other = "Sähköposti"
[phone]
other = "Puhelin"
[newsletter_text]
other = "Pysy ajan tasalla tilaamalla sähköposti-ilmoitukset"
[newsletter_input_placeholder]
other = "Syötä sähköpostiosoite"
[newsletter_warning]
other = "Syöttämällä sähköpostin, hyväksyt että haluat vastaanottaa uutiskirjeen tältä sivustolta."
[submit]
other = "Lähetä"
[hugoAttributionText]
other = "Voimanlähteenä"
[prev]
other = "Edellinen"
[next]
other = "Seuraava"
[share_on]
other = "Jaa"
[improve_this_page]
other = "Paranna tätä sivua"
[out_of]
other = "out of"
[publications]
other = "Julkaisut"
[taken_courses]
other = "Käydyt kurssit"
[course_name]
other = "Kurssin nimi"
[total_credit]
other = "Opintopisteet yhteensä"
[obtained_credit]
other = "Saadut opintopisteet"
[extracurricular_activities]
other = "Opetusohjelman ulkopuolinen toiminta"
[show_more]
other = "Näytä lisää"
[show_less]
other = "Näytä vähemmän"
[responsibilities]
other = "Työtehtävät:"
[present]
other = "Tämä päivä"
[comments_javascript]
other = "Ole hyvä ja enabloi JavaScript katsoaksesi"
[comments_by]
other = "kommentit mahdollistavat"
[read]
other = "Lue"
[project_star]
other = "Tähti"
[project_details]
other = "Yksityiskohdat"
[err_404]
other = "Sivua jota etsit ei löydy."
[more]
other = "Lisää"
[view_certificate]
other = "Katso todistus"
[notes]
other = "Muistiinpanot"
[disclaimer_text]
other = "Vastuuilmoitus"
[search]
other = "Haku"
+27 -15
View File
@@ -8,11 +8,17 @@ other = "Articles"
[toc_heading] [toc_heading]
other = "Table des matières" other = "Table des matières"
[tags]
other = "Mots clés"
[categories]
other = "Catégories"
[at] [at]
other = "chez" other = "chez"
[resume] [resume]
other = "Mon Curriculum vitæ" other = "Mon Curriculum Vitæ"
[navigation] [navigation]
other = "Navigation" other = "Navigation"
@@ -47,6 +53,9 @@ other = "Précédent"
[next] [next]
other = "Suivant" other = "Suivant"
[share_on]
other = "Partager sur"
[improve_this_page] [improve_this_page]
other = "Améliorez cette page" other = "Améliorez cette page"
@@ -57,10 +66,10 @@ other = "sur"
other = "Publications" other = "Publications"
[taken_courses] [taken_courses]
other = "Taken Courses" other = "Cours suivis"
[course_name] [course_name]
other = "Cours suivis" other = "Intitulé du cours"
[total_credit] [total_credit]
other = "Crédit total" other = "Crédit total"
@@ -77,17 +86,17 @@ other = "En savoir plus"
[show_less] [show_less]
other = "Montrer moins" other = "Montrer moins"
# [responsibilities] [responsibilities]
# other = "Responsibilities:" other = "Responsabilitiés :"
# [present] [present]
# other = "Present" other = "Aujourd'hui"
# [comments_javascript] [comments_javascript]
# other = "Please enable JavaScript to view the" other = "Merci d'activer JavaScript pour voir le"
# [comments_by] [comments_by]
# other = "comments powered by" other = "commentaires fournis par"
[read] [read]
other = "Lire" other = "Lire"
@@ -95,11 +104,11 @@ other = "Lire"
# [project_star] # [project_star]
# other = "Star" # other = "Star"
# [project_details] [project_details]
# other = "Details" other = "Détails"
# [err_404] [err_404]
# other = "The page you are looking for is not there yet." other = "La page que vous recherchez n'est pas disponible."
[more] [more]
other = "Suite" other = "Suite"
@@ -112,3 +121,6 @@ other = "Remarques"
[disclaimer_text] [disclaimer_text]
other = "Avis de responsabilité" other = "Avis de responsabilité"
[search]
other = "Chercher"
+12
View File
@@ -8,6 +8,12 @@ other = "पोस्ट"
[toc_heading] [toc_heading]
other = "विषयसूची" other = "विषयसूची"
[tags]
other = "टैग"
[categories]
other = "श्रेणियाँ"
[at] [at]
other = "अन्य" other = "अन्य"
@@ -47,6 +53,9 @@ other = "पिछला"
[next] [next]
other = "आगे" other = "आगे"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "इस पृष्ठ को सुधारें" other = "इस पृष्ठ को सुधारें"
@@ -112,3 +121,6 @@ other = "टिप्पणियाँ"
[disclaimer_text] [disclaimer_text]
other = "दायित्व सूचना" other = "दायित्व सूचना"
[search]
other = "खोज"
+12
View File
@@ -8,6 +8,12 @@ other = "Artikel"
[toc_heading] [toc_heading]
other = "Daftar Isi" other = "Daftar Isi"
[tags]
other = "Tags"
[categories]
other = "Kategori"
[at] [at]
other = "at" other = "at"
@@ -47,6 +53,9 @@ other = "Sebelumnya"
[next] [next]
other = "Lanjut" other = "Lanjut"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "Perbaiki halaman ini" other = "Perbaiki halaman ini"
@@ -112,3 +121,6 @@ other = "Catatan"
[disclaimer_text] [disclaimer_text]
other = "Pemberitahuan Kewajiban" other = "Pemberitahuan Kewajiban"
[search]
other = "Mencari"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "Post"
[toc_heading] [toc_heading]
other = "Contenuti" other = "Contenuti"
[tags]
other = "Tags"
[categories]
other = "Categorie"
[at] [at]
other = "presso" other = "presso"
@@ -47,6 +53,9 @@ other = "Precedente"
[next] [next]
other = "Successivo" other = "Successivo"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "Migliora questa pagina" other = "Migliora questa pagina"
@@ -105,10 +114,13 @@ other = "Mostra meno"
other = "Di più" other = "Di più"
[view_certificate] [view_certificate]
other = "Féach ar an Teastas" other = "Vedi certificato"
[notes] [notes]
other = "Appunti" other = "Appunti"
[disclaimer_text] [disclaimer_text]
other = "Avviso di responsabilità" other = "Avviso di responsabilità"
[search]
other = "Ricerca"
+12
View File
@@ -8,6 +8,12 @@ other = "記事"
[toc_heading] [toc_heading]
other = "目次" other = "目次"
[tags]
other = "タグ"
[categories]
other = "カテゴリ"
[resume] [resume]
other = "職務経歴書" other = "職務経歴書"
@@ -44,6 +50,9 @@ other = "前"
[next] [next]
other = "次" other = "次"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "編集リクエストを送る" other = "編集リクエストを送る"
@@ -109,3 +118,6 @@ other = "ノート"
[disclaimer_text] [disclaimer_text]
other = "責任通知" other = "責任通知"
[search]
other = "検索"
+12
View File
@@ -8,6 +8,12 @@ other = "게시글"
[toc_heading] [toc_heading]
other = "목차" other = "목차"
[tags]
other = "태그"
[categories]
other = "카테고리"
[at] [at]
other = "at" other = "at"
@@ -47,6 +53,9 @@ other = "이전"
[next] [next]
other = "다음" other = "다음"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "이 페이지를 개선" other = "이 페이지를 개선"
@@ -112,3 +121,6 @@ other = "메모"
[disclaimer_text] [disclaimer_text]
other = "책임 고지" other = "책임 고지"
[search]
other = "찾다"
+11
View File
@@ -7,6 +7,12 @@ other = "Beiträge"
[toc_heading] [toc_heading]
other = "Inhaltsverzeichnis" other = "Inhaltsverzeichnis"
[tags]
other = "Tags"
[categories]
other = "Categorieën"
[at] [at]
other = "bei" other = "bei"
@@ -46,6 +52,9 @@ other = "Vorherige"
[next] [next]
other = "Nächste" other = "Nächste"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "Diese Seite verbessern" other = "Diese Seite verbessern"
@@ -111,3 +120,5 @@ other = "Opmerkingen"
[disclaimer_text] [disclaimer_text]
other = "Haftungshinweis" other = "Haftungshinweis"
[search]
other = "Zoekopdracht"
+12
View File
@@ -8,6 +8,12 @@ other = "Посты"
[toc_heading] [toc_heading]
other = "Оглавление" other = "Оглавление"
[tags]
other = "Теги"
[categories]
other = "Категории"
[at] [at]
other = "в" other = "в"
@@ -47,6 +53,9 @@ other = "Предыдущий"
[next] [next]
other = "Следующий" other = "Следующий"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "Улучшить эту страницу" other = "Улучшить эту страницу"
@@ -112,3 +121,6 @@ other = "Ноты"
[disclaimer_text] [disclaimer_text]
other = "Уведомление об ответственности" other = "Уведомление об ответственности"
[search]
other = "Поиск"
+12
View File
@@ -8,6 +8,12 @@ other = "Bài viết"
[toc_heading] [toc_heading]
other = "Mục lục" other = "Mục lục"
[tags]
other = "Thẻ"
[categories]
other = "Thể loại"
[at] [at]
other = "tại" other = "tại"
@@ -47,6 +53,9 @@ other = "Trước"
[next] [next]
other = "Tiếp theo" other = "Tiếp theo"
# [share_on]
# other = "Share on"
[improve_this_page] [improve_this_page]
other = "Cải thiện trang này" other = "Cải thiện trang này"
@@ -112,3 +121,6 @@ other = "Ghi chú"
[disclaimer_text] [disclaimer_text]
other = "Thông báo trách nhiệm" other = "Thông báo trách nhiệm"
[search]
other = "Tìm kiếm"
+29 -17
View File
@@ -8,6 +8,12 @@ other = "博文"
[toc_heading] [toc_heading]
other = "目录" other = "目录"
[tags]
other = "标签"
[categories]
other = "类别"
[at] [at]
other = "at" other = "at"
@@ -47,6 +53,9 @@ other = "上一篇"
[next] [next]
other = "下一篇" other = "下一篇"
[share_on]
other = "分享"
[improve_this_page] [improve_this_page]
other = "改善此页面" other = "改善此页面"
@@ -77,29 +86,29 @@ other = "查看更多"
[show_less] [show_less]
other = "显示较少" other = "显示较少"
# [responsibilities] [responsibilities]
# other = "Responsibilities:" other = "职责:"
# [present] [present]
# other = "Present" other = "至今"
# [comments_javascript] [comments_javascript]
# other = "Please enable JavaScript to view the" other = "请启用 JavaScript 以查看"
# [comments_by] [comments_by]
# other = "comments powered by" other = "评论支持 by"
# [read] [read]
# other = "Read" other = "阅读"
# [project_star] [project_star]
# other = "Star" other = "Star"
# [project_details] [project_details]
# other = "Details" other = "详情"
# [err_404] [err_404]
# other = "The page you are looking for is not there yet." other = "您查找的页面已私奔。"
[more] [more]
other = "更多的" other = "更多的"
@@ -111,4 +120,7 @@ other = "查看证书"
other = "笔记" other = "笔记"
[disclaimer_text] [disclaimer_text]
other = "责任通知" other = "免责声明"
[search]
other = "搜索"
+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 = "at"
[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 = "Powered by"
[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 = "Star"
[project_details]
other = "詳情"
[err_404]
other = "您訪問的頁面不存在"
[more]
other = "更多的"
[view_certificate]
other = "查看證書"
[notes]
other = "筆記"
[disclaimer_text]
other = "免責聲明"
[search]
other = "搜索"
+7 -10
View File
@@ -9,16 +9,9 @@
<!------ ADD PAGE SPECIFIC HEADERS -------> <!------ ADD PAGE SPECIFIC HEADERS ------->
{{ block "header" . }} {{ end }} {{ block "header" . }} {{ end }}
<!-- ADD GOOGLE ANALYTICS IF ENABLED --> <!--================= add analytics if enabled =========================-->
{{ if site.GoogleAnalytics }} {{- partial "analytics.html" . -}}
<!-- Google Analytics v3 ID -->
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
{{ template "_internal/google_analytics_async.html" . }}
{{ else }}
<!-- Google Analytics v4 ID -->
{{ template "_internal/google_analytics.html" . }}
{{ end }}
{{ end }}
</head> </head>
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80"> <body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
@@ -45,5 +38,9 @@
<!------- ADD PAGE SPECIFIC SCRIPTS ------> <!------- ADD PAGE SPECIFIC SCRIPTS ------>
{{ block "scripts" . }} {{ end }} {{ block "scripts" . }} {{ end }}
<!------ IF WANTED, ADD SUPPORT LINKS -------->
{{- partial "misc/support.html" . -}}
</body> </body>
</html> </html>
+1 -1
View File
@@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> <input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">
+43
View File
@@ -0,0 +1,43 @@
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
{{- $pages := slice -}}
{{- if $.IsHome -}}
{{- $pages = sort $pctx.RegularPages "Date" "desc" -}}
{{- else if $.IsSection -}}
{{- $pages = sort $pctx.RegularPagesRecursive "Date" "desc" -}}
{{- else -}}
{{- $pages = sort $pctx.RegularPagesRecursive "Date" "desc" -}}
{{- end -}}
{{- $limit := .Site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<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 }}
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" -}}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end -}}
{{ range $pages }}
{{- if ne .RelPermalink "/search/" -}}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<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}}
<guid>{{ .Permalink }}</guid>
<description>{{ .Summary | html }}</description>
</item>
{{ end }}
{{ end }}
</channel>
</rss>
+1 -1
View File
@@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> <input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">
+106 -9
View File
@@ -20,7 +20,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> <input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">
@@ -48,35 +48,124 @@
<div class="author-profile ml-auto align-self-lg-center"> <div class="author-profile ml-auto align-self-lg-center">
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' 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>{{ .Page.Date.Format "January 2, 2006" }}</p> <p>{{ .Page.Date | time.Format ":date_full" }}</p>
</div> </div>
<div class="title"> <div class="title">
<h1>{{ .Page.Title }}</h1> <h1>{{ .Page.Title }}</h1>
</div> </div>
{{ if site.Params.enableTags }}
<div class="taxonomy-terms">
<ul>
{{ range .Params.tags }}
{{ $url:= printf "tags/%s" . }}
<li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn, btn-sm">{{ . }}</a></li>
{{ end }}
</ul>
</div>
{{ end }}
<div class="post-content" id="post-content"> <div class="post-content" id="post-content">
{{ .Page.Content }} {{ .Page.Content }}
</div> </div>
<!-- Share or Contribute -->
<div class="row pl-3 pr-3">
<!--Social Media Share Buttons-->
<div class="col-md-6 share-buttons">
{{ if site.Params.features.blog.shareButtons }}
<strong>{{ i18n "share_on" }}:</strong>
{{ if site.Params.features.blog.shareButtons.facebook }}
<a class="btn btn-sm facebook-btn" href="https://www.facebook.com/sharer.php?u={{ .Permalink }}" target="_blank">
<i class="fab fa-facebook"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.twitter }}
<a class="btn btn-sm twitter-btn" href="https://twitter.com/share?url={{ .Permalink }}&text={{ .Title }}&via={{- site.Title -}}" target="_blank">
<i class="fab fa-twitter"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.reddit }}
<a class="btn btn-sm reddit-btn" href="https://reddit.com/submit?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
<i class="fab fa-reddit"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.tumblr }}
<a class="btn btn-sm tumblr-btn" href="https://www.tumblr.com/share/link?url={{ .Permalink }}&name={{ .Title }}{{- with .Params.description -}}&description={{- . -}}{{- end -}}" target="_blank">
<i class="fab fa-tumblr"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.pocket }}
<a class="btn btn-sm pocket-btn" href="https://getpocket.com/save?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
<i class="fab fa-get-pocket"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.linkedin }}
<a class="btn btn-sm linkedin-btn" href="https://www.linkedin.com/shareArticle?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
<i class="fab fa-linkedin"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.diaspora }}
<a class="btn btn-sm diaspora-btn" href="https://share.diasporafoundation.org/?title={{ .Title }}&url={{ .Permalink }}" rel="nofollow" target="_blank">
<i class="fab fa-diaspora"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.mastodon }}
<a class="btn btn-sm mastodon-btn" href="https://mastodon.social/share?text={{ .Title }} - {{ .Permalink }}" target="_blank">
<i class="fab fa-mastodon"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.whatsapp }}
<a class="btn btn-sm whatsapp-btn" href="https://api.whatsapp.com/send?text={{ .Title }} {{ .Permalink }}" target="_blank">
<i class="fab fa-whatsapp"></i>
</a>
{{ end }}
{{ if site.Params.features.blog.shareButtons.email }}
<a class="btn btn-sm email-btn" href="mailto:?subject={{ .Title }}&body={{ .Permalink }}" target="_blank">
<i class="fas fa-envelope-open-text"></i>
</a>
{{ end }}
{{ end }}
</div>
<!--- Improve this page button ---> <!--- Improve this page button --->
{{ if site.Params.GitRepo }} {{ if site.Params.GitRepo }}
<div class="btn-improve-page"> {{ if site.Params.GitBranch }}
<a href="{{ site.Params.GitRepo }}/edit/{{ site.Params.GitBranch }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener"> {{ .Scratch.Set "GitBranch" site.Params.GitBranch }}
{{ else }}
{{ .Scratch.Set "GitBranch" "main" }}
{{ end }}
<div class="col-md-6 btn-improve-page">
{{ if ( eq site.Params.GitForge "gitlab" ) }}
<a href="{{ site.Params.GitRepo }}/-/edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
{{ else if ( eq site.Params.GitForge "gitea" ) }}
<a href="{{ site.Params.GitRepo }}/_edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
{{ else }} <!--- Make Github-style the default -->
<a href="{{ site.Params.GitRepo }}/edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
{{ end }}
<i class="fas fa-code-branch"></i> <i class="fas fa-code-branch"></i>
{{ i18n "improve_this_page" }} {{ i18n "improve_this_page" }}
</a> </a>
</div> </div>
{{ end }} {{ end }}
</div>
<!---Next and Previous Navigator --> <!---Next and Previous Navigator -->
<hr /> <hr />
{{ partial "navigators/next-prev-navigator.html" . }} {{ partial "navigators/next-prev-navigator.html" . }}
<hr /> <hr />
<!-- Add Disqus forum -->
{{ if site.DisqusShortname }} <!----- Add comment support ----->
{{ partial "disqus.html" . }} {{ if site.Params.features.comment.enable }}
{{ partial "comments.html" site.Params.features.comment }}
{{ end }} {{ end }}
<!-- Keep backward compatibility with old config.yaml -->
{{ if site.DisqusShortname }}
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
{{ end }}
</div> </div>
</div> </div>
</div> </div>
@@ -90,7 +179,7 @@
{{ define "toc" }} {{ define "toc" }}
<section class="toc-section" id="toc-section"> <section class="toc-section" id="toc-section">
{{ if site.Params.enableTOC }} {{ if and site.Params.enableTOC ( .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 pl-3">{{ i18n "toc_heading" }}</h5>
<hr> <hr>
@@ -108,7 +197,15 @@
<script> <script>
hljs.initHighlightingOnLoad(); hljs.initHighlightingOnLoad();
</script> </script>
<!-------------- Enable Math support for this page ---------------->
{{ if .Params.math }} {{ if .Params.math }}
{{ partial "math.html" . }} {{ partial "math.html" . }}
{{ end }} {{ end }}
<!-------------- Enable mermaid support for this page ---------------->
{{ if .Params.mermaid }}
{{ partial "mermaid.html" . }}
{{ end }}
{{ end }} {{ end }}
+62
View File
@@ -0,0 +1,62 @@
{{ define "header" }}
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
{{ end }}
{{ define "navbar" }}
{{ partial "navigators/navbar-2.html" . }}
{{ end }}
{{ define "sidebar" }}
{{ $homePage:="#" }}
{{ if site.IsMultiLingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }}
<section class="sidebar-section" id="sidebar-section">
<div class="sidebar-holder">
<div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form>
<div class="sidebar-tree">
<ul class="tree" id="tree">
<li id="list-heading"><a href="{{ .Type | relLangURL }}" data-filter="all">{{ i18n .Type }}</a></li>
<div class="subtree taxonomy-terms">
{{ $context := . }}
{{ partial "navigators/taxonomies.html" (dict "context" $context "taxo" "categories" "title" ( humanize "categories" ) ) }}
</div>
</ul>
</div>
</div>
</div>
</section>
{{ end }}
{{ define "content" }}
<section class="content-section" id="content-section">
<div class="content container-fluid" id="content">
<div class="container-fluid post-card-holder" id="post-card-holder">
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
{{ $paginator := .Paginate $posts 12 }}
{{ range $paginator.Pages }}
{{ if .Layout }}
{{/* ignore the search.md file*/}}
{{ else }}
{{ partial "cards/post.html" . }}
{{ end }}
{{ end }}
</div>
<div class="paginator">
{{ template "_internal/pagination.html" . }}
</div>
</div>
</section>
{{ end }}
{{ define "scripts" }}
<script src="{{ "/js/list.js" | relURL }}"></script>
{{ end }}
+6 -10
View File
@@ -29,16 +29,8 @@
<!--================= custom style overrides =========================--> <!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
<!-- Add Google Analytics if enabled in configuration --> <!--================= add analytics if enabled =========================-->
{{ if site.GoogleAnalytics }} {{- partial "analytics.html" . -}}
<!-- Google Analytics v3 ID -->
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
{{ template "_internal/google_analytics_async.html" . }}
{{ else }}
<!-- Google Analytics v4 ID -->
{{ template "_internal/google_analytics.html" . }}
{{ end }}
{{ end }}
</head> </head>
<body data-spy="scroll" data-target="#top-navbar" data-offset="100"> <body data-spy="scroll" data-target="#top-navbar" data-offset="100">
@@ -87,5 +79,9 @@
<script src="{{ "/js/github-button.js" | relURL }}"></script> <script src="{{ "/js/github-button.js" | relURL }}"></script>
<script src="{{ "/js/home.js" | relURL }}"></script> <script src="{{ "/js/home.js" | relURL }}"></script>
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script> <script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
<!------ ADD SUPPORT LINKS -------->
{{- partial "misc/support.html" . -}}
</body> </body>
</html> </html>
+1 -1
View File
@@ -21,7 +21,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> <input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">
+1 -1
View File
@@ -21,7 +21,7 @@
<div class="sidebar-holder"> <div class="sidebar-holder">
<div class="sidebar" id="sidebar"> <div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}"> <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" /> <input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form> </form>
<div class="sidebar-tree"> <div class="sidebar-tree">
<ul class="tree" id="tree"> <ul class="tree" id="tree">
+49
View File
@@ -0,0 +1,49 @@
<!-- Add Analytics if enabled in configuration -->
{{ with site.Params.features.analytics }}
{{ if .enabled }}
<!-- Google Analytics -->
{{ with .google }}
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
{{ $analyticsConfig := dict (slice "Site" "GoogleAnalytics") .id }}
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
{{ end }}
<!-- Counter.dev -->
{{ with .counterDev }}
<script>
if (
!sessionStorage.getItem("_swa") &&
document.referrer.indexOf(location.protocol + "//" + location.host) !== 0
) {
fetch(
"https://counter.dev/track?" +
new URLSearchParams({
referrer: document.referrer,
screen: screen.width + "x" + screen.height,
user: "{{ .id }}",
utcoffset: "1",
}),
{{ with .referrerPolicy }}
{ referrerPolicy: "{{ . }}" }
{{ end }}
);
}
sessionStorage.setItem("_swa", "1");
</script>
{{ end }}
<!-- GoatCounter -->
{{ with .goatCounter }}
<script
data-goatcounter="https://{{ .code }}.goatcounter.com/count"
async
src="//gc.zgo.at/count.js"
></script>
{{ end }}
{{ end }}
{{ end }}
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
{{ if site.GoogleAnalytics }}
{{ template "_internal/google_analytics.html" . }}
{{ end }}
+3
View File
@@ -11,7 +11,10 @@
{{ $logoImage:= resources.Get .logo}} {{ $logoImage:= resources.Get .logo}}
{{ if $logoImage }} {{ if $logoImage }}
{{/* svg don't support "Fit" operation */}}
{{ if ne $logoImage.MediaType.SubType "svg" }}
{{ $logoImage = $logoImage.Fit "24x24" }} {{ $logoImage = $logoImage.Fit "24x24" }}
{{ end }}
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" /> <img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
{{ end }} {{ end }}
+6 -2
View File
@@ -4,15 +4,19 @@
<div class="card-head d-flex"> <div class="card-head d-flex">
{{ if .logo }} {{ if .logo }}
{{ $logoImage := resources.Get .logo }} {{ $logoImage := resources.Get .logo }}
{{/* 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 }}
<h5 class="card-title">{{ .name }}</h5> <h5 class="card-title">{{ .name }}</h5>
{{ else if .icon }}
{{ $iconName := .icon }}
<h5 class="card-title"><span class="{{ $iconName }}"> {{ .name }}</span></h5>
{{ else }}
<h5 class="card-title">{{ .name }}</h5>
{{ end }}
</div> </div>
<div class="card-body"> <div class="card-body">
<p class="card-text">{{ .summary | markdownify }}</p> <p class="card-text">{{ .summary | markdownify }}</p>
+11
View File
@@ -0,0 +1,11 @@
{{ if .disqus.shortName }}
{{ partial "comments/disqus.html" . }}
{{ else if .valine }}
{{ partial "comments/valine.html" . }}
{{ else if .utteranc }}
{{ partial "comments/utteranc.html" . }}
{{ else if .giscus }}
{{ partial "comments/giscus.html" . }}
{{ else if .commento }}
{{ partial "comments/commento.html" . }}
{{ end }}
+12
View File
@@ -0,0 +1,12 @@
{{ with .commento }}
{{ $serverURL := .serverURL }}
{{ $autoInit := .autoInit | default "true"}}
{{ $hideDeleted := .hideDeleted | default "false"}}
<script defer
src="http://{{ $serverURL }}/js/commento.js"
data-auto-init="{{ $autoInit }}"
data-hide-deleted="{{ $hideDeleted }}"
></script>
<div id="commento"></div>
{{ end }}
+29
View File
@@ -0,0 +1,29 @@
{{ with .disqus }}
<div id="disqus_thread"></div>
<script type="text/javascript">
(function () {
// Don't ever inject Disqus on localhost--it creates unwanted
// discussions from 'localhost:1313' on your Disqus account...
if (window.location.hostname == "localhost") return;
var dsq = document.createElement("script");
dsq.type = "text/javascript";
dsq.async = true;
var disqus_shortname = "{{ .shortName }}";
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
(
document.getElementsByTagName("head")[0] ||
document.getElementsByTagName("body")[0]
).appendChild(dsq);
})();
</script>
<noscript
>{{ i18n "comments_javascript" }}
<a href="https://disqus.com/?ref_noscript"
>{{ i18n "comments_by" }} Disqus.</a
></noscript
>
<a href="https://disqus.com/" class="dsq-brlink"
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
>
{{ end }}
+28
View File
@@ -0,0 +1,28 @@
{{ with .giscus }}
{{ $repo := .repo }}
{{ $repoID := .repoID }}
{{ $category := .category | default "General" }}
{{ $categoryID := .categoryID }}
{{ $theme := .theme | default "light" }}
{{ $map := .map | default "url" }}
{{ $reaction := .reaction | default "1" }}
{{ $metadata := .metadata | default "0" }}
{{ $inputPosition := .inputPosition | default "bottom" }}
{{ $crossOrigin := .crossOrigin | default "anonymous" }}
<script src="https://giscus.app/client.js"
data-repo="{{ $repo }}"
data-repo-id="{{ $repoID }}"
data-category="{{ $category }}"
data-category-id="{{ $categoryID }}"
data-mapping="{{ $map }}"
data-reactions-enabled="{{ $reaction }}"
data-emit-metadata="{{ $metadata }}"
data-input-position="{{ $inputPosition }}"
data-theme="{{ $theme }}"
data-lang="{{ .Site.Language.Lang }}"
crossorigin="{{ $crossOrigin }}"
async>
</script>
{{ end }}
+24
View File
@@ -0,0 +1,24 @@
{{ with .utteranc }}
{{ $repo := .repo }}
{{ $issueTerm := .issueTerm }}
{{ $theme := .theme }}
<div id="utteranc_thread"></div>
<div id="comments" class="comments">
<div id="comments-container"></div>
</div>
<script type="text/javascript">
(function() {
var utterances = document.createElement('script');
utterances.type = 'text/javascript';
utterances.async = true;
utterances.setAttribute('repo','{{ $repo }}')
utterances.setAttribute('issue-term','{{ $issueTerm }}')
utterances.setAttribute('theme','{{ $theme }}')
utterances.crossorigin = 'anonymous';
utterances.src = 'https://utteranc.es/client.js';
document.getElementById('comments-container').appendChild(utterances);
})();
</script>
{{ end }}
+18
View File
@@ -0,0 +1,18 @@
{{ with .valine }}
<div id="vcomments"></div>
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
<script type="text/javascript">
new Valine({
el: "#vcomments",
appId: "{{ .appId }}",
appKey: "{{ .appKey }}",
avatar: "{{ .avatar }}",
placeholder: "{{ .placeholder }}",
visitor: "{{ .visitor }}",
lang: "{{ .lang }}",
recordIP: "{{ .recordIP }}",
enableQQ: "{{ .enableQQ }}",
});
</script>
{{ end }}
-27
View File
@@ -1,27 +0,0 @@
<div id="disqus_thread"></div>
<script type="text/javascript">
(function () {
// Don't ever inject Disqus on localhost--it creates unwanted
// discussions from 'localhost:1313' on your Disqus account...
if (window.location.hostname == "localhost") return;
var dsq = document.createElement("script");
dsq.type = "text/javascript";
dsq.async = true;
var disqus_shortname = "{{ site.DisqusShortname }}";
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
(
document.getElementsByTagName("head")[0] ||
document.getElementsByTagName("body")[0]
).appendChild(dsq);
})();
</script>
<noscript
>{{ i18n "comments_javascript" }}
<a href="https://disqus.com/?ref_noscript"
>{{ i18n "comments_by" }} Disqus.</a
></noscript
>
<a href="https://disqus.com/" class="dsq-brlink"
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
>
+40 -8
View File
@@ -1,6 +1,7 @@
{{/* variables for enabling/disabling parts of the footer */}} {{/* variables for enabling/disabling parts of the footer */}}
{{ $footerEnabled := site.Params.footer.enable | default true }} {{ $footerEnabled := site.Params.footer.enable | default true }}
{{ $navigationEnabled := site.Params.footer.navigation.enable | default true }} {{ $navigationEnabled := site.Params.footer.navigation.enable | default true }}
{{ $customMenusEnabled := site.Params.footer.navigation.customMenus | default true }}
{{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }} {{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }}
{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }} {{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }}
{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }} {{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }}
@@ -26,7 +27,12 @@
{{ $sections = (index site.Data site.Language.Lang).sections }} {{ $sections = (index site.Data site.Language.Lang).sections }}
{{ end }} {{ end }}
{{ $copyrightNotice := "© 2021 Copyright."}} {{ $customMenus := site.Params.customMenus }}
{{ if (index site.Data site.Language.Lang).site.customMenus }}
{{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }}
{{ end }}
{{ $copyrightNotice := now.Format "2006" | printf "© %s Copyright."}}
{{ if (index site.Data site.Language.Lang).site }} {{ if (index site.Data site.Language.Lang).site }}
{{ $siteConfig := (index site.Data site.Language.Lang).site }} {{ $siteConfig := (index site.Data site.Language.Lang).site }}
{{ if $siteConfig.copyright }} {{ if $siteConfig.copyright }}
@@ -58,7 +64,7 @@
{{ end }} {{ end }}
{{ $hugoLogo = $hugoLogo.RelPermalink}} {{ $hugoLogo = $hugoLogo.RelPermalink}}
<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-left">
{{ if $navigationEnabled }} {{ if $navigationEnabled }}
@@ -73,10 +79,19 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<li class="nav-item"> <li class="nav-item">
<a class="smooth-scroll" href="/#{{ $sectionID }}">{{ .section.name }}</a> <a class="smooth-scroll" href="{{ "" | absLangURL }}#{{ $sectionID }}">{{ .section.name }}</a>
</li> </li>
{{ end }} {{ end }}
{{- end }} {{- end }}
{{ if $customMenusEnabled }}
{{ range $customMenus }}
{{ if .showOnFooter }}
<li class="nav-item">
<a class="smooth-scroll" href="{{ .url }}">{{ .name }}</a>
</li>
{{ end }}
{{ end }}
{{ end }}
</ul> </ul>
{{ end }} {{ end }}
</div> </div>
@@ -86,8 +101,24 @@
<h5>{{ i18n "contact_me" }}</h5> <h5>{{ i18n "contact_me" }}</h5>
<ul> <ul>
{{ range $key,$value:= $author.contactInfo }} {{ range $key,$value:= $author.contactInfo }}
{{ if (eq $key "email") }}
<li><a href={{ printf "mailto:%s" $value }} target="_blank" rel="noopener">
<span><i class="fas fa-envelope"></i></span> <span>{{ $value }}</span>
</a></li>
{{ else if (eq $key "phone") }}
<li><span><i class="fas fa-phone-alt"></i></span> <span>{{ $value }}</span></li>
{{ else if (eq $key "linkedin") }}
<li><a href={{ printf "https://www.linkedin.com/in/%s" $value }} target="_blank" rel="noopener">
<span><i class="fab fa-linkedin"></i></span> <span>{{ $author.name }}</span>
</a></li>
{{ else if (eq $key "github") }}
<li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener">
<span><i class="fab fa-github"></i></span> <span>{{ $value }}</span>
</a></li>
{{ else }}
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li> <li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
{{ end }} {{ end }}
{{ end }}
</ul> </ul>
</div> </div>
{{ end }} {{ end }}
@@ -121,13 +152,14 @@
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button> <button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
</form> </form>
{{ else }} {{ else }}
<!-- a dummy form --> <form method='post' action='https://blogtrottr.com'>
<form>
<div class="form-group"> <div class="form-group">
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="{{ i18n "newsletter_input_placeholder" }}"/> <input type='email' class="form-control" name='btr_email' placeholder="{{ i18n "newsletter_input_placeholder" }}"/><br />
<input type='hidden' name='btr_url' value='{{ "" | absLangURL }}index.xml' />
<input type='hidden' name='schedule_type' value='1' />
<small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small> <small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small>
<button type="submit" class="btn btn-info"> {{ i18n "submit" }} </button>
</div> </div>
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
</form> </form>
{{ end }} {{ end }}
</div> </div>
@@ -137,7 +169,7 @@
{{ if and $disclaimerEnabled $disclaimer}} {{ if and $disclaimerEnabled $disclaimer}}
<hr /> <hr />
<div class="container"> <div class="container">
<p id="disclaimer"><strong>{{ i18n "disclaimer_text" }}:</strong> {{ $disclaimer }}</p> <p id="disclaimer"><strong>{{ i18n "disclaimer_text" }}:</strong> {{ $disclaimer | markdownify }}</p>
</div> </div>
{{ end }} {{ end }}
{{ if $credentialsEnabled }} {{ if $credentialsEnabled }}
+10 -3
View File
@@ -9,9 +9,16 @@
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/> <link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
<!--=================== cdn ==============================--> <!--=================== fonts ==============================-->
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
<!--=================== icons ==============================-->
<link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
<!--=================== dark mode ==========================-->
{{ if site.Params.darkMode.enable }}
<link rel="stylesheet" href="{{ "/css/colortheme/colortheme.css" | relURL }}"/>
{{ end }}
<!--================= fab-icon =========================--> <!--================= fab-icon =========================-->
{{/* add favicon only if the site author has provided the the favicon */}} {{/* add favicon only if the site author has provided the the favicon */}}
@@ -18,12 +18,12 @@
{{ end }} {{ end }}
{{ end }} {{ end }}
{{/* apply image processing. don't use "Fit" in svg because its not supported */}} {{/* apply image processing. don't use "Fit" in svg or gif because its not supported */}}
{{ $authorImage:= resources.Get $authorImage}} {{ $authorImage:= resources.Get $authorImage}}
{{ if and $authorImage (ne $authorImage.MediaType.SubType "svg") }}
{{ if and $authorImage (and (ne $authorImage.MediaType.SubType "svg") ( ne $authorImage.MediaType.SubType "gif")) }}
{{ $authorImage = $authorImage.Fit "120x120" }} {{ $authorImage = $authorImage.Fit "120x120" }}
{{ end }} {{ end }}
{{/* return the author image link */}} {{/* return the author image link */}}
{{ return $authorImage.RelPermalink }} {{ return $authorImage.RelPermalink }}
+14 -4
View File
@@ -1,5 +1,15 @@
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous"> <link rel="stylesheet" href="{{ "/katex/katex.min.css" | relURL }}">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script> <script type="text/javascript" defer src="{{ "/katex/katex.min.js" | relURL }}"></script>
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous" <script type="text/javascript" defer src="{{ "/katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);">
onload="renderMathInElement(document.body);"> renderMathInElement(
document.body,
{
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "\\[", right: "\\]", display: true},
{left: "$", right: "$", display: false},
{left: "\\(", right: "\\)", display: false}
]
}
);
</script> </script>
+6
View File
@@ -0,0 +1,6 @@
<script src="{{ "/js/mermaid-8.14.0.min.js" | relURL }}"></script>
<script>
mermaid.initialize({
startOnLoad:true
});
</script>
+1 -1
View File
@@ -2,7 +2,7 @@
{{ if eq .type "certification" }} {{ if eq .type "certification" }}
{{/* Verifiable certificate badge from https://www.credly.com */}} {{/* Verifiable certificate badge from https://www.credly.com */}}
<div class=""> <div class="">
<a href="{{ .url }}" target="_blank" > <a href="{{ .url }}" target="_blank" rel="noopener noreferrer">
<img src="{{ .badge }}" alt="{{ .name }}" /> <img src="{{ .badge }}" alt="{{ .name }}" />
</a> </a>
</div> </div>
+16
View File
@@ -0,0 +1,16 @@
{{ with site.Params.features.support }}
{{ if .enabled }}
<!-- Enable Ko-Fi floating button -->
{{ with .kofi }}
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('{{ .user }}', {
'type': 'floating-chat',
'floating-chat.donateButton.text': '{{ .text }}',
'floating-chat.donateButton.text-color': '{{ .textColor }}',
'floating-chat.donateButton.background-color': '{{ .backgroundColor }}',
});
</script>
{{ end }}
{{ end }}
{{ end }}
@@ -6,14 +6,14 @@
<div class="dropdown languageSelector"> <div class="dropdown languageSelector">
<a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ $countryCode := partial "helpers/country-code.html" . }}
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}"> <span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ site.Language.LanguageName }} {{ site.Language.LanguageName }}
</a> </a>
<div class="dropdown-menu" aria-labelledby="languageSelector"> <div class="dropdown-menu" aria-labelledby="languageSelector">
{{ range .Translations }} {{ range .Translations }}
<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 "en") "" .Language.Lang) $pageURL }}">
{{ $countryCode := partial "helpers/country-code.html" . }} {{ $countryCode := partial "helpers/country-code.html" . }}
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}"> <span class="flag-icon flag-icon-{{$countryCode}}"></span>
{{ .Language.LanguageName }} {{ .Language.LanguageName }}
</a> </a>
{{ end }} {{ end }}
@@ -47,6 +47,9 @@
{{ if .IsTranslated }} {{ if .IsTranslated }}
{{ partial "navigators/lang-selector-2.html" . }} {{ partial "navigators/lang-selector-2.html" . }}
{{ end }} {{ end }}
{{ if site.Params.darkMode.enable }}
{{ partial "navigators/theme-selector.html" . }}
{{ end }}
</ul> </ul>
</div> </div>
</div> </div>
+12 -6
View File
@@ -1,6 +1,7 @@
{{/* variables for enabling/disabling various features */}} {{/* variables for enabling/disabling various features */}}
{{ $blogEnabled := site.Params.features.blog.enable | default false }} {{ $blogEnabled := site.Params.features.blog.enable | default false }}
{{ $notesEnabled := site.Params.features.notes.enable | default false }} {{ $notesEnabled := site.Params.features.notes.enable | default false }}
{{ $maxVisibleSections := site.Params.topNavbar.maxVisibleSections | default 5 }}
{{/* keep backward compatibility for blog post */}} {{/* keep backward compatibility for blog post */}}
{{ if site.Params.enableBlogPost }} {{ if site.Params.enableBlogPost }}
@@ -65,32 +66,32 @@
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="top-nav-items"> <div class="collapse navbar-collapse dynamic-navbar" id="top-nav-items">
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#home">{{ i18n "home" }}</a> <a class="nav-link" href="#home">{{ i18n "home" }}</a>
</li> </li>
{{ if $sections }} {{ if $sections }}
{{ $sectionCount := 0}} {{ $sectionCount := 1 }}
{{ range sort $sections "section.weight" }} {{ range sort $sections "section.weight" }}
{{ if and (.section.enable) (.section.showOnNavbar)}} {{ if and (.section.enable) (.section.showOnNavbar)}}
{{ $sectionCount = add $sectionCount 1}} {{ $sectionCount = add $sectionCount 1}}
{{ if le $sectionCount 5 }} {{ if le $sectionCount $maxVisibleSections }}
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a> <a class="nav-link" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
</li> </li>
{{ end }} {{ end }}
{{ end }} {{ end }}
{{- end }} {{- end }}
{{ if gt $sectionCount 5 }} {{ 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-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 := 0 }} {{ $sectionCount := 1 }}
{{ range sort $sections "section.weight" }} {{ range sort $sections "section.weight" }}
{{ if and (.section.enable) (.section.showOnNavbar) }} {{ if and (.section.enable) (.section.showOnNavbar) }}
{{ $sectionCount = add $sectionCount 1}} {{ $sectionCount = add $sectionCount 1}}
{{ if gt $sectionCount 5 }} {{ if gt $sectionCount $maxVisibleSections }}
<a class="dropdown-item" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a> <a class="dropdown-item" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
{{ end }} {{ end }}
{{ end }} {{ end }}
@@ -114,13 +115,18 @@
</li> </li>
{{ end }} {{ end }}
{{ range $customMenus }} {{ range $customMenus }}
{{ if (not .hideFromNavbar) }}
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ .url }}">{{ .name }}</a> <a class="nav-link" href="{{ .url }}">{{ .name }}</a>
</li> </li>
{{ end }} {{ end }}
{{ end }}
{{ if .IsTranslated }} {{ if .IsTranslated }}
{{ partial "navigators/lang-selector.html" . }} {{ partial "navigators/lang-selector.html" . }}
{{ end }} {{ end }}
{{ if site.Params.darkMode.enable }}
{{ partial "navigators/theme-selector.html" . }}
{{ end }}
</ul> </ul>
</div> </div>
</div> </div>
@@ -0,0 +1,16 @@
{{ $context := .context }}
{{ $taxo := .taxo }}
{{ $class:= "" }}
{{ if isset $context.Site.Taxonomies ( lower $taxo ) }}
{{ $taxonomy := index $context.Site.Taxonomies ( lower $taxo ) }}
{{ if (gt (len $taxonomy) 0)}}
{{ range $taxonomy }}
{{if eq $context.Title .Page.Title}}
{{ $class = "active" }}
{{else}}
{{$class = ""}}
{{end}}
<li><a class="taxonomy-term {{ $class }}" href="{{ .Page.Permalink }}" data-taxonomy-term="{{ urlize .Page.Title }}"><span class="taxonomy-label">{{ .Page.Title }}</span></a></li>
{{ end }}
{{ end }}
{{ end }}
@@ -0,0 +1,20 @@
<li class="nav-item dropdown">
<!-- This is for initializing the color scheme selection for new visitors. See /js/darkmode.js -->
<div id="theme-initialization" style="display: none;"
default-theme="{{ site.Params.darkMode.default }}"></div>
<a class="nav-link dropdown-toggle" href="#" id="themeSelector" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img id="navbar-theme-icon-svg" src="{{ "/icons/moon-svgrepo-com.svg" }}" width=20>
</a>
<div class="dropdown-menu dropdown-menu-icons-only" aria-labelledby="themeSelector">
<a class="dropdown-item nav-link" href="#" onclick="enableLightTheme()">
<img class="menu-icon-center" src="{{ "/icons/sun-svgrepo-com.svg" }}" width=20>
</a>
<a class="dropdown-item nav-link" href="#" onclick="enableDarkTheme()">
<img class="menu-icon-center" src="{{ "/icons/moon-svgrepo-com.svg" }}" width=20>
</a>
<a class="dropdown-item nav-link" href="#" onclick="useSystemTheme()">
<img class="menu-icon-center" src="{{ "/icons/computer-svgrepo-com.svg" }}" width=20>
</a>
</div>
</li>
+7
View File
@@ -5,3 +5,10 @@
<script type="text/javascript" src="{{ "/js/navbar.js" | relURL }}"></script> <script type="text/javascript" src="{{ "/js/navbar.js" | relURL }}"></script>
<script type="text/javascript" src="{{ "/js/plyr.js" | relURL }}"></script> <script type="text/javascript" src="{{ "/js/plyr.js" | relURL }}"></script>
<script type="text/javascript" src="{{ "/js/main.js" | relURL }}"></script> <script type="text/javascript" src="{{ "/js/main.js" | relURL }}"></script>
{{ if site.Params.darkMode.enable }}
{{ if eq site.Params.darkMode.provider "darkreader" }}
<script type="text/javascript" src="{{ "/js/darkreader.js" | relURL }}"></script>
<script type="text/javascript" src="{{ "/js/darkmode-darkreader.js" | relURL }}"></script>
{{ end }}
{{ end }}
+3 -2
View File
@@ -11,7 +11,8 @@
<div class="container anchor p-lg-5 about-section" id="{{ $sectionID }}"> <div class="container anchor p-lg-5 about-section" id="{{ $sectionID }}">
<div class="row pt-sm-2 pt-md-4 align-self-center"> <div class="row pt-sm-2 pt-md-4 align-self-center">
<!-- summary --> <!-- summary -->
<div class="col-sm-6"> <!-- takes up full section width if no badges/soft skills are specified -->
{{ if or (.softSkills) (.badges) }} <div class="col-sm-6"> {{ else }} <div class="col-sm-12"> {{ end }}
<h3 class="p-1">{{ $author.name }}</h3> <h3 class="p-1">{{ $author.name }}</h3>
{{ if .designation }} {{ if .designation }}
<h5 class="p-1"> <h5 class="p-1">
@@ -30,7 +31,7 @@
<li> <li>
{{ if eq .name "Email" }} {{ if eq .name "Email" }}
<a href="mailto:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a> <a href="mailto:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
{{ else if eq .name "Phone" }} {{ else if eq .name (i18n "phone") }}
<a href="tel:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a> <a href="tel:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
{{ else }} {{ else }}
<a href="{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a> <a href="{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
@@ -3,9 +3,13 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<div class="container-fluid anchor pb-5 accomplishments-section" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 accomplishments-section">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
+6 -2
View File
@@ -3,9 +3,13 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<div class="container-fluid anchor pb-5 achievements-section" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 achievements-section">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
<div class="row" id="gallery"> <div class="row" id="gallery">
+12 -4
View File
@@ -5,16 +5,23 @@
<div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
<table class="education-info-table"> <table class="education-info-table">
<tbody> <tbody>
{{ $count := len .degrees }}
{{ range .degrees}} {{ range .degrees}}
<tr> <tr>
<td class="icon"> <td class="icon">
{{ if gt $count 1}}
<div class="hline"></div> <div class="hline"></div>
{{ end }}
<div class="icon-holder"> <div class="icon-holder">
<i class="fas {{ .icon }}"></i> <i class="fas {{ .icon }}"></i>
</div> </div>
@@ -53,6 +60,7 @@
</div> </div>
{{ end }} {{ end }}
{{ if .takenCourses }} {{ if .takenCourses }}
{{ $collapseAfter := .takenCourses.collapseAfter | default 2 }}
<div class="taken-courses"> <div class="taken-courses">
<h6 class="text-muted">{{ i18n "taken_courses" }}</h6> <h6 class="text-muted">{{ i18n "taken_courses" }}</h6>
{{ if .takenCourses.showGrades }} {{ if .takenCourses.showGrades }}
@@ -65,7 +73,7 @@
</thead> </thead>
<tbody> <tbody>
{{ range $index,$course := .takenCourses.courses }} {{ range $index,$course := .takenCourses.courses }}
<tr class="course {{ if gt $index 1 }}hidden-course{{ end}}"> <tr class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">
<td>{{ $course.name }}</td> <td>{{ $course.name }}</td>
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }} {{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
<td>{{ $course.achieved }}</td> <td>{{ $course.achieved }}</td>
@@ -76,11 +84,11 @@
{{ else }} {{ else }}
<ul> <ul>
{{ range $index,$course := .takenCourses.courses }} {{ range $index,$course := .takenCourses.courses }}
<li class="course {{ if gt $index 1 }}hidden-course{{ end}}">{{ $course.name }}</li> <li class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">{{ $course.name }}</li>
{{ end }} {{ end }}
</ul> </ul>
{{ end }} {{ end }}
{{ if gt (len .takenCourses.courses) 2 }} {{ 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 }}ml-1{{ else }}ml-2{{ end }}"
onclick="toggleCourseVisibility(this);" id="show-more-btn" aria-label="{{ i18n "show_more"}}">{{ i18n "show_more"}}</button> onclick="toggleCourseVisibility(this);" 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 }}ml-1{{ else }}ml-2{{ end }}"
+14 -6
View File
@@ -3,18 +3,25 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<div class="container-fluid anchor pb-5 education-section" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 education-section">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
<table class="education-info-table"> <table class="education-info-table">
<tbody> <tbody>
{{ $count := len .degrees }}
{{ range .degrees}} {{ range .degrees}}
<tr> <tr>
<td class="icon"> <td class="icon">
{{ if gt $count 1}}
<div class="hline"></div> <div class="hline"></div>
{{ end }}
<div class="icon-holder"> <div class="icon-holder">
<i class="fas {{ .icon }}"></i> <i class="fas {{ .icon }}"></i>
</div> </div>
@@ -53,19 +60,20 @@
</div> </div>
{{ end }} {{ end }}
{{ if .takenCourses }} {{ if .takenCourses }}
{{ $collapseAfter := .takenCourses.collapseAfter | default 2 }}
<div class="taken-courses"> <div class="taken-courses">
<h6 class="text-muted">{{ i18n "taken_courses"}}</h6> <h6 class="text-muted">{{ i18n "taken_courses"}}</h6>
{{ if .takenCourses.showGrades }} {{ if .takenCourses.showGrades }}
{{ $hideScale := .takenCourses.hideScale }} {{ $hideScale := .takenCourses.hideScale }}
<table> <table>
<thead> <thead>
<th>{{ i18n "course_name"}}</th> <th class="course-name-header">{{ i18n "course_name"}}</th>
{{ if not $hideScale }}<th>{{ i18n "total_credit"}}</th>{{ end }} {{ if not $hideScale }}<th>{{ i18n "total_credit"}}</th>{{ end }}
<th>{{ i18n "obtained_credit"}}</th> <th>{{ i18n "obtained_credit"}}</th>
</thead> </thead>
<tbody> <tbody>
{{ range $index,$course := .takenCourses.courses }} {{ range $index,$course := .takenCourses.courses }}
<tr class="course {{ if gt $index 1 }}hidden-course{{ end}}"> <tr class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">
<td>{{ $course.name }}</td> <td>{{ $course.name }}</td>
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }} {{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
<td>{{ $course.achieved }}</td> <td>{{ $course.achieved }}</td>
@@ -76,11 +84,11 @@
{{ else }} {{ else }}
<ul> <ul>
{{ range $index,$course := .takenCourses.courses }} {{ range $index,$course := .takenCourses.courses }}
<li class="course {{ if gt $index 1 }}hidden-course{{ end}}">{{ $course.name }}</li> <li class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">{{ $course.name }}</li>
{{ end }} {{ end }}
</ul> </ul>
{{ end }} {{ end }}
{{ if gt (len .takenCourses.courses ) 2 }} {{ 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 }}ml-1{{ else }}ml-2{{ end }}"
onclick="toggleCourseVisibility(this);" id="show-more-btn">{{ i18n "show_more"}}</button> onclick="toggleCourseVisibility(this);" 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 }}ml-1{{ else }}ml-2{{ end }}"
+6 -2
View File
@@ -3,9 +3,13 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<div class="container-fluid anchor pb-5 experiences-section" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 experiences-section">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container timeline text-justify"> <div class="container timeline text-justify">
@@ -1,5 +1,5 @@
{{ if gt (len .positions) 1 }} {{ if gt (len .positions) 1 }}
{{ partial "sections/experiences/multiple-positions" . }} {{ partial "sections/experiences/multiple-positions.html" . }}
{{ else }} {{ else }}
{{ partial "sections/experiences/single-position.html" . }} {{ partial "sections/experiences/single-position.html" . }}
{{ end }} {{ end }}
@@ -12,10 +12,12 @@
<!-- Add company overview --> <!-- Add company overview -->
<p>{{ .company.overview | markdownify }}</p> <p>{{ .company.overview | markdownify }}</p>
<!-- Add the responsibilities handled at this position --> <!-- Add the responsibilities handled at this position -->
{{ if $position.responsibilities }}
<h6 class="text-muted">{{ i18n "responsibilities" }}</h6> <h6 class="text-muted">{{ i18n "responsibilities" }}</h6>
<ul class="justify-content-around"> <ul class="justify-content-around">
{{ range $position.responsibilities }} {{ range $position.responsibilities }}
<li>{{ . | markdownify }}</li> <li>{{ . | markdownify }}</li>
{{ end }} {{ end }}
</ul> </ul>
{{ end }}
</div> </div>
+4 -1
View File
@@ -26,8 +26,11 @@
{{ $authorImage = $author.image }} {{ $authorImage = $author.image }}
{{ end }} {{ end }}
{{ $authorImage := resources.Get $authorImage }} {{ $authorImage := resources.Get $authorImage }}
{{ $authorImage = $authorImage.Fit "148x148" }}
{{/* apply image processing. don't use "Fit" in svg or gif because its not supported */}}
{{ if and $authorImage (and (ne $authorImage.MediaType.SubType "svg") ( ne $authorImage.MediaType.SubType "gif")) }}
{{ $authorImage = $authorImage.Fit "148x148" }}
{{ end }}
{{/* get file that matches the filename as specified as src="" in shortcode */}} {{/* get file that matches the filename as specified as src="" in shortcode */}}
{{ $src := resources.Get $backgroundImage }} {{ $src := resources.Get $backgroundImage }}
+5 -1
View File
@@ -5,7 +5,11 @@
<div class="container-fluid anchor pb-5 projects-section" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 projects-section" id="{{ $sectionID }}">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container ml-auto text-center"> <div class="container ml-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">
+13 -3
View File
@@ -3,13 +3,23 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<div class="container-fluid anchor pb-5 recent-posts-section" id="{{ $sectionID }}"> {{ $numShow := 3}}
{{ if .section.numShow }}
{{ $numShow = .section.numShow }}
{{ end }}
<div class="container-fluid anchor pb-5 recent-posts-section">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container"> <div class="container">
<div class="row" id="recent-post-cards"> <div class="row" id="recent-post-cards">
{{ range first 3 (where site.RegularPages.ByDate.Reverse "Type" "in" "posts" )}} {{ range first $numShow (where site.RegularPages.ByDate.Reverse "Type" "in" "posts" )}}
{{ partial "cards/recent-post.html" . }} {{ partial "cards/recent-post.html" . }}
{{ end }} {{ end }}
</div> </div>
+6 -2
View File
@@ -3,9 +3,13 @@
{{ $sectionID = .section.id }} {{ $sectionID = .section.id }}
{{ end }} {{ end }}
<div class="container-fluid anchor pb-5 skills-section" id="{{ $sectionID }}"> <div class="container-fluid anchor pb-5 skills-section">
{{ if not (.section.hideTitle) }} {{ if not (.section.hideTitle) }}
<h1 class="text-center">{{ .section.name }}</h1> <h1 class="text-center">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ else }}
<h1 class="text-center" style="display: none">
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
{{ end }} {{ end }}
<div class="container d-flex-block"> <div class="container d-flex-block">
<div class="row" id="primary-skills"> <div class="row" id="primary-skills">
+13
View File
@@ -0,0 +1,13 @@
{{ $alignment:= .Get "align"}}
{{ if not $alignment }}
{{ $alignment = "center"}}
{{ end }}
{{ $background:= .Get "background" }}
{{ if not $background }}
{{ $background = "none"}}
{{ end }}
<div class="mermaid" align="{{ $alignment }}" style="background-color: {{ $background }}; border-radius: 5px;">
{{ safeHTML .Inner }}
</div>
+62
View File
@@ -0,0 +1,62 @@
{{ define "header" }}
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
<!--================= custom style overrides =========================-->
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
{{ end }}
{{ define "navbar" }}
{{ partial "navigators/navbar-2.html" . }}
{{ end }}
{{ define "sidebar" }}
{{ $homePage:="#" }}
{{ if site.IsMultiLingual }}
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
{{ end }}
<section class="sidebar-section" id="sidebar-section">
<div class="sidebar-holder">
<div class="sidebar" id="sidebar">
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form>
<div class="sidebar-tree">
<ul class="tree" id="tree">
<li id="list-heading"><a href="{{ .Type | relLangURL }}" data-filter="all">{{ i18n .Type }}</a></li>
<div class="subtree taxonomy-terms">
{{ $context := . }}
{{ partial "navigators/taxonomies.html" (dict "context" $context "taxo" "tags" "title" ( humanize "tags" ) ) }}
</div>
</ul>
</div>
</div>
</div>
</section>
{{ end }}
{{ define "content" }}
<section class="content-section" id="content-section">
<div class="content container-fluid" id="content">
<div class="container-fluid post-card-holder" id="post-card-holder">
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
{{ $paginator := .Paginate $posts 12 }}
{{ range $paginator.Pages }}
{{ if .Layout }}
{{/* ignore the search.md file*/}}
{{ else }}
{{ partial "cards/post.html" . }}
{{ end }}
{{ end }}
</div>
<div class="paginator">
{{ template "_internal/pagination.html" . }}
</div>
</div>
</section>
{{ end }}
{{ define "scripts" }}
<script src="{{ "/js/list.js" | relURL }}"></script>
{{ end }}
+355 -620
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -17,8 +17,8 @@
}, },
"homepage": "https://github.com/hossainemruz/toha#readme", "homepage": "https://github.com/hossainemruz/toha#readme",
"devDependencies": { "devDependencies": {
"autoprefixer": "^10.2.6", "autoprefixer": "^10.4.7",
"postcss": "^8.3.5", "postcss": "^8.4.14",
"postcss-cli": "^8.3.1" "postcss-cli": "^8.3.1"
} }
} }
+20
View File
@@ -0,0 +1,20 @@
/* Note: No need to invert when the screen is small because the navbar is
collapsed to a hamburger menu. */
@media only screen and (min-width: 1200px) {
.dynamic-navbar .navbar-icon-svg-dark {
filter: invert(1);
};
}
@media only screen and (min-width: 1200px) {
.dropdown-menu-icons-only {
width: 25px;
min-width: 3rem;
}
}
.menu-icon-center {
display: block;
margin-left: auto;
margin-right: auto;
}
+7 -7
View File
@@ -50,17 +50,17 @@ a:hover {
} }
.btn-dark { .btn-dark {
background-color: #3c4858; background-color: #3c4858!important;
border-color: #3c4858; border-color: #3c4858!important;
color: #e5e9f2; color: #e5e9f2!important;
transition: all 0.3s ease-out; transition: all 0.3s ease-out!important;
} }
.btn-dark:hover, .btn-dark:hover,
.btn-dark:focus { .btn-dark:focus {
background-color: #248aaa; background-color: #248aaa!important;
border-color: #248aaa; border-color: #248aaa!important;
transition: all 0.3s ease-out; transition: all 0.3s ease-out!important;
} }
.btn-outline-info { .btn-outline-info {
+77
View File
@@ -37,6 +37,7 @@ body {
} }
.toc-holder { .toc-holder {
position: -webkit-sticky;
position: sticky; position: sticky;
top: 4.5rem; top: 4.5rem;
overflow-x: hidden; overflow-x: hidden;
@@ -205,6 +206,69 @@ h6 {
padding: 10px; padding: 10px;
} }
.share-buttons .btn {
color: #e5e9f2 !important;
transition: all 0.3s ease-out !important;
}
.share-buttons .btn:hover,
.share-buttons .btn:focus {
background-color: #248aaa !important;
border-color: #248aaa !important;
transition: all 0.3s ease-out !important;
}
.share-buttons .facebook-btn {
background-color: #4267b2 !important;
border-color: #4267b2 !important;
}
.share-buttons .twitter-btn {
background-color: #1da1f2 !important;
border-color: #1da1f2 !important;
}
.share-buttons .reddit-btn {
background-color: #ff4500 !important;
border-color: #ff4500 !important;
}
.share-buttons .tumblr-btn {
background-color: #34465d !important;
border-color: #34465d !important;
}
.share-buttons .pocket-btn {
background-color: #ef4056 !important;
border-color: #ef4056 !important;
}
.share-buttons .linkedin-btn {
background-color: #2867b2 !important;
border-color: #2867b2 !important;
}
.share-buttons .diaspora-btn {
background-color: #3c4858 !important;
border-color: #3c4858 !important;
}
.share-buttons .mastodon-btn {
background-color: #2791da !important;
border-color: #2791da !important;
}
.share-buttons .whatsapp-btn {
background-color: #4ac959 !important;
border-color: #4ac959 !important;
}
.share-buttons .email-btn {
background-color: #3c4858 !important;
border-color: #3c4858 !important;
transition: all 0.3s ease-out !important;
}
.btn-improve-page { .btn-improve-page {
text-align: right; text-align: right;
} }
@@ -236,6 +300,19 @@ h6 {
#scroll-to-top.show { #scroll-to-top.show {
visibility: visible; visibility: visible;
} }
.taxonomy-terms {
text-align: center;
}
.taxonomy-terms li {
font-size: 0.8em;
list-style-type: none;
display: inline-block;
background: #248aaa;
}
.taxonomy-terms a {
color: #f9fafc;
}
/* ============= Device specific fixes ======= */ /* ============= Device specific fixes ======= */
+3 -2
View File
@@ -6,8 +6,8 @@
height: 50px; height: 50px;
z-index: 99999; z-index: 99999;
transition: all 0.4s ease-out; transition: all 0.4s ease-out;
margin: 0; margin: 0px;
padding-top: 0.1rem; padding-top: 0.4rem;
text-align: center; text-align: center;
} }
@@ -30,6 +30,7 @@
.initial-navbar li a:hover { .initial-navbar li a:hover {
color: #f9fafc; color: #f9fafc;
transition: all 0.3s ease-out; transition: all 0.3s ease-out;
transform: translateY(-2px);
} }
.navbar-collapse { .navbar-collapse {
+3
View File
@@ -8,6 +8,7 @@
.sidebar-holder { .sidebar-holder {
top: 2.5rem; top: 2.5rem;
position: -webkit-sticky;
position: sticky; position: sticky;
background-color: #f9fafc; background-color: #f9fafc;
height: 100vh; height: 100vh;
@@ -191,6 +192,7 @@ a.focused {
transition: all ease-out 0.3s; transition: all ease-out 0.3s;
} }
.sidebar-holder { .sidebar-holder {
position: -webkit-sticky;
position: sticky; position: sticky;
top: 2.5rem; top: 2.5rem;
width: 100%; width: 100%;
@@ -220,6 +222,7 @@ a.focused {
transition: all ease-out 0.3s; transition: all ease-out 0.3s;
} }
.sidebar-holder { .sidebar-holder {
position: -webkit-sticky;
position: sticky; position: sticky;
top: 2.5rem; top: 2.5rem;
width: 100%; width: 100%;
+1 -1
View File
File diff suppressed because one or more lines are too long
+4 -1
View File
@@ -87,11 +87,14 @@
background: #3c4858; background: #3c4858;
font-size: 1rem; font-size: 1rem;
color: #f9fafc; color: #f9fafc;
line-height: 135px; line-height: initial;
text-align: center; text-align: center;
position: absolute; position: absolute;
top: 5%; top: 5%;
left: 5%; left: 5%;
display: flex;
justify-content: center;
align-items: center;
} }
.circular-progress.blue .circular-progress-bar { .circular-progress.blue .circular-progress-bar {
+6
View File
@@ -1,3 +1,9 @@
.accomplishments-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
.accomplishments-section .card { .accomplishments-section .card {
background: #fff; background: #fff;
border-top: 2px solid #248aaa; border-top: 2px solid #248aaa;
+6
View File
@@ -2,6 +2,12 @@
padding-top: 0.5rem; padding-top: 0.5rem;
} }
.achievements-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
#gallery .achievement-entry { #gallery .achievement-entry {
cursor: pointer; cursor: pointer;
margin-top: 5px; margin-top: 5px;
+12 -2
View File
@@ -1,6 +1,7 @@
.education-section .education-info-table { .education-section .education-info-table {
width: 100%; width: 100%;
border: none; border: none;
background: none;
} }
.education-section .education-info-table tr:hover { .education-section .education-info-table tr:hover {
@@ -12,6 +13,7 @@
.education-section .education-info-table td { .education-section .education-info-table td {
border: none; border: none;
padding: 0; padding: 0;
background: none;
} }
.education-section .timeframe { .education-section .timeframe {
@@ -19,6 +21,12 @@
text-align: right; text-align: right;
} }
.education-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
.education-section .icon { .education-section .icon {
width: 2rem; width: 2rem;
padding-left: 0; padding-left: 0;
@@ -36,7 +44,7 @@
} }
.education-section .education-info-table tr:first-child .hline { .education-section .education-info-table tr:first-child .hline {
height: 60%; height: 65%;
top: auto; top: auto;
} }
@@ -102,7 +110,9 @@
border: none; border: none;
color: #212529; color: #212529;
} }
.education-section .taken-courses th.course-name-header{
width: 50%;
}
.education-section .taken-courses .hidden-course { .education-section .taken-courses .hidden-course {
display: none; display: none;
transition: all 1s ease-out; transition: all 1s ease-out;
+6
View File
@@ -6,6 +6,12 @@
margin-top: 1.5rem !important; margin-top: 1.5rem !important;
} }
.experiences-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
.experiences-section ul { .experiences-section ul {
padding-left: 1rem; padding-left: 1rem;
} }
+6
View File
@@ -2,6 +2,12 @@
padding-top: 1rem; padding-top: 1rem;
} }
.recent-posts-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
.recent-posts-section .card .card-footer span { .recent-posts-section .card .card-footer span {
font-size: 10pt; font-size: 10pt;
color: #6c757d !important; color: #6c757d !important;
+6
View File
@@ -8,6 +8,12 @@
border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.125); border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.125);
} }
.skills-section h1 > span{
margin-top: -55px; /* Size of fixed header */
padding-bottom:55px;
display: block;
}
.skills-section .skill-card-link { .skills-section .skill-card-link {
text-decoration: none; text-decoration: none;
} }
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+45
View File
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 364 364" style="enable-background:new 0 0 364 364;" xml:space="preserve">
<g>
<path d="M350,60.5h-50c-7.72,0-14,6.28-14,14v225c0,7.72,6.28,14,14,14h50c7.72,0,14-6.28,14-14v-225
C364,66.78,357.72,60.5,350,60.5z M325.864,166.5c-11.23,0-20.333-9.104-20.333-20.333s9.104-20.333,20.333-20.333
s20.333,9.104,20.333,20.333S337.094,166.5,325.864,166.5z"/>
<path d="M230,50.5H30c-16.542,0-30,13.458-30,30v149c0,16.542,13.458,30,30,30h79v21.765c0,0.665-0.466,1.235-0.847,1.235H52.351
C46.092,282.5,41,287.329,41,293.265v9.235c0,5.962,5.198,11,11.351,11h156.604c6.091,0,11.046-4.935,11.046-11v-9.235
c0-6.037-4.852-10.765-11.046-10.765h-55.803c-0.517,0-1.151-0.681-1.151-1.235V259.5h78c16.542,0,30-13.458,30-30v-149
C260,63.958,246.542,50.5,230,50.5z M230,80.5l0.017,133H30v-133H230z"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+66
View File
@@ -0,0 +1,66 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 206.622 206.622" style="enable-background:new 0 0 206.622 206.622;" xml:space="preserve">
<g>
<g>
<g>
<path d="M155.287,58.38c-6.703-7.189-14.65-12.775-23.62-16.603c-1.299-0.552-2.8-0.291-3.83,0.672
c-1.034,0.963-1.4,2.443-0.94,3.777c8.128,23.444,1.654,49.524-16.485,66.441c-18.146,16.918-44.614,21.557-67.43,11.812
c-1.288-0.55-2.8-0.291-3.83,0.672c-1.034,0.963-1.4,2.443-0.94,3.777c3.197,9.218,8.215,17.535,14.918,24.72
c12.721,13.643,29.996,21.517,48.64,22.168c0.836,0.03,1.668,0.043,2.5,0.043c17.728,0,34.54-6.611,47.571-18.764
c13.647-12.724,21.517-29.998,22.168-48.643C174.658,89.807,168.011,72.025,155.287,58.38z M166.883,108.203
c-0.585,16.74-7.655,32.251-19.905,43.675c-12.25,11.423-28.223,17.425-44.959,16.809c-16.743-0.583-32.252-7.652-43.674-19.904
c-4.21-4.511-7.678-9.519-10.363-14.947c23.47,6.872,49.127,0.987,67.291-15.952c18.167-16.941,25.828-42.13,20.608-66.02
c5.23,3.057,9.984,6.867,14.19,11.382C161.496,75.496,167.465,91.464,166.883,108.203z"/>
<path d="M167.607,163.757c-1.393-1.393-3.649-1.393-5.042,0s-1.393,3.649,0,5.042l7.563,7.563
c0.696,0.696,1.609,1.045,2.521,1.045c0.912,0,1.825-0.348,2.521-1.045c1.393-1.393,1.393-3.649,0-5.042L167.607,163.757z"/>
<path d="M170.128,30.259l-7.563,7.565c-1.393,1.393-1.393,3.651,0,5.042c0.696,0.696,1.609,1.045,2.521,1.045
s1.825-0.348,2.521-1.045l7.563-7.565c1.393-1.393,1.393-3.651,0-5.042C173.777,28.866,171.521,28.866,170.128,30.259z"/>
<path d="M103.311,188.793c-1.971,0-3.566,1.597-3.566,3.566v10.697c0,1.969,1.595,3.566,3.566,3.566
c1.971,0,3.566-1.597,3.566-3.566v-10.697C106.877,190.39,105.282,188.793,103.311,188.793z"/>
<path d="M201.371,99.745h-10.697c-1.971,0-3.566,1.597-3.566,3.566c0,1.969,1.595,3.566,3.566,3.566h10.697
c1.971,0,3.566-1.597,3.566-3.566C204.937,101.342,203.341,99.745,201.371,99.745z"/>
<path d="M39.015,42.866c0.696,0.696,1.609,1.045,2.521,1.045s1.825-0.348,2.521-1.045c1.393-1.391,1.393-3.649,0-5.042
l-7.563-7.565c-1.393-1.393-3.649-1.393-5.042,0c-1.393,1.391-1.393,3.649,0,5.042L39.015,42.866z"/>
<path d="M39.015,163.757l-7.563,7.563c-1.393,1.393-1.393,3.649,0,5.042c0.696,0.696,1.609,1.045,2.521,1.045
c0.912,0,1.825-0.348,2.521-1.045l7.563-7.563c1.393-1.393,1.393-3.649,0-5.042C42.664,162.364,40.408,162.364,39.015,163.757z"
/>
<path d="M103.311,17.829c1.971,0,3.566-1.597,3.566-3.566V3.566c0-1.969-1.595-3.566-3.566-3.566
c-1.971,0-3.566,1.597-3.566,3.566v10.697C99.745,16.232,101.34,17.829,103.311,17.829z"/>
<path d="M15.949,99.745H5.251c-1.971,0-3.566,1.597-3.566,3.566c0,1.969,1.595,3.566,3.566,3.566h10.697
c1.971,0,3.566-1.597,3.566-3.566C19.514,101.342,17.919,99.745,15.949,99.745z"/>
</g>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

+68
View File
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
<g id="Sun">
<path d="M32.1318512,18.2793007c-7.7119007,0-13.9863014,6.2743988-13.9863014,13.9862976
s6.2744007,13.9864006,13.9863014,13.9864006s13.9862976-6.274498,13.9862976-13.9864006
S39.84375,18.2793007,32.1318512,18.2793007z M32.1318512,44.2793007c-6.6245003,0-12.0137005-5.3897018-12.0137005-12.0137024
s5.3892002-12.0135975,12.0137005-12.0135975s12.0136986,5.3895988,12.0136986,12.0135975
S38.7563515,44.2793007,32.1318512,44.2793007z"/>
<path d="M32.0000496,13.1688995c0.5522003,0,1-0.4471998,1-1V1c0-0.5527-0.4477997-1-1-1c-0.5522995,0-1,0.4473-1,1v11.1688995
C31.0000496,12.7216997,31.4477501,13.1688995,32.0000496,13.1688995z"/>
<path d="M32.0000496,50.830101c-0.5522995,0-1,0.4472008-1,1V63c0,0.5527,0.4477005,1,1,1c0.5522003,0,1-0.4473,1-1V51.830101
C33.0000496,51.2773018,32.5522499,50.830101,32.0000496,50.830101z"/>
<path d="M62.263649,30.4452991H51.09375c-0.5522003,0-1,0.4473-1,1s0.4477997,1.0000019,1,1.0000019h11.169899
c0.5522995,0,1-0.4473019,1-1.0000019S62.8159485,30.4452991,62.263649,30.4452991z"/>
<path d="M13.90625,31.4452991c0-0.5527-0.447794-1-0.999999-1H1.7363508c-0.5523,0-1,0.4473-1,1s0.4477,1.0000019,1,1.0000019
H12.906251C13.458456,32.4453011,13.90625,31.9979992,13.90625,31.4452991z"/>
<path d="M45.1801491,19.8778992c0.2559013,0,0.5116997-0.097599,0.7070999-0.2929001l7.8988991-7.8984995
c0.3906021-0.3905993,0.3906021-1.0233994,0-1.4139996c-0.3905983-0.3907003-1.0234985-0.3907003-1.4140968,0l-7.8989029,7.8984003
c-0.3905983,0.3906002-0.3905983,1.0233994,0,1.4140987C44.668457,19.7803001,44.9243507,19.8778992,45.1801491,19.8778992z"/>
<path d="M45.887249,45.2030983c-0.3906975-0.3905983-1.0234985-0.3905983-1.4141006,0
c-0.3905983,0.3907013-0.3905983,1.0235023,0,1.4141006l7.8989029,7.8973999
c0.1952972,0.1954002,0.4511986,0.2929993,0.7070999,0.2929993c0.2557983,0,0.5116997-0.097599,0.7069969-0.2929993
c0.3906021-0.3905983,0.3906021-1.0233994,0-1.4139977L45.887249,45.2030983z"/>
<path d="M18.112751,19.5849991c0.1954002,0.1953011,0.4511986,0.2929001,0.7070999,0.2929001
c0.2558002,0,0.5116997-0.097599,0.7069988-0.2929001c0.3906059-0.3906994,0.3906059-1.0234985,0-1.4140987L11.6289501,10.2725
c-0.3906994-0.3907003-1.0234947-0.3907003-1.4140997,0c-0.3906002,0.3906002-0.3906002,1.0234003,0,1.4139996
L18.112751,19.5849991z"/>
<path d="M19.5712509,45.2700996c-0.0177002-0.0208015-0.024601-0.0471992-0.0444012-0.0670013
c-0.3906002-0.3905983-1.0233936-0.3905983-1.4140987,0l-3.9401007,3.9400024l-4.0341949,3.8446999
c-0.3999052,0.3811989-0.415205,1.0139008-0.0339994,1.4137993c0.0192947,0.0203018,0.045495,0.0278015,0.066,0.0460014
c0.0176945,0.0208969,0.0245943,0.0472984,0.0443945,0.0669975c0.1953001,0.1954002,0.4512005,0.2929993,0.7069998,0.2929993
c0.2559004,0,0.5117006-0.097599,0.7070999-0.2929993l3.9401007-3.9398994l4.0341997-3.8446999
c0.3999004-0.3811989,0.415205-1.0139008,0.0340004-1.4137993C19.6179504,45.2958984,19.5917511,45.2882996,19.5712509,45.2700996z
"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

+59
View File
@@ -0,0 +1,59 @@
const DARK = "dark";
const LIGHT = "light";
const SYSTEM = "system";
const COLOR_THEME = "color-theme";
const DARK_OPTIONS = {
brightness: 100,
contrast: 100,
sepia: 0
};
const SVG_INVERT = {invert: ['img[src$=".svg"]']};
const NAVBAR_ICON_ID = "navbar-theme-icon-svg";
const DARK_ICON = "/icons/moon-svgrepo-com.svg";
const LIGHT_ICON = "/icons/sun-svgrepo-com.svg";
const SYSTEM_ICON = "/icons/computer-svgrepo-com.svg";
function enableDarkTheme() {
localStorage.setItem(COLOR_THEME, DARK);
DarkReader.enable(DARK_OPTIONS, SVG_INVERT);
document.getElementById(NAVBAR_ICON_ID).src = DARK_ICON;
}
function enableLightTheme() {
localStorage.setItem(COLOR_THEME, LIGHT);
DarkReader.disable();
document.getElementById(NAVBAR_ICON_ID).src = LIGHT_ICON;
}
function useSystemTheme() {
localStorage.setItem(COLOR_THEME, SYSTEM);
DarkReader.auto(DARK_OPTIONS, SVG_INVERT);
document.getElementById(NAVBAR_ICON_ID).src = SYSTEM_ICON;
}
function initializeColorTheme() {
// We're using the themeInitialization attributes as a 'hack' for setting up
// the default color scheme because we don't want to complicate this further
// by creating custom javascript output in Hugo.
let themeInitialization = document.getElementById("theme-initialization");
let defaultColorScheme = themeInitialization.getAttribute('default-theme');
// If the user has already selected a preferred theme then use that instead
// of the default theme. Also, the default theme gets loaded to localStorage
// on the first visit.
let colorTheme = localStorage.getItem(COLOR_THEME);
if (colorTheme == null || colorTheme.length == 0) {
colorTheme = defaultColorScheme;
}
// Enable the color theme
if (colorTheme == DARK) {
enableDarkTheme();
} else if (colorTheme == SYSTEM) {
useSystemTheme();
} else {
// We use light theme for the two conditions below.
// 1. the selected theme is light
// 2. no default theme is found - fall back to original behavior
enableLightTheme();
}
}
initializeColorTheme()
File diff suppressed because it is too large Load Diff
-1
View File
@@ -338,7 +338,6 @@ var projectCards;
// re-render custom functions on window resize // re-render custom functions on window resize
window.onresize = function () { window.onresize = function () {
detectDevice(); detectDevice();
adjustSkillCardsHeight();
adjustRecentPostsHeight(); adjustRecentPostsHeight();
showAchievements(); showAchievements();
}; };

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