221 Commits

Author SHA1 Message Date
hossainemruz 3b0f9ca0ae Fix build
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-01-06 01:05:43 +06:00
hossainemruz 06fd8e8919 Update config.yaml for exampleSite to match new structure
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2023-01-06 00:56:42 +06:00
Aaron Qian 02db3d3044 Bundling JS with ESBuild (#702)
* add npm dependencies used in this theme

* implement helper to configure JS and ESBuild

* migrate jquery popper.js bootstrap fontawesome to js bundle

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

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

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

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

* align recent post height via css

* migrated home.js and refactored into various sections

* migrated darkMode feature to js bundle

* moved mermaid feature to js bundle

* migrate syntax highlight to js bundle

* migrate katex ( js portion ) to js bundle

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

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

* removed goat-counter

* more fixes for broken achievements and small bugs

* more bug fixes

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

* remove jquery all together

* add null handling and fix merge conflicts

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

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

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

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

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

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

* Add catalan language

* Add catalan language in readme

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

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

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

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

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

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

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

* Update recent-posts.html

* Update recent-posts.html

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

* Update single.html

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

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

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

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

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

* Fixed absLangURL issue with sections in footer

* Added embed-pdf shortcode

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

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

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

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

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

* Added GoModule

* fixed typo

* Updated Module-Name

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

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

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

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

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

* Adds Portuguese to the list of languages

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

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

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

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

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

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

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

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

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

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

* added mulish css

* updated local font css

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

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

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

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

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

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

* Don't make tags clickable

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

* Update lang-selector-2.html

* Added showFlags parameter

* Refactor showFlags logic

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

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

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

* Tunning default parameters.

* Allow configurable number of recent posts.

* Added invisible element to hack theme initialization.

* Added default value.

* Use Darkreader CDN.

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

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

* Bring back the initialization.

* Added provider property.

* Added theme selector to the posts navbar.

* Removed extra line breaks.

* Changed darkreader CDN to local copy.

* Renamed to darkMode.

* Fixed CodeQL failures.

* Added icons.

* Renamed function.

* Added SVG inversion.

* Used icons for selection.

* Toggle initial dark only in the dynamic navbar.

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

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

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

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

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

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

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

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

Not perfect but will work fine for a while.

* Make counter.dev's `referrerPolicy` togglable

* Make `referrerPolicy` take more options

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

* Add finnish translation to the README

* Use a more fitting word for prev in finnish translation

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

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

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

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

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

* Fix links

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

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

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

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

* Fixed absLangURL issue with sections in footer

* Fixes LaTeX support

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

* Added 2 New, Privacy-Friendly Analytics Methods

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

* Removed 1 CDN

* Moved params under features

* Added Ko-Fi floating button for support

* Refactor analytics code + Add local fonts

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

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

* Use page level configuration for mermaid + use local file

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

* Fix comment

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

* add create config

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

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

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

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

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

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

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

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

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

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

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

* update theme default to light

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

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

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

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

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

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

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

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

* Fix search translation not applied to posts + update translations

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

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

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

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

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

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

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

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

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

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

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

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

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

* fix: change logic from  to

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

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

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

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

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

* fix: nesting levels in config

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

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

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

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

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

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

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

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

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

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

fix display property when hidden

* Update achievements.html

fixed display property when hidden

* Update education-alt.html

fixed display property when hidden

* Update education.html

fixed display property when hidden

* Update experiences.html

fixed display property when hidden

* Update projects.html

fixed display property when hidden

* Update recent-posts.html

fixed display property when hidden

* Update skills.html

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

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

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

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

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

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

* fix configurable navbar count

replace all evidences of "5" by $maxnavitems

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

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

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

* Fixed absLangURL issue with sections in footer

* Add LaTeX support

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

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

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

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

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

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

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

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

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

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

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

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

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

* Open link in a new tab

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

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

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

* renamed treshold param to collapseAfter

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

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

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

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

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

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

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Add issue parser workflow

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

* Add custom action

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

* Update workflow

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

* Update linked_issues workflow

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

* Update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

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

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

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

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

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

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

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

* Add connected event

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

* Update workflow

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

* Update workflows

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

* Update workflow

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

* Update workflow

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

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

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

* Fix LOC badge

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

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

* Print project_data.json

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

* Update project automation

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Update workflow

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

* Adjust the comment config

* Adjust the comment config

* Make comment section backward compatible with old config

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

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

* Fixed absLangURL issue with sections in footer

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

* Fixed section landing position on navigation

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

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

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

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

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

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

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

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

* Update plyr.css

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

* Added some (optional) social buttons

* Small fix for hardcoded values

* Update single.html

* Update look & feel for share buttons

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

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

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

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

* Solved comments

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

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

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

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

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

* taxonomies -  add active class

* Update CSS

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

* Fix tag link for multilingual mode + add translations

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

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

* Added default value.

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

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

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

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

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

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

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

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

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

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

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

* translate_Chinese

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

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

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

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

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

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

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

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

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

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

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

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-01 18:14:20 +00:00
hossainemruz dd0c46593c Update release-drafter
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-06-28 00:11:21 +06:00
Emruz Hossain 14ee45e4a0 Fix Google Analytic not showing up for v3 ID (#363)
Signed-off-by: hossainemruz <hossainemruz@gmail.com>
2021-06-27 18:00:23 +00:00
Jean-Baptiste Le Duigou 091c77360d Make newsletter helper label clear to complaint with GDPR (#357)
* Fix link to email address

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

* ✏️  update newsletter helper to be more GDPR compliant

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

* Add more translations

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

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

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

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

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

* 🐛 fix overriding issue

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

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

* Revert "resize skillcards by CSS instead of JS"

This reverts commit 169e0599e9.

* french translation

* add an optionnal greeting subtitle

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

* Fixed scrollbar problems related to skill section.

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

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

* Revert "resize skillcards by CSS instead of JS"

This reverts commit 169e0599e9.

* resize skillcards by CSS instead of JS

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

* Don't default logo into theme logo

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

* add missing comma

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

* Remove unnecessary changes

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

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

* Revert "resize skillcards by CSS instead of JS"

This reverts commit 169e0599e9.

* french translation

Co-authored-by: vlebert <vlebert@tactis.fr>
2021-06-04 10:30:22 +06:00
vlebert 3421c99ebf Fix ressource.Fit not resizing the image properly
Co-authored-by: vlebert <vlebert@tactis.fr>
2021-06-03 16:09:08 +06:00
Kaligule b5fe77f876 Fix typo in comment (#335)
Co-authored-by: Emruz Hossain <hossainemruz@gmail.com>
2021-06-02 17:22:48 +06:00
545 changed files with 15999 additions and 2433 deletions
+1
View File
@@ -0,0 +1 @@
node_modules
+12
View File
@@ -0,0 +1,12 @@
env:
browser: true
es2021: true
extends:
- standard
- plugin:no-jquery/all
- prettier
plugins:
- no-jquery
parserOptions:
ecmaVersion: latest
sourceType: module
+2 -2
View File
@@ -6,8 +6,8 @@ title: 'Feature Request'
<!---
Before filing an issue, please review the following:
Existing Features: https://github.com/hossainemruz/toha#features
Project Roadmap: https://github.com/hossainemruz/toha#project-roadmap
Existing Features: https://github.com/hugo-toha/toha#features
Project Roadmap: https://github.com/hugo-toha/toha#project-roadmap
-->
### Describe the solution you'd like
+1 -1
View File
@@ -17,7 +17,7 @@ categories:
- 'feature'
- 'enhancement'
- title: 'New Translations'
- title: 'Translations'
label: 'translation'
- title: 'Bug Fixes'
+3 -3
View File
@@ -8,10 +8,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout to latest commit
uses: actions/checkout@v2.3.4
uses: actions/checkout@v3.2.0
- name: Setup Node
uses: actions/setup-node@v2.1.5
uses: actions/setup-node@v3
with:
node-version: "15.x"
@@ -21,7 +21,7 @@ jobs:
npm run autoprefixer
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3.10.0
uses: peter-evans/create-pull-request@v4
with:
branch: autoprefixer
branch-suffix: timestamp
+34
View File
@@ -0,0 +1,34 @@
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@v3.2.0
with:
submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install node modules
run: npm install
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2.6.0
with:
hugo-version: 'latest'
extended: true
- name: Build
run: |
cd exampleSite
hugo --minify
+4 -4
View File
@@ -39,11 +39,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3.2.0
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# 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).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v2
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -68,4 +68,4 @@ jobs:
# make release
- 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
steps:
# Create/Update release draft
- uses: release-drafter/release-drafter@v5.15.0
- uses: release-drafter/release-drafter@v5.22.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+2 -2
View File
@@ -8,6 +8,6 @@ jobs:
runs-on: ubuntu-latest
steps:
# checkout to latest commit
- uses: actions/checkout@master
- uses: actions/checkout@v3.2.0
# 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
+3 -1
View File
@@ -2,4 +2,6 @@
node_modules/
.DS_Store
.history/
resources/
resources/
public/
.hugo_build.lock
+5
View File
@@ -0,0 +1,5 @@
printWidth: 100
tabWidth: 2
semi: false
singleQuote: true
trailingComma: "all"
+1
View File
@@ -0,0 +1 @@
nodejs 18.12.1
+34 -15
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)
[![Build Status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fhugo-toha%2Ftoha%2Fbadge%3Fref%3Dmain&style=flat)](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)
![Repository Size](https://img.shields.io/github/repo-size/hugo-toha/toha)
![Lines of Codes](https://img.shields.io/tokei/lines/github/hugo-toha/toha)
![Lines of Codes](https://img.shields.io/tokei/lines/github.com/hugo-toha/toha)
![Contributor](https://img.shields.io/github/contributors/hugo-toha/toha)
![Latest Release](https://img.shields.io/github/v/release/hugo-toha/toha?include_prereleases)
![Last Commit](https://img.shields.io/github/last-commit/hugo-toha/toha)
@@ -30,8 +30,16 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
- Achievement Gallery
- Sidebar to Categorize the Posts
- Short Codes
- Google Analytics Support
- Disqus Comment Support
- Analytics Support
- GoatCounter
- counter.dev
- Google Analytics
- Matomo/Piwik
- 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/).
@@ -49,7 +57,12 @@ For more details about the features please visit [here](https://toha-guides.netl
- 日本語
- 한국어
- русский
- suomi
- Tiếng Việt
- Turkish
- Arabic (العربية)
- Português
- Català
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 +84,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
## Requirements
- Hugo Version 0.68.0 or higher
- Hugo Version 0.87.0 or higher
## Usage
@@ -137,6 +150,9 @@ params:
# specify whether you want to show Table of Contents in reading page
enableTOC: true
# specify whether you want the language flags to be displayed.
showFlags: true
# Provide newsletter configuration.
# This feature has been implemented for Mailchimp only for now.
# You can also hide it from the footer.
@@ -165,10 +181,12 @@ When you run your site for first time, it will start with the default parameters
Here, are some handy shortcodes you can use with this theme.
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/)
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/)
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/)
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/)
- [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
- [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
- [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
- [Vertical Space](https://toha-guides.netlify.app/posts/shortcodes/#vertical-space)
- [Video](https://toha-guides.netlify.app/posts/shortcodes/#video)
- [Mermaid](https://hugo-toha.github.io/posts/shortcodes/#mermaid)
## Project Roadmap
@@ -230,13 +248,14 @@ Here is the check list for portfolio mode,
- [ ] **Publications**
- [ ] Category Filter
- [ ] Card
- [ ] Abstract
- [ ] Authors
- [ ] Tags
- [ ] Links
- [ ] Gallery
- [x] Category Filter
- [x] Card
- [x] Tags
- [x] Links
- [ ] Dedicated Page
- [ ] Abstract
- [ ] Authors
- [ ] Gallery
- [x] **Accomplishment / Courses**
+8
View File
@@ -0,0 +1,8 @@
import 'popper.js'
import 'bootstrap'
import '@fortawesome/fontawesome-free/js/all'
import './core'
import './features'
import './sections'
import './pages'
+36
View File
@@ -0,0 +1,36 @@
let deviceState = {
isMobile: false,
isTablet: false,
isLaptop: false
}
function detectDeviceState () {
if (window.innerWidth <= 425) {
deviceState = {
isMobile: true,
isTablet: false,
isLaptop: false
}
} else if (window.innerWidth <= 768) {
deviceState = {
isMobile: false,
isTablet: true,
isLaptop: false
}
} else {
deviceState = {
isMobile: false,
isTablet: false,
isLaptop: true
}
}
}
detectDeviceState()
window.addEventListener('resize', detectDeviceState)
// returns a copy of the device state
// so other parts of code can't override this.
export function getDeviceState () {
return { ...deviceState }
}
+2
View File
@@ -0,0 +1,2 @@
export * from './device'
export * from './insertScript'
+14
View File
@@ -0,0 +1,14 @@
export const insertScript = (id, src, onload) => {
// script is already inserted, do nothing
if (document.getElementById(id)) return
// insert script
const firstScriptTag = document.getElementsByTagName('script')[0]
const scriptTag = document.createElement('script')
scriptTag.id = id
scriptTag.onload = onload
scriptTag.src = src
scriptTag.defer = true
scriptTag.async = true
firstScriptTag.parentNode.insertBefore(scriptTag, firstScriptTag)
}
@@ -0,0 +1,30 @@
import { enable, disable, auto, setFetchMethod } from 'darkreader'
import * as params from '@params'
const darkreader = params?.darkmode?.darkreader || {}
const defaultColorScheme = darkreader.defaultColorScheme || 'system'
const theme = {
brightness: 100,
contrast: 100,
sepia: 0,
...(darkreader.theme || {})
}
const fixes = {
invert: ['img[src$=".svg"]'],
...(darkreader.fixes || {})
}
setFetchMethod(window.fetch)
export function setSchemeDark () {
enable(theme, fixes)
}
export function setSchemeLight () {
disable()
}
export function setSchemeSystem () {
auto(theme, fixes)
}
export { defaultColorScheme }
+60
View File
@@ -0,0 +1,60 @@
const PERSISTENCE_KEY = 'darkmode:color-scheme'
async function getService () {
if (process.env.FEATURE_DARKMODE_DARKREADER === '1') {
return await import('./darkreader')
}
throw Error(' No service defined for feature darkMode.')
}
window.addEventListener('DOMContentLoaded', async () => {
const menu = document.getElementById('themeMenu')
const $icon = document.getElementById('navbar-theme-icon-svg')
if (menu == null || $icon == null) return
const btns = menu.getElementsByTagName('a')
const iconMap = Array.from(btns).reduce((map, btn) => {
const $img = btn.getElementsByTagName('img')[0]
map[btn.dataset.scheme] = $img.src
return map
}, {})
const {
setSchemeDark,
setSchemeLight,
setSchemeSystem,
defaultColorScheme
} = await getService()
function loadScheme () {
return localStorage.getItem(PERSISTENCE_KEY) || defaultColorScheme
}
function saveScheme (scheme) {
localStorage.setItem(PERSISTENCE_KEY, scheme)
}
function setScheme (newScheme) {
$icon.src = iconMap[newScheme]
if (newScheme === 'dark') {
setSchemeDark()
} else if (newScheme === 'system') {
setSchemeSystem()
} else {
setSchemeLight()
}
saveScheme(newScheme)
}
setScheme(loadScheme())
Array.from(menu.getElementsByTagName('a')).forEach((btn) => {
btn.addEventListener('click', () => {
const { scheme } = btn.dataset
setScheme(scheme)
})
})
})
+165
View File
@@ -0,0 +1,165 @@
import { insertScript } from '../../core'
const PDFJS_BUNDLE = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@3.0.279/build/pdf.min.js'
const WORKER_BUNDLE = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@3.0.279/build/pdf.worker.min.js'
class PDFViewer {
constructor (el) {
const {
url,
hidePaginator,
hideLoader,
scale,
pageNum
} = el.dataset
if (url == null) {
throw new Error('Cannot load PDF! Attribute `data-url` is not set.')
}
// props
this.url = url
this.hidePaginator = hidePaginator !== 'false'
this.hideLoader = hideLoader !== 'false'
this.scale = scale || 3
// initial state
this.pageNum = parseInt(pageNum, 10) || 1
this.loaded = false
this.pageRendering = false
this.pageNumPending = null
// DOM elements
this.canvas = el.getElementsByClassName('pdf-canvas')[0]
if (this.canvas == null) {
throw new Error('canvas element not found!')
};
this.paginator = el.getElementsByClassName('paginator')[0]
this.loadingWrapper = el.getElementsByClassName('loading-wrapper')[0]
this.next = el.getElementsByClassName('next')[0]
this.prev = el.getElementsByClassName('prev')[0]
this.pageNum = el.getElementsByClassName('page-num')[0]
this.pageCount = el.getElementsByClassName('page-count')[0]
// context
this.ctx = this.canvas.getContext('2d')
// events
this.next.addEventListener('click', this.handleNextPage.bind(this))
this.prev.addEventListener('click', this.handlePrevPage.bind(this))
this.showPaginator()
this.showLoader()
this.loadPDF()
}
/**
* If we haven't disabled the loader, show loader and hide canvas
*/
showLoader () {
if (this.hideLoader) return
this.loadingWrapper.style.display = 'flex'
this.canvas.style.display = 'none'
}
/**
* If we haven't disabled the paginator, show paginator
*/
showPaginator () {
if (this.hidePaginator) return
this.paginator.style.display = 'block'
}
/**
* Hides loader and shows canvas
*/
showContent () {
this.loadingWrapper.style.display = 'none'
this.canvas.style.display = 'block'
}
/**
* Asynchronously downloads PDF.
*/
async loadPDF () {
this.pdfDoc = await window.pdfjsLib.getDocument(this.url).promise
this.pageCount.textContent = this.pdfDoc.numPages
// If the user passed in a number that is out of range, render the last page.
if (this.pageNum > this.pdfDoc.numPages) {
this.pageNum = this.pdfDoc.numPages
}
this.renderPage(this.pageNum)
}
/**
* Get page info from document, resize canvas accordingly, and render page.
* @param num Page number.
*/
async renderPage (num) {
this.pageRendering = true
const page = await this.pdfDoc.getPage(num)
const viewport = page.getViewport({ scale: this.scale })
this.canvas.height = viewport.height
this.canvas.width = viewport.width
// Wait for rendering to finish
await page.render({
canvasContext: this.ctx,
viewport
}).promise
this.pageRendering = false
this.showContent()
if (this.pageNumPending !== null) {
// New page rendering is pending
this.renderPage(this.pageNumPending)
this.pageNumPending = null
}
// Update page counters
this.pageNum.textContent = num
}
/**
* If another page rendering in progress, waits until the rendering is
* finished. Otherwise, executes rendering immediately.
*/
queueRenderPage (num) {
if (this.pageRendering) {
this.pageNumPending = num
} else {
this.renderPage(num)
}
}
/**
* Displays previous page.
*/
handlePrevPage () {
if (this.pageNum <= 1) {
return
}
this.pageNum--
this.queueRenderPage(this.pageNum)
}
/**
* Displays next page.
*/
handleNextPage () {
if (this.pageNum >= this.pdfDoc.numPages) {
return
}
this.pageNum++
this.queueRenderPage(this.pageNum)
}
}
insertScript('pdfjs', PDFJS_BUNDLE, () => {
window.pdfjsLib.GlobalWorkerOptions.workerSrc = WORKER_BUNDLE
Array.from(document.getElementsByClassName('pdf-viewer')).forEach(el => new PDFViewer(el))
})
@@ -0,0 +1,3 @@
if (process.env.FEATURE_FLOWCHART_MERMAID === '1') {
import('./mermaid')
}
@@ -0,0 +1,7 @@
import mermaid from 'mermaid'
import * as params from '@params'
const mermaidOptions = params.flowchart?.mermaid || {}
const options = Object.assign({}, mermaidOptions, { startOnLoad: true })
mermaid.initialize(options)
+27
View File
@@ -0,0 +1,27 @@
if (process.env.FEATURE_VIDEOPLAYER === '1') {
import('./videoplayer')
}
if (process.env.FEATURE_TOC === '1') {
import('./toc')
}
if (process.env.FEATURE_DARKMODE === '1') {
import('./darkmode')
}
if (process.env.FEATURE_FLOWCHART === '1') {
import('./flowchart')
}
if (process.env.FEATURE_SYNTAXHIGHLIGHT === '1') {
import('./syntaxhighlight')
}
if (process.env.FEATURE_MATH === '1') {
import('./math')
}
if (process.env.FEATURE_EMBEDPDF === '1') {
import('./embedpdf')
}
+3
View File
@@ -0,0 +1,3 @@
if (process.env.FEATURE_MATH_KATEX === '1') {
import('./katex')
}
+21
View File
@@ -0,0 +1,21 @@
import renderMathInElement from 'katex/contrib/auto-render'
import * as params from '@params'
const defaultOptions = {
delimiters: [
{ left: '$$', right: '$$', display: true },
{ left: '\\[', right: '\\]', display: true },
{ left: '$', right: '$', display: false },
{ left: '\\(', right: '\\)', display: false }
]
}
window.addEventListener('DOMContentLoaded', () => {
renderMathInElement(
document.body,
{
...defaultOptions,
...(params.math?.katex || {})
}
)
})
@@ -0,0 +1,4 @@
import hljs from 'highlight.js'
import * as params from '@params'
hljs.highlightAll(params.syntaxhighlight?.hljs)
@@ -0,0 +1,3 @@
if (process.env.FEATURE_SYNTAXHIGHLIGHT_HLJS === '1') {
import('./hljs')
}
+48
View File
@@ -0,0 +1,48 @@
import { getDeviceState } from '../../core'
// Toggle Table of Contents on click. Here, class "hide" open the toc
function toggleTOC () {
const toc = document.getElementById('toc-section')
if (toc == null) {
return
}
if (toc.classList.contains('hide')) {
toc.classList.remove('hide')
} else {
// if sidebar-section is open, then close it first
const sidebar = document.getElementById('sidebar-section')
if (sidebar != null && sidebar.classList.contains('hide')) {
sidebar.classList.remove('hide')
}
// add "hide" class
toc.classList.add('hide')
// if it is mobile device. then scroll to top.
const { isMobile } = getDeviceState()
if (isMobile && toc.classList.contains('hide')) {
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
}
}
if (document.getElementById('hero-area') != null) {
document.getElementById('hero-area').classList.toggle('hide')
}
}
window.addEventListener('DOMContentLoaded', () => {
// bind click event to #toc-toggle in navbar-2.html
const toggle = document.getElementById('toc-toggler')
if (toggle) toggle.addEventListener('click', toggleTOC)
// hide TOC when user clicks on a TOC link.
// Only applies if it's mobile.
const toc = document.getElementById('TableOfContents')
if (toc) {
toc.addEventListener('click', (event) => {
const { isMobile } = getDeviceState()
if (isMobile && event.target.nodeName === 'A') {
toggleTOC()
}
})
}
})
@@ -0,0 +1,3 @@
if (process.env.FEATURE_VIDEOPLAYER_PLYR === '1') {
import('./plyr')
}
@@ -0,0 +1,5 @@
import Plyr from 'plyr'
import * as params from '@params'
const options = params.videoplayer?.plyr
window.addEventListener('DOMContentLoaded', () => Plyr.setup('.video-player', options))
+16
View File
@@ -0,0 +1,16 @@
import { init } from 'ityped'
// =========== Typing Carousel ================
// get data from hidden ul and set as typing data
document.addEventListener('DOMContentLoaded', () => {
const $ul = document.getElementById('typing-carousel-data')?.children
if ($ul == null || $ul.length === 0) return
const strings = Array.from($ul).map($el => $el.textContent)
init('#ityped', {
strings,
startDelay: 200,
loop: true
})
})
+4
View File
@@ -0,0 +1,4 @@
import './note'
import './search'
import './single'
import './home'
+30
View File
@@ -0,0 +1,30 @@
import imagesLoaded from 'imagesloaded'
document.addEventListener('DOMContentLoaded', function () {
function resizeGridItem (item) {
const grid = document.getElementsByClassName('note-card-holder')[0]
const rowHeight = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-auto-rows'))
const rowGap = parseInt(window.getComputedStyle(grid).getPropertyValue('grid-row-gap'))
const rowSpan = Math.ceil((item.querySelector('.item').getBoundingClientRect().height + rowGap) / (rowHeight + rowGap))
item.style.gridRowEnd = 'span ' + rowSpan
}
function resizeAllGridItems () {
const allItems = document.getElementsByClassName('note-card')
for (let x = 0; x < allItems.length; x++) {
resizeGridItem(allItems[x])
}
}
function resizeInstance (instance) {
const item = instance.elements[0]
resizeGridItem(item)
}
window.addEventListener('resize', resizeAllGridItems)
const allItems = document.getElementsByClassName('note-card')
for (let x = 0; x < allItems.length; x++) {
imagesLoaded(allItems[x], resizeInstance)
}
})
+133
View File
@@ -0,0 +1,133 @@
import Fuse from 'fuse.js'
import Mark from 'mark.js'
window.addEventListener('DOMContentLoaded', () => {
const summaryInclude = 60
const fuseOptions = {
shouldSort: true,
includeMatches: true,
threshold: 0.0,
tokenize: true,
location: 0,
distance: 100,
maxPatternLength: 32,
minMatchCharLength: 1,
keys: [
{ name: 'title', weight: 0.8 },
{ name: 'hero', weight: 0.7 },
{ name: 'summary', weight: 0.6 },
{ name: 'date', weight: 0.5 },
{ name: 'contents', weight: 0.5 },
{ name: 'tags', weight: 0.3 },
{ name: 'categories', weight: 0.3 }
]
}
const searchQuery = param('keyword')
if (searchQuery) {
document.getElementById('search-query').value = searchQuery
executeSearch(searchQuery)
} else {
const node = document.createElement('p')
node.textContent = 'Please enter a word or phrase above'
document.getElementById('search-results')?.append(node)
}
function executeSearch (searchQuery) {
const url = window.location.href.split('/search/')[0] + '/index.json'
fetch(url).then(function (data) {
const pages = data
const fuse = new Fuse(pages, fuseOptions)
const results = fuse.search(searchQuery)
document.getElementById('search-box').value = searchQuery
if (results.length > 0) {
populateResults(results)
} else {
const node = document.createElement('p')
node.textContent = 'No matches found'
document.getElementById('search-results')?.append(node)
}
})
}
function populateResults (results) {
results.forEach(function (value, key) {
const contents = value.item.contents
let snippet = ''
const snippetHighlights = []
if (fuseOptions.tokenize) {
snippetHighlights.push(searchQuery)
} else {
value.matches.forEach(function (mvalue) {
if (mvalue.key === 'tags' || mvalue.key === 'categories') {
snippetHighlights.push(mvalue.value)
} else if (mvalue.key === 'contents') {
const start = mvalue.indices[0][0] - summaryInclude > 0 ? mvalue.indices[0][0] - summaryInclude : 0
const end = mvalue.indices[0][1] + summaryInclude < contents.length ? mvalue.indices[0][1] + summaryInclude : contents.length
snippet += contents.substring(start, end)
snippetHighlights.push(mvalue.value.substring(mvalue.indices[0][0], mvalue.indices[0][1] - mvalue.indices[0][0] + 1))
}
})
}
if (snippet.length < 1) {
snippet += contents.substring(0, summaryInclude * 2)
}
// pull template from hugo template definition
const templateDefinition = document.getElementById('search-result-template').innerHTML
// replace values
const output = render(templateDefinition, {
key,
title: value.item.title,
hero: value.item.hero,
date: value.item.date,
summary: value.item.summary,
link: value.item.permalink,
tags: value.item.tags,
categories: value.item.categories,
snippet
})
const doc = new DOMParser().parseFromString(output, 'text/html')
document.getElementById('search-results').append(doc)
snippetHighlights.forEach(function (snipvalue) {
const context = document.getElementById('#summary-' + key)
const instance = new Mark(context)
instance.mark(snipvalue)
})
})
}
function param (name) {
return decodeURIComponent((location.search.split(name + '=')[1] || '').split('&')[0]).replace(/\+/g, ' ')
}
function render (templateString, data) {
let conditionalMatches, copy
const conditionalPattern = /\$\{\s*isset ([a-zA-Z]*) \s*\}(.*)\$\{\s*end\s*}/g
// since loop below depends on re.lastInxdex, we use a copy to capture any manipulations whilst inside the loop
copy = templateString
while ((conditionalMatches = conditionalPattern.exec(templateString)) !== null) {
if (data[conditionalMatches[1]]) {
// valid key, remove conditionals, leave contents.
copy = copy.replace(conditionalMatches[0], conditionalMatches[2])
} else {
// not valid, remove entire section
copy = copy.replace(conditionalMatches[0], '')
}
}
templateString = copy
// now any conditionals removed we can do simple substitution
let key, find, re
for (key in data) {
find = '\\$\\{\\s*' + key + '\\s*\\}'
re = new RegExp(find, 'g')
templateString = templateString.replace(re, data[key])
}
return templateString
}
})
+60
View File
@@ -0,0 +1,60 @@
window.addEventListener('DOMContentLoaded', () => {
// =========== Add anchor to the headers ================
function addAnchor (element) {
element.innerHTML = `<a href="#${element.id}" class="header-anchor">${element.innerHTML}<sup><i class="fas fa-link fa-sm"></i></sup></a>`
}
const postContent = document.getElementById('post-content')
if (postContent != null) {
const headerTypes = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']
for (let i = 0; i < headerTypes.length; i++) {
const headers = postContent.querySelectorAll(headerTypes[i])
if (headers) {
headers.forEach(addAnchor)
}
}
}
// =============== Make TOC Compatible wit Bootstrap Scroll Spy ========
// add "navbar" class to the "nav" element
const toc = document.getElementById('TableOfContents')
if (toc) {
toc.classList.add('navbar')
// add "nav-pills" class to the "ul" elements
let elems = toc.getElementsByTagName('ul')
for (let i = 0; i < elems.length; i++) {
elems[i].classList.add('nav-pills')
}
// add "nav-item" class to the "li" elements
elems = toc.getElementsByTagName('li')
for (let i = 0; i < elems.length; i++) {
elems[i].classList.add('nav-item')
}
// add "nav-link" class to the "a" elements
elems = toc.getElementsByTagName('a')
for (let i = 0; i < elems.length; i++) {
elems[i].classList.add('nav-link')
}
}
// add scroll to top button
const btn = document.getElementById('scroll-to-top')
if(btn) {
window.addEventListener('scroll', function () {
if (window.scrollY > 300) {
btn.classList.add('show')
} else {
btn.classList.remove('show')
}
})
btn.addEventListener('click', function (e) {
e.preventDefault()
window.scrollTo({
top: 0,
behavior: 'smooth'
})
})
}
})
+3
View File
@@ -0,0 +1,3 @@
export const process = {
env: {}
}
+220
View File
@@ -0,0 +1,220 @@
import { getDeviceState } from '../core'
function fourColumRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-3', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-2')
i++
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[1].classList.add('img-type-2')
gallery.appendChild(entry3)
i++
}
function fourColumnReversedRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-3', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-2')
i++
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[1].classList.add('img-type-2')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-6', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-1')
gallery.appendChild(entry3)
i++
}
function threeColumnRow (gallery, entries, i) {
console.log(i)
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-6', 'col-md-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-1')
gallery.appendChild(entry3)
i++
}
function threeColumnReversedRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-lg-3', 'col-md-3', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
const entry3 = document.createElement('div')
entry3.classList.add('col-lg-6', 'col-md-3', 'm-0', 'p-0')
entry3.appendChild(entries[i].cloneNode(true))
entry3.children[0].classList.add('img-type-1')
gallery.appendChild(entry3)
i++
}
function twoColumnRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-6', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
const entry2 = document.createElement('div')
entry2.classList.add('col-6', 'm-0', 'p-0')
entry2.appendChild(entries[i].cloneNode(true))
entry2.children[0].classList.add('img-type-1')
gallery.appendChild(entry2)
i++
}
function singleColumnRow (gallery, entries, i) {
const entry1 = document.createElement('div')
entry1.classList.add('col-12', 'm-0', 'p-0')
entry1.appendChild(entries[i].cloneNode(true))
entry1.children[0].classList.add('img-type-1')
gallery.appendChild(entry1)
i++
}
function showAchievements () {
const { isLaptop, isTablet } = getDeviceState()
// show achievements from achievements-holder div
const gallery = document.getElementById('gallery')
if (gallery == null) {
return
}
gallery.innerHTML = ''
const entries = document.getElementById('achievements-holder').children
let len = entries.length
let i = 0
let rowNumber = 1
while (i < len) {
if (isLaptop) {
if (i + 4 <= len) {
if (rowNumber % 2) {
fourColumRow(gallery, entries, i)
} else {
fourColumnReversedRow(gallery, entries, i)
}
i += 4
} else if (i + 3 <= len) {
if (rowNumber % 2) {
threeColumnRow(gallery, entries, i)
} else {
threeColumnReversedRow(gallery, entries, i)
}
i += 3
} else if (i + 2 <= len) {
twoColumnRow(gallery, entries, i)
i += 2
} else {
singleColumnRow(gallery, entries, i)
i++
}
} else if (isTablet) {
if (i + 2 <= len) {
twoColumnRow(gallery, entries, i)
i += 2
} else {
singleColumnRow(gallery, entries, i)
i++
}
} else {
singleColumnRow(gallery, entries, i)
i++
}
rowNumber++
}
// show full image on click
const elements = document.getElementsByClassName('achievement-entry')
len = elements.length
for (let i = 0; i < len; i++) {
elements[i].onclick = function () {
const achievements = document.getElementsByClassName('achievement-entry')
const len2 = achievements.length
for (let j = 0; j < len2; j++) {
achievements[j].classList.toggle('hidden')
}
this.classList.toggle('achievement-details')
this.classList.toggle('hidden')
this.parentElement.classList.toggle('col-lg-12')
this.parentElement.classList.toggle('col-md-12')
this.parentElement.classList.toggle('col-sm-12')
if (this.children.SmallImage.hasAttribute('active')) {
const mainLogo = this.children.LargeImage.getAttribute('Style')
this.children.LargeImage.setAttribute('active', true)
this.children.SmallImage.removeAttribute('active')
this.setAttribute('Style', mainLogo)
} else {
const mainLogo = this.children.SmallImage.getAttribute('Style')
this.children.SmallImage.setAttribute('active', true)
this.children.LargeImage.removeAttribute('active')
this.setAttribute('Style', mainLogo)
}
if (this.children.caption !== undefined) {
this.children.caption.classList.toggle('hidden')
}
if (this.children['enlarge-icon'] !== undefined) {
this.getElementsByClassName('fa-xmark')[0].classList.toggle('hidden')
this.getElementsByClassName('fa-magnifying-glass-plus')[0].classList.toggle('hidden')
}
if (this.children['achievement-title'] !== undefined) {
this.children['achievement-title'].classList.toggle('hidden')
}
}
}
}
['DOMContentLoaded', 'resize'].forEach((event) =>
document.addEventListener(event, showAchievements))
+33
View File
@@ -0,0 +1,33 @@
// Show more rows in the taken courses table
function toggleCourseVisibility (elem) {
// find the courses
const courses = elem.parentNode.getElementsByClassName('course')
if (courses == null) {
return
}
// toggle hidden-course class from the third elements
for (const course of courses) {
if (course.classList.contains('hidden-course') || course.classList.contains('toggled-hidden-course')) {
course.classList.toggle('hidden-course')
course.classList.add('toggled-hidden-course')
}
}
// toggle the buttons visibility
const buttonsToToggle = elem.parentNode.getElementsByClassName('show-more-btn')
for (const buttonToToggle of buttonsToToggle) {
buttonToToggle.classList.toggle('hidden')
}
}
window.addEventListener('DOMContentLoaded', () => {
const els = [
document.getElementById('show-more-btn'),
document.getElementById('show-less-btn')
]
els.filter((el) => el != null).forEach((el) =>
el.addEventListener('click', ({ target }) =>
toggleCourseVisibility(target)))
})
+7
View File
@@ -0,0 +1,7 @@
import './navbar'
import './sidebar'
import './education'
import './achievements'
import './projects'
import './publications'
+60
View File
@@ -0,0 +1,60 @@
const updateNavBar = () => {
const topNavbar = document.getElementById('top-navbar')
const navbarToggler = document.getElementById('navbar-toggler')
const themeIcon = document.getElementById('navbar-theme-icon-svg')
if (window.scrollY > 40) {
topNavbar?.classList.remove('initial-navbar')
topNavbar?.classList.add('final-navbar', 'shadow')
navbarToggler?.classList.remove('navbar-dark')
navbarToggler?.classList.add('navbar-light')
// color theme selector a.k.a. dark mode
themeIcon?.classList.remove('navbar-icon-svg-dark')
// get the main logo from hidden img tag
const mainLogo = document.getElementById('main-logo')
if (mainLogo) {
const logoURL = mainLogo.getAttribute('src')
document.getElementById('logo')?.setAttribute('src', logoURL)
}
} else {
topNavbar?.classList.remove('final-navbar', 'shadow')
topNavbar?.classList.add('initial-navbar')
navbarToggler?.classList.remove('navbar-light')
navbarToggler?.classList.add('navbar-dark')
// color theme selector a.k.a. dark mode
themeIcon?.classList.add('navbar-icon-svg-dark')
// get the inverted logo from hidden img tag
const invertedLogo = document.getElementById('inverted-logo')
if (invertedLogo) {
const logoURL = invertedLogo.getAttribute('src')
document.getElementById('logo')?.setAttribute('src', logoURL)
}
}
}
document.addEventListener('DOMContentLoaded', function () {
// change navbar style on scroll
// ==================================================
// When the user scrolls down 80px from the top of the document,
// resize the navbar's padding and the logo's font size
document.addEventListener('scroll', updateNavBar)
// Creates a click handler to collapse the navigation when
// anchors in the mobile nav pop up are clicked
const navMain =document.getElementsByClassName('navbar-collapse')
Array.from(navMain).forEach(function(el) {
el.addEventListener('click', function (e) {
if (e.target.tagName === 'A') {
el.classList.add('collapse')
}
})
})
updateNavBar()
})
+19
View File
@@ -0,0 +1,19 @@
import Filterizr from 'filterizr'
import { insertScript } from '../core'
document.addEventListener('DOMContentLoaded', () => {
// ================== Project cards =====================
// setup project filter buttons
const projectCardHolder = document.getElementById('project-card-holder')
if (projectCardHolder != null && projectCardHolder.children.length !== 0) {
// eslint-disable-next-line no-new
new Filterizr('.filtr-projects', {
layout: 'sameWidth',
controlsSelector: '.project-filtr-control'
})
}
})
// dynamically insert github buttons script.
insertScript('github-buttons', 'https://buttons.github.io/buttons.js')
+13
View File
@@ -0,0 +1,13 @@
import Filterizr from 'filterizr'
document.addEventListener('DOMContentLoaded', () => {
const publicationCardHolder = document.getElementById('publication-card-holder')
if (publicationCardHolder != null && publicationCardHolder.children.length !== 0) {
// eslint-disable-next-line no-new
new Filterizr('.filtr-publications', {
layout: 'sameWidth',
gridItemsSelector: '.pub-filtr-item',
controlsSelector: '.pub-filtr-control'
})
}
})
+38
View File
@@ -0,0 +1,38 @@
import { getDeviceState } from '../core/device'
// Toggle sidebar on click. Here, class "hide" open the sidebar
function toggleSidebar () {
const sidebar = document.getElementById('sidebar-section')
if (sidebar == null) {
return
}
if (sidebar.classList.contains('hide')) {
sidebar.classList.remove('hide')
} else {
// if toc-section is open, then close it first
const toc = document.getElementById('toc-section')
if (toc != null && toc.classList.contains('hide')) {
toc.classList.remove('hide')
}
// add "hide" class
sidebar.classList.add('hide')
// if it is mobile device. then scroll to top.
const { isMobile } = getDeviceState()
if (isMobile && sidebar.classList.contains('hide')) {
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
if (document.getElementById('hero-area') != null) {
document.getElementById('hero-area').classList.toggle('hide')
}
}
}
if (document.getElementById('content-section') != null) {
document.getElementById('content-section').classList.toggle('hide')
}
}
window.addEventListener('DOMContentLoaded', () => {
// bind click event to #sidebar-toggler in navbar-2.html
const toggle = document.getElementById('sidebar-toggler')
if (toggle) toggle.addEventListener('click', toggleSidebar)
})
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+1 -1
View File
@@ -43,7 +43,7 @@ Esto expone los valores en /index.json: por ejemplo, para agregar `categories`
\```
### Editar las opciones de fuse.js para buscar
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -13,7 +13,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -41,7 +41,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+1 -1
View File
@@ -43,7 +43,7 @@ Esto expone los valores en /index.json: por ejemplo, para agregar `categories`
\```
### Editar las opciones de fuse.js para buscar
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+2 -2
View File
@@ -15,7 +15,7 @@ No content shown here is rendered, all content is based in the template layouts/
Setting a very low sitemap priority will tell search engines this is not important content.
This implementation uses Fusejs, jquery and mark.js
This implementation uses Fusejs and mark.js
## Initial setup
@@ -43,7 +43,7 @@ i.e. add `category`
\```
### Edit fuse.js options to Search
`static/js/search.js`
`assets/scripts/pages/search.js`
\```
keys: [
"title",
+292
View File
@@ -0,0 +1,292 @@
baseURL: http://example.org/
languageCode: en-us
title: Example Site
module:
imports:
- path: github.com/hugo-toha/hugo-toha.github.io
disable: false
mounts:
- source: content
target: content
- source: layouts
target: layouts
- source: data
target: data
- source: assets
target: assets
- source: static
target: static
- path: github.com/hugo-toha/toha/v4
# Manage languages
# For any more details, you can check the official documentation: https://gohugo.io/content-management/multilingual/
languages:
en:
languageName: English
weight: 1
bn:
languageName: বাংলা
weight: 3
# Force a locale to be use, really useful to develop the application ! Should be commented in production, the "weight" should rocks.
# DefaultContentLanguage: bn
# Allow raw html in markdown file
markup:
goldmark:
renderer:
unsafe: true
tableOfContents:
startLevel: 2
endLevel: 6
ordered: false
# At least HTML and JSON are required for the main HTML content and
# client-side JavaScript search
outputs:
home:
- HTML
- RSS
- JSON
# Enable global emoji support
enableEmoji: true
# Site parameters
params:
# Background image of the landing page
background: /images/site/background.jpg
# Provide logos for your site. The inverted logo will be used in the initial
# transparent navbar and the main logo will be used in the non-transparent navbar.
logo:
main: /images/site/main-logo.png
inverted: /images/site/inverted-logo.png
favicon: /images/site/favicon.png
# GitHub repo of your site
gitRepo: https://github.com/hugo-toha/hugo-toha.github.io
# Default branch of your Git repo
gitBranch: main
# Configure the number of section title visible in the top navbar
topNavbar:
maxVisibleSections: 5
# Configure various features of this theme
features:
# Enable dark theme
darkMode:
enable: false
services:
darkreader:
defaultColorScheme: system # options are 'system', 'dark', 'light'
fixes:
invert: ['img[src$=".svg"]'] # inverts svg colors.
theme:
brightness: 100
contrast: 100
sepia: 0
# Enable and configure portfolio
portfolio:
enable: true
# Enable and configure blog posts
blog:
enable: true
# Share post on different social media
shareButtons:
facebook: true
twitter: true
linkedin: true
reddit: true
whatsapp: true
email: true
# tumblr: true
# pocket: true
# diaspora: true
# mastodon: true
# Enable & configure "Notes" features
notes:
enable: true
# Enable comment feature. There, should be only one of them.
comment:
enable: false
services:
disqus:
shortName: toha-example-site
# valine:
# appId: HTV6askWxVo3vOxlqjjaq2hd-MsYXbMMI
# appKey: pVrT3C85KGIuk27t07eh6bUC
# avatar: retro
# placeholder: Share your thought.
# lang: en
# recordIP: true
# enableQQ: true
# utteranc:
# repo: github.com/hugo-toha/hugo-toha.github.io
# issueTerm: title
# theme: github-light
# giscus:
# repo: your-repo/name
# repoID: your-repo-id
# category: your-category
# categoryID: your-category-id
# theme: light
# map: url
# reaction: 1
# metadata: 0
# inputPosition: bottom
# crossOrigin: anonymous
# commento:
# serverURL: cdn.commento.io
# autoInit: true
# hideDeleted: false
# Enable Analytics
analytics:
enabled: false
services:
# Google Analytics
google:
id: G-H4LBG7NDFZ
# # CounterDev
# counterDev:
# id: <your counterdev id>
# # GoatCounter
# goatCounter:
# code: <your goat counter code>
# # Matomo / Piwik
# matomo:
# instance: matomo.example.com
# siteId: 1 # Or any other number
# Enable Support
support:
enable: false
services:
kofi:
user: hossainemruz
text: Tip Me
textColor: '#f9fafc'
backgroundColor: '#248aaa'
# buymeacoffee:
# user: <your buymeacoffee.com user>
# text: Support me on Buy me a coffee!
# info: Buy me a coffee!
# color: '#FFDD00'
# specify whether you want to show Table of Contents in reading page
toc:
enable: true
# Show tags under the post title
tags:
enable: true
# Specify whether to show flag in the language selector. Default is true.
flags:
enable: true
# # If you want to use different country flag for a language, specify them here.
# flagOverwrites:
# - languageCode: en
# countryCode: us
# Enable this to use `embed-pdf` shortcode.
embedpdf:
enable: false
# Enable this to create flowcharts using shortcodes.
flowchart:
enable: false
services:
# Uncomment for `mermaid` shortcode.
mermaid:
# For config options, see: https://mermaid-js.github.io/mermaid/#/Setup?id=configuration
# theme: dark
# Enable this to create mathematic expressions using `$$` blocks
math:
enable: false
services:
# https://katex.org/docs/autorender.html#api for more configurations
katex:
delimiters:
- left: $$
right: $$
display: true
- left: \\[
right: \\]
display: true
- left: $
right: $
display: false
- left: \\(
right: \\)
display: false
# Enable to use custom syntax highlight
# Please note, Hugo comes with it's own html based syntax highlighter.
# Your code block will still be syntax highlighted by hugo.
# For more details: https://gohugo.io/content-management/syntax-highlighting/
# To disable Hugo's builtin syntax highlight,
# see: https://gohugo.io/getting-started/configuration-markup#highlight
# ```
# # config.yaml
# markup:
# # this disables hugo's syntax highlighting.
# codeFences: false
# ```
syntaxHighlight:
enable: true
services:
hljs:
# see: https://highlightjs.readthedocs.io/en/latest/api.html#configure
noHighlightRe: /^no-highlight$/i
# Enable to use `video-player` shortcode
videoPlayer:
enable: false
services:
# convert .js-player class into video player via https://plyr.io/
# Can play HTML5 Video, Audio, Youtube, Vimeo.
# For more info on setup: https://github.com/sampotts/plyr#quick-setup
plyr:
# options doc: https://github.com/sampotts/plyr#options
# fullscreen: true
# Provide footer configuration.
footer:
enable: true
# You can provide your custom footer template using this option.
# Put your template in "layouts/partials" folder of your repo.
template: footer.html
# Show/hide navigation in the footer. Default is "true".
navigation:
enable: true
# show custom menus in the footer
customMenus: true
# Show/hide "Contact Me" section in the footer. Default is "true".
contactMe:
enable: true
# Show/hide credentials section in the footer. Default is "true".
credentials:
enable: true
# Show/hide newsletter section in the footer. Default is "true".
# Currently, it supports "mailchimp".
newsletter:
enable: true
provider: mailchimp
mailchimpURL: https://github.us1.list-manage.com/subscribe/post?u=19de52a4603135aae97163fd8&amp;id=094a24c76e
# Show/hide disclaimer notice in the footer. Default is "false".
disclaimer:
enable: true
+7
View File
@@ -0,0 +1,7 @@
module github.com/hugo-toha/toha/exampleSite
go 1.19
require github.com/hugo-toha/hugo-toha.github.io v0.0.0-20221228191121-007f31838bd6 // indirect
replace github.com/hugo-toha/toha/v4 => ../../toha
+2
View File
@@ -0,0 +1,2 @@
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20221228191121-007f31838bd6 h1:TPFhOZAnuH4wjLIdzimswCRa2qCcc1teKVTatADJU2g=
github.com/hugo-toha/hugo-toha.github.io v0.0.0-20221228191121-007f31838bd6/go.mod h1:OMMaP9Hh9NsKd41lVIazBQRPa0s6Z57AfJoY3DcCNNY=
+3
View File
@@ -0,0 +1,3 @@
module github.com/hugo-toha/toha/v4
go 1.19
+126
View File
@@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Inici"
[posts]
other = "Publicacions"
[toc_heading]
other = "Taula de Continguts"
[tags]
other = "Etiquetes"
[categories]
other = "Categories"
[at]
other = "a"
[resume]
other = "El meu currículum"
[navigation]
other = "Navegació"
[contact_me]
other = "Contacta'm:"
[email]
other = "Correu electrònic"
[phone]
other = "Telèfon"
[newsletter_text]
other = "Subscriure's"
[newsletter_input_placeholder]
other = "Entra l'email"
[newsletter_warning]
other = "Al entrar la vostra direcció de correu electrònic, esteu acceptant rebre el butlletí d'aquest lloc web."
[submit]
other = "Enviar"
[hugoAttributionText]
other = "Impulsat per"
[prev]
other = "Anterior"
[next]
other = "Següent"
[share_on]
other = "Compartir a"
[improve_this_page]
other = "Millorar aquesta pàgina"
[out_of]
other = "de"
[publications]
other = "Publicacions"
[taken_courses]
other = "Cursos realitzats"
[course_name]
other = "Nom del curs"
[total_credit]
other = "Crèdits Totals"
[obtained_credit]
other = "Crèdits Obtinguts"
[extracurricular_activities]
other = "Activitats Extracurriculars"
[show_more]
other = "Mostra'n més"
[show_less]
other = "Mostra'n menys"
[responsibilities]
other = "Responsabilitats:"
[present]
other = "Actualitat"
[comments_javascript]
other = "Si us plau, activa Javascript per mostrar"
[comments_by]
other = "Comentaris per"
[read]
other = "Llegir"
[project_star]
other = "Preferit"
[project_details]
other = "Detalls"
[err_404]
other = "La pàgina que està cercant encara no existeix."
[more]
other = "Més"
[view_certificate]
other = "Mostrar Certificat"
[notes]
other = "Notes"
[disclaimer_text]
other = "Avís de Responsabilitat"
[search]
other = "Cerca"
+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 = "صنع باستخدام"
[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 = "من فضلك قم بتفعيل جافاسكريب لإظهار"
[comments_by]
other = "التعليقات موفرة بواسطة"
[read]
other = "قراءة"
[project_star]
other = "نجمة"
[project_details]
other = "التفاصيل"
[err_404]
other = "الصفحة التي تبحث عنها ليست بعد هناك."
[more]
other = "المزيد"
[view_certificate]
other = "إظهار الشهادة"
[notes]
other = "ملاحظات"
[disclaimer_text]
other = "إشعار بالمسؤولية"
[search]
other = "بحث"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "পোষ্ট সমূহ"
[toc_heading]
other = "সুচিপত্র"
[tags]
other = "ট্যাগ সমুহ"
[categories]
other = "বিভাগ সমুহ"
[resume]
other = "আমার জীবনবৃত্তান্ত"
@@ -30,7 +36,7 @@ other = "ইমেইল নোটিফিকেশান এর মাধ্
other = "ইমেইল প্রবেশ করান"
[newsletter_warning]
other = "আমরা আপনার ইমেল অন্য কারও সাথে শেয়ার করব না।"
other = "আপনার ইমেঠিকানা প্রবেশের মাধমে আপনি এই ওয়েবসাইটের নিউজ লেটার পেতে সম্মত হচ্ছেন।"
[submit]
other = "জমা দিন"
@@ -44,6 +50,9 @@ other = "পূর্ববর্তী"
[next]
other = "পরবর্তী"
[share_on]
other = "শেয়ার করুন"
[improve_this_page]
other = "এই পৃষ্ঠাটি উন্নত করুন"
@@ -109,3 +118,6 @@ other = "নোট সমূহ"
[disclaimer_text]
other = "দায় বিজ্ঞপ্তি"
[search]
other = "অনুসন্ধান করুন"
+16 -4
View File
@@ -8,6 +8,12 @@ other = "Beiträge"
[toc_heading]
other = "Inhaltsverzeichnis"
[tags]
other = "Stichworte"
[categories]
other = "Kategorien"
[at]
other = "bei"
@@ -33,7 +39,7 @@ other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
other = "E-Mail Adresse eingeben"
[newsletter_warning]
other = "Wir geben deine E-Mail Adresse nicht an Dritte weiter."
other = "Mit der Eingabe Ihrer E-Mail-Adresse erklären Sie sich damit einverstanden, den Newsletter dieser Website zu erhalten."
[submit]
other = "Absenden"
@@ -47,6 +53,9 @@ other = "Vorherige"
[next]
other = "Nächste"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "Diese Seite verbessern"
@@ -63,10 +72,10 @@ other = "Belegte Kurse"
other = "Kursname"
[total_credit]
other = "Gesamtguthaben"
other = "Mögliche Punktzahl"
[obtained_credit]
other = "Erhaltenes Guthaben"
other = "Note"
[extracurricular_activities]
other = "Außerschulische Aktivitäten"
@@ -99,7 +108,7 @@ other = "Star"
other = "Details"
[err_404]
other = "Die Seite nach der Seite ist noch nicht vorhanden."
other = "Die von Ihnen gesuchte Seite ist noch nicht vorhanden."
[more]
other = "Mehr"
@@ -112,3 +121,6 @@ other = "Notizen"
[disclaimer_text]
other = "Haftungshinweis"
[search]
other = "Suche"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "Posts"
[toc_heading]
other = "Table of Contents"
[tags]
other = "Tags"
[categories]
other = "Categories"
[at]
other = "at"
@@ -33,7 +39,7 @@ other = "Stay up to date with email notification"
other = "Enter email"
[newsletter_warning]
other = "We'll never share your email with anyone else."
other = "By entering your email address, you agree to receive the newsletter of this website."
[submit]
other = "Submit"
@@ -47,6 +53,9 @@ other = "Prev"
[next]
other = "Next"
[share_on]
other = "Share on"
[improve_this_page]
other = "Improve this page"
@@ -112,3 +121,6 @@ other = "Notes"
[disclaimer_text]
other = "Liability Notice"
[search]
other = "Search"
+29 -17
View File
@@ -8,6 +8,12 @@ other = "Posts"
[toc_heading]
other = "Contenido"
[tags]
other = "Etiquetas"
[categories]
other = "Categorías"
[at]
other = "en"
@@ -33,7 +39,7 @@ other = "Subscribirse"
other = "Ingrese email"
[newsletter_warning]
other = "Jamás compartiremos tus datos con alguién mas"
other = "Al ingresar su dirección de correo electrónico, acepta recibir el boletín de este sitio web."
[submit]
other = "Enviar"
@@ -47,6 +53,9 @@ other = "Anterior"
[next]
other = "Siguiente"
[share_on]
other = "Compartir en"
[improve_this_page]
other = "Mejorar esta página"
@@ -77,29 +86,29 @@ other = "Ver más"
[show_less]
other = "Muestra menos"
# [responsibilities]
# other = "Responsibilities:"
[responsibilities]
other = "Responsabilidades:"
# [present]
# other = "Present"
[present]
other = "Presente"
# [comments_javascript]
# other = "Please enable JavaScript to view the"
[comments_javascript]
other = "Por favor, activa JavaScript para ver el"
# [comments_by]
# other = "comments powered by"
[comments_by]
other = "comentarios cortesía de"
# [read]
# other = "Read"
[read]
other = "Leer"
# [project_star]
# other = "Star"
[project_star]
other = "Favorito"
# [project_details]
# other = "Details"
[project_details]
other = "Detalles"
# [err_404]
# other = "The page you are looking for is not there yet."
[err_404]
other = "La página que estás buscando no está aquí (todavía)"
[more]
other = "Más"
@@ -112,3 +121,6 @@ other = "Notas"
[disclaimer_text]
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"
+31 -19
View File
@@ -3,16 +3,22 @@
other = "Accueil"
[posts]
other = "Des postes"
other = "Articles"
[toc_heading]
other = "Table des matières"
[tags]
other = "Mots clés"
[categories]
other = "Catégories"
[at]
other = "chez"
[resume]
other = "Mon Curriculum vitæ"
other = "Mon Curriculum Vitæ"
[navigation]
other = "Navigation"
@@ -33,7 +39,7 @@ other = "Restez à jour par e-mail"
other = "Entrez une adresse e-mail"
[newsletter_warning]
other = "Nous ne partagerons jamais votre courriel avec quelqu'un d'autre."
other = "En renseignant votre adresse e-mail, vous acceptez de recevoir la newsletter de ce site."
[submit]
other = "Envoyer"
@@ -47,6 +53,9 @@ other = "Précédent"
[next]
other = "Suivant"
[share_on]
other = "Partager sur"
[improve_this_page]
other = "Améliorez cette page"
@@ -57,10 +66,10 @@ other = "sur"
other = "Publications"
[taken_courses]
other = "Taken Courses"
other = "Cours suivis"
[course_name]
other = "Cours suivis"
other = "Intitulé du cours"
[total_credit]
other = "Crédit total"
@@ -77,29 +86,29 @@ other = "En savoir plus"
[show_less]
other = "Montrer moins"
# [responsibilities]
# other = "Responsibilities:"
[responsibilities]
other = "Responsabilités :"
# [present]
# other = "Present"
[present]
other = "Aujourd'hui"
# [comments_javascript]
# other = "Please enable JavaScript to view the"
[comments_javascript]
other = "Merci d'activer JavaScript pour voir le"
# [comments_by]
# other = "comments powered by"
[comments_by]
other = "commentaires fournis par"
# [read]
# other = "Read"
[read]
other = "Lire"
# [project_star]
# other = "Star"
# [project_details]
# other = "Details"
[project_details]
other = "Détails"
# [err_404]
# other = "The page you are looking for is not there yet."
[err_404]
other = "La page que vous recherchez n'est pas disponible."
[more]
other = "Suite"
@@ -112,3 +121,6 @@ other = "Remarques"
[disclaimer_text]
other = "Avis de responsabilité"
[search]
other = "Chercher"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "पोस्ट"
[toc_heading]
other = "विषयसूची"
[tags]
other = "टैग"
[categories]
other = "श्रेणियाँ"
[at]
other = "अन्य"
@@ -33,7 +39,7 @@ other = "ईमेल अधिसूचना से अवगत रहें"
other = "ईमेल दर्ज करें"
[newsletter_warning]
other = "हम आपके ईमेल को कभी भी किसी और के साथ साझा नहीं करेंगे"
other = "अपना ईमेल पता दर्ज करके, आप इस वेबसाइट का न्यूज़लेटर प्राप्त करने के लिए सहमत होते हैं।"
[submit]
other = "जमा करें"
@@ -47,6 +53,9 @@ other = "पिछला"
[next]
other = "आगे"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "इस पृष्ठ को सुधारें"
@@ -112,3 +121,6 @@ other = "टिप्पणियाँ"
[disclaimer_text]
other = "दायित्व सूचना"
[search]
other = "खोज"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "Artikel"
[toc_heading]
other = "Daftar Isi"
[tags]
other = "Tags"
[categories]
other = "Kategori"
[at]
other = "at"
@@ -33,7 +39,7 @@ other = "Ingin selalu update dengan notifikasi email"
other = "Masukkan email"
[newsletter_warning]
other = "Kami tidak pernah berbagi data email dengan siapapun."
other = "Dengan memasukkan alamat email Anda, Anda setuju untuk menerima buletin situs web ini."
[submit]
other = "Kirim"
@@ -47,6 +53,9 @@ other = "Sebelumnya"
[next]
other = "Lanjut"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "Perbaiki halaman ini"
@@ -112,3 +121,6 @@ other = "Catatan"
[disclaimer_text]
other = "Pemberitahuan Kewajiban"
[search]
other = "Mencari"
+14 -2
View File
@@ -8,6 +8,12 @@ other = "Post"
[toc_heading]
other = "Contenuti"
[tags]
other = "Tags"
[categories]
other = "Categorie"
[at]
other = "presso"
@@ -33,7 +39,7 @@ other = "Resta aggiornato con la notifica di email"
other = "Inserisci l'email"
[newsletter_warning]
other = "Non condivideremo l'email con altri."
other = "Inserendo il tuo indirizzo email, accetti di ricevere la newsletter di questo sito."
[submit]
other = "Invia"
@@ -47,6 +53,9 @@ other = "Precedente"
[next]
other = "Successivo"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "Migliora questa pagina"
@@ -105,10 +114,13 @@ other = "Mostra meno"
other = "Di più"
[view_certificate]
other = "Féach ar an Teastas"
other = "Vedi certificato"
[notes]
other = "Appunti"
[disclaimer_text]
other = "Avviso di responsabilità"
[search]
other = "Ricerca"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "記事"
[toc_heading]
other = "目次"
[tags]
other = "タグ"
[categories]
other = "カテゴリ"
[resume]
other = "職務経歴書"
@@ -30,7 +36,7 @@ other = "メールで最新情報を受け取る"
other = "ここにメールアドレスを入力"
[newsletter_warning]
other = "ご入力いただいたメールアドレスが他人に開示されることは決してございません。"
other = "メールアドレスを入力すると、このウェブサイトのニュースレターを受け取ることに同意したことになります。"
[submit]
other = "登録"
@@ -44,6 +50,9 @@ other = "前"
[next]
other = "次"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "編集リクエストを送る"
@@ -109,3 +118,6 @@ other = "ノート"
[disclaimer_text]
other = "責任通知"
[search]
other = "検索"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "게시글"
[toc_heading]
other = "목차"
[tags]
other = "태그"
[categories]
other = "카테고리"
[at]
other = "at"
@@ -33,7 +39,7 @@ other = "이메일 알림으로 최신 상태를 유지해보세요"
other = "이메일을 입력하세요"
[newsletter_warning]
other = "이메일을 다른 목적으로 사용하지 않습니다."
other = "이메일 주소를 입력하면이 웹 사이트의 뉴스 레터 수신에 동의하는 것입니다."
[submit]
other = "제출"
@@ -47,6 +53,9 @@ other = "이전"
[next]
other = "다음"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "이 페이지를 개선"
@@ -112,3 +121,6 @@ other = "메모"
[disclaimer_text]
other = "책임 고지"
[search]
other = "찾다"
+38 -26
View File
@@ -1,53 +1,62 @@
[home]
other = "Startseite"
other = "Hoofdpagina"
[posts]
other = "Beiträge"
other = "Posts"
[toc_heading]
other = "Inhaltsverzeichnis"
other = "Inhoudsopgave"
[tags]
other = "Tags"
[categories]
other = "Categorieën"
[at]
other = "bei"
other = "bij"
[resume]
other = "Mein Lebenslauf"
other = "Curriculum Vitae"
[navigation]
other = "Navigation"
other = "Navigatie"
[contact_me]
other = "Kontakt aufnehmen"
other = "Contactgegevens"
[email]
other = "E-Mail"
[phone]
other = "Telefon"
other = "Telefoon"
[newsletter_text]
other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
other = "Ontvang updates via email"
[newsletter_input_placeholder]
other = "E-Mail-Adresse eingeben"
other = "Email ingeven"
[newsletter_warning]
other = "Wir werden Ihre E-Mail-Adresse nicht an Dritte weitergeben."
other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
[submit]
other = "Absenden"
other = "Opslaan"
[hugoAttributionText]
other = "Unterstützt von"
other = "Mogelijk gemaakt met"
[prev]
other = "Vorherige"
other = "Vorige"
[next]
other = "Nächste"
other = "Volgende"
[share_on]
other = "Delen op"
[improve_this_page]
other = "Diese Seite verbessern"
other = "Deze pagina verbeteren"
[out_of]
other = "van de"
@@ -56,7 +65,7 @@ other = "van de"
other = "Publicaties"
[taken_courses]
other = "Cursussen gevolgd"
other = "Gevolgde cursussen"
[course_name]
other = "Cursus naam"
@@ -76,11 +85,11 @@ other = "Bekijk meer"
[show_less]
other = "Laat minder zien"
# [responsibilities]
# other = "Responsibilities:"
[responsibilities]
other = "Verantwoordelijkheden:"
# [present]
# other = "Present"
[present]
other = "Heden"
# [comments_javascript]
# other = "Please enable JavaScript to view the"
@@ -94,11 +103,11 @@ other = "Laat minder zien"
# [project_star]
# other = "Star"
# [project_details]
# other = "Details"
[project_details]
other = "Details"
# [err_404]
# other = "The page you are looking for is not there yet."
[err_404]
other = "De pagina waar je voor zoekt bestaat nog niet."
[more]
other = "Meer"
@@ -110,4 +119,7 @@ other = "Bekijk certificaat"
other = "Opmerkingen"
[disclaimer_text]
other = "Haftungshinweis"
other = "Aansprakelijkheidsverklaring"
[search]
other = "Zoek"
+126
View File
@@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Início"
[posts]
other = "Artigos"
[toc_heading]
other = "Tabela de conteúdos"
[tags]
other = "Etiquetas"
[categories]
other = "Categorias"
[at]
other = "em"
[resume]
other = "O meu Currículo"
[navigation]
other = "Navegação"
[contact_me]
other = "Contacte-me:"
[email]
other = "Email"
[phone]
other = "Telefone"
[newsletter_text]
other = "Mantenha-se actualizado com notificações por email"
[newsletter_input_placeholder]
other = "Inserir email"
[newsletter_warning]
other = "Ao submeter o seu endereço de email, concorda em receber a newsletter deste website."
[submit]
other = "Enviar"
[hugoAttributionText]
other = "Desenvolvido por"
[prev]
other = "Anterior"
[next]
other = "Próximo"
[share_on]
other = "Partilha"
[improve_this_page]
other = "Melhore esta página"
[out_of]
other = "de"
[publications]
other = "Publicações"
[taken_courses]
other = "Cursos frequentados"
[course_name]
other = "Nome do Curso"
[total_credit]
other = "Créditos Totais"
[obtained_credit]
other = "Créditos Obtidos"
[extracurricular_activities]
other = "Actividades Extracurriculares"
[show_more]
other = "Ver Mais"
[show_less]
other = "Ver Menos"
[responsibilities]
other = "Responsabilidades:"
[present]
other = "Presente"
[comments_javascript]
other = "Por favor active JavaScript para ver o"
[comments_by]
other = "comentários por"
[read]
other = "Ler"
[project_star]
other = "Star"
[project_details]
other = "Detalhes"
[err_404]
other = "A página que procura ainda não está aqui."
[more]
other = "Mais"
[view_certificate]
other = "Ver Certificado"
[notes]
other = "Notas"
[disclaimer_text]
other = "Nota legal"
[search]
other = "Pesquisar"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "Посты"
[toc_heading]
other = "Оглавление"
[tags]
other = "Теги"
[categories]
other = "Категории"
[at]
other = "в"
@@ -33,7 +39,7 @@ other = "Подпишитесь на уведомления, чтобы не п
other = "Введите email"
[newsletter_warning]
other = "Ваши данные в безопасности"
other = "Вводя свой адрес электронной почты, вы соглашаетесь получать информационный бюллетень этого веб-сайта."
[submit]
other = "Подтвердить"
@@ -47,6 +53,9 @@ other = "Предыдущий"
[next]
other = "Следующий"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "Улучшить эту страницу"
@@ -112,3 +121,6 @@ other = "Ноты"
[disclaimer_text]
other = "Уведомление об ответственности"
[search]
other = "Поиск"
+126
View File
@@ -0,0 +1,126 @@
# More documentation here: https://github.com/nicksnyder/go-i18n
[home]
other = "Anasayfa"
[posts]
other = "Gönderiler"
[toc_heading]
other = "İçerik Tablosu"
[tags]
other = "Etiketler"
[categories]
other = "Kategoriler"
[at]
other = ","
[resume]
other = "Özgeçmişim"
[navigation]
other = "Menü"
[contact_me]
other = "İletişime geç:"
[email]
other = "E-Posta"
[phone]
other = "Telefon"
[newsletter_text]
other = "Yeni içeriklerden haberdar olmak için E-Posta adresinizi giriniz."
[newsletter_input_placeholder]
other = "E-Posta adresi giriniz."
[newsletter_warning]
other = "E-Posta adresini girerseniz, bu web sitesinin haber bültenini almayı kabul ediyorsunuz."
[submit]
other = "Onayla"
[hugoAttributionText]
other = ""
[prev]
other = "Önceki"
[next]
other = "Sonraki"
[share_on]
other = "Paylaş"
[improve_this_page]
other = "Bu sayfaya katkıda bulunun"
[out_of]
other = "/"
[publications]
other = "Akademik Yayınlar"
[taken_courses]
other = "Alınan Dersler"
[course_name]
other = "Ders Adı"
[total_credit]
other = "Üzerinden"
[obtained_credit]
other = "Alınan Not"
[extracurricular_activities]
other = "Ders Dışı Aktiviteler"
[show_more]
other = "Devamını Göster"
[show_less]
other = "Gizle"
[responsibilities]
other = "Sorumluluklar:"
[present]
other = "Halen"
[comments_javascript]
other = "Görüntüleyebilmek için lüften Javascript etkinleştirin"
[comments_by]
other = "comments powered by"
[read]
other = "Oku"
[project_star]
other = "Star"
[project_details]
other = "Detaylar"
[err_404]
other = "Aradığınız sayfa bulunamadı."
[more]
other = "Devamını Göster"
[view_certificate]
other = "Sertifikayı Görüntüle"
[notes]
other = "Notlar"
[disclaimer_text]
other = "Yükümlülük Bildirisi"
[search]
other = "Ara"
+13 -1
View File
@@ -8,6 +8,12 @@ other = "Bài viết"
[toc_heading]
other = "Mục lục"
[tags]
other = "Thẻ"
[categories]
other = "Thể loại"
[at]
other = "tại"
@@ -33,7 +39,7 @@ other = "Nhận email cập nhật thông tin"
other = "Nhập email"
[newsletter_warning]
other = "Chúng tôi sẽ không bao giờ chia sẻ email của bạn."
other = "Bằng cách nhập địa chỉ email của bạn, bạn đồng ý nhận bản tin của trang web này."
[submit]
other = "Gửi"
@@ -47,6 +53,9 @@ other = "Trước"
[next]
other = "Tiếp theo"
# [share_on]
# other = "Share on"
[improve_this_page]
other = "Cải thiện trang này"
@@ -112,3 +121,6 @@ other = "Ghi chú"
[disclaimer_text]
other = "Thông báo trách nhiệm"
[search]
other = "Tìm kiếm"
+30 -18
View File
@@ -8,6 +8,12 @@ other = "博文"
[toc_heading]
other = "目录"
[tags]
other = "标签"
[categories]
other = "类别"
[at]
other = "at"
@@ -33,7 +39,7 @@ other = "通过电子邮件接收最新信息"
other = "填入 E-mail"
[newsletter_warning]
other = "我们绝不会与任何人共享您的电子邮件。"
other = "输入您的电子邮件地址,即表示您同意接收本网站的时事通讯"
[submit]
other = "提交"
@@ -47,6 +53,9 @@ other = "上一篇"
[next]
other = "下一篇"
[share_on]
other = "分享"
[improve_this_page]
other = "改善此页面"
@@ -77,29 +86,29 @@ other = "查看更多"
[show_less]
other = "显示较少"
# [responsibilities]
# other = "Responsibilities:"
[responsibilities]
other = "职责:"
# [present]
# other = "Present"
[present]
other = "至今"
# [comments_javascript]
# other = "Please enable JavaScript to view the"
[comments_javascript]
other = "请启用 JavaScript 以查看"
# [comments_by]
# other = "comments powered by"
[comments_by]
other = "评论支持 by"
# [read]
# other = "Read"
[read]
other = "阅读"
# [project_star]
# other = "Star"
[project_star]
other = "Star"
# [project_details]
# other = "Details"
[project_details]
other = "详情"
# [err_404]
# other = "The page you are looking for is not there yet."
[err_404]
other = "您查找的页面已私奔。"
[more]
other = "更多的"
@@ -111,4 +120,7 @@ other = "查看证书"
other = "笔记"
[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 = "搜索"
@@ -0,0 +1 @@
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
+7 -4
View File
@@ -9,10 +9,9 @@
<!------ ADD PAGE SPECIFIC HEADERS ------->
{{ block "header" . }} {{ end }}
<!-- ADD GOOGLE ANALYTICS IF ENABLED -->
{{ if site.GoogleAnalytics }}
{{ template "_internal/google_analytics_async.html" . }}
{{ end }}
<!--================= add analytics if enabled =========================-->
{{- partial "analytics.html" . -}}
</head>
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
@@ -39,5 +38,9 @@
<!------- ADD PAGE SPECIFIC SCRIPTS ------>
{{ block "scripts" . }} {{ end }}
<!------ IF WANTED, ADD SUPPORT LINKS -------->
{{- partial "misc/support.html" . -}}
</body>
</html>
+1 -1
View File
@@ -1,5 +1,5 @@
{{- $.Scratch.Add "index" slice -}}
{{- range .Site.RegularPages -}}
{{- range (where .Site.RegularPages "Layout" "!=" "search") -}}
{{- $.Scratch.Add "index" (dict "title" .Title "hero" (partial "helpers/get-hero.html" .) "date" (.Date.Format "January 2, 2006") "summary" .Summary "tags" .Params.tags "categories" .Params.categories "contents" .Plain "permalink" .Permalink) -}}
{{- end -}}
{{- $.Scratch.Get "index" | jsonify -}}
+1 -5
View File
@@ -20,7 +20,7 @@
<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="Search" data-search="" id="search-box" />
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
</form>
<div class="sidebar-tree">
<ul class="tree" id="tree">
@@ -55,7 +55,3 @@
</div>
</section>
{{ end }}
{{ define "scripts" }}
<script src="{{ "/js/list.js" | relURL }}"></script>
{{ end }}
+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>

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