Compare commits

...

88 commits

Author SHA1 Message Date
panr
34ce1500ec make font working with latest css-loader and webpack 5 asset modules 2021-11-07 23:58:55 +01:00
panr
d9d893ff0e fix font loading by downgrading css-loader 2021-11-07 18:49:02 +01:00
panr
2ecdda62ef update README 2021-11-01 19:16:46 +01:00
panr
fa808517f2 make it easier to copy code from README 2021-11-01 19:15:37 +01:00
panr
df780f1256 remove dependabot 2021-11-01 16:26:18 +01:00
panr
7f39a46444 fix assets handling 2021-11-01 15:54:13 +01:00
Radek Kozieł
8e5ef7b6d0
Merge pull request #266 from panr/dependabot/npm_and_yarn/style-loader-3.3.1
Bump style-loader from 1.3.0 to 3.3.1
2021-11-01 15:19:02 +01:00
Radek Kozieł
16775f2fb5
Merge pull request #265 from panr/dependabot/npm_and_yarn/mini-css-extract-plugin-2.4.3
Bump mini-css-extract-plugin from 1.6.2 to 2.4.3
2021-11-01 15:18:54 +01:00
Radek Kozieł
011734fc83
Merge pull request #262 from panr/dependabot/npm_and_yarn/css-loader-6.5.0
Bump css-loader from 5.2.7 to 6.5.0
2021-11-01 15:18:34 +01:00
Radek Kozieł
dccdef9d77
Merge pull request #261 from panr/dependabot/npm_and_yarn/clean-webpack-plugin-4.0.0
Bump clean-webpack-plugin from 3.0.0 to 4.0.0
2021-11-01 15:18:15 +01:00
Radek Kozieł
5adf3db0f1
Merge pull request #260 from panr/dependabot/npm_and_yarn/postcss-loader-6.2.0
Bump postcss-loader from 5.3.0 to 6.2.0
2021-11-01 15:18:05 +01:00
dependabot[bot]
14da438553
Bump style-loader from 1.3.0 to 3.3.1
Bumps [style-loader](https://github.com/webpack-contrib/style-loader) from 1.3.0 to 3.3.1.
- [Release notes](https://github.com/webpack-contrib/style-loader/releases)
- [Changelog](https://github.com/webpack-contrib/style-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/style-loader/compare/v1.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: style-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 14:07:04 +00:00
dependabot[bot]
0e757204b0
Bump mini-css-extract-plugin from 1.6.2 to 2.4.3
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 1.6.2 to 2.4.3.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v1.6.2...v2.4.3)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 14:06:53 +00:00
dependabot[bot]
6e9829feeb
Bump css-loader from 5.2.7 to 6.5.0
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 5.2.7 to 6.5.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v5.2.7...v6.5.0)

---
updated-dependencies:
- dependency-name: css-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 14:06:26 +00:00
dependabot[bot]
e8b9b478ed
Bump clean-webpack-plugin from 3.0.0 to 4.0.0
Bumps [clean-webpack-plugin](https://github.com/johnagan/clean-webpack-plugin) from 3.0.0 to 4.0.0.
- [Release notes](https://github.com/johnagan/clean-webpack-plugin/releases)
- [Commits](https://github.com/johnagan/clean-webpack-plugin/compare/v3.0.0...v4.0.0)

---
updated-dependencies:
- dependency-name: clean-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 14:06:16 +00:00
dependabot[bot]
ef78736003
Bump postcss-loader from 5.3.0 to 6.2.0
Bumps [postcss-loader](https://github.com/webpack-contrib/postcss-loader) from 5.3.0 to 6.2.0.
- [Release notes](https://github.com/webpack-contrib/postcss-loader/releases)
- [Changelog](https://github.com/webpack-contrib/postcss-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/postcss-loader/compare/v5.3.0...v6.2.0)

---
updated-dependencies:
- dependency-name: postcss-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-01 14:06:07 +00:00
panr
6fece0ab15 update dependabot 2021-11-01 15:04:13 +01:00
panr
803d667fcd add dependabot config 2021-11-01 15:03:06 +01:00
Radek Kozieł
e6504a8bd7
Merge pull request #225 from thomasjsn/master
Move post cover to partial
2021-11-01 14:44:26 +01:00
Radek Kozieł
074b49d296
Merge pull request #230 from JonnyDaenen/patch-1
Fix gist rendering
2021-11-01 14:43:48 +01:00
Radek Kozieł
4988517bcd
Merge pull request #244 from franciscoyira/master
Fix tags links in multilingual
2021-11-01 14:42:37 +01:00
Radek Kozieł
e0e014eaff
Merge pull request #248 from nickali/patch-1
adding site
2021-11-01 14:41:54 +01:00
Radek Kozieł
4e534dd5a1
Merge branch 'master' into patch-1 2021-11-01 14:41:48 +01:00
Radek Kozieł
98ec613bd8
Merge pull request #255 from abhinav031/patch-1
Update USERS.md
2021-11-01 14:40:58 +01:00
Radek Kozieł
e6685730d3
Merge branch 'master' into patch-1 2021-11-01 14:40:52 +01:00
Radek Kozieł
b5cff7a503
Merge pull request #256 from schnerring/add-myself
Update USERS.md
2021-11-01 14:40:29 +01:00
panr
15b173ead8 add pre-push hook 2021-11-01 14:37:54 +01:00
panr
de5d80ad37 init husky 2021-11-01 14:36:46 +01:00
panr
c5b71eddba bump webpack version adn config 2021-11-01 14:33:13 +01:00
panr
b5b8d2931a fix code upper case letters. closes #251 2021-11-01 09:03:42 +01:00
Michael Schnerring
a76c819912 Update USERS.md 2021-10-15 02:33:52 +02:00
M31 Andromeda
c833622a64
Update USERS.md 2021-09-30 14:20:23 +00:00
Nick Ali
9642203bea
adding site 2021-08-16 20:34:50 -04:00
Francisco Albornoz
c7bf511567 Fix tags links in multilingual
When using multiple languages the tags links on the blogposts header use always the main language base URL (even when you're on post on other language). This PR fixes that
2021-08-01 00:25:23 -04:00
Radek Kozieł
84bd33a038
Merge pull request #243 from panr/fix-uppercased-code
Add `font-feature-settings: normal` to `code` and `pre`
2021-07-17 23:12:17 +02:00
Radek Kozieł
a9a3e1a8f4 add font-feature-settings: normal to code and pre 2021-07-17 23:11:34 +02:00
Radek Kozieł
3e62106bc9
Merge pull request #231 from sofixa/toc
add the ability to disable table of contents per-page/post
2021-05-12 23:50:33 +02:00
Radek Kozieł
5d778ddcfc
Merge pull request #211 from opfanswyx/master
Update USERS.md
2021-05-12 23:44:11 +02:00
Radek Kozieł
c8dcbbf027
Merge branch 'master' into master 2021-05-12 23:44:03 +02:00
Radek Kozieł
a91bfdc1a5
Merge pull request #217 from miroslavbucek/patch-1
Update USERS.md
2021-05-12 23:43:23 +02:00
Radek Kozieł
4db9c50f41
Merge branch 'master' into patch-1 2021-05-12 23:43:18 +02:00
Radek Kozieł
2861dc8fb3
Merge pull request #238 from finnmglas/patch-1
Update USERS.md
2021-05-12 23:42:46 +02:00
Radek Kozieł
89fb283d4c
Merge pull request #240 from panr/dependabot/npm_and_yarn/postcss-8.2.10
Bump postcss from 7.0.32 to 8.2.10
2021-05-12 23:39:01 +02:00
Radek Kozieł
1c66842e67
Merge pull request #239 from panr/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.20 to 4.17.21
2021-05-12 23:38:51 +02:00
Radek Kozieł
249a41befd
Merge pull request #237 from panr/dependabot/npm_and_yarn/ssri-6.0.2
Bump ssri from 6.0.1 to 6.0.2
2021-05-12 23:38:43 +02:00
Radek Kozieł
432303d6df
Merge pull request #236 from panr/dependabot/npm_and_yarn/elliptic-6.5.4
Bump elliptic from 6.5.3 to 6.5.4
2021-05-12 23:38:34 +02:00
dependabot[bot]
2357702601
Bump postcss from 7.0.32 to 8.2.10
Bumps [postcss](https://github.com/postcss/postcss) from 7.0.32 to 8.2.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.32...8.2.10)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 09:43:55 +00:00
dependabot[bot]
c04fdb34e0
Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 22:13:34 +00:00
Finn M Glas
1b4905cc03
Update USERS.md
Append FMG3D.com, which is a site I built based on the hugo-hello-friend theme.
2021-05-05 16:16:42 +02:00
dependabot[bot]
60109622e9
Bump ssri from 6.0.1 to 6.0.2
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-30 19:49:39 +00:00
dependabot[bot]
d863b57792
Bump elliptic from 6.5.3 to 6.5.4
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-30 17:49:58 +00:00
Radek Kozieł
44c977c9fa
Merge pull request #222 from panr/dependabot/npm_and_yarn/ini-1.3.8
Bump ini from 1.3.5 to 1.3.8
2021-04-30 19:48:37 +02:00
Radek Kozieł
8c2303431d
Merge pull request #234 from farhamdani/patch-1
Update USERS.md
2021-04-30 19:48:27 +02:00
Radek Kozieł
ccbc6e1aa2
Merge pull request #233 from panr/dependabot/npm_and_yarn/y18n-4.0.1
Bump y18n from 4.0.0 to 4.0.1
2021-04-30 19:48:16 +02:00
Farhamdani
a5782cca4e
Update USERS.md 2021-04-01 19:23:22 +08:00
dependabot[bot]
5fa8e2fb05
Bump y18n from 4.0.0 to 4.0.1
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-01 07:00:31 +00:00
Adrian Todorov
48d9246368 add the ability to disable table of contents per-page/post 2021-03-10 18:11:09 +01:00
Jonny Daenen
6f42c9ba30
Fix gist rendering
Hugo gist shortcodes make use of GitHub Gist embedding. As the gist uses a table, it renders wrongly due to the global addressing in the general theme's css. This is a non-elegant fix, but solves the issue.
2021-02-28 13:07:36 +01:00
Thomas Jensen
02105f748b move post cover to partial 2021-01-09 22:58:50 +01:00
dependabot[bot]
ec7bdec6ac
Bump ini from 1.3.5 to 1.3.8
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-13 05:27:08 +00:00
Miroslav Buček
8741141c9f
Update USERS.md 2020-11-05 21:32:16 +01:00
Radek Kozieł
2c2588d1c6
Merge pull request #214 from gregbair/patch-1
Update USERS.md
2020-10-21 10:02:48 +02:00
Greg
8540a1ee0e
Update USERS.md 2020-10-21 02:44:31 -04:00
Radek Kozieł
881c972d56
Merge pull request #212 from patrickhener/patch-1
Update USERS.md
2020-10-02 23:11:39 +02:00
Patrick Hener
5fbdfbc9bf
Update USERS.md
Add: - https://hesec.de - **Patrick Hener** (Security Researcher, Pentester and Coder)
2020-10-02 13:29:42 +02:00
Atticus
f2190ca758 Update USERS.md 2020-09-23 19:40:37 +08:00
panr
d82855b227 Update Webpack config. 2020-09-13 10:22:25 +02:00
Radek Kozieł
3c32c8648a
Merge pull request #204 from cmlnet/fix-summary
Fix .Summary
2020-09-12 00:46:27 +02:00
Christian Humm
7ce166690f Fix .Summary
Fixes the display of .Summary by removing markdownify from it.
2020-09-11 16:12:28 +02:00
panr
c9cc01c603 Fixes. 2020-09-10 00:22:33 +02:00
panr
83c6d7a5e6 Refactor code & install prettier-plugin-go-template 2020-09-10 00:19:52 +02:00
Radek Kozieł
785e09c45d
Update USERS.md 2020-09-09 08:40:09 +02:00
Radek Kozieł
2e9d54fb77
Merge pull request #201 from shinytoyrobots/improved-cover-alt-text
Added custom alt text functionality to post cover images
2020-09-09 08:36:05 +02:00
shinytoyrobots
4c9276c71d Added custom alt text functionality to post cover images 2020-09-09 00:32:46 -05:00
Radek Kozieł
c9e482ffe3
Merge pull request #200 from shinytoyrobots/patch-1
Update USERS.md
2020-09-09 00:14:56 +02:00
Robin Cannon
a121f15d9b
Update USERS.md
Moved my own personal site to Hugo recently and using this theme
2020-09-08 15:54:18 -05:00
panr
ea9fa9c43d Bump theme version 2020-09-06 01:00:03 +02:00
Radek Kozieł
f566a7b101
Merge pull request #180 from simeononsecurity/patch-1
Update USERS.md
2020-09-05 23:11:07 +02:00
Radek Kozieł
ca2c51710a
Merge branch 'master' into patch-1 2020-09-05 23:10:57 +02:00
Radek Kozieł
de73b74c4b
Merge pull request #188 from korovamilk/patch-1
Update USERS.md
2020-09-05 23:08:17 +02:00
panr
cab65cfcf3 Update dependencies and webpack config. 2020-09-05 19:51:56 +02:00
panr
2382c7531b Update README. 2020-09-05 18:24:20 +02:00
panr
46a294805b Update README. 2020-09-05 17:56:40 +02:00
panr
2a2122f81c Webpack is back! 2020-09-05 17:46:08 +02:00
Radek Kozieł
246ec48738
Update README.md 2020-08-24 16:14:39 +02:00
Marco Agate
124f3464ac
Update USERS.md 2020-08-17 14:22:40 +02:00
Radek Kozieł
75f212bf2d
Update README.md 2020-08-12 08:45:05 +02:00
simeononsecurity
71fe8a8c39
Update USERS.md
Added SimeonOnSecurity and Alphabetized the list
2020-08-02 04:13:48 -05:00
52 changed files with 5929 additions and 256 deletions

1
.husky/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
_

4
.husky/pre-push Executable file
View file

@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn build && git add . && git commit --amend --no-edit

View file

@ -3,9 +3,9 @@
"printWidth": 100,
"trailingComma": "all",
"overrides": [{
"files": ".html",
"files": ["*.html"],
"options": {
"parser": "html"
"parser": "go-template"
}
}]
}

View file

@ -99,29 +99,23 @@ You can download the theme manually by going to [https://github.com/panr/hugo-th
You can also clone it directly to your Hugo folder:
```bash
$ git clone https://github.com/panr/hugo-theme-hello-friend.git themes/hello-friend
git clone https://github.com/panr/hugo-theme-hello-friend.git themes/hello-friend
```
If you don't want to make any radical changes, it's the best option, because you can get new updates when they are available. To do so, include it as a git submodule:
```bash
$ git submodule add https://github.com/panr/hugo-theme-hello-friend.git themes/hello-friend
git submodule add -f https://github.com/panr/hugo-theme-hello-friend.git themes/hello-friend
```
⚠️ **The theme needs at least Hugo version 0.74.x**.
## How to run your site
The theme is using [Hugo Pipes](https://gohugo.io/hugo-pipes/) to handle Javascript and PostCSS files. This setup **requires** following npm packages:
From your Hugo root directory run:
```
@babel/cli @babel/core @babel/preset-env browserslist clipboard cssnano postcss-cli postcss-import postcss-mixins postcss-nested postcss-preset-env postcss-url
```
Before you start, you have to install them (globally or locally).
Then:
```
$ hugo server -t hello-friend
hugo server -t hello-friend
```
and go to `localhost:1313` in your browser. From now on all the changes you make will go live, so you don't need to refresh your browser every single time.
@ -207,6 +201,7 @@ Adding a cover image to your post is simple and there are two options when you e
* Resulting in `https://www.yourpage.com/path/to/absolute/img.jpg`
* Use `cover = "img.jpg"` and `useRelativeCover = true` to link the image relative to the blog post folder
* Resulting in `https://www.yourpage.com/posts/blog-entry-xy/img.jpg`
* Use `coverAlt = "description of image"` to add custom alt text to the cover image (defaults to post or page title as alt text)
* Use `coverCaption = "Image Credit to [Barry Bluejeans](https://unsplash.com/)"` to add a caption for the cover image.
## How to display the Last Modified Date in your posts
@ -231,7 +226,37 @@ In a post's front matter you have to add `hideReadMore` param set to `true`. Thi
## How to (safely) edit the theme <a id="how-to-edit" />
To change something in the theme, you have to go to `themes/hello-friend` and modify the files. You can also copy them (like `assets` folder) from the theme to your root directory and modify the files there (thanks to Hugo's lookup https://gohugo.io/templates/lookup-order). This will protect your changes from overriding when you update the theme.
If you have to override only some of the styles, you can do this easily by adding `static/style.css` in your root directory and point things you want to change.
To change something directly in the theme, you have to go to `themes/hello-friend` and modify the files.
First, you need to install Node dependencies. To do so, go to the theme directory (from your Hugo root directory):
```bash
cd themes/hello-friend
```
then run:
```bash
npm install
npm i yarn
yarn
```
After you modified the files you can run webpack in watch mode:
```bash
yarn dev
```
or rebuild theme
```bash
yarn build
```
To see the changes (remember to restart `hugo server`).
## Found a bug? <a id="bug" />

View file

@ -8,25 +8,37 @@ TEMPLATE:
-->
- https://0x44.pw — **Ian Pringle** (System Admin and developer)
- https://blog.agung.io - **Agung Pratama** (Software Engineer and DevOps)
- https://protocod.gitlab.io/blog/ **protocod** (Web Developer)
- https://adamormsby.com - **Adam Ormsby** (Generalist Programmer - Web, Mobile, Games)
- https://arubacao.com **Christopher Lass** (Software Engineer and DevOps)
- https://mfaishal.com **Faishal Irawan** (Student)
- https://musq.github.io — **Ashish Ranjan** (Software Engineer)
- https://fazi1058.github.io **Faezeh Roeinfard** (Student)
- https://www.gabrielacaesar.com/ - **Gabriela Caesar** (Data journalist)
- https://verso.re/ - **Joan Calabrés** (Security Engineer)
- https://blog.lepape.me/ - **François Le Pape** (Student & developer freelance)
- https://blog.agate.pw/ - **Marco Agate** (System Engineer, DevOps)
- https://blog.agung.io - **Agung Pratama** (Software Engineer and DevOps)
- https://blog.jyny.dev/ - **Jyny Chen** (Software Engineer)
- https://felixleger.com/ - **Félix Léger** (Sofware Developer and DevOps)
- https://cobalto.net/ - **Daniel Pessoa** (Sofware Developer and BI Analyst)
- https://www.imgalone.com/ - **Iancu makes games alone** (Indie Game Dev)
- https://jonathan.rico.live/ - **Jonathan Rico** (Electronics Engineer)
- https://mritd.com/ - **漠然** (Software Engineer and DevOps)
- https://ilya-lesikov.com - **Ilya Lesikov** (DevOps, SRE)
- https://www.adamormsby.com - **Adam Ormsby** (Generalist Programmer - Web, Mobile, Games)
- https://kartiniteknologi.id/ - **Kartini Teknologi team** (Tech podcast)
- https://eallion.com/ - **大大的小蜗牛** (E-commerce operator)
- https://guilhermesteves.dev/ - **Guilherme Esteves** (Software Engineer, Writer, Speaker)
- https://etra0.github.io/ - **Sebastián Aedo** (Computer Science student, interested in Game Hacking)
- https://blog.lepape.me/ - **François Le Pape** (Student & developer freelance)
- https://blog.toluwalemi.com/ - **Toluwalemi Oluwadare** (Software Engineer and Content Writer)
- https://cobalto.net/ - **Daniel Pessoa** (Sofware Developer and BI Analyst)
- https://eallion.com/ - **大大的小蜗牛** (E-commerce operator)
- https://etra0.github.io/ - **Sebastián Aedo** (Computer Science student, interested in Game Hacking)
- https://fazi1058.github.io **Faezeh Roeinfard** (Student)
- https://felixleger.com/ - **Félix Léger** (Sofware Developer and DevOps)
- https://gabrielacaesar.com/ - **Gabriela Caesar** (Data journalist)
- https://guilhermesteves.dev/ - **Guilherme Esteves** (Software Engineer, Writer, Speaker)
- https://hesec.de - **Patrick Hener** (Security Researcher, Pentester and Coder)
- https://ilya-lesikov.com - **Ilya Lesikov** (DevOps, SRE)
- https://imgalone.com/ - **Iancu makes games alone** (Indie Game Dev)
- https://jonathan.rico.live/ - **Jonathan Rico** (Electronics Engineer)
- https://kartiniteknologi.id/ - **Kartini Teknologi team** (Tech podcast)
- https://mfaishal.com **Faishal Irawan** (Student)
- https://mritd.com/ - **漠然** (Software Engineer and DevOps)
- https://musq.github.io — **Ashish Ranjan** (Software Engineer)
- https://protocod.gitlab.io/blog/ **protocod** (Web Developer)
- https://shinytoyrobots.com - **shinytoyrobots** (Eclectic journaling and essays)
- https://simeononsecurity.ch/ - **SimeonOnSecurity** (Security and Automation Blog)
- https://verso.re/ - **Joan Calabrés** (Security Engineer)
- https://atticuslab.com/ - **Atticus** (Game Server Engineer)
- https://gregbair.dev/ - **Greg Bair** (Developer and App Architect)
- https://www.miroslavbucek.cz - **Miroslav Buček** (Product Manager, Smart Home company owner)
- https://farhamdani.com/ - **Farhamdani** (Freelancer & Nganggur Productive)
- https://fmg3d.com/ - **Finn M Glas** (Aspiring Physicist, Software Developer)
- https://nali.org/ - **Nick Ali** (Marketer)
- https://abhinav031.github.io - **Abhinav Sriram** (Digital Artist, Hobbyist)
- https://schnerring.net/ - **Michael Schnerring** (Software Engineer)

View file

@ -3,8 +3,7 @@
font-style: normal;
font-weight: 400;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
src: url("../fonts/Inter-Regular.woff2") format("woff2"),
url("../fonts/Inter-Regular.woff") format("woff");
src: url("../fonts/Inter-Regular.woff2") format("woff2");
font-display: swap;
}
@font-face {
@ -12,8 +11,7 @@
font-style: italic;
font-weight: 400;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
src: url("../fonts/Inter-Italic.woff2") format("woff2"),
url("../fonts/Inter-Italic.woff") format("woff");
src: url("../fonts/Inter-Italic.woff2") format("woff2");
font-display: swap;
}
@ -22,8 +20,7 @@
font-style: normal;
font-weight: 600;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
src: url("../fonts/Inter-Medium.woff2") format("woff2"),
url("../fonts/Inter-Medium.woff") format("woff");
src: url("../fonts/Inter-Medium.woff2") format("woff2");
font-display: swap;
}
@font-face {
@ -31,8 +28,7 @@
font-style: italic;
font-weight: 600;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
src: url("../fonts/Inter-MediumItalic.woff2") format("woff2"),
url("../fonts/Inter-MediumItalic.woff") format("woff");
src: url("../fonts/Inter-MediumItalic.woff2") format("woff2");
font-display: swap;
}
@ -41,8 +37,7 @@
font-style: normal;
font-weight: 800;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
src: url("../fonts/Inter-Bold.woff2") format("woff2"),
url("../fonts/Inter-Bold.woff") format("woff");
src: url("../fonts/Inter-Bold.woff2") format("woff2");
font-display: swap;
}
@font-face {
@ -50,7 +45,6 @@
font-style: italic;
font-weight: 800;
font-feature-settings: "liga", "tnum", "case", "calt", "zero", "ss01", "locl";
src: url("../fonts/Inter-BoldItalic.woff2") format("woff2"),
url("../fonts/Inter-BoldItalic.woff") format("woff");
src: url("../fonts/Inter-BoldItalic.woff2") format("woff2");
font-display: swap;
}

View file

@ -133,6 +133,7 @@ code, kbd {
border-radius: 5px;
font-size: .9rem;
font-weight: normal;
font-feature-settings: normal;
code, kbd {
background: transparent;
@ -142,6 +143,7 @@ code, kbd {
}
pre {
font-feature-settings: normal;
background: #212020;
padding: 20px;
border-radius: 8px;
@ -154,6 +156,7 @@ pre {
}
code {
font-feature-settings: normal;
background: none !important;
color: #ccc;
margin: 0;
@ -190,7 +193,8 @@ blockquote {
}
}
table {
/* Fix for gist integration */
table:not(.js-file-line-container) {
table-layout: fixed;
border-collapse: collapse;
width: 100%;
@ -198,7 +202,8 @@ table {
border-radius: 5px;
}
table, th, td {
/* Fix for gist integration */
table, th, td:not(.js-line-number) {
border: 1px solid;
padding: 10px;
}
@ -257,3 +262,13 @@ hr {
border: 1px solid var(--border-color);
max-width: 800px;
}
blockquote.twitter-tweet {
background: hsl(206deg 62% 45% / 10%);
border: none;
padding: 30px;
color: inherit;
font-size: inherit;
line-height: inherit;
border-radius: 8px;
}

View file

@ -56,6 +56,7 @@
max-width: 860px;
img {
margin: 0 auto;
border-radius: 8px;
box-shadow: 0 12px 40px rgba(0, 0, 0, .15);
}

View file

@ -1,5 +1,6 @@
@import 'fonts.css';
@import 'variables.css';
@import 'fonts.css';
@import 'buttons.css';
@import 'header.css';

View file

@ -1,15 +1,25 @@
{{ define "main" }}
<div class="post">
<h1 class="post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h1>
<h1 class="post-title">
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h1>
<div class="post-content">
<p>{{ "Hmm... Sorry, this page seems to be missing." | markdownify }}
<p>
{{ "Hmm... Sorry, this page seems to be missing." | markdownify }}
</p>
{{ if .Site.Taxonomies.tags }}
{{ "Maybe these tags will help you find what you're looking for. :smile:" | markdownify | emojify }}</p>
<p>
{{ "Maybe these tags will help you find what you're looking for. :smile:" | markdownify | emojify }}
</p>
<h2>Tags</h2>
<div class="terms">
<ul class="terms__list">
{{ range .Site.Taxonomies.tags }}
<li class="terms__term"><a href="{{ .Page.Permalink }}">#{{ .Page.Title }}</a><span class="terms__term-count">{{ .Count }}</span></li>
<li class="terms__term">
<a href="{{ .Page.Permalink }}">#{{ .Page.Title }}</a
><span class="terms__term-count">{{ .Count }}</span>
</li>
{{ end }}
</ul>
</div>

View file

@ -2,7 +2,11 @@
<html lang="{{ $.Site.Language }}">
<head>
{{ block "title" . }}
<title>{{ if .IsHome }}{{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ else }}{{ .Title }} :: {{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ end }}</title>
<title>
{{ if .IsHome }}{{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} —
{{ . }}{{ end }}{{ else }}{{ .Title }} ::
{{ $.Site.Title }}{{ with $.Site.Params.Subtitle }} — {{ . }}{{ end }}{{ end }}
</title>
{{ end }}
{{ partial "head.html" . }}
</head>
@ -11,8 +15,7 @@
{{ partial "header.html" . }}
<div class="content">
{{ block "main" . }}
{{ end }}
{{ block "main" . }} {{ end }}
</div>
{{ block "footer" . }}

View file

@ -28,7 +28,11 @@
{{ partial "lastmod.html" . }}
{{ end }}
{{ end }}
{{ with .Params.Author }}<span class="post-author">— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}</span>{{ end }}
{{ with .Params.Author }}
<span class="post-author">— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}</span>
{{ end }}
{{ if $.Site.Params.ShowReadingTime }}
<span class="post-read-time">— {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }}</span>
{{ end }}
@ -37,23 +41,13 @@
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s" . )) | absURL }}/">{{ . }}</a>&nbsp;
<a href="{{ (urlize (printf "tags/%s" . )) | absLangURL }}/">#{{ . }}</a>&nbsp;
{{ end }}
</span>
{{ end }}
{{ if .Params.Cover }}
<figure class="post-cover">
{{ if .Params.UseRelativeCover }}
<img src="{{ (printf "%s%s" .Permalink .Params.Cover ) }}" alt="{{ .Title | plainify | default " " }}"/>
{{ else }}
<img src="{{ .Params.Cover | absURL }}" alt="{{ .Title | plainify | default " " }}"/>
{{ end }}
{{ if .Params.CoverCaption }}
<figcaption class="center">{{ .Params.CoverCaption | markdownify }}</figcaption>
{{ end }}
</figure>
{{ partial "postcover.html" . }}
{{ end }}
<div class="post-content">
@ -61,7 +55,7 @@
{{ . | markdownify }}
{{ else }}
{{ if .Truncated }}
{{ .Summary | markdownify }}
{{ .Summary }}
{{ end }}
{{ end }}
</div>

View file

@ -13,32 +13,29 @@
{{ partial "lastmod.html" . }}
{{ end }}
{{ end }}
{{ with .Params.Author }}<span class="post-author">— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}</span>{{ end }}
{{ with .Params.Author }}
<span class="post-author"
>— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}</span
>{{ end }}
{{ if $.Site.Params.ShowReadingTime }}
<span class="post-read-time">— {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }}</span>
<span class="post-read-time"
>— {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }}</span
>
{{ end }}
</div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s" . )) | absURL }}/">{{ . }}</a>&nbsp;
<a href="{{ (urlize (printf "tags/%s" . )) | absLangURL }}/">#{{ . }}</a>&nbsp;
{{ end }}
</span>
{{ end }}
{{ if .Params.Cover }}
<figure class="post-cover">
{{ if .Params.UseRelativeCover }}
<img src="{{ (printf "%s%s" .Permalink .Params.Cover ) }}" alt="{{ .Title | plainify | default " " }}" />
{{ else }}
<img src="{{ .Params.Cover | absURL }}" alt="{{ .Title | plainify | default " " }}" />
{{ end }}
{{ if .Params.CoverCaption }}
<figcaption class="center">{{ .Params.CoverCaption | markdownify }}</figcaption>
{{ end }}
</figure>
{{ partial "postcover.html" . }}
{{ end }}
<div class="post-content">
@ -46,12 +43,16 @@
{{ . | markdownify }}
{{ else }}
{{ if .Truncated }}
{{ .Summary | markdownify }}
{{ .Summary }}
{{ end }}
{{ end }}
</div>
{{ if not .Params.hideReadMore }}
<div><a class="read-more button" href="{{.RelPermalink}}">{{ $.Site.Params.ReadMore | default "Read more" }} →</a></div>
<div>
<a class="read-more button" href="{{ .RelPermalink }}"
>{{ $.Site.Params.ReadMore | default "Read more" }} →</a
>
</div>
{{ end }}
</div>
{{ end }}

View file

@ -3,7 +3,7 @@
{{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }}
<div class="post">
<h1 class="post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h1>
<h1 class="post-title">{{ .Title | markdownify }}</h1>
<div class="post-meta">
{{ if .Date | default nil }}
<span class="post-date">
@ -17,46 +17,47 @@
{{ end }}
{{ end }}
{{ with .Params.Author }}<span class="post-author">— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}</span>{{ end }}
{{ with .Params.Author }}
<span class="post-author"
>— {{ $.Site.Params.WrittenBy | default "Written by" }} {{ . }}</span
>{{ end }}
{{ if $.Site.Params.ShowReadingTime }}
<span class="post-read-time">— {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }}</span>
<span class="post-read-time"
>— {{ .ReadingTime }} {{ $.Site.Params.MinuteReadingTime | default "min read" }}</span
>
{{ end }}
</div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s" . )) | absURL }}/">{{ . }}</a>&nbsp;
<a href="{{ (urlize (printf "tags/%s" . )) | absLangURL }}/">#{{ . }}</a>&nbsp;
{{ end }}
</span>
{{ end }}
{{ if .Params.Cover }}
<figure class="post-cover">
{{ if .Params.UseRelativeCover }}
<img src="{{ (printf "%s%s" .Permalink .Params.Cover ) }}" alt="{{ .Title | plainify | default " " }}" />
{{ else }}
<img src="{{ .Params.Cover | absURL }}" alt="{{ .Title | plainify | default " " }}" />
{{ end }}
{{ if .Params.CoverCaption }}
<figcaption class="center">{{ .Params.CoverCaption | markdownify }}</figcaption>
{{ end }}
</figure>
{{ partial "postcover.html" . }}
{{ end }}
<div class="post-content">
{{ if or .Params.Toc $.Site.Params.Toc }}
{{ if ne .Params.Toc false }}
<h2>Table of Contents</h2>
<aside class="table-of-contents">{{ .TableOfContents }}</aside>
{{ end }}
{{ end }}
{{ .Content }}
</div>
{{ if eq .Type $.Site.Params.contentTypeName }}
{{ if or .NextInSection .PrevInSection }}
<div class="pagination">
<div class="pagination__title">
<span class="pagination__title-h">{{ $.Site.Params.ReadOtherPosts | default "Read other posts" }}</span>
<span class="pagination__title-h"
>{{ $.Site.Params.ReadOtherPosts | default "Read other posts" }}</span
>
<hr />
</div>
<div class="pagination__buttons">
@ -81,12 +82,10 @@
{{ end }}
{{ end }}
{{ if not (eq .Params.Comments "false") }}
{{ if or (eq .Type $.Site.Params.contentTypeName) (.Params.Comments) }}
{{ partial "comments.html" . }}
{{ end }}
{{ end }}
</div>
{{ end }}

View file

@ -1,5 +1,4 @@
{{ define "main" }}
<div class="terms">
<h1>{{ .Title }}</h1>
<ul class="terms__list">
@ -9,7 +8,9 @@
{{ $count := .Count }}
{{ with $.Site.GetPage (printf "/%s/%s" $type $name) }}
<li class="terms__term">
<a href="{{ .Permalink }}">#{{ .Name }} <span class="terms__term-count">{{ $count }}</span></a>
<a href="{{ .Permalink }}"
>#{{ .Name }} <span class="terms__term-count">{{ $count }}</span></a
>
</li>
{{ end }}
{{ end }}

View file

@ -1,5 +1,4 @@
{{ define "main" }}
{{ $isntDefault := not (or (eq (trim $.Site.Params.contentTypeName " ") "posts") (eq (trim $.Site.Params.contentTypeName " ") "")) }}
{{ $contentTypeName := cond $isntDefault (string $.Site.Params.contentTypeName) "posts" }}
@ -16,22 +15,25 @@
{{ range where .Pages "Type" $contentTypeName }}
{{ if eq .Kind "page" }}
<div class="archive__post">
<h3 class="archive__post-title"><a
href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
<h3 class="archive__post-title">
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h3>
<div class="archive__post-meta">
<span class="archive__post-date">
{{ .Date.Format ($.Site.Params.DateFormatList | default "2006-01-02") }}
</span>
{{ with .Params.Author }}
<span class="archive__post-author">
<span class="archive__post-author"
>—
{{ $.Site.Params.WrittenBy | default "Written by" }}
{{ . }}
</span>
{{ end }}
{{ if $.Site.Params.ShowReadingTime }}
<span class="archive__post-read-time">— {{ .ReadingTime }}
{{ $.Site.Params.MinuteReadingTime | default "min read" }}</span>
<span class="archive__post-read-time"
>— {{ .ReadingTime }}
{{ $.Site.Params.MinuteReadingTime | default "min read" }}</span
>
{{ end }}
</div>
</div>

View file

@ -4,5 +4,4 @@ Hugo directory and insert:
{{ template "_internal/disqus.html" . }}
or whatever comment engine you want -> https://gohugo.io/content-management/comments/#readout
-->
or whatever comment engine you want -> https://gohugo.io/content-management/comments/#readout -->

View file

@ -5,19 +5,20 @@
{{ else }}
{{ partial "logo.html" . }}
<div class="copyright">
<span>© {{ now.Year }} Powered by <a href="https://gohugo.io" target="_blank" rel="noopener">Hugo</a></span>
<span>Theme created by <a href="https://twitter.com/panr" target="_blank" rel="noopener">panr</a></span>
<span
>© {{ now.Year }} Powered by
<a href="https://gohugo.io" target="_blank" rel="noopener">Hugo</a></span
>
<span
>Theme created by
<a href="https://twitter.com/panr" target="_blank" rel="noopener">panr</a></span
>
</div>
{{ end }}
</div>
</footer>
{{ $opts := dict "noComments" true "minified" true "compact" true }}
{{ $menu := resources.Get "js/menu.js" | js.Build | babel $opts }}
{{ $theme := resources.Get "js/theme.js" | js.Build | babel $opts }}
{{ $prism := resources.Get "js/prism.js" | js.Build | babel $opts }}
<script src="{{ $menu.Permalink }}"></script>
<script src="{{ $theme.Permalink }}"></script>
<script src="{{ $prism.Permalink }}"></script>
<script src="{{ "assets/main.js" | absURL }}"></script>
<script src="{{ "assets/prism.js" | absURL }}"></script>
{{- partial "extended_footer.html" . }}

View file

@ -1,7 +1,13 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{ if .IsHome }}{{ $.Site.Params.Subtitle }}{{ else }}{{ .Summary | plainify }}{{ end }}"/>
<meta name="keywords" content="{{ with .Params.Keywords }}{{ delimit . ", " }}{{ else }}{{ $.Site.Params.Keywords }}{{ end }}"/>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta
name="description"
content="{{ if .IsHome }}{{ $.Site.Params.Subtitle }}{{ else }}{{ .Summary | plainify }}{{ end }}"
/>
<meta
name="keywords"
content="{{ with .Params.Keywords }}{{ delimit . ", " }}{{ else }}{{ $.Site.Params.Keywords }}{{ end }}"
/>
<meta name="robots" content="noodp" />
<link rel="canonical" href="{{ .Permalink }}" />
@ -9,17 +15,25 @@
{{- partial "prepended_head.html" . }}
<!-- Theme CSS -->
{{ $css := resources.Get "css/style.css" }}
{{ $opts := dict "inlineImports" true }}
{{ $style := $css | resources.PostCSS $opts | minify }}
<link rel="stylesheet" href="{{ $style.Permalink }}">
<link rel="stylesheet" href="{{ "assets/style.css" | absURL }}" />
<!-- Custom CSS to override theme properties (/static/style.css) -->
<link rel="stylesheet" href="{{ "style.css" | absURL }}">
<link rel="stylesheet" href="{{ "style.css" | absURL }}" />
<!-- Icons -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="{{ "img/apple-touch-icon-144-precomposed.png" | absURL }}">
<link rel="shortcut icon" href="{{ "img/favicon.png" | absURL }}">
<link
rel="apple-touch-icon-precomposed"
sizes="144x144"
href="{{ "img/apple-touch-icon-144-precomposed.png" | absURL }}"
/>
<link rel="shortcut icon" href="{{ "img/favicon.png" | absURL }}" />
<!-- Fonts -->
<link href="{{ "assets/fonts/Inter-Italic.woff2" | absURL }}" rel="preload" type="font/woff2" as="font" crossorigin="">
<link href="{{ "assets/fonts/Inter-Regular.woff2" | absURL }}" rel="preload" type="font/woff2" as="font" crossorigin="">
<link href="{{ "assets/fonts/Inter-Medium.woff2" | absURL }}" rel="preload" type="font/woff2" as="font" crossorigin="">
<link href="{{ "assets/fonts/Inter-MediumItalic.woff2" | absURL }}" rel="preload" type="font/woff2" as="font" crossorigin="">
<link href="{{ "assets/fonts/Inter-Bold.woff2" | absURL }}" rel="preload" type="font/woff2" as="font" crossorigin="">
<link href="{{ "assets/fonts/Inter-BoldItalic.woff2" | absURL }}" rel="preload" type="font/woff2" as="font" crossorigin="">
<!-- Twitter Card -->
{{ template "_internal/twitter_cards.html" . }}

View file

@ -3,7 +3,8 @@
{{ if gt .Lastmod (add (time .Date).Unix $hourInSec) }}
{{ with .Lastmod }}
<span class="post-moddate">
({{ $.Site.Params.LastModDisplay }} {{ .Format ($.Site.Params.DateFormatSingle | default "2006-01-02") }})
({{ $.Site.Params.LastModDisplay }}
{{ .Format ($.Site.Params.DateFormatSingle | default "2006-01-02") }})
</span>
{{ end }}
{{ end }}

View file

@ -1,9 +1,15 @@
<a href="{{ if $.Site.Params.Logo.LogoHomeLink }}{{ $.Site.Params.Logo.LogoHomeLink }}{{else}}{{ $.Site.BaseURL }}{{ end }}" class="logo" style="text-decoration: none;">
<a
href="{{ if $.Site.Params.Logo.LogoHomeLink }}{{ $.Site.Params.Logo.LogoHomeLink }}{{ else }}{{ $.Site.BaseURL }}{{ end }}"
class="logo"
style="text-decoration: none;"
>
{{ if $.Site.Params.Logo.path }}
<img src="{{ $.Site.Params.Logo.path }}" alt="{{ $.Site.Params.Logo.alt }}" />
{{ else }}
<span class="logo__mark">{{ partial "greater-icon.html" . }}</span>
<span class="logo__text">{{ with $.Site.Params.Logo.logoText }}{{ . }}{{ else }}hello friend{{ end }}</span>
<span class="logo__text"
>{{ with $.Site.Params.Logo.logoText }}{{ . }}{{ else }}hello friend{{ end }}</span
>
<span class="logo__cursor"></span>
{{ end }}
</a>

View file

@ -10,9 +10,10 @@
<ul class="menu__sub-inner">
<li class="menu__sub-inner-more-trigger">
{{ $.Site.Params.MenuMore | default "Show more" }}
<span class="menu__sub-inner-more-trigger-icon">{{ partial "greater-icon.html" . }}</span>
<span class="menu__sub-inner-more-trigger-icon"
>{{ partial "greater-icon.html" . }}</span
>
</li>
<ul class="menu__sub-inner-more hidden">
{{ range last (sub (len $.Site.Menus.main) $.Site.Params.showMenuItems) $.Site.Menus.main }}
{{ if not .HasChildren }}

View file

@ -0,0 +1,11 @@
<figure class="post-cover">
{{ if .Params.UseRelativeCover }}
<img src="{{ (printf "%s%s" .Permalink .Params.Cover ) }}" alt="{{ .Params.CoverAlt | plainify | default .Title }}"/>
{{ else }}
<img src="{{ .Params.Cover | absURL }}" alt="{{ .Params.CoverAlt | plainify | default .Title }}"/>
{{ end }}
{{ if .Params.CoverCaption }}
<figcaption class="center">{{ .Params.CoverCaption | markdownify }}</figcaption>
{{ end }}
</figure>

View file

@ -1,5 +1,14 @@
<svg class="theme-toggler" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22 41C32.4934 41 41 32.4934 41 22C41 11.5066 32.4934 3 22
<svg
class="theme-toggler"
width="24"
height="24"
viewBox="0 0 48 48"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M22 41C32.4934 41 41 32.4934 41 22C41 11.5066 32.4934 3 22
3C11.5066 3 3 11.5066 3 22C3 32.4934 11.5066 41 22 41ZM7 22C7
13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22Z"/>
13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22Z"
/>
</svg>

Before

Width:  |  Height:  |  Size: 317 B

After

Width:  |  Height:  |  Size: 337 B

View file

@ -16,7 +16,12 @@
{{ $image := .Scratch.Get "image" }}
<figure class="{{ with $position }}{{ . }}{{ else -}} left {{- end }}">
<img style="max-width: 100%; width: auto; height: auto; border-radius: 8px;" src="{{ $image.RelPermalink }}" width="{{ $image.Width }}" height="{{ $image.Height }}">
<img
style="max-width: 100%; width: auto; height: auto; border-radius: 8px;"
src="{{ $image.RelPermalink }}"
width="{{ $image.Width }}"
height="{{ $image.Height }}"
/>
{{ with .Inner }}
<figcaption>
{{ . }}

View file

@ -1,7 +1,62 @@
{
"name": "hello-friend",
"version": "2.0.0",
"version": "2.1.0",
"main": "index.js",
"author": "Radosław Kozieł <@panr> <radoslaw.koziel@gmail.com>",
"license": "MIT"
"license": "MIT",
"scripts": {
"dev": "webpack --mode=development --watch",
"build": "webpack --mode=production",
"prepare": "husky install"
},
"browserslist": [
"last 2 versions",
">1%",
"not dead"
],
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/plugin-transform-runtime": "^7.2.0",
"@babel/preset-env": "^7.3.1",
"@babel/preset-stage-2": "^7.0.0",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.0.5",
"browserslist": "^4.0.1",
"clean-webpack-plugin": "^4.0.0",
"clipboard": "^2.0.4",
"css-loader": "^6.5.1",
"cssnano": "^5.0.8",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-jsx-a11y": "^6.2.1",
"file-loader": "^6.1.0",
"html-webpack-plugin": "^5.5.0",
"husky": "^7.0.4",
"mini-css-extract-plugin": "^2.4.3",
"postcss": "^8.2.10",
"postcss-browser-reporter": "^0.6.0",
"postcss-cli": "^9.0.1",
"postcss-color-function": "^4.0.1",
"postcss-color-mod-function": "^3.0.3",
"postcss-import": "^14.0.0",
"postcss-loader": "^6.2.0",
"postcss-mixins": "^8.1.0",
"postcss-nested": "^5.0.5",
"postcss-preset-env": "^6.7.0",
"postcss-reporter": "^7.0.2",
"postcss-url": "^10.1.3",
"prettier-eslint-cli": "^5.0.0",
"ramda": "^0.27.1",
"style-loader": "^3.3.1",
"terser-webpack-plugin": "^5.2.4",
"url-loader": "^4.1.0",
"webpack": "^5.27.1",
"webpack-cli": "^4.5.0"
},
"husky": {
"hooks": {
"pre-push": "yarn build && git add . && git commit --amend --no-edit"
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
static/assets/main.js Normal file
View file

@ -0,0 +1 @@
!function(){var e,t,n,o,i,d,c,s,r,a,l;e=document.querySelector(".container"),t=document.querySelector(".menu"),n=document.querySelector(".menu-trigger"),document.querySelector(".menu__inner--desktop"),o=document.querySelector(".menu__sub-inner-more-trigger"),i=document.querySelector(".menu__sub-inner-more"),d=getComputedStyle(document.body).getPropertyValue("--phoneWidth"),c=function(){return window.matchMedia(d).matches},s=function(){n&&n.classList.toggle("hidden",!c()),t&&t.classList.toggle("hidden",c()),i&&i.classList.toggle("hidden",!c())},t&&t.addEventListener("click",(function(e){return e.stopPropagation()})),i&&i.addEventListener("click",(function(e){return e.stopPropagation()})),s(),document.body.addEventListener("click",(function(){c()||!i||i.classList.contains("hidden")?c()&&!t.classList.contains("hidden")&&t.classList.add("hidden"):i.classList.add("hidden")})),window.addEventListener("resize",s),n&&n.addEventListener("click",(function(e){e.stopPropagation(),t&&t.classList.toggle("hidden")})),o&&o.addEventListener("click",(function(t){t.stopPropagation(),i&&i.classList.toggle("hidden"),i&&i.getBoundingClientRect().right>e.getBoundingClientRect().right&&(i.style.left="auto",i.style.right=0)})),r=window.localStorage&&window.localStorage.getItem("theme"),a=document.querySelector(".theme-toggle"),l="dark"===r,null!==r&&document.body.classList.toggle("dark-theme",l),a.addEventListener("click",(function(){document.body.classList.toggle("dark-theme"),window.localStorage&&window.localStorage.setItem("theme",document.body.classList.contains("dark-theme")?"dark":"light")}))}();

8
static/assets/prism.js Normal file

File diff suppressed because one or more lines are too long

1
static/assets/style.css Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

98
webpack.config.js Normal file
View file

@ -0,0 +1,98 @@
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const path = require("path");
const join = (...paths) => path.join(__dirname, ...paths);
module.exports = (env, { mode }) => ({
resolve: {
extensions: [".js", ".css"],
modules: ["assets", "node_modules"],
},
entry: {
main: [join("assets", "js", "menu.js"), join("assets", "js", "theme.js")],
prism: join("assets", "js", "prism.js"),
style: join("assets", "css", "style.css"),
},
output: {
filename: "[name].js",
path: join("static/assets"),
publicPath: "",
},
performance: {
hints: false,
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"],
},
},
},
{
test: /\.(png|jpe?g|svg)$/,
type: "asset/resource",
generator: {
filename: "images/[name][ext]",
},
},
{
test: /\.(woff|woff2|ttf|eot)$/,
type: "asset/resource",
generator: {
filename: "fonts/[name][ext]",
},
},
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
options: {
modules: {
localIdentName: "[local]",
},
import: true,
importLoaders: 1,
},
},
{
loader: "postcss-loader",
},
],
},
],
},
optimization: {
splitChunks: {
name: "vendor",
minChunks: 2,
},
minimize: true,
minimizer: [
new TerserPlugin({
parallel: true,
extractComments: false,
}),
],
},
plugins: [
new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns: [join("static/assets")],
cleanAfterEveryBuildPatterns: [join("static/assets/style.js")],
verbose: true,
}),
new MiniCssExtractPlugin({
filename: "[name].css",
chunkFilename: "[id].css",
}),
],
});

5400
yarn.lock Normal file

File diff suppressed because it is too large Load diff