From d299ecce59293b8bff2203a063659a494bc5dcb9 Mon Sep 17 00:00:00 2001 From: Jordan Herzstein Date: Tue, 17 Dec 2024 18:59:04 -0500 Subject: [PATCH] first commit --- .dir-locals.el | 2 + .gitignore | 1 + .hugo_build.lock | 0 archetypes/default.md | 6 + config.toml | 3 + content-org/index.org | 31 ++ content/_index.md | 45 ++ hugo.toml | 3 + public/404.html | 227 +++++++++ public/categories/index.html | 243 ++++++++++ public/categories/index.xml | 9 + public/index.html | 250 ++++++++++ public/index.xml | 9 + public/sitemap.xml | 11 + public/tags/index.html | 243 ++++++++++ public/tags/index.xml | 9 + themes/hugo-bearblog/.jsbeautifyrc | 27 ++ themes/hugo-bearblog/LICENSE | 20 + themes/hugo-bearblog/README.md | 86 ++++ themes/hugo-bearblog/archetypes/blog.md | 13 + themes/hugo-bearblog/archetypes/default.md | 22 + .../exampleSite/content/_index.md | 28 ++ .../hugo-bearblog/exampleSite/content/bear.md | 18 + .../exampleSite/content/blog/_index.md | 3 + .../content/blog/markdown-syntax.md | 144 ++++++ .../hugo-bearblog/exampleSite/content/hugo.md | 26 ++ themes/hugo-bearblog/exampleSite/hugo.toml | 52 +++ .../exampleSite/static/favicon.ico | Bin 0 -> 15406 bytes .../exampleSite/static/images/favicon.png | Bin 0 -> 1312 bytes .../exampleSite/static/images/share.png | Bin 0 -> 25877 bytes .../hugo-bearblog/images/screenshot-dark.png | Bin 0 -> 36823 bytes themes/hugo-bearblog/images/screenshot.png | Bin 0 -> 37714 bytes themes/hugo-bearblog/images/tn.png | Bin 0 -> 25877 bytes themes/hugo-bearblog/layouts/404.html | 6 + .../layouts/_default/baseof.html | 43 ++ .../hugo-bearblog/layouts/_default/list.html | 38 ++ .../layouts/_default/single.html | 20 + themes/hugo-bearblog/layouts/index.html | 3 + .../layouts/partials/custom_body.html | 3 + .../layouts/partials/custom_head.html | 3 + .../layouts/partials/favicon.html | 2 + .../layouts/partials/footer.html | 1 + .../layouts/partials/header.html | 4 + .../hugo-bearblog/layouts/partials/nav.html | 7 + .../layouts/partials/seo_tags.html | 13 + .../hugo-bearblog/layouts/partials/style.html | 173 +++++++ themes/hugo-bearblog/layouts/robots.txt | 2 + themes/hugo-bearblog/package-lock.json | 430 ++++++++++++++++++ themes/hugo-bearblog/package.json | 28 ++ themes/hugo-bearblog/theme.toml | 25 + 50 files changed, 2332 insertions(+) create mode 100644 .dir-locals.el create mode 100644 .gitignore create mode 100644 .hugo_build.lock create mode 100644 archetypes/default.md create mode 100644 config.toml create mode 100644 content-org/index.org create mode 100644 content/_index.md create mode 100644 hugo.toml create mode 100644 public/404.html create mode 100644 public/categories/index.html create mode 100644 public/categories/index.xml create mode 100644 public/index.html create mode 100644 public/index.xml create mode 100644 public/sitemap.xml create mode 100644 public/tags/index.html create mode 100644 public/tags/index.xml create mode 100644 themes/hugo-bearblog/.jsbeautifyrc create mode 100644 themes/hugo-bearblog/LICENSE create mode 100644 themes/hugo-bearblog/README.md create mode 100644 themes/hugo-bearblog/archetypes/blog.md create mode 100644 themes/hugo-bearblog/archetypes/default.md create mode 100644 themes/hugo-bearblog/exampleSite/content/_index.md create mode 100644 themes/hugo-bearblog/exampleSite/content/bear.md create mode 100644 themes/hugo-bearblog/exampleSite/content/blog/_index.md create mode 100644 themes/hugo-bearblog/exampleSite/content/blog/markdown-syntax.md create mode 100644 themes/hugo-bearblog/exampleSite/content/hugo.md create mode 100644 themes/hugo-bearblog/exampleSite/hugo.toml create mode 100644 themes/hugo-bearblog/exampleSite/static/favicon.ico create mode 100644 themes/hugo-bearblog/exampleSite/static/images/favicon.png create mode 100644 themes/hugo-bearblog/exampleSite/static/images/share.png create mode 100644 themes/hugo-bearblog/images/screenshot-dark.png create mode 100644 themes/hugo-bearblog/images/screenshot.png create mode 100644 themes/hugo-bearblog/images/tn.png create mode 100644 themes/hugo-bearblog/layouts/404.html create mode 100644 themes/hugo-bearblog/layouts/_default/baseof.html create mode 100644 themes/hugo-bearblog/layouts/_default/list.html create mode 100644 themes/hugo-bearblog/layouts/_default/single.html create mode 100644 themes/hugo-bearblog/layouts/index.html create mode 100644 themes/hugo-bearblog/layouts/partials/custom_body.html create mode 100644 themes/hugo-bearblog/layouts/partials/custom_head.html create mode 100644 themes/hugo-bearblog/layouts/partials/favicon.html create mode 100644 themes/hugo-bearblog/layouts/partials/footer.html create mode 100644 themes/hugo-bearblog/layouts/partials/header.html create mode 100644 themes/hugo-bearblog/layouts/partials/nav.html create mode 100644 themes/hugo-bearblog/layouts/partials/seo_tags.html create mode 100644 themes/hugo-bearblog/layouts/partials/style.html create mode 100644 themes/hugo-bearblog/layouts/robots.txt create mode 100644 themes/hugo-bearblog/package-lock.json create mode 100644 themes/hugo-bearblog/package.json create mode 100644 themes/hugo-bearblog/theme.toml diff --git a/.dir-locals.el b/.dir-locals.el new file mode 100644 index 0000000..363ca6f --- /dev/null +++ b/.dir-locals.el @@ -0,0 +1,2 @@ +(("content-org/" + . ((org-mode . ((eval . (org-hugo-auto-export-mode))))))) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..deddab4 --- /dev/null +++ b/config.toml @@ -0,0 +1,3 @@ +baseURL = 'http://yortnet.com/' +languageCode = 'en-us' +title = 'YortNet' diff --git a/content-org/index.org b/content-org/index.org new file mode 100644 index 0000000..e139d3c --- /dev/null +++ b/content-org/index.org @@ -0,0 +1,31 @@ +#+TITLE: Home +#+AUTHOR: Jordan Herzstein +#+HUGO_BASE_DIR: ../ +#+HUGO_SECTION: +#+EXPORT_FILE_NAME: _index.md +* Welcome to YortNet +YortNet is created by myself ([[https://jordanherzstein.com][Jordan Herzstein]]) to host various services and privacy frontends at no cost for my own learning as well as the public good. +** Provided Services +- YortNet Minecraft Server: Private Minecraft server (invite only) +- [[https://searx.yortnet.com][SearXNG]]: An open metasearch engine +- [[https://mozhi.yortnet.com][Mozhi]]: Frontend for various translation engines +- [[https://bin.yortnet.com][PrivateBin]]: Pastebin alternative where the server has zero knowledge of pasted data +- [[https://gothub.yortnet.com][GotHub]]: Alternative lightweight GitHub frontend +More to come... + +** Policies +By accessing services provided by yortnet.com you agree to the terms below. + +These policies are derived in part from https://tux.pizza/tos/ and https://bus-hit.me/#tos. +*** Terms of Service +The services are provided as is and is without warranties, neither expressed or implied. + +In no event will the server operator of yortnet.com be liable to you or any third party for damages or other liability arising out of or in connection with the services provided by yortnet.com. +*** Privacy +The following is subject to change at any time. + +I share none of your data with third parties, though by using these services you agree to some anonymized data collection. + +Your data is accessed by NGINX access logs which contains your IP address with it's last octet anonymized (e.g. ip address 161.155.211.14 shows as 161.155.211.0 in the logs), a timestamp, site path, and User-Agent, which may contain browser information, operating system, etc. These logs are only kept internally on the linux server hosting these services running the NGINX reverse proxy and is never shared. + +The server running this site and other services is located in Toronto, Canada, provided by Oracle Corporation. Read their privacy policy [[https://www.oracle.com/legal/privacy/services-privacy-policy.html][here]]. diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..2c3e8b7 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,45 @@ ++++ +title = "Home" +author = ["Jordan Herzstein"] +draft = false ++++ + +## Welcome to YortNet {#welcome-to-yortnet} + +YortNet is created by myself ([Jordan Herzstein](https://jordanherzstein.com)) to host various services and privacy frontends at no cost for my own learning as well as the public good. + + +### Provided Services {#provided-services} + +- YortNet Minecraft Server: Private Minecraft server (invite only) +- [SearXNG](https://searx.yortnet.com): An open metasearch engine +- [Mozhi](https://mozhi.yortnet.com): Frontend for various translation engines +- [PrivateBin](https://bin.yortnet.com): Pastebin alternative where the server has zero knowledge of pasted data +- [GotHub](https://gothub.yortnet.com): Alternative lightweight GitHub frontend + +More to come... + + +### Policies {#policies} + +By accessing services provided by yortnet.com you agree to the terms below. + +These policies are derived in part from and . + + +#### Terms of Service {#terms-of-service} + +The services are provided as is and is without warranties, neither expressed or implied. + +In no event will the server operator of yortnet.com be liable to you or any third party for damages or other liability arising out of or in connection with the services provided by yortnet.com. + + +#### Privacy {#privacy} + +The following is subject to change at any time. + +I share none of your data with third parties, though by using these services you agree to some anonymized data collection. + +Your data is accessed by NGINX access logs which contains your IP address with it's last octet anonymized (e.g. ip address 161.155.211.14 shows as 161.155.211.0 in the logs), a timestamp, site path, and User-Agent, which may contain browser information, operating system, etc. These logs are only kept internally on the linux server hosting these services running the NGINX reverse proxy and is never shared. + +The server running this site and other services is located in Toronto, Canada, provided by Oracle Corporation. Read their privacy policy [here](https://www.oracle.com/legal/privacy/services-privacy-policy.html). diff --git a/hugo.toml b/hugo.toml new file mode 100644 index 0000000..af3f011 --- /dev/null +++ b/hugo.toml @@ -0,0 +1,3 @@ +theme = 'hugo-bearblog' +title = 'YortNet' +sectionPagesMenu = 'main' \ No newline at end of file diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..8e3d8ea --- /dev/null +++ b/public/404.html @@ -0,0 +1,227 @@ + + + + + + + +404 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

YortNet

+
+ +
+
+

404

+

ʕノ•ᴥ•ʔノ ︵ ┻━┻

+ +
+ + + + + + diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..d14dd7f --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,243 @@ + + + + + + + +Categories | YortNet + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

YortNet

+
+ +
+
+ + +

Filtering for "Categories"

+ + Remove filter + + +
    + +
  • + No posts yet +
  • + +
+ + +
+ +
+ + + + + + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..e1e08e0 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,9 @@ + + + + Categories on YortNet + /categories/ + Recent content in Categories on YortNet + Hugo -- gohugo.io + + diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..f392d31 --- /dev/null +++ b/public/index.html @@ -0,0 +1,250 @@ + + + + + + + + +Home | YortNet + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

YortNet

+
+ +
+
+

Welcome to YortNet

+

YortNet is created by myself (Jordan Herzstein) to host various services and privacy frontends at no cost for my own learning as well as the public good.

+

Provided Services

+
    +
  • YortNet Minecraft Server: Private Minecraft server (invite only)
  • +
  • SearXNG: An open metasearch engine
  • +
  • Mozhi: Frontend for various translation engines
  • +
  • PrivateBin: Pastebin alternative where the server has zero knowledge of pasted data
  • +
  • GotHub: Alternative lightweight GitHub frontend
  • +
+

More to come…

+

Policies

+

By accessing services provided by yortnet.com you agree to the terms below.

+

These policies are derived in part from https://tux.pizza/tos/ and https://bus-hit.me/#tos.

+

Terms of Service

+

The services are provided as is and is without warranties, neither expressed or implied.

+

In no event will the server operator of yortnet.com be liable to you or any third party for damages or other liability arising out of or in connection with the services provided by yortnet.com.

+

Privacy

+

The following is subject to change at any time.

+

I share none of your data with third parties, though by using these services you agree to some anonymized data collection.

+

Your data is accessed by NGINX access logs which contains your IP address with it’s last octet anonymized (e.g. ip address 161.155.211.14 shows as 161.155.211.0 in the logs), a timestamp, site path, and User-Agent, which may contain browser information, operating system, etc. These logs are only kept internally on the linux server hosting these services running the NGINX reverse proxy and is never shared.

+

The server running this site and other services is located in Toronto, Canada, provided by Oracle Corporation. Read their privacy policy here.

+ + +
+ + + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..f5feeca --- /dev/null +++ b/public/index.xml @@ -0,0 +1,9 @@ + + + + Home on YortNet + / + Recent content in Home on YortNet + Hugo -- gohugo.io + + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..85f372a --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,11 @@ + + + + /categories/ + + / + + /tags/ + + diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..0f3f54e --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,243 @@ + + + + + + + +Tags | YortNet + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

YortNet

+
+ +
+
+ + +

Filtering for "Tags"

+ + Remove filter + + +
    + +
  • + No posts yet +
  • + +
+ + +
+ +
+ + + + + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..11323ad --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,9 @@ + + + + Tags on YortNet + /tags/ + Recent content in Tags on YortNet + Hugo -- gohugo.io + + diff --git a/themes/hugo-bearblog/.jsbeautifyrc b/themes/hugo-bearblog/.jsbeautifyrc new file mode 100644 index 0000000..4e39ba0 --- /dev/null +++ b/themes/hugo-bearblog/.jsbeautifyrc @@ -0,0 +1,27 @@ +{ + "indent_size": 2, + "indent_char": " ", + "indent_with_tabs": false, + "editorconfig": false, + "eol": "\n", + "end_with_newline": true, + "indent_level": 0, + "preserve_newlines": true, + "max_preserve_newlines": 10, + "space_in_paren": false, + "space_in_empty_paren": false, + "jslint_happy": false, + "space_after_anon_function": false, + "space_after_named_function": false, + "brace_style": "collapse", + "unindent_chained_methods": false, + "break_chained_methods": false, + "keep_array_indentation": false, + "unescape_strings": false, + "wrap_line_length": 0, + "e4x": false, + "comma_first": false, + "operator_position": "before-newline", + "indent_empty_lines": false, + "templating": ["auto"] +} diff --git a/themes/hugo-bearblog/LICENSE b/themes/hugo-bearblog/LICENSE new file mode 100644 index 0000000..3be3bb7 --- /dev/null +++ b/themes/hugo-bearblog/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2020 Jan Raasch + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/hugo-bearblog/README.md b/themes/hugo-bearblog/README.md new file mode 100644 index 0000000..ab0a75e --- /dev/null +++ b/themes/hugo-bearblog/README.md @@ -0,0 +1,86 @@ +# Hugo ʕ•ᴥ•ʔ Bear Blog ![Test](https://github.com/janraasch/hugo-bearblog/workflows/CI/badge.svg?branch=master&event=push) + +🧸 A [Hugo](https://gohugo.io/)-theme based on [Bear Blog](https://bearblog.dev). + +> Free, no-nonsense, super-fast blogging. + +## Demo + +For a current & working demo of this theme, please check out https://janraasch.github.io/hugo-bearblog/ 🎯. + +## Screenshots + +⬜️ [Light][light-screenshot] + +⬛️ [Dark][dark-screenshot] + +When the user's browser is running »dark mode«, the dark color scheme will be used automatically. The default is the light/white color scheme. Check out the [`style.html`](https://github.com/janraasch/hugo-bearblog/blob/master/layouts/partials/style.html)-file for the implementation. + +## Installation + +If you already have a Hugo site on your machine, you can simply add this theme via + +```bash +git submodule add https://github.com/janraasch/hugo-bearblog.git themes/hugo-bearblog +``` + +Then, adjust the `hugo.toml` as detailed below. + +For more information, read the official [setup guide][hugo-setup-guide] of Hugo. + +## Adjust configuration / hugo.toml + +Please check out the [hugo.toml](https://github.com/janraasch/hugo-bearblog/blob/master/exampleSite/hugo.toml) included in the [exampleSite](https://github.com/janraasch/hugo-bearblog/tree/master/exampleSite) of this theme. + +## Content & structure + +### Starting fresh + +If you are starting fresh, simply copy over the contents of the `exampleSite`-directory included in this theme to your source directory. That should give you a good idea about how things work, and then you can go on from there to make the site your own. + +### Adding / editing content + +#### Index-Page + +The contents of the `index`-page may be changed by editing your `content/_index.md`-file. + +#### Page + +You can add **a new page** via running + +```bash +hugo new my-new-page.md +``` + +#### Blog-Post + +You can add **a new blog-post** via running + +```bash +hugo new blog/my-new-post.md +``` + +### Adding your branding / colors / css + +Add a `custom_head.html`-file to your `layouts/partials`-directory. In there you may add a ` diff --git a/themes/hugo-bearblog/layouts/robots.txt b/themes/hugo-bearblog/layouts/robots.txt new file mode 100644 index 0000000..0326f5c --- /dev/null +++ b/themes/hugo-bearblog/layouts/robots.txt @@ -0,0 +1,2 @@ +User-Agent: * +Sitemap: {{ "sitemap.xml" | absURL }} diff --git a/themes/hugo-bearblog/package-lock.json b/themes/hugo-bearblog/package-lock.json new file mode 100644 index 0000000..7a248e9 --- /dev/null +++ b/themes/hugo-bearblog/package-lock.json @@ -0,0 +1,430 @@ +{ + "name": "hugo-bearblog", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + } + } + }, + "@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "requires": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + } + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "dev": true, + "requires": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + } + }, + "js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true + }, + "nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dev": true, + "requires": { + "abbrev": "^2.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/themes/hugo-bearblog/package.json b/themes/hugo-bearblog/package.json new file mode 100644 index 0000000..b8cd943 --- /dev/null +++ b/themes/hugo-bearblog/package.json @@ -0,0 +1,28 @@ +{ + "name": "hugo-bearblog", + "private": true, + "version": "1.0.0", + "description": "🧸 A [Hugo](https://gohugo.io/)-theme based on [Bear Blog](https://bearblog.dev).", + "main": "index.js", + "devDependencies": { + "js-beautify": "^1.15.1" + }, + "scripts": { + "test": "npm run beautify", + "beautify": "js-beautify layouts/**/*.html -r" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/janraasch/hugo-bearblog.git" + }, + "author": { + "name": "Jan Raasch", + "email": "jan@janraasch.com", + "url": "https://www.janraasch.com" + }, + "license": "MIT", + "bugs": { + "url": "https://github.com/janraasch/hugo-bearblog/issues" + }, + "homepage": "https://github.com/janraasch/hugo-bearblog#readme" +} diff --git a/themes/hugo-bearblog/theme.toml b/themes/hugo-bearblog/theme.toml new file mode 100644 index 0000000..066e67a --- /dev/null +++ b/themes/hugo-bearblog/theme.toml @@ -0,0 +1,25 @@ +# theme.toml template for a Hugo theme +# See https://github.com/gohugoio/hugoThemes#themetoml for an example + +name = "Hugo Bear Blog" +license = "MIT" +licenselink = "https://github.com/janraasch/hugo-bearblog/blob/master/LICENSE" +description = "A Hugo theme based on »Bear Blog«. Free, no-nonsense, super-fast blogging. »Bear Blog« now includes a dark color scheme to support dark mode!" +homepage = "https://github.com/janraasch/hugo-bearblog" +demosite = "https://janraasch.github.io/hugo-bearblog/" +tags = ["blog", "responsive", "minimal", "seo", "clean", "simple", "light", "minimalist", "mobile", "fast", "white", "minimalistic", "reading", "dark mode"] +features = ["favicon", "seo", "no stylesheets", "no javascript", "rss", "dark mode"] +min_version = "v0.110.0" +# https://gohugo.io/content-management/taxonomies#default-taxonomies +# https://gohugo.io/templates/taxonomy-templates/#example-list-tags-in-a-single-page-template +# https://gohugo.io/templates/taxonomy-templates/#example-list-all-site-tags + +[author] + name = "Jan Raasch" + homepage = "https://www.janraasch.com" + +# If porting an existing theme +[original] + name = "ʕ•ᴥ•ʔ Bear Blog" + homepage = "https://bearblog.dev" + repo = "https://github.com/HermanMartinus/bearblog"