diff --git a/.gitignore b/.gitignore
index 8368fdb..c75eecc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
-/node_modules
/public
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index ee13637..0000000
--- a/.prettierignore
+++ /dev/null
@@ -1,2 +0,0 @@
-pnpm-lock.yaml
-templates/macros.html
diff --git a/.prettierrc.js b/.prettierrc.js
deleted file mode 100644
index 6675528..0000000
--- a/.prettierrc.js
+++ /dev/null
@@ -1,4 +0,0 @@
-module.exports = {
- printWidth: 100,
- plugins: ["prettier-plugin-tailwindcss"],
-};
diff --git a/README.md b/README.md
index 757c8b5..a6d3c1e 100644
--- a/README.md
+++ b/README.md
@@ -1,719 +1,16 @@
-# Linkita
+# Demo for the Linkita theme
-A clean and elegant blog theme for [Zola](https://www.getzola.org/). Linkita is based on [Kita](https://github.com/st1020/kita) and [Hugo-Paper](https://github.com/nanxiaobei/hugo-paper) and is multilingual and SEO friendly.
+## Links
-The source code is available on [Codeberg](https://codeberg.org/salif/linkita) and mirrored on [GitHub](https://github.com/salif/linkita). A live preview can be viewed in [English](https://salif.github.io/linkita/en/), [Bulgarian](https://salif.github.io/linkita/), and [Esperanto](https://salif.github.io/linkita/eo/). Screenshots are provided for both [Light mode](https://codeberg.org/salif/linkita/src/branch/linkita/screenshot.png) and [Dark mode](https://codeberg.org/salif/linkita/src/branch/linkita/screenshot.dark.png). For discussion, you can join the [Matrix chat room](https://matrix.to/#/#linkita:mozilla.org).
+- [Demo site](https://salif.github.io/linkita/en/)
+- [Demo source on Codeberg](https://codeberg.org/salif/linkita-demo)
+- [Demo source on GitHub](https://github.com/salif/linkita/tree/demo)
-## Features
+- [Linkita source on Codeberg](https://codeberg.org/salif/linkita)
+- [Linkita source on GitHub](https://github.com/salif/linkita)
-### Kita features
+- [Matrix chat room](https://matrix.to/#/#linkita:mozilla.org)
-- Easy to use and modify
-- No preset limits
-- Inject support
-- Dark mode
-- Responsive design
-- Social icons
-- Taxonomies support
-- Projects page
-- Archive page
-- Table of Content
-- Admonition shortcode
-- SEO friendly
-- Comments using [Giscus](https://giscus.app/)
-- Mathematical notations using [KaTeX](https://katex.org/)
-- Diagrams and charts using [Mermaid](https://mermaid.js.org/)
-
-### Linkita features
-
-- i18n
-- Improved SEO
-- Author profiles
-- Search (elasticlunr_javascript)
-- Keyboard shortcuts
-
-## Installing
-
-1. Add this theme as a submodule:
-
-```sh
-git submodule add https://codeberg.org/salif/linkita.git themes/linkita
-```
-
-Alternatively, clone the repository: `git clone https://codeberg.org/salif/linkita.git themes/linkita`.
-
-2. Set `linkita` as your theme in your `config.toml` file.
-
-```toml
-theme = "linkita"
-```
-
-3. Optionally, you can switch from the `linkita` branch to the latest release:
-
-```sh
-cd themes/linkita
-npm run switch-to-latest
-```
-
-## Updating
-
-```sh
-git submodule update --merge --remote themes/linkita
-# cd themes/linkita
-# npm run switch-to-latest
-```
-
-## Usage
-
-### TOML frontmatter
-
-```toml
-+++
-title = ""
-description = ""
-# date =
-# updated =
-[taxonomies]
-categories = []
-tags = []
-authors = []
-[extra]
-# comment = true
-# math = true
-# mermaid = true
-# page_info = []
-[extra.cover]
-# image = ""
-# alt = ""
-+++
-```
-
-### YAML frontmatter
-
-```yaml
----
-title: ""
-description: ""
-date:
-# updated:
-taxonomies:
- categories:
- tags:
- authors:
-extra:
- comment: false
- math: false
- mermaid: false
- cover:
- image: ""
- alt: ""
----
-```
-
-### Open Graph frontmatter options
-
-```toml
-[extra.open_graph]
-# MIME type of the cover image. e.g. `image/jpeg`, `image/gif`, `image/png`
-cover_type = ""
-# Width of the cover image in pixels
-cover_width =
-# Height of the cover image in pixels
-cover_height =
-# When the article is out of date after. e.g. `2024-02-29`
-expiration_time =
-# Describes the tier status for an article. e.g. `free`, `locked`, or `metered`
-content_tier = ""
-# Defines the location to target for the article. e.g. `["county:COUNTY"]` or `["city:CITY,COUNTY"]`
-locations = []
-# A high-level section name. e.g. `Technology`
-section = ""
-# Tag words associated with this article
-tags = [""]
-# Indicates whether the article is an opinion piece or not. e.g. `true` or `false`
-opinion =
-# The URL for the audio
-audio = ""
-# MIME type of the audio. e.g. `audio/vnd.facebook.bridge`, `audio/mpeg`
-audio_type = ""
-# The URL for the video
-video = ""
-# MIME type of the video. e.g. `application/x-shockwave-flash`, `video/mp4`
-video_type = ""
-# Width of the video in pixels
-video_width =
-# Height of the video in pixels
-video_height =
-# Set only if different from canonical page URL
-url = ""
-```
-
-### Sitemap frontmatter options
-
-```toml
-[extra.sitemap]
-# Set only if different from `page.updated`
-updated =
-# Valid values are `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, `never`
-changefreq =
-# Valid values range from 0.0 to 1.0. The default priority of a page is 0.5
-priority =
-```
-
-### Home page profile
-
-Create `content/_index.md` file in your blog and set `extra.profile` to your username:
-
-```toml
-+++
-sort_by = "date"
-paginate_by = 5
-[extra]
-profile = "your_username"
-+++
-```
-
-Do it for each language in your blog, for example for French, the file name is `content/_index.fr.md`.
-
-### Profiles for authors
-
-You should add `extra.profiles.author_username` table in your `config.toml` file for each author.
-Replace `author_username` with author's username.
-
-### Authors
-
-#### Option 1: Using `page.authors`
-
-You don't need to set `page.authors` in the frontmatter if you are the only author.
-
-Otherwise, set `page.authors`:
-
-```toml
-+++
-authors = ["author_username", "author2_username"]
-+++
-```
-
-#### Option 2: Using Taxonomies
-
-If you choose this option you should set taxonomies in each post.
-
-Examples:
-
-**If the blog is your personal blog**:
-
-```toml
-+++
-[taxonomies]
-authors = ["your_username"]
-+++
-```
-
-**If the blog has a team of multiple authors**:
-
-```toml
-+++
-[taxonomies]
-authors = ["author_username"]
-# or:
-# authors = ["author_username", "author2_username"]
-+++
-```
-
-### Archive page
-
-```toml
-+++
-title = "Archive"
-template = "archive.html"
-[extra]
-section = "_index.md"
-+++
-```
-
-### Inject support
-
-You can easily use inject to add new features to your side without modifying the theme itself.
-
-To use inject, you need to add some HTML files to the `templates/injects` directory.
-
-The available inject points are: `head`, `header_nav`, `body_start`, `body_end`, `page_start`, `page_end`, `footer`.
-
-### Keyboard shortcuts
-
-| Action | Shortcut |
-| ----------------- | ---------------------------- |
-| Home | Alt +\! |
-| Search | Alt +\/ |
-| Toggle menu | Alt +\+ |
-| Toggle dark mode | Alt +\$ |
-| Go to prev page | Alt +\, |
-| Go to next page | Alt +\. |
-| Table of contents | Alt +\= |
-| Skip to footer | Alt +\_ |
-| Skip to main | Alt +\- |
-
-## Configuring
-
-Copy and paste the examples into your `config.toml` file
-and comment out the options you don't use instead of setting empty values.
-
-| key | type |
-| ------------------ | ------- |
-| default_language | string |
-| author | string |
-| title | string |
-| description | string |
-| generate_feeds | boolean |
-| feed_filenames | array of strings |
-| build_search_index | boolean |
-| extra | table |
-
-Taxonomies with translated names are `tags`, `categories`, and `authors`.
-
-```toml
-# The default language
-default_language = "en"
-
-# The default author for pages
-author = "your_username"
-
-# The site title
-title = ""
-
-# The site description
-description = ""
-
-# Automatically generated feed
-generate_feeds = true
-
-# The filenames to use for the feeds
-feed_filenames = ["atom.xml"] # or ["rss.xml"]
-
-# Enable search
-build_search_index = true
-```
-
-```toml
-[[taxonomies]]
-name = "categories"
-feed = true
-paginate_by = 5
-
-[[taxonomies]]
-name = "tags"
-feed = true
-paginate_by = 5
-
-[[taxonomies]]
-name = "authors"
-feed = true
-paginate_by = 5
-```
-
-Add more languages by replacing `fr` from the example with the language code.
-
-```toml
-[languages.fr]
-title = "Site title in French"
-description = "Site description in French"
-generate_feeds = true
-feed_filenames = ["atom.xml"] # or ["rss.xml"]
-
-[[languages.fr.taxonomies]]
-name = "authors"
-feed = true
-paginate_by = 5
-```
-
-| key | type |
-| ----------------------------- | ------- |
-| extra.math | boolean |
-| extra.mermaid | boolean |
-| extra.comment | boolean |
-| extra.title_separator | string |
-| extra.header_menu_name | string |
-| extra.header_buttons | array of strings |
-| extra.page_info | array of strings |
-| extra.disable_default_favicon | boolean |
-| extra.disable_javascript | boolean |
-
-Tables: `extra.style`, `extra.menus`, `extra.profiles`, `extra.footer`, `extra.languages`, `extra.goatcounter`, `extra.giscus`.
-
-The table below lists valid `extra.page_info` values.
-Default value is `["date", "date_updated_on_page", "reading_time", "authors"]`.
-
-| on both | only on page | only on paginator |
-| -------------- | ---------------------- | --------------------------- |
-| `date` | `date_on_page` | `date_on_paginator` |
-| `date_updated` | `date_updated_on_page` | `date_updated_on_paginator` |
-| `reading_time` | `reading_time_on_page` | `reading_time_on_paginator` |
-| `word_count` | `word_count_on_page` | `word_count_on_paginator` |
-| `authors` | `authors_on_page` | `authors_on_paginator` |
-| `tags` | `tags_on_page` | `tags_on_paginator` |
-
-Default `extra.header_buttons` value is `["site_title", "theme_button", "search_button", "translations_button"]`.
-You can replace `site_title` with `home_button` if you want.
-
-```toml
-[extra]
-# Enable KaTeX math formula support globally
-math = false
-
-# Enable Mermaid support globally
-mermaid = false
-
-# Enable comments globally
-comment = false
-
-# Title separator
-title_separator = " | "
-
-# The top menu. See `extra.menus`
-header_menu_name = "menu_name"
-
-# header_buttons = []
-# page_info = []
-# disable_default_favicon = true
-# disable_javascript = false
-```
-
-### Style config
-
-| key | type | default value |
-| --- | --- | --- |
-| extra.style.bg_color | string | `"#f4f4f5"` |
-| extra.style.bg_dark_color | string | `"#18181b"` |
-| extra.style.header_blur | boolean | false |
-| extra.style.header_color | string | `"#e4e4e7"` |
-| extra.style.header_dark_color | string | `"#27272a"` |
-
-```toml
-[extra.style]
-# The custom background color
-bg_color = "#f4f4f5"
-
-# The custom background color in dark mode
-bg_dark_color = "#18181b"
-
-# Enable header blur
-header_blur = false
-
-# The custom header color, only available when `header_blur` is false
-header_color = "#e4e4e7"
-
-# The custom header color in dark mode, only available when `header_blur` is false
-header_dark_color = "#27272a"
-```
-
-### Menus
-
-| key | type |
-| ----------------------------------------- | ------ |
-| extra.menus[menu_name].menu[].url | string |
-| extra.menus[menu_name].menu[].name | string |
-| extra.menus[menu_name].menu[].names | table |
-| extra.menus[menu_name].menu[].names[lang] | string |
-| extra.menus[menu_name].menu[].names_i18n | string |
-
-`$BASE_URL` in `.url` will be automatically replaced with the language specific base url.
-You can use `names_i18n` instead of `names[lang]`, see the `static/i18n.json` file,
-set `names_i18n` to a `common_` key.
-
-```toml
-[[extra.menus.menu_name]]
-url = "$BASE_URL/projects/"
-# name = "Projects"
-[extra.menus.menu_name.names]
-en = "Projects"
-# fr = "Projects in French"
-
-[[extra.menus.menu_name]]
-url = "$BASE_URL/archive/"
-# name = "Archive"
-[extra.menus.menu_name.names]
-en = "Archive"
-# fr = "Archive in French"
-
-[[extra.menus.menu_name]]
-url = "$BASE_URL/tags/"
-# name = "Tags"
-[extra.menus.menu_name.names]
-en = "Tags"
-# fr = "Tags in French"
-
-[[extra.menus.menu_name]]
-url = "$BASE_URL/about/"
-# name = "About"
-[extra.menus.menu_name.names]
-en = "About"
-# fr = "About in French"
-```
-
-### Profiles
-
-| key | type |
-| -------------------------------------- | ------- |
-| extra.profiles[username].avatar_url | string |
-| extra.profiles[username].avatar_alt | string |
-| extra.profiles[username].avatar_invert | boolean |
-| extra.profiles[username].name | string |
-| extra.profiles[username].bio | string |
-| extra.profiles[username].email | string |
-| extra.profiles[username].url | string |
-| extra.profiles[username].languages | table |
-| extra.profiles[username].social | array of tables |
-| extra.profiles[username].open_graph | table |
-
-```toml
-[extra.profiles.your_username]
-# The URL of avatar
-avatar_url = "icons/github.svg"
-
-# A description of what is in the avatar
-avatar_alt = ""
-
-# Invert avatar color in dark mode
-avatar_invert = false
-
-# Profile name for all languages
-name = ""
-
-# Profile bio for all languages. Supports Markdown.
-bio = ""
-
-# Profile email
-# email = ""
-
-# Profile website
-# url = ""
-```
-
-### Profile translations
-
-| key | type |
-| --------------------------------------------------- | ------ |
-| extra.profiles[username].languages[lang].name | string |
-| extra.profiles[username].languages[lang].bio | string |
-| extra.profiles[username].languages[lang].url | string |
-| extra.profiles[username].languages[lang].avatar_alt | string |
-
-```toml
-[extra.profiles.your_username.languages.fr]
-# Profile name in French
-name = ""
-
-# Profile bio in French
-bio = ""
-```
-
-### Social icons
-
-| key | type |
-| -------------------------------------- | ------ |
-| extra.profiles[username].social[].name | string |
-| extra.profiles[username].social[].url | string |
-
-The `name` should be the file name of `static/icons/*.svg` or the icon name of
-[simpleicons.org](https://simpleicons.org/). The `url` supports `$BASE_URL`.
-
-```toml
-[[extra.profiles.your_username.social]]
-name = "github"
-url = "https://github.com/username"
-
-[[extra.profiles.your_username.social]]
-name = "bluesky"
-url = "https://bsky.app/profile/username"
-
-[[extra.profiles.your_username.social]]
-name = "rss"
-url = "$BASE_URL/atom.xml"
-```
-
-### Open Graph
-
-| key | type |
-| ---------------------------------------------- | ------ |
-| extra.profiles[username].open_graph.image | string |
-| extra.profiles[username].open_graph.image_alt | string |
-| extra.profiles[username].open_graph.first_name | string |
-| extra.profiles[username].open_graph.last_name | string |
-| extra.profiles[username].open_graph.username | string |
-| extra.profiles[username].open_graph.gender | string |
-| extra.profiles[username].open_graph.fb_app_id | string |
-| extra.profiles[username].open_graph.fb_admins | array of strings |
-| extra.profiles[username].open_graph.fediverse_creator | table |
-| extra.profiles[username].open_graph.fediverse_creator.handle | string |
-| extra.profiles[username].open_graph.fediverse_creator.domain | string |
-| extra.profiles[username].open_graph.fediverse_creator.url | string |
-| extra.profiles[username].open_graph.languages[lang] | table |
-
-See [the Open Graph protocol](https://ogp.me/).
-
-```toml
-[extra.profiles.your_username.open_graph]
-# The URL of social image
-image = ""
-
-# A description of what is in the social image
-image_alt = ""
-
-first_name = "Your first name"
-last_name = "Your last name"
-username = "Your username"
-gender = "female" # or "male"
-
-# Set if you have a Fediverse account. Example for @user@mastodon.social:
-[extra.profiles.your_username.open_graph.fediverse_creator]
-# Your Fediverse handle
-# handle = "user"
-# Your Fediverse instance
-# domain = "mastodon.social"
-# Your Fediverse account URL
-# url = ""
-
-# [extra.profiles.your_username.open_graph.languages.fr]
-# A description in French of what is in the social image
-# image_alt = ""
-```
-
-`fb_app_id` and `fb_admins` are only allowed in the `config.author`'s profile.
-In addition, `image` and `image_alt` of the profile will be used as a
-fallback open graph image for all pages.
-
-```toml
-[extra.profiles.your_username.open_graph]
-fb_app_id = "Your fb app ID"
-fb_admins = ["YOUR_USER_ID"]
-# image = ""
-# image_alt = ""
-```
-
-### The page footer
-
-| key | type |
-| --------------------------------- | ------ |
-| extra.footer.since | number |
-| extra.footer.copyright | string |
-| extra.footer.license_url | string |
-| extra.footer.privacy_policy_url | string |
-| extra.footer.terms_of_service_url | string |
-| extra.footer.search_page_url | string |
-
-Currently `privacy_policy_url`, `terms_of_service_url`, and `search_page_url` are not shown.
-
-`$BASE_URL` is supported in the `_url` options.
-
-Option `copyright` supports Markdown and:
-- `$BASE_URL`
-- `$YEAR` (uses `since`)
-- `$LICENSE_URL` (uses `license_url`)
-
-```toml
-[extra.footer]
-# Replace with the correct year
-since = 2024
-# Replace with the url of the license you want
-license_url = "https://creativecommons.org/licenses/by-sa/4.0/deed"
-# Replace `Your Name` with your name and `CC BY-SA 4.0` with the name of the license you want
-copyright = "© $YEAR Your Name | [CC BY-SA 4.0]($LICENSE_URL)"
-# privacy_policy_url = "$BASE_URL/privacy-policy/"
-# terms_of_service_url = "$BASE_URL/terms-of-service/"
-# search_page_url = "$BASE_URL/search/"
-```
-
-### Locale and Date format
-
-| key | type | default value |
-| ----------------------------------------- | ------ | ------------- |
-| extra.languages[lang].locale | string | |
-| extra.languages[lang].date_format | string | `%F` |
-| extra.languages[lang].date_format_archive | string | `%m-%d` |
-| extra.languages[lang].header_menu_name | string | |
-| extra.languages[lang].header_buttons | array of strings | |
-| extra.languages[lang].art_x_lang | string | |
-
-For date format, see [chrono docs](https://docs.rs/chrono/0.4/chrono/format/strftime/index.html).
-
-```toml
-[extra.languages.en]
-locale = "en_US"
-date_format = "%x"
-date_format_archive = "%m-%d"
-
-[extra.languages.fr]
-locale = "fr_FR"
-date_format = "%x"
-date_format_archive = "%m-%d"
-```
-
-### Web analytics
-
-| key | type |
-| -------------------------- | ------ |
-| extra.goatcounter.endpoint | string |
-| extra.goatcounter.src | string |
-
-Set only if you use [GoatCounter](https://www.goatcounter.com/).
-
-```toml
-[extra.goatcounter]
-endpoint = "https://MYCODE.goatcounter.com/count"
-src = "//gc.zgo.at/count.js"
-```
-
-### Comments
-
-| key | type | default value |
-| ------------------------------ | ------ | ------------- |
-| extra.giscus.repo | string | |
-| extra.giscus.repo_id | string | |
-| extra.giscus.category | string | |
-| extra.giscus.category_id | string | |
-| extra.giscus.mapping | string | `pathname` |
-| extra.giscus.strict | number | `1` |
-| extra.giscus.reactions_enabled | number | `0` |
-| extra.giscus.emit_metadata | number | `0` |
-| extra.giscus.input_position | string | `top` |
-| extra.giscus.theme | string | `light` |
-| extra.giscus.lang | string | `en` |
-| extra.giscus.loading | string | `lazy` |
-
-See [giscus.app](https://giscus.app/).
-Only available when `extra.comment` in the frontmatter or `extra.comment` in the config is set to `true`.
-
-```toml
-[extra.giscus]
-repo = ""
-repo_id = ""
-category = ""
-category_id = ""
-mapping = "pathname"
-strict = 1
-reactions_enabled = 0
-emit_metadata = 0
-input_position = "top"
-theme = "light"
-lang = "en"
-loading = "lazy"
-```
-
-## License
-
-See the [MIT License](https://codeberg.org/salif/linkita/src/branch/linkita/LICENSE) file.
-
-## Contributing
-
-Pull requests are welcome on [Codeberg](https://codeberg.org/salif/linkita) and [Github](https://github.com/salif/linkita).
-Open bug reports and feature requests on [Codeberg](https://codeberg.org/salif/linkita/issues).
-
-## Blogs using this theme
-
-- [salif.eu](https://salif.eu): Personal website
- [Zola Themes Collection](https://salif.github.io/zola-themes-collection/)
-
-If you use Linkita, feel free to create a pull request to add your site to this list.
-
-See also [Google results](https://www.google.com/search?q=%22Powered+by+Zola+and+Linkita%22+-site%3Ahttps%3A%2F%2Fsalif.github.io%2Flinkita%2F)
-and [Bing results](https://www.bing.com/search?q=%22Powered+by+Zola+and+Linkita%22+-site%3Ahttps%3A%2F%2Fsalif.github.io%2Flinkita%2F).
+- [Kita theme](https://github.com/st1020/kita)
+- [Hugo-Paper theme](https://github.com/nanxiaobei/hugo-paper)
diff --git a/config.toml b/config.toml
index 740bada..c84d26c 100644
--- a/config.toml
+++ b/config.toml
@@ -1,16 +1,13 @@
base_url = "https://salif.github.io/linkita"
+theme = "linkita"
default_language = "bg"
author = "your_username"
-generate_feeds = true
minify_html = true
-[languages]
-
-[languages.bg]
title = "Линкита"
description = "Линкита е многоезична, SEO оптимизирана, изчистена и елегантна блог тема за Zola."
-# generate_feeds = true
+generate_feeds = true
feed_filenames = ["atom.xml"]
taxonomies = [
{ name = "tags", feed = true, paginate_by = 5 },
diff --git a/justfile b/justfile
index 12c799e..41c372f 100755
--- a/justfile
+++ b/justfile
@@ -3,22 +3,12 @@
just := just_executable() + " --justfile '" + justfile() + "'"
zola := "zola"
git := "git"
-npm := "npm"
browser := "brave"
screenshot_url := "http://127.0.0.1:1111"
-version_major := "0"
-version_minor := `date +%Y_%m_%d`
-version_patch := "0"
-version := version_major + "." + version_minor + "." + version_patch
_:
@command {{ just }} --list --unsorted
-[group('user')]
-switch-to-latest:
- command {{ git }} checkout $(command {{ git }} describe --tags $(command {{ git }} \
- rev-list --tags --max-count=1))
-
[group('dev')]
[private]
serve-and args='':
@@ -29,36 +19,9 @@ serve-and args='':
serve: (serve-and)
[group('dev')]
-push-linkita:
- command {{ git }} push codeberg linkita
- command {{ git }} push github linkita
-
-[group('dev')]
-release: (release-json version) && (release-git version)
- command {{ npm }} run build
- @command {{ git }} add ./static/main.css
- command {{ zola }} check
- command {{ git }} diff --cached --quiet
- @! command {{ git }} show-ref --tags 'v{{ version }}' --quiet
- @printf '%s\n' 'Releasing v{{ version }}'
-
-[confirm("Are you sure?")]
-[group('dev')]
-[private]
-release-git version:
- command {{ git }} tag -s -a 'v{{ version }}' -m 'Release v{{ version }}'
- command {{ git }} push --follow-tags
-
-[group('dev')]
-[private]
-release-json version:
- #!/usr/bin/env node
- const fs = require("fs");
- const path = require("path");
- const jsonPath = path.join("package.json");
- const packageJson = JSON.parse(fs.readFileSync(jsonPath, "utf8"));
- packageJson.version = "{{ version }}";
- fs.writeFileSync(jsonPath, JSON.stringify(packageJson, null, 2) + "\n", "utf8");
+push-demo:
+ command {{ git }} push codeberg-demo demo
+ command {{ git }} push github demo
[group('dev')]
format:
@@ -77,8 +40,7 @@ set-screenshot-mode mode='light' schema='org.x.apps.portal':
[group('dev')]
add-screenshot screenshot_url=screenshot_url browser=browser:
- command {{ browser }} --headless --disable-gpu --screenshot=screenshot.png --window-size=1400,936 \
+ command {{ browser }} --headless --disable-gpu --screenshot=static/images/screenshot.png --window-size=1400,936 \
--hide-scrollbars --force-device-scale-factor=1.2 "{{ screenshot_url }}/en/"
- magick screenshot.png -gravity north -crop '1360x765+0+0' screenshot.png
- -mat2 --inplace screenshot.png
- cp screenshot.png static/images/
+ magick static/images/screenshot.png -gravity north -crop '1360x765+0+0' static/images/screenshot.png
+ -mat2 --inplace static/images/screenshot.png
diff --git a/package.json b/package.json
deleted file mode 100644
index 43028af..0000000
--- a/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "linkita",
- "version": "0.2024_11_01.0",
- "description": "A clean and elegant blog theme for Zola. Linkita is based on Kita and Hugo-Paper and is multilingual and SEO friendly.",
- "homepage": "https://codeberg.org/salif/linkita",
- "license": "MIT",
- "author": {
- "name": "Salif Mehmed",
- "email": "mail@salif.eu",
- "url": "https://salif.eu"
- },
- "repository": {
- "type": "git",
- "url": "https://codeberg.org/salif/linkita.git"
- },
- "scripts": {
- "dev": "pnpm tailwindcss -i ./static/app.css -o ./static/main.css --watch",
- "build": "pnpm tailwindcss -i ./static/app.css -o ./static/main.css --minify",
- "switch-to-latest": "git checkout tags/v${npm_package_version}",
- "windows-switch-to-latest": "git checkout tags/v%npm_package_version%"
- },
- "dependencies": {
- "@tailwindcss/typography": "^0.5.15",
- "prettier": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.8",
- "tailwindcss": "^3.4.14",
- "terser": "^5.36.0"
- }
-}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
deleted file mode 100644
index dcfd20c..0000000
--- a/pnpm-lock.yaml
+++ /dev/null
@@ -1,1008 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- '@tailwindcss/typography':
- specifier: ^0.5.15
- version: 0.5.15(tailwindcss@3.4.14)
- prettier:
- specifier: ^3.3.3
- version: 3.3.3
- prettier-plugin-tailwindcss:
- specifier: ^0.6.8
- version: 0.6.8(prettier@3.3.3)
- tailwindcss:
- specifier: ^3.4.14
- version: 3.4.14
- terser:
- specifier: ^5.36.0
- version: 5.36.0
-
-packages:
-
- '@alloc/quick-lru@5.2.0':
- resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
- engines: {node: '>=10'}
-
- '@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
-
- '@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/source-map@0.3.6':
- resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
-
- '@tailwindcss/typography@0.5.15':
- resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==}
- peerDependencies:
- tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20'
-
- acorn@8.14.0:
- resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
-
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
- camelcase-css@2.0.1:
- resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
- engines: {node: '>= 6'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- commander@2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
-
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
-
- cross-spawn@7.0.5:
- resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==}
- engines: {node: '>= 8'}
-
- cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
-
- didyoumean@1.2.2:
- resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
-
- dlv@1.1.3:
- resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
- emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
-
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
-
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
-
- glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
- hasBin: true
-
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
- engines: {node: '>= 0.4'}
-
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
-
- jiti@1.21.6:
- resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
- hasBin: true
-
- lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
-
- lilconfig@3.1.2:
- resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
- engines: {node: '>=14'}
-
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
- lodash.castarray@4.4.0:
- resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
-
- lodash.isplainobject@4.0.6:
- resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
-
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
-
- lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
-
- minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
-
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
-
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
-
- object-hash@3.0.0:
- resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
- engines: {node: '>= 6'}
-
- package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
-
- picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- pify@2.3.0:
- resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
- engines: {node: '>=0.10.0'}
-
- pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
- postcss-import@15.1.0:
- resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
- postcss-js@4.0.1:
- resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
- engines: {node: ^12 || ^14 || >= 16}
- peerDependencies:
- postcss: ^8.4.21
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-nested@6.2.0:
- resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
- engines: {node: '>=12.0'}
- peerDependencies:
- postcss: ^8.2.14
-
- postcss-selector-parser@6.0.10:
- resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
- engines: {node: '>=4'}
-
- postcss-selector-parser@6.1.2:
- resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
- engines: {node: '>=4'}
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.4.49:
- resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
- engines: {node: ^10 || ^12 || >=14}
-
- prettier-plugin-tailwindcss@0.6.8:
- resolution: {integrity: sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==}
- engines: {node: '>=14.21.3'}
- peerDependencies:
- '@ianvs/prettier-plugin-sort-imports': '*'
- '@prettier/plugin-pug': '*'
- '@shopify/prettier-plugin-liquid': '*'
- '@trivago/prettier-plugin-sort-imports': '*'
- '@zackad/prettier-plugin-twig-melody': '*'
- prettier: ^3.0
- prettier-plugin-astro: '*'
- prettier-plugin-css-order: '*'
- prettier-plugin-import-sort: '*'
- prettier-plugin-jsdoc: '*'
- prettier-plugin-marko: '*'
- prettier-plugin-multiline-arrays: '*'
- prettier-plugin-organize-attributes: '*'
- prettier-plugin-organize-imports: '*'
- prettier-plugin-sort-imports: '*'
- prettier-plugin-style-order: '*'
- prettier-plugin-svelte: '*'
- peerDependenciesMeta:
- '@ianvs/prettier-plugin-sort-imports':
- optional: true
- '@prettier/plugin-pug':
- optional: true
- '@shopify/prettier-plugin-liquid':
- optional: true
- '@trivago/prettier-plugin-sort-imports':
- optional: true
- '@zackad/prettier-plugin-twig-melody':
- optional: true
- prettier-plugin-astro:
- optional: true
- prettier-plugin-css-order:
- optional: true
- prettier-plugin-import-sort:
- optional: true
- prettier-plugin-jsdoc:
- optional: true
- prettier-plugin-marko:
- optional: true
- prettier-plugin-multiline-arrays:
- optional: true
- prettier-plugin-organize-attributes:
- optional: true
- prettier-plugin-organize-imports:
- optional: true
- prettier-plugin-sort-imports:
- optional: true
- prettier-plugin-style-order:
- optional: true
- prettier-plugin-svelte:
- optional: true
-
- prettier@3.3.3:
- resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
- engines: {node: '>=14'}
- hasBin: true
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- read-cache@1.0.0:
- resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
-
- source-map-support@0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
-
- source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
-
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
-
- string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
- sucrase@3.35.0:
- resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
-
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- tailwindcss@3.4.14:
- resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- terser@5.36.0:
- resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==}
- engines: {node: '>=10'}
- hasBin: true
-
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
-
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
-
- wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
-
- yaml@2.6.0:
- resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==}
- engines: {node: '>= 14'}
- hasBin: true
-
-snapshots:
-
- '@alloc/quick-lru@5.2.0': {}
-
- '@isaacs/cliui@8.0.2':
- dependencies:
- string-width: 5.1.2
- string-width-cjs: string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: wrap-ansi@7.0.0
-
- '@jridgewell/gen-mapping@0.3.5':
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/set-array@1.2.1': {}
-
- '@jridgewell/source-map@0.3.6':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.25':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
-
- '@pkgjs/parseargs@0.11.0':
- optional: true
-
- '@tailwindcss/typography@0.5.15(tailwindcss@3.4.14)':
- dependencies:
- lodash.castarray: 4.4.0
- lodash.isplainobject: 4.0.6
- lodash.merge: 4.6.2
- postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.14
-
- acorn@8.14.0: {}
-
- ansi-regex@5.0.1: {}
-
- ansi-regex@6.1.0: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- ansi-styles@6.2.1: {}
-
- any-promise@1.3.0: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- arg@5.0.2: {}
-
- balanced-match@1.0.2: {}
-
- binary-extensions@2.3.0: {}
-
- brace-expansion@2.0.1:
- dependencies:
- balanced-match: 1.0.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- buffer-from@1.1.2: {}
-
- camelcase-css@2.0.1: {}
-
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- commander@2.20.3: {}
-
- commander@4.1.1: {}
-
- cross-spawn@7.0.5:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- cssesc@3.0.0: {}
-
- didyoumean@1.2.2: {}
-
- dlv@1.1.3: {}
-
- eastasianwidth@0.2.0: {}
-
- emoji-regex@8.0.0: {}
-
- emoji-regex@9.2.2: {}
-
- fast-glob@3.3.2:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.8
-
- fastq@1.17.1:
- dependencies:
- reusify: 1.0.4
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- foreground-child@3.3.0:
- dependencies:
- cross-spawn: 7.0.5
- signal-exit: 4.1.0
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-parent@6.0.2:
- dependencies:
- is-glob: 4.0.3
-
- glob@10.4.5:
- dependencies:
- foreground-child: 3.3.0
- jackspeak: 3.4.3
- minimatch: 9.0.5
- minipass: 7.1.2
- package-json-from-dist: 1.0.1
- path-scurry: 1.11.1
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-core-module@2.15.1:
- dependencies:
- hasown: 2.0.2
-
- is-extglob@2.1.1: {}
-
- is-fullwidth-code-point@3.0.0: {}
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-number@7.0.0: {}
-
- isexe@2.0.0: {}
-
- jackspeak@3.4.3:
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
-
- jiti@1.21.6: {}
-
- lilconfig@2.1.0: {}
-
- lilconfig@3.1.2: {}
-
- lines-and-columns@1.2.4: {}
-
- lodash.castarray@4.4.0: {}
-
- lodash.isplainobject@4.0.6: {}
-
- lodash.merge@4.6.2: {}
-
- lru-cache@10.4.3: {}
-
- merge2@1.4.1: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- minimatch@9.0.5:
- dependencies:
- brace-expansion: 2.0.1
-
- minipass@7.1.2: {}
-
- mz@2.7.0:
- dependencies:
- any-promise: 1.3.0
- object-assign: 4.1.1
- thenify-all: 1.6.0
-
- nanoid@3.3.7: {}
-
- normalize-path@3.0.0: {}
-
- object-assign@4.1.1: {}
-
- object-hash@3.0.0: {}
-
- package-json-from-dist@1.0.1: {}
-
- path-key@3.1.1: {}
-
- path-parse@1.0.7: {}
-
- path-scurry@1.11.1:
- dependencies:
- lru-cache: 10.4.3
- minipass: 7.1.2
-
- picocolors@1.1.1: {}
-
- picomatch@2.3.1: {}
-
- pify@2.3.0: {}
-
- pirates@4.0.6: {}
-
- postcss-import@15.1.0(postcss@8.4.49):
- dependencies:
- postcss: 8.4.49
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.8
-
- postcss-js@4.0.1(postcss@8.4.49):
- dependencies:
- camelcase-css: 2.0.1
- postcss: 8.4.49
-
- postcss-load-config@4.0.2(postcss@8.4.49):
- dependencies:
- lilconfig: 3.1.2
- yaml: 2.6.0
- optionalDependencies:
- postcss: 8.4.49
-
- postcss-nested@6.2.0(postcss@8.4.49):
- dependencies:
- postcss: 8.4.49
- postcss-selector-parser: 6.1.2
-
- postcss-selector-parser@6.0.10:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-selector-parser@6.1.2:
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.4.49:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- prettier-plugin-tailwindcss@0.6.8(prettier@3.3.3):
- dependencies:
- prettier: 3.3.3
-
- prettier@3.3.3: {}
-
- queue-microtask@1.2.3: {}
-
- read-cache@1.0.0:
- dependencies:
- pify: 2.3.0
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- resolve@1.22.8:
- dependencies:
- is-core-module: 2.15.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- reusify@1.0.4: {}
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- signal-exit@4.1.0: {}
-
- source-map-js@1.2.1: {}
-
- source-map-support@0.5.21:
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
-
- source-map@0.6.1: {}
-
- string-width@4.2.3:
- dependencies:
- emoji-regex: 8.0.0
- is-fullwidth-code-point: 3.0.0
- strip-ansi: 6.0.1
-
- string-width@5.1.2:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.1.0
-
- sucrase@3.35.0:
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- commander: 4.1.1
- glob: 10.4.5
- lines-and-columns: 1.2.4
- mz: 2.7.0
- pirates: 4.0.6
- ts-interface-checker: 0.1.13
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- tailwindcss@3.4.14:
- dependencies:
- '@alloc/quick-lru': 5.2.0
- arg: 5.0.2
- chokidar: 3.6.0
- didyoumean: 1.2.2
- dlv: 1.1.3
- fast-glob: 3.3.2
- glob-parent: 6.0.2
- is-glob: 4.0.3
- jiti: 1.21.6
- lilconfig: 2.1.0
- micromatch: 4.0.8
- normalize-path: 3.0.0
- object-hash: 3.0.0
- picocolors: 1.1.1
- postcss: 8.4.49
- postcss-import: 15.1.0(postcss@8.4.49)
- postcss-js: 4.0.1(postcss@8.4.49)
- postcss-load-config: 4.0.2(postcss@8.4.49)
- postcss-nested: 6.2.0(postcss@8.4.49)
- postcss-selector-parser: 6.1.2
- resolve: 1.22.8
- sucrase: 3.35.0
- transitivePeerDependencies:
- - ts-node
-
- terser@5.36.0:
- dependencies:
- '@jridgewell/source-map': 0.3.6
- acorn: 8.14.0
- commander: 2.20.3
- source-map-support: 0.5.21
-
- thenify-all@1.6.0:
- dependencies:
- thenify: 3.3.1
-
- thenify@3.3.1:
- dependencies:
- any-promise: 1.3.0
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- ts-interface-checker@0.1.13: {}
-
- util-deprecate@1.0.2: {}
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- wrap-ansi@7.0.0:
- dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
-
- wrap-ansi@8.1.0:
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
-
- yaml@2.6.0: {}
diff --git a/screenshot.dark.png b/screenshot.dark.png
deleted file mode 100644
index eab4823..0000000
Binary files a/screenshot.dark.png and /dev/null differ
diff --git a/screenshot.png b/screenshot.png
deleted file mode 100644
index 2bf90c5..0000000
Binary files a/screenshot.png and /dev/null differ
diff --git a/static/.nojekyll b/static/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/static/android-icon.png b/static/android-icon.png
deleted file mode 100644
index 27c0992..0000000
Binary files a/static/android-icon.png and /dev/null differ
diff --git a/static/app.css b/static/app.css
deleted file mode 100644
index fb8b2a1..0000000
--- a/static/app.css
+++ /dev/null
@@ -1,149 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer base {
- html,
- body {
- @apply h-full;
- }
-
- html {
- --bg: transparent;
- --bg-dark: transparent;
- --header: transparent;
- --header-dark: transparent;
- }
-
- body {
- -webkit-tap-highlight-color: transparent;
- background: var(--bg);
- }
-
- .dark body {
- background: var(--bg-dark);
- }
-
- *,
- ::before,
- ::after {
- /* Auto direction for text */
- unicode-bidi: plaintext;
- }
-
- /* Code block */
- pre mark {
- @apply block text-inherit;
- }
-
- pre table {
- @apply !m-0 !w-full border-collapse;
- }
-
- pre table tr {
- @apply !border-0 !border-none;
- }
-
- pre table td {
- @apply !p-0;
- }
-
- pre table td:nth-of-type(1) {
- @apply min-w-4 select-none;
- }
-
- .prose .footnote-definition {
- @apply flex;
- }
-
- .prose .footnote-definition p {
- @apply m-0;
- }
-
- .prose .footnote-definition .footnote-definition-label {
- @apply static mr-2 text-base;
- }
-
- .prose .footnote-definition .footnote-definition-label::after {
- content: ".";
- }
-
- a {
- @apply underline-offset-2;
- }
-
- sup a {
- @apply underline-offset-1;
- }
-}
-
-@layer utilities {
- .not-ready * {
- @apply !transition-none;
- }
-
- .btn-menu::before,
- .btn-menu::after {
- @apply block h-[2px] w-5 bg-black duration-200 content-[''] dark:invert;
- }
-
- .open {
- @apply overflow-hidden;
- }
-
- .open .btn-menu::before {
- @apply w-6 translate-y-[5.5px] rotate-45;
- }
-
- .open .btn-menu::after {
- @apply w-6 -translate-y-[5.5px] -rotate-45;
- }
-
- .nav-wrapper {
- @apply hidden lg:flex;
- }
-
- .open .nav-wrapper {
- @apply flex;
- }
-
- article {
- @apply text-lg;
- }
-
- .header {
- background-color: var(--header);
- }
-
- .dark .header {
- background: var(--header-dark);
- }
-
- .blur-header {
- @apply bg-black/10 backdrop-blur dark:bg-white/10;
- }
-
- .block-bg {
- @apply bg-black/[3%] dark:bg-white/[8%];
- }
-
- .block-hover {
- @apply hover:bg-black/[5%] dark:hover:bg-white/[11%];
- }
-
- .block-hover-mask {
- @apply hover:bg-black/[2%] dark:hover:bg-white/[3%];
- }
-
- .primary-link {
- @apply text-black no-underline hover:opacity-80 dark:text-white;
- }
-
- .secondary-link {
- @apply text-[var(--tw-prose-body)] no-underline hover:text-black dark:hover:text-white;
- }
-
- .width-scroll {
- @apply overflow-x-auto;
- }
-}
diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png
deleted file mode 100644
index 20d0dd0..0000000
Binary files a/static/apple-touch-icon.png and /dev/null differ
diff --git a/static/favicon.ico b/static/favicon.ico
deleted file mode 100644
index 1960405..0000000
Binary files a/static/favicon.ico and /dev/null differ
diff --git a/static/i18n.json b/static/i18n.json
deleted file mode 100644
index ce83cf7..0000000
--- a/static/i18n.json
+++ /dev/null
@@ -1,423 +0,0 @@
-{
- "common_about": {
- "en": "About",
- "uwu": "abowt",
- "uwu2": "abouwt",
- "bg": "Относно",
- "eo": "Pri",
- "glb": "Tem"
- },
- "common_about_me": {
- "en": "About Me",
- "uwu": "abowt me",
- "uwu2": "abouwt me",
- "bg": "За мен",
- "eo": "Pri mi",
- "glb": "Tem mi"
- },
- "common_about_us": {
- "en": "About Us",
- "uwu": "abowt us",
- "uwu2": "abouwt us",
- "bg": "За нас",
- "eo": "Pri ni",
- "glb": "Tem imi"
- },
- "common_archive": {
- "en": "Archive",
- "uwu": "awchive",
- "uwu2": "awchive",
- "bg": "Архив",
- "eo": "Arkivo",
- "glb": "Arcivo"
- },
- "common_archives": {
- "en": "Archives",
- "uwu": "awchives",
- "uwu2": "awchives",
- "bg": "Архиви",
- "eo": "Arkivoj",
- "glb": "Arcivo"
- },
- "common_article": {
- "en": "Article",
- "uwu": "awticwe",
- "uwu2": "awticwe",
- "bg": "Статия",
- "eo": "Artikolo",
- "glb": "Makale"
- },
- "common_articles": {
- "en": "Articles",
- "uwu": "awticwes",
- "uwu2": "awticwes",
- "bg": "Статии",
- "eo": "Artikoloj",
- "glb": "Makale"
- },
- "common_author": {
- "en": "Author",
- "uwu": "authow-chan",
- "uwu2": "authow",
- "bg": "Автор",
- "eo": "Aŭtoro",
- "glb": "Eskriyen"
- },
- "common_authors": {
- "en": "Authors",
- "uwu": "authow-chans",
- "uwu2": "authows",
- "bg": "Автори",
- "eo": "Aŭtoroj",
- "glb": "Eskriyen"
- },
- "common_blog": {
- "en": "Blog",
- "uwu": "bwog",
- "uwu2": "bwog",
- "bg": "Блог",
- "eo": "Blogo",
- "glb": "Blogu"
- },
- "common_blogs": {
- "en": "Blogs",
- "uwu": "bwogs",
- "uwu2": "bwogs",
- "bg": "Блогове",
- "eo": "Blogoj",
- "glb": "Blogu"
- },
- "common_category": {
- "en": "Category",
- "uwu": "categowy",
- "uwu2": "categowy",
- "bg": "Категория",
- "eo": "Kategorio",
- "glb": "Klase"
- },
- "common_categories": {
- "en": "Categories",
- "uwu": "categowies",
- "uwu2": "categowies",
- "bg": "Категории",
- "eo": "Kategorioj",
- "glb": "Klase"
- },
- "common_code": {
- "en": "Code",
- "uwu": "codey-wodey",
- "uwu2": "code",
- "bg": "Код",
- "eo": "Kodo",
- "glb": "Kodi"
- },
- "common_comment": {
- "en": "Comment",
- "uwu": "chatty",
- "uwu2": "commyent",
- "bg": "Коментар",
- "eo": "Komento",
- "glb": "Komenta"
- },
- "common_comments": {
- "en": "Comments",
- "uwu": "chatties",
- "uwu2": "commyents",
- "bg": "Коментари",
- "eo": "Komentoj",
- "glb": "Komenta"
- },
- "common_contacts": {
- "en": "Contacts",
- "uwu": "fwiend wist",
- "uwu2": "contwacts",
- "bg": "Контакти",
- "eo": "Kontaktoj",
- "glb": "Kontato"
- },
- "common_do_contact_me": {
- "en": "Contact Me",
- "uwu": "say hewwo to me",
- "uwu2": "contwact me",
- "bg": "Контакти",
- "eo": "Kontakti min",
- "glb": "Kontato mi"
- },
- "common_do_contact_us": {
- "en": "Contact Us",
- "uwu": "say hewwo to us",
- "uwu2": "contwact us",
- "bg": "Контакти",
- "eo": "Kontakti nin",
- "glb": "Kontato imi"
- },
- "common_do_follow": {
- "en": "Follow",
- "uwu": "befwiend",
- "uwu2": "fowwow",
- "bg": "Последвайте",
- "eo": "Sekvi",
- "glb": "Folo"
- },
- "common_do_install": {
- "en": "Install",
- "uwu": "instaww",
- "uwu2": "instaww",
- "bg": "Инсталирайте",
- "eo": "Instali",
- "glb": "Istala"
- },
- "common_do_read_more": {
- "en": "Read more",
- "uwu": "wead mowe",
- "uwu2": "wead mowe",
- "bg": "Прочетете повече",
- "eo": "Legu pli",
- "glb": "Doxo max"
- },
- "common_do_search": {
- "en": "Search",
- "uwu": "find stuffies",
- "uwu2": "seawch",
- "bg": "Търсене",
- "eo": "Serĉi",
- "glb": "Xerca"
- },
- "common_do_subscribe": {
- "en": "Subscribe",
- "uwu": "subscwibe",
- "uwu2": "subscwibe",
- "bg": "Абониране",
- "eo": "Aboni",
- "glb": "Abone"
- },
- "common_feed": {
- "en": "Feed",
- "uwu": "feedy",
- "uwu2": "feedy",
- "bg": "Емисия",
- "eo": "Fluo"
- },
- "common_feeds": {
- "en": "Feeds",
- "uwu": "feeds",
- "uwu2": "feeds",
- "bg": "Емисии",
- "eo": "Fluoj"
- },
- "common_forum": {
- "en": "Forum",
- "uwu": "chatty pwace",
- "uwu2": "fowum",
- "bg": "Форум",
- "eo": "Forumo",
- "glb": "Forum"
- },
- "common_home": {
- "en": "Home",
- "uwu": "home sweet home",
- "uwu2": "home",
- "bg": "Начало",
- "eo": "Hejmo",
- "glb": "Ogar"
- },
- "common_links": {
- "en": "Links",
- "uwu": "winkies",
- "uwu2": "winkies",
- "bg": "Връзки",
- "eo": "Ligiloj",
- "glb": "Linkutul"
- },
- "common_more": {
- "en": "More",
- "uwu": "mowe pwease",
- "uwu2": "mowe",
- "bg": "Още",
- "eo": "Pli",
- "glb": "Max to"
- },
- "common_news": {
- "en": "News",
- "uwu": "nyews",
- "uwu2": "nyews",
- "bg": "Новини",
- "eo": "Novaĵoj",
- "glb": "Haberi"
- },
- "common_photos": {
- "en": "Photos",
- "uwu": "pictwues",
- "uwu2": "photos uwu",
- "bg": "Снимки",
- "eo": "Fotoj",
- "glb": "Foto"
- },
- "common_preferences": {
- "en": "Preferences",
- "uwu": "favowite things",
- "uwu2": "pwefewences",
- "bg": "Предпочитания",
- "eo": "Preferoj",
- "glb": "Preferi"
- },
- "common_project": {
- "en": "Project",
- "uwu": "pwoject",
- "uwu2": "pwowject",
- "bg": "Проект",
- "eo": "Projekto",
- "glb": "Projeto"
- },
- "common_projects": {
- "en": "Projects",
- "uwu": "pwojects",
- "uwu2": "pwowjects",
- "bg": "Проекти",
- "eo": "Projektoj",
- "glb": "Projeto"
- },
- "common_settings": {
- "en": "Settings",
- "uwu": "customize me",
- "uwu2": "settin's",
- "bg": "Настройки",
- "eo": "Agordoj",
- "glb": "Setin"
- },
- "common_source_code": {
- "en": "Source code",
- "uwu": "magic spewws",
- "uwu2": "souce code",
- "bg": "Изходен код",
- "eo": "Fontkodo"
- },
- "common_tag": {
- "en": "Tag",
- "uwu": "tag",
- "uwu2": "tag",
- "bg": "Етикет",
- "eo": "Etikedo",
- "glb": "Label"
- },
- "common_tags": {
- "en": "Tags",
- "uwu": "tags",
- "uwu2": "tags",
- "bg": "Етикети",
- "eo": "Etikedoj",
- "glb": "Label"
- },
- "common_team": {
- "en": "Team",
- "uwu": "fwiend gwoup",
- "uwu2": "teamy",
- "bg": "Екип",
- "eo": "Teamo",
- "glb": "Tim"
- },
- "language_names": {
- "en": "English",
- "uwu": "engwish (uwu)",
- "uwu2": "Engwish (uwu)",
- "bg": "български",
- "eo": "Esperanto",
- "glb": "Globasa"
- },
- "word_translations": {
- "en": "Translations",
- "uwu": "twanswations",
- "uwu2": "twanswations",
- "bg": "Преводи",
- "eo": "Tradukoj",
- "glb": "Basatayti"
- },
- "taxonomy_tags": {
- "en": "Tags",
- "uwu": "tags",
- "uwu2": "tags",
- "bg": "Етикети",
- "eo": "Etikedoj",
- "glb": "Label"
- },
- "taxonomy_categories": {
- "en": "Categories",
- "uwu": "categowies",
- "uwu2": "categowies",
- "bg": "Категории",
- "eo": "Kategorioj",
- "glb": "Klase"
- },
- "taxonomy_authors": {
- "en": "Authors",
- "uwu": "authow-chans",
- "uwu2": "authows",
- "bg": "Автори",
- "eo": "Aŭtoroj",
- "glb": "Eskriyen"
- },
- "footer_powered_by": {
- "en": "Powered by $$Zola$$ and $$Linkita$$",
- "uwu": "made with wuv by $$zola$$ and $$linkita$$",
- "uwu2": "powewed by $$zola$$ an' $$linkita$$",
- "bg": "Осъществено чрез $$Зола$$ и $$Линкита$$",
- "eo": "Funkciigita de $$Zola$$ kaj $$Linkita$$",
- "glb": "$$Zola$$ | $$Linkita$$"
- },
- "word_prev_page": {
- "en": "Prev Page",
- "uwu": "pwev page",
- "uwu2": "Pwev Page",
- "bg": "Предишна страница",
- "eo": "Antaŭa paĝo",
- "glb": "sayfa"
- },
- "word_next_page": {
- "en": "Next Page",
- "uwu": "nyext page",
- "uwu2": "Nyext Page",
- "bg": "Следваща страница",
- "eo": "Sekva paĝo",
- "glb": "sayfa"
- },
- "word_toc": {
- "en": "Table of Contents",
- "uwu": "tabwe of contyents",
- "uwu2": "Tabwe of Contyents",
- "bg": "Съдържание",
- "eo": "Enhavtabelo",
- "glb": "Inhare"
- },
- "word_minutes": {
- "en": "min",
- "uwu": "minnyutes",
- "uwu2": "minnytes",
- "bg": "мин",
- "eo": "min",
- "glb": "min"
- },
- "word_words": {
- "en": "words",
- "uwu": "wowds",
- "uwu2": "wowds",
- "bg": "думи",
- "eo": "vortoj",
- "glb": "lexi"
- },
- "word_more": {
- "en": "More >>",
- "uwu": "mowe >>",
- "uwu2": "Mowe >>",
- "bg": "Още >>",
- "eo": "Pli >>",
- "glb": "Max to >>"
- },
- "error_not_found": {
- "en": "404: Page not found!",
- "uwu": "404: page got wost in the void!",
- "uwu2": "404: P-page nyot found! >.<",
- "bg": "404: Страницата не е намерена!",
- "eo": "404: ne trovita!",
- "glb": "404"
- }
-}
diff --git a/static/icons/abstract.svg b/static/icons/abstract.svg
deleted file mode 100644
index 3f99d72..0000000
--- a/static/icons/abstract.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/bluesky.svg b/static/icons/bluesky.svg
deleted file mode 100644
index ce0126e..0000000
--- a/static/icons/bluesky.svg
+++ /dev/null
@@ -1 +0,0 @@
-Bluesky
\ No newline at end of file
diff --git a/static/icons/bug.svg b/static/icons/bug.svg
deleted file mode 100644
index 26b46fe..0000000
--- a/static/icons/bug.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/codeberg.svg b/static/icons/codeberg.svg
deleted file mode 100644
index c560579..0000000
--- a/static/icons/codeberg.svg
+++ /dev/null
@@ -1 +0,0 @@
-Codeberg
\ No newline at end of file
diff --git a/static/icons/danger.svg b/static/icons/danger.svg
deleted file mode 100644
index a66018a..0000000
--- a/static/icons/danger.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/email.svg b/static/icons/email.svg
deleted file mode 100644
index d6f8efd..0000000
--- a/static/icons/email.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/example.svg b/static/icons/example.svg
deleted file mode 100644
index 5dee615..0000000
--- a/static/icons/example.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/failure.svg b/static/icons/failure.svg
deleted file mode 100644
index 59e0d29..0000000
--- a/static/icons/failure.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/git.svg b/static/icons/git.svg
deleted file mode 100644
index 13af359..0000000
--- a/static/icons/git.svg
+++ /dev/null
@@ -1 +0,0 @@
-Git
\ No newline at end of file
diff --git a/static/icons/github.svg b/static/icons/github.svg
deleted file mode 100644
index 538ec5b..0000000
--- a/static/icons/github.svg
+++ /dev/null
@@ -1 +0,0 @@
-GitHub
\ No newline at end of file
diff --git a/static/icons/home.svg b/static/icons/home.svg
deleted file mode 100644
index 8376733..0000000
--- a/static/icons/home.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/info.svg b/static/icons/info.svg
deleted file mode 100644
index 652acbe..0000000
--- a/static/icons/info.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/note.svg b/static/icons/note.svg
deleted file mode 100644
index 664f2cf..0000000
--- a/static/icons/note.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/question.svg b/static/icons/question.svg
deleted file mode 100644
index dadbbd2..0000000
--- a/static/icons/question.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/quote.svg b/static/icons/quote.svg
deleted file mode 100644
index 5d1ee18..0000000
--- a/static/icons/quote.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/rss.svg b/static/icons/rss.svg
deleted file mode 100644
index 7920dc2..0000000
--- a/static/icons/rss.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/static/icons/search.svg b/static/icons/search.svg
deleted file mode 100644
index 2be2aec..0000000
--- a/static/icons/search.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/success.svg b/static/icons/success.svg
deleted file mode 100644
index 9ba4259..0000000
--- a/static/icons/success.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/theme.svg b/static/icons/theme.svg
deleted file mode 100644
index b12bc66..0000000
--- a/static/icons/theme.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/static/icons/tip.svg b/static/icons/tip.svg
deleted file mode 100644
index d9a1cc8..0000000
--- a/static/icons/tip.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/translations.svg b/static/icons/translations.svg
deleted file mode 100644
index c093f80..0000000
--- a/static/icons/translations.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/icons/warning.svg b/static/icons/warning.svg
deleted file mode 100644
index 0a695fd..0000000
--- a/static/icons/warning.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/js/linkita-search.js b/static/js/linkita-search.js
deleted file mode 100644
index ad1b62e..0000000
--- a/static/js/linkita-search.js
+++ /dev/null
@@ -1,83 +0,0 @@
-"use strict";
-(function () {
- let searchFiles;
- let mySearchIndex;
-
- function toggleSearch() {
- const searchWrapperEl = document.getElementById("linkita-search-wrapper");
- const searchResultsEl = document.getElementById("linkita-search-results");
- if (null == searchWrapperEl || null == searchResultsEl) {
- console.error("searchWrapper is null");
- return;
- } else {
- searchWrapperEl.classList.remove("hidden");
- }
-
- const q = prompt("Enter your search term");
- if (null == q) {
- searchWrapperEl.classList.add("hidden");
- return;
- }
-
- if ("undefined" === typeof (searchIndex) && "undefined" === typeof (elasticlunr)) {
- searchResultsEl.innerHTML = "
Search: Please wait... ";
- Promise.all(searchFiles.map(loadScript))
- .catch(error => {
- showError(searchResultsEl, "Search file not found: " + error + "
");
- })
- .then((t) => {
- mySearchIndex = elasticlunr.Index.load(window.searchIndex);
- doSearch(q, searchResultsEl);
- });
- } else {
- doSearch(q, searchResultsEl);
- }
- }
-
- function doSearch(q, searchResultsEl) {
- const searchResults = mySearchIndex.search(q);
- const searchResultsCount = searchResults.length;
- if (searchResultsCount > 0) {
- const searchResultsRows = ["" + searchResultsCount + " search " +
- (searchResultsCount === 1 ? "result" : "results") + " for " + mySafe(q) + "
: "];
- for (let i = 0; i < searchResultsCount; i++) {
- const searchResult = searchResults[i];
- searchResultsRows.push("" +
- mySafe(searchResult.doc.title) + " ");
- }
- searchResultsEl.innerHTML = searchResultsRows.join("");
- searchResultsEl.scrollIntoViewIfNeeded();
- } else {
- showError(searchResultsEl, "No search results for " + mySafe(q) + "
. ");
- }
- }
-
- function showError(searchResultsEl, err) {
- searchResultsEl.innerHTML = err;
- searchResultsEl.scrollIntoViewIfNeeded();
- }
-
- function mySafe(code) {
- return code.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'");
- }
-
- function loadScript(fileName) {
- return new Promise((resolve, reject) => {
- const scriptEl = document.createElement("script");
- scriptEl.onload = () => resolve(fileName);
- scriptEl.onerror = () => reject(fileName);
- scriptEl.async = true;
- scriptEl.src = fileName;
- document.head.appendChild(scriptEl);
- });
- }
-
- function initSearchButton(filenames) {
- searchFiles = filenames;
- }
-
- if (null == window.linkita) window.linkita = {};
- window.linkita.toggleSearch = toggleSearch;
- window.linkita.initSearchButton = initSearchButton;
-})();
diff --git a/static/js/linkita.js b/static/js/linkita.js
deleted file mode 100644
index c54df7d..0000000
--- a/static/js/linkita.js
+++ /dev/null
@@ -1,116 +0,0 @@
-"use strict";
-(function () {
- const htmlClass = document.documentElement.classList;
- const themeColorTag = document.head.querySelector('meta[name="theme-color"]');
- const darkScheme = window.matchMedia("(prefers-color-scheme: dark)");
-
- function applyDarkMode(isDark, doDispatchEvent) {
- if (isDark) {
- htmlClass.add("dark");
- themeColorTag?.setAttribute("content", themeColorTag.dataset.dark);
- } else {
- htmlClass.remove("dark");
- themeColorTag?.setAttribute("content", themeColorTag.dataset.light);
- }
- if (doDispatchEvent) {
- document.body?.dispatchEvent(new CustomEvent("set-theme",
- { detail: isDark ? "dark" : "light" }));
- }
- }
-
- function initDarkMode() {
- const darkVal = localStorage.getItem("dark");
- if (darkVal) {
- applyDarkMode(darkVal === "dark", false);
- } else if (htmlClass.contains("dark")) {
- applyDarkMode(true, false);
- } else {
- applyDarkMode(darkScheme.matches, false);
- }
-
- darkScheme.addEventListener("change", (event) => {
- applyDarkMode(event.matches, true);
- });
-
- htmlClass.remove("not-ready");
- }
-
- function toggleDarkMode() {
- const isDark = !htmlClass.contains("dark");
- applyDarkMode(isDark, true);
- localStorage.setItem("dark", isDark ? "dark" : "light");
- }
-
- function resetDarkMode() {
- localStorage.removeItem("dark");
- applyDarkMode(darkScheme.matches, true);
- }
-
- function initTranslationsButton(btn) {
- let userLanguages = [];
- if (navigator.languages) {
- userLanguages = navigator.languages;
- } else if (navigator.language) {
- userLanguages = [navigator.language];
- } else if (navigator.userLanguage) {
- userLanguages = [navigator.userLanguage];
- }
- const pageLanguage = document.documentElement.getAttribute("lang");
- const pageTranslations = new Map();
- document.head.querySelectorAll("link[rel='alternate'][hreflang]").forEach(el => {
- const hreflang = el.getAttribute("hreflang");
- const href = el.getAttribute("href");
- if (hreflang !== pageLanguage) {
- pageTranslations.set(hreflang, href);
- const hreflangcode = hreflang.split("-")[0];
- if (!pageTranslations.has(hreflangcode)) {
- pageTranslations.set(hreflangcode, href);
- }
- }
- });
- for (let i = 0; i < userLanguages.length; i++) {
- const userLanguage = userLanguages[i];
- const pageTranslation = pageTranslations.get(userLanguage) ||
- pageTranslations.get(userLanguage.split("-")[0]);
- if (undefined != pageTranslation) {
- btn.classList.remove("hidden");
- btn.addEventListener("click", () => {
- window.location.href = pageTranslation;
- });
- break;
- }
- }
- }
-
- function toggleHeaderMenu() {
- htmlClass.toggle("open");
- }
-
- function initKatex() {
- window.renderMathInElement(document.body, {
- // customised options
- // • auto-render specific keys, e.g.:
- delimiters: [
- { left: "$$", right: "$$", display: true },
- { left: "$", right: "$", display: false },
- ],
- // • rendering keys, e.g.:
- throwOnError: false,
- })
- }
-
- function main() {
- initDarkMode();
-
- window.linkita = {
- applyDarkMode: applyDarkMode,
- toggleDarkMode: toggleDarkMode,
- resetDarkMode: resetDarkMode,
- initTranslationsButton: initTranslationsButton,
- toggleHeaderMenu: toggleHeaderMenu,
- initKatex: initKatex,
- };
- }
-
- main();
-})();
diff --git a/static/main.css b/static/main.css
deleted file mode 100644
index a9d3949..0000000
--- a/static/main.css
+++ /dev/null
@@ -1 +0,0 @@
-*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body,html{height:100%}html{--bg:transparent;--bg-dark:transparent;--header:transparent;--header-dark:transparent}body{-webkit-tap-highlight-color:transparent;background:var(--bg)}.dark body{background:var(--bg-dark)}*,:after,:before{unicode-bidi:plaintext}pre mark{display:block;color:inherit}pre table{margin:0!important;width:100%!important;border-collapse:collapse}pre table tr{border-width:0!important;border-style:none!important}pre table td{padding:0!important}pre table td:first-of-type{min-width:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.prose .footnote-definition{display:flex}.prose .footnote-definition p{margin:0}.prose .footnote-definition .footnote-definition-label{position:static;margin-right:.5rem;font-size:1rem;line-height:1.5rem}.prose .footnote-definition .footnote-definition-label:after{content:"."}a{text-underline-offset:2px}sup a{text-underline-offset:1px}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-neutral{--tw-prose-body:#404040;--tw-prose-headings:#171717;--tw-prose-lead:#525252;--tw-prose-links:#171717;--tw-prose-bold:#171717;--tw-prose-counters:#737373;--tw-prose-bullets:#d4d4d4;--tw-prose-hr:#e5e5e5;--tw-prose-quotes:#171717;--tw-prose-quote-borders:#e5e5e5;--tw-prose-captions:#737373;--tw-prose-kbd:#171717;--tw-prose-kbd-shadows:23 23 23;--tw-prose-code:#171717;--tw-prose-pre-code:#e5e5e5;--tw-prose-pre-bg:#262626;--tw-prose-th-borders:#d4d4d4;--tw-prose-td-borders:#e5e5e5;--tw-prose-invert-body:#d4d4d4;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#a3a3a3;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#a3a3a3;--tw-prose-invert-bullets:#525252;--tw-prose-invert-hr:#404040;--tw-prose-invert-quotes:#f5f5f5;--tw-prose-invert-quote-borders:#404040;--tw-prose-invert-captions:#a3a3a3;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d4d4d4;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#525252;--tw-prose-invert-td-borders:#404040}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-8{left:2rem;right:2rem}.bottom-20{bottom:5rem}.top-0{top:0}.z-40{z-index:40}.z-50{z-index:50}.\!my-0{margin-top:0!important;margin-bottom:0!important}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1\.5{margin-left:.375rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-5{margin-right:1.25rem}.mr-6{margin-right:1.5rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.min-h-\[3\.25rem\]{min-height:3.25rem}.min-h-\[calc\(100\%-4rem\)\]{min-height:calc(100% - 4rem)}.w-16{width:4rem}.w-4{width:1rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-\[50\%\]{min-width:50%}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-4{gap:1rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)))}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border-\[0\.5px\]{border-width:.5px}.border-black\/10{border-color:rgba(0,0,0,.1)}.\!bg-black\/5{background-color:rgba(0,0,0,.05)!important}.bg-\[var\(--admonition-bg\)\]{background-color:var(--admonition-bg)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-white\/50{background-color:hsla(0,0%,100%,.5)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.bg-no-repeat{background-repeat:no-repeat}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-28{padding-top:7rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[0\]{font-size:0}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.\!leading-none{line-height:1!important}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.not-ready *{transition-property:none!important}.btn-menu:after,.btn-menu:before{display:block;height:2px;width:1.25rem;--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));transition-duration:.2s;--tw-content:"";content:var(--tw-content)}.btn-menu:is(.dark *):after,.btn-menu:is(.dark *):before{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.open .btn-menu:before{--tw-translate-y:5.5px;--tw-rotate:45deg}.open .btn-menu:after,.open .btn-menu:before{width:1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.open .btn-menu:after{--tw-translate-y:-5.5px;--tw-rotate:-45deg}.nav-wrapper{display:none}@media (min-width:1024px){.nav-wrapper{display:flex}}.open .nav-wrapper{display:flex}article{font-size:1.125rem;line-height:1.75rem}.header{background-color:var(--header)}.dark .header{background:var(--header-dark)}.blur-header{background-color:rgba(0,0,0,.1);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.blur-header:is(.dark *){background-color:hsla(0,0%,100%,.1)}.block-bg{background-color:rgb(0 0 0/3%)}.block-bg:is(.dark *){background-color:hsla(0,0%,100%,.08)}.block-hover:hover{background-color:rgb(0 0 0/5%)}.block-hover:hover:is(.dark *){background-color:hsla(0,0%,100%,.11)}.block-hover-mask:hover{background-color:rgb(0 0 0/2%)}.block-hover-mask:hover:is(.dark *){background-color:hsla(0,0%,100%,.03)}.primary-link{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));text-decoration-line:none}.primary-link:hover{opacity:.8}.primary-link:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.secondary-link{color:var(--tw-prose-body);text-decoration-line:none}.secondary-link:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.secondary-link:hover:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.width-scroll{overflow-x:auto}.\[background-image\:var\(--url-dark\)\]{background-image:var(--url-dark)}.\[background\:var\(--url\)_center_center\/cover_no-repeat\]{background:var(--url) center center/cover no-repeat}.\[background\:var\(--url\)_center_center_no-repeat\]{background:var(--url) center center no-repeat}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.first-of-type\:mt-0:first-of-type{margin-top:0}.last-of-type\:mb-0:last-of-type{margin-bottom:0}@keyframes spin{to{transform:rotate(1turn)}}.hover\:animate-spin:hover{animation:spin 1s linear infinite}.hover\:underline:hover{text-decoration-line:underline}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.prose-pre\:rounded-lg :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.5rem}.prose-img\:rounded-lg :is(:where(img):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.5rem}.dark\:bg-white\/80:is(.dark *){background-color:hsla(0,0%,100%,.8)}.dark\:bg-white\/\[15\%\]:is(.dark *){background-color:hsla(0,0%,100%,.15)}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:invert:is(.dark *){--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:\[background-image\:var\(--url-light\)\]:is(.dark *){background-image:var(--url-light)}@media (min-width:768px){.md\:min-h-\[18rem\]{min-height:18rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[4rem\]{height:4rem}.lg\:w-auto{width:auto}.lg\:basis-1\/2{flex-basis:50%}.lg\:flex-row{flex-direction:row}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:self-center{align-self:center}.lg\:p-6{padding:1.5rem}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\:pt-32{padding-top:8rem}.lg\:text-base{font-size:1rem;line-height:1.5rem}}
\ No newline at end of file
diff --git a/tailwind.config.js b/tailwind.config.js
deleted file mode 100644
index 36ccdf5..0000000
--- a/tailwind.config.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- content: ["./templates/**/*.html"],
- darkMode: "class",
- theme: {
- extend: {},
- },
- safelist: ["width-scroll"],
- plugins: [require("@tailwindcss/typography")],
-};
diff --git a/templates/404.html b/templates/404.html
deleted file mode 100644
index fec9e11..0000000
--- a/templates/404.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-{{
- macros::translate(key="error_not_found", language=lang, trans_data=trans_data) }}
-{% endblock main %}
diff --git a/templates/archive.html b/templates/archive.html
deleted file mode 100644
index b5a7485..0000000
--- a/templates/archive.html
+++ /dev/null
@@ -1,29 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-{{ page.title }}
-
-{% set section = get_section(path=page.extra.section) %}
-
-{% for year, posts in section.pages | group_by(attribute="year") %}
-{{ year }} {{ posts | length }}
-
-
-
- {% for post in posts %}
-
-
-
{{ post.title }}
- {%- set date_format_archive = config.extra.languages[lang].date_format_archive | default(value="%m-%d") %}
-
{%
- if config.extra.languages[lang].locale %}{{ post.date | date(format=date_format_archive,
- locale=config.extra.languages[lang].locale) }}{%
- else %}{{ post.date | date(format=date_format_archive) }}{% endif %}
-
-
- {% endfor %}
-
-
-
-{% endfor %}
-{% endblock main %}
diff --git a/templates/index.html b/templates/index.html
deleted file mode 100644
index 78fdfe9..0000000
--- a/templates/index.html
+++ /dev/null
@@ -1,35 +0,0 @@
-{% import "macros.html" as macros %}
-{%- set trans_data = load_data(path="i18n.json", format="json") -%}
-
-
- {% include "partials/head.html" %}
-
- {% include "partials/header.html" %}
-
-
- {% include "injects/body_start.html" ignore missing %}
-
-
- {%- if config.build_search_index %}
- {% include "partials/search.html" %}
- {%- endif %}
- {% block main %}
-
-
- {%- if paginator is undefined or paginator.current_index == 1 %}
- {% include "partials/profile.html" %}
- {%- endif %}
-
- {% include "partials/page_list.html" %}
- {% endblock main %}
-
-
- {% include "partials/footer.html" %}
-
-
- {% include "injects/body_end.html" ignore missing %}
-
-
diff --git a/templates/macros.html b/templates/macros.html
deleted file mode 100644
index 65f1145..0000000
--- a/templates/macros.html
+++ /dev/null
@@ -1,37 +0,0 @@
-{%- macro get_social_icon(icon) -%}
-{%- set path = "icons/" ~ icon ~ ".svg" -%}
-{%- set meta = get_image_metadata(path=path, allow_missing=true) -%}
-{%- if meta -%}
-{{- get_url(path=path) -}}
-{%- else -%}
-{{- "https://cdn.jsdelivr.net/npm/simple-icons/icons/" ~ icon ~ ".svg" -}}
-{%- endif -%}
-{%- endmacro get_social_icon -%}
-
-{%- macro get_profile_name(username) -%}
-{%- if config.extra.profiles[username] -%}
-{%- set profile_data = config.extra.profiles[username] -%}
-{%- if profile_data.languages[lang].name -%}
-{%- set profile_name = profile_data.languages[lang].name -%}
-{%- elif profile_data.name -%}
-{%- set profile_name = profile_data.name -%}
-{%- else -%}
-{%- set profile_name = username -%}
-{%- endif -%}
-{%- else -%}
-{%- set profile_name = username -%}
-{%- endif -%}
-{%- if profile_name -%}
-{{- profile_name -}}
-{%- endif -%}
-{%- endmacro get_profile_name -%}
-
-{%- macro translate(key, language, trans_data) -%}
-{%- if trans_data[key][language] -%}
-{{- trans_data[key][language] -}}
-{%- elif trans_data[key]["en"] -%}
-{{- trans_data[key]["en"] -}}
-{%- else -%}
-{{- trans_data[key][language] -}}
-{%- endif -%}
-{%- endmacro translate -%}
diff --git a/templates/page.html b/templates/page.html
deleted file mode 100644
index f83f571..0000000
--- a/templates/page.html
+++ /dev/null
@@ -1,38 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-
- {% include "injects/page_start.html" ignore missing %}
-
-
- {{ page.title }}
- {% include "partials/page_info.html" %}
-
-
- {% if page.extra.cover.image %}
-
-
-
- {% endif %}
-
-
- {% include "partials/toc.html" %}
-
-
- {{ page.content | safe }}
-
-
- {% include "partials/post_taxonomies.html" %}
-
- {% include "partials/post_navigation.html" %}
-
- {% if page.extra.comment | default(value=config.extra.comment) %}
- {% include "partials/comment.html" %}
- {% endif %}
-
- {% include "injects/page_end.html" ignore missing %}
-
-{% endblock main %}
diff --git a/templates/pages.html b/templates/pages.html
deleted file mode 100644
index ab016c2..0000000
--- a/templates/pages.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-
-
- {{ page.content | safe }}
-
-{% endblock main %}
diff --git a/templates/partials/comment.html b/templates/partials/comment.html
deleted file mode 100644
index 7bae819..0000000
--- a/templates/partials/comment.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{% if config.extra.giscus.repo and not config.extra.disable_javascript %}
-
-
-{% endif %}
diff --git a/templates/partials/footer.html b/templates/partials/footer.html
deleted file mode 100644
index 4e086bd..0000000
--- a/templates/partials/footer.html
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
- {%- if lang == config.default_language %}
- {%- set base_url_prefix = config.base_url %}
- {%- else %}
- {%- set base_url_prefix = config.base_url ~ "/" ~ lang %}
- {%- endif %}
- {%- if config.extra.footer.copyright %}
- {%- set copyright = config.extra.footer.copyright | replace(from=`$BASE_URL`, to=base_url_prefix)%}
- {%- if config.extra.footer.license_url %}
- {%- set license_url = config.extra.footer.license_url | replace(from=`$BASE_URL`, to=base_url_prefix) %}
- {%- set copyright = copyright | replace(from=`$LICENSE_URL`, to=license_url) %}
- {%- endif %}
- {%- else %}
- {%- if config.author %}
- {%- set author_name = macros::get_profile_name(username=config.author) %}
- {%- set copyright = "© $YEAR " ~ author_name %}
- {%- else %}
- {%- set copyright = "© $YEAR" %}
- {%- endif %}
- {%- if config.extra.footer.license_url %}
- {%- set license_url = config.extra.footer.license_url | replace(from=`$BASE_URL`, to=base_url_prefix) %}
- {%- set copyright = "[" ~ copyright ~ "](" ~ license_url ~ ')' %}
- {%- endif %}
- {%- endif %}
- {%- set current_year = now() | date(format="%Y") | int %}
- {%- if config.extra.footer.since and config.extra.footer.since != current_year %}
- {%- set copyright_years = '' ~
- config.extra.footer.since ~ ' - ' ~
- current_year ~ ' ' %}
- {%- else %}
- {%- set copyright_years = '' ~ current_year ~ ' ' %}
- {%- endif %}
- {%- set copyright = copyright | replace(from=`$YEAR`, to=copyright_years) %}
- {{ copyright | markdown(inline=true) | safe }}
-
-
-{%- if not config.extra.disable_javascript %}
-
- {%- if page.extra.mermaid | default(value=config.extra.mermaid) %}
- {% include "partials/mermaid.html" %}
- {%- endif %}
-
- {%- if config.extra.goatcounter.endpoint %}
- {%- if config.base_url is not starting_with("http://192.168.") and
- config.base_url is not starting_with("http://127.0.0.1") %}
-
- {%- endif %}
- {%- endif %}
-{%- endif %}
-
- {% include "injects/footer.html" ignore missing %}
-
diff --git a/templates/partials/head.html b/templates/partials/head.html
deleted file mode 100644
index b9fa830..0000000
--- a/templates/partials/head.html
+++ /dev/null
@@ -1,358 +0,0 @@
-{% import "macros.html" as macros %}
-{%- if section.extra.profile or page.extra.profile %}
- {%- set profile_username = page.extra.profile | default(value=section.extra.profile) %}
-{%- elif taxonomy.name and taxonomy.name == "authors" and term.name %}
- {%- set profile_username = term.name %}
-{%- endif %}
-{%- if profile_username and config.extra.profiles[profile_username] %}
- {%- set profile_data = config.extra.profiles[profile_username] %}
-{%- endif %}
-{%- if page.taxonomies.authors %}
- {%- set page_authors = page.taxonomies.authors %}
-{%- elif page.authors %}
- {%- set page_authors = page.authors %}
-{%- elif config.author %}
- {%- set page_authors = [config.author] %}
-{%- else %}
- {%- set page_authors = [] %}
-{%- endif %}
-
-{%- if lang == config.default_language %}
- {%- set base_url_prefix = config.base_url %}
-{%- else %}
- {%- set base_url_prefix = config.base_url ~ "/" ~ lang %}
-{%- endif %}
-{%- set config_title = config.title | default(value="") %}
-{%- set title_separator = config.extra.title_separator | default(value= " | ") %}
-
-
-
-
-
-{%- if page.title %}
- {%- set page_title = page.title %}
- {%- if page.description %}
- {%- set page_description = page.description %}
- {%- elif page.summary %}
- {%- set page_description = page.summary | linebreaksbr | striptags %}
- {%- endif %}
-{%- elif taxonomy.name %}
- {%- if taxonomy.name == "tags"%}
- {%- set page_title = macros::translate(key="taxonomy_tags", language=lang, trans_data=trans_data) %}
- {%- elif taxonomy.name == "categories"%}
- {%- set page_title = macros::translate(key="taxonomy_categories", language=lang, trans_data=trans_data) %}
- {%- elif taxonomy.name == "authors"%}
- {%- set page_title = macros::translate(key="taxonomy_authors", language=lang, trans_data=trans_data) %}
- {%- else %}
- {%- set page_title = taxonomy.name %}
- {%- endif %}
- {%- if term.name %}
- {%- if taxonomy.name == "authors" %}
- {%- set term_name = macros::get_profile_name(username=term.name) %}
- {%- set page_title = term_name ~ title_separator ~ page_title %}
- {%- else %}
- {%- set page_title = term.name ~ title_separator ~ page_title %}
- {%- endif %}
- {%- endif %}
-{%- elif section.title %}
- {%- set page_title = section.title %}
- {%- if section.description %}
- {%- set page_description = section.description %}
- {%- endif %}
-{%- elif current_url %}
- {%- set page_title = config_title %}
- {%- set page_description = config.description | default(value="") %}
-{%- else %}
- {%- set page_title = macros::translate(key="error_not_found", language=lang, trans_data=trans_data) %}
- {%- set is_404 = true %}
-
-
-{%- endif %}
-
-{%- if page_title %}
- {%- if config_title %}
- {%
- if page_title == config_title %}{{ page_title }}{%
- else %}{{ page_title ~ title_separator ~ config_title }}{%
- endif %}
-
- {%- else %}
- {{ page_title }}
- {%- endif %}
-
-{%- endif %}
-{%- if page_description %}
-
-
-{%- endif %}
-{%- if current_url %}
- {%- if page.extra.open_graph.url %}
-
- {%- else %}
-
- {%- endif %}
-
-
-{%- endif %}
-
-{%- if page.date %}
-
- {%- if page.date %}
-
- {%- endif %}
- {%- if page.updated %}
-
- {%- endif %}
- {%- if page.extra.expiration_time %}
-
- {%- endif %}
- {%- if page.taxonomies.authors %}
- {%- for page_author in page.taxonomies.authors %}
-
- {%- endfor %}
- {%- endif %}
- {%- if page.extra.open_graph.content_tier %}
-
- {%- endif %}
- {%- if page.extra.open_graph.section %}
-
- {%- endif %}
- {%- if page.extra.open_graph.opinion is defined %}
-
- {%- endif %}
-
- {%- if page.extra.open_graph.locations %}
- {%- for og_location in page.extra.open_graph.locations %}
-
- {%- endfor %}
- {%- endif %}
-
- {%- if page.extra.open_graph.tags %}
- {%- for og_tag in page.extra.open_graph.tags %}
-
- {%- endfor %}
- {%- endif %}
-{%- elif profile_username %}
-
- {%- if profile_data.open_graph.first_name %}
-
- {%- endif %}
- {%- if profile_data.open_graph.last_name %}
-
- {%- endif %}
- {%- if profile_data.open_graph.username %}
-
- {%- endif %}
- {%- if profile_data.open_graph.gender %}
-
- {%- endif %}
-{%- else %}
-
-{%- endif %}
-
-{%- if page.translations or section.translations %}
- {%- set page_translations = page.translations | default(value=section.translations) %}
- {%- for page_translation in page_translations %}
- {%- if page_translation.lang == lang and config.extra.languages[lang].locale %}
-
- {%- elif config.extra.languages[page_translation.lang].locale %}
-
- {%- endif %}
-
- {%- endfor %}
-{%- endif %}
-
-{%- if paginator.previous %}
-
-{%- endif %}
-{%- if paginator.next %}
-
-{%- endif %}
-
-{%- if profile_data or (config.author and config.extra.profiles[config.author]) %}
- {#- order is important #}
- {%- if config.extra.profiles[config.author].open_graph %}
- {%- set profile_og_data = config.extra.profiles[config.author].open_graph %}
- {%- if profile_og_data.fb_app_id %}
-
- {%- endif %}
- {%- if profile_og_data.fb_admins %}
- {%- for fb_admin in profile_og_data.fb_admins %}
-
- {%- endfor %}
- {%- endif %}
- {%- endif %}
- {%- if profile_data.open_graph %}
- {%- set profile_og_data = profile_data.open_graph %}
- {%- endif %}
- {%- if profile_og_data.fediverse_creator.handle and profile_og_data.fediverse_creator.domain %}
-
- {%- if profile_og_data.fediverse_creator.url %}
-
- {%- else %}
-
- {%- endif %}
- {%- endif %}
-{%- endif %}
-
-{%- if page.extra.cover.image or profile_data.open_graph.image or (
- config.author and config.extra.profiles[config.author].open_graph.image) %}
- {%- if page.extra.cover.image %}
- {%- set og_image_path = page.extra.cover.image %}
- {%- set og_image_alt = page.extra.cover.alt | default(value="cover") %}
- {%- elif profile_data.open_graph.image %}
- {%- set og_image_path = profile_data.open_graph.image %}
- {%- if profile_data.open_graph.languages[lang].image_alt is defined %}
- {%- set og_image_alt = profile_data.open_graph.languages[lang].image_alt %}
- {%- else %}
- {%- set og_image_alt = profile_data.open_graph.image_alt | default(value=profile_username) %}
- {%- endif %}
- {%- else %}
- {%- set og_image_path = config.extra.profiles[config.author].open_graph.image %}
- {%- if config.extra.profiles[config.author].open_graph.languages[lang].image_alt is defined %}
- {%- set og_image_alt = config.extra.profiles[config.author].open_graph.languages[lang].image_alt %}
- {%- else %}
- {%- set og_image_alt = config.extra.profiles[config.author].open_graph.image_alt | default(value=config.author) %}
- {%- endif %}
- {%- endif %}
-
-
- {%- if page.extra.cover_type or page.extra.cover_width or page.extra.cover_height %}
-
-
- >
- {%- else %}
- {%- set og_image_data = get_image_metadata(path=og_image_path, allow_missing=true) %}
- {%- if og_image_data.mime and og_image_data.width and og_image_data.height %}
-
-
-
- {%- endif %}
- {%- endif %}
-{%- endif %}
-
-{%- if page.extra.open_graph.audio %}
-
- {%- if page.extra.open_graph.audio_type %}
-
- {%- endif %}
-{%- endif %}
-
-{%- if page.extra.open_graph.video %}
-
- {%- if page.extra.open_graph.video_type %}
-
-
-
- {%- endif %}
-{%- endif %}
-
-{%- if config.extra.webmanifest %}
-
-{%- endif %}
-{%- if config.extra.footer.license_url %}
-
-{%- endif %}
-{%- if config.extra.footer.privacy_policy_url %}
-
-{%- endif %}
-{%- if config.extra.footer.terms_of_service_url %}
-
-{%- endif %}
-{%- if config.extra.footer.search_page_url %}
-
-{%- endif %}
-
-{%- if config.generate_feeds or (taxonomy.feed and term.path) %}
- {%- for feed_filename in config.feed_filenames %}
- {%- if taxonomy.feed and term.path %}
- {%- set feed_title = page_title ~ title_separator %}
- {%- set feed_filename = term.path ~ feed_filename %}
- {%- elif config_title %}
- {%- set feed_title = config_title ~ title_separator %}
- {%- else %}
- {%- set feed_title = "" %}
- {%- endif %}
- {%- if feed_filename is ending_with("atom.xml") %}
-
- {%- elif feed_filename is ending_with("rss.xml") %}
-
- {%- else %}
-
- {%- endif %}
- {%- endfor %}
-{%- endif %}
-
-
-
-
-
-
-
-{%- if profile_data %}
- {%- if profile_data.avatar_url %}
-
- {%- endif %}
- {%- if profile_data.social %}
- {%- for image_social in profile_data.social %}
-
- {%- endfor %}
- {%- endif %}
-{%- endif %}
-
-{%- if not config.extra.disable_default_favicon %}
-
-
-
-{%- endif %}
-
-{%- if not config.extra.disable_javascript %}
-
- {%- if config.build_search_index %}
-
- {%- endif %}
-
- {%- if page.extra.math | default(value=config.extra.math) %}
-
-
-
-
- {%- endif %}
-{%- endif %}
-
-
- {% include "injects/head.html" ignore missing %}
-
diff --git a/templates/partials/header.html b/templates/partials/header.html
deleted file mode 100644
index 27741b4..0000000
--- a/templates/partials/header.html
+++ /dev/null
@@ -1,104 +0,0 @@
-{%- if config.extra.languages[lang].header_buttons is defined %}
- {%- set header_buttons = config.extra.languages[lang].header_buttons %}
-{%- elif config.extra.header_buttons is defined %}
- {%- set header_buttons = config.extra.header_buttons %}
-{%- else %}
- {%- set header_buttons = ["site_title", "theme_button", "search_button", "translations_button"] %}
-{%- endif %}
-{%- if config.extra.languages[lang].header_menu_name and config.extra.menus[config.extra.languages[lang].header_menu_name] is defined %}
- {%- set header_menu = config.extra.menus[config.extra.languages[lang].header_menu_name] %}
-{%- elif config.extra.header_menu_name and config.extra.menus[config.extra.header_menu_name] is defined %}
- {%- set header_menu = config.extra.menus[config.extra.header_menu_name] %}
-{%- elif config.extra.menu %}
- {%- set header_menu = config.extra.menu %}
-{%- endif %}
-
diff --git a/templates/partials/mermaid.html b/templates/partials/mermaid.html
deleted file mode 100644
index 07c91e5..0000000
--- a/templates/partials/mermaid.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
diff --git a/templates/partials/page_info.html b/templates/partials/page_info.html
deleted file mode 100644
index 395a5b5..0000000
--- a/templates/partials/page_info.html
+++ /dev/null
@@ -1,69 +0,0 @@
-
-{%- if page.extra.page_info is defined %}
- {%- set page_info = page.extra.page_info %}
-{%- elif config.extra.page_info is defined %}
- {%- set page_info = config.extra.page_info %}
-{%- else %}
- {%- set page_info = ["date", "date_updated_on_page", "reading_time", "authors"] %}
-{%- endif %}
-{%- set is_page = paginator is not defined %}
-{%- set date_format = config.extra.languages[lang].date_format | default(value="%F") %}
-{%- for info in page_info %}
- {%- if info == "date" or info == "date_on_paginator" or info == "date_on_page" %}{%
- if info == "date" or (info == "date_on_paginator" and not is_page) or
- (info == "date_on_page" and is_page) %}
- {%- if page.date %}{% if config.extra.languages[lang].locale %}{{
- page.date | date(format=date_format, locale=config.extra.languages[lang].locale) }}{% else %}{{
- page.date | date(format=date_format) }}{% endif %}
- {%- endif %}
- {%- endif %}
- {%- elif info == "date_updated" or info == "date_updated_on_paginator" or info == "date_updated_on_page" %}{%
- if info == "date_updated" or (info == "date_updated_on_paginator" and not is_page) or
- (info == "date_updated_on_page" and is_page) %}
- {%- if page.updated and page.updated != page.date %} ({% if config.extra.languages[lang].locale %}{{
- page.updated | date(format=date_format, locale=config.extra.languages[lang].locale) }}{% else %}{{
- page.updated | date(format=date_format) }}{% endif %} )
- {%- endif %}
- {%- endif %}
- {%- elif info == "reading_time" or info == "reading_time_on_paginator" or info == "reading_time_on_page" %}{%
- if info == "reading_time" or (info == "reading_time_on_paginator" and not is_page) or
- (info == "reading_time_on_page" and is_page) %}·
- {%- set reading_time_minutes = page.reading_time % 60 %}{{
- page.reading_time }} {{ macros::translate(key="word_minutes", language=lang, trans_data=trans_data) }}
- {%- endif %}
- {%- elif info == "word_count" or info == "word_count_on_paginator" or info == "word_count_on_page" %}{%
- if info == "word_count" or (info == "word_count_on_paginator" and not is_page) or
- (info == "word_count_on_page" and is_page) %}· {{
- page.word_count }} {{ macros::translate(key="word_words", language=lang, trans_data=trans_data) }}
- {%- endif %}
- {%- elif info == "authors" or info == "authors_on_paginator" or info == "authors_on_page" %}{%
- if info == "authors" or (info == "authors_on_paginator" and not is_page) or (info == "authors_on_page" and is_page) %}
- {%- if page.taxonomies.authors %}
- {%- set page_authors = page.taxonomies.authors %}
- {%- elif page.authors %}
- {%- set page_authors = page.authors %}
- {%- elif config.author %}
- {%- set page_authors = [config.author] %}
- {%- else %}
- {%- set page_authors = [] %}
- {%- endif %}
- {%- for page_author in page_authors %}· {{
- macros::get_profile_name(username=page_author) }}
- {%- endfor %}
- {%- endif %}
- {%- elif info == "tags" or info == "tags_on_paginator" or info == "tags_on_page" %}{%
- if info == "tags" or (info == "tags_on_paginator" and not is_page) or (info == "tags_on_page" and is_page) %}
- {%- if page.taxonomies.tags %}
- {%- for page_tag in page.taxonomies.tags %}· #{{ page_tag }}
- {%- endfor %}
- {%- endif %}
- {%- endif %}
- {%- else %}
- {{ info }}
- {%- endif %}
-{%- endfor %}
-
diff --git a/templates/partials/page_list.html b/templates/partials/page_list.html
deleted file mode 100644
index 1aef744..0000000
--- a/templates/partials/page_list.html
+++ /dev/null
@@ -1,55 +0,0 @@
-{%- if pages is defined %}
-{%- elif paginator is defined %}
- {%- set pages = paginator.pages %}
-{%- elif term is defined %}
- {%- set pages = term.pages %}
-{%- elif section is defined %}
- {%- set pages = section.pages %}
-{%- endif %}
-
-{% for page in pages %}
-
- {% if page.extra.cover.image %}
-
-
-
- {% endif %}
-
- {{ page.title }}
-
-
- {% if page.description %}
-
{{ page.description }}
- {% elif page.summary %}
- {{ page.summary | striptags | safe }}
- {% endif %}
-
-
- {% include "partials/page_info.html" %}
-
- {{ page.title }}
-
-{% endfor %}
-
-
-{% if paginator is defined %}
-
- {% if paginator.previous %}
- ‹ {{ macros::translate(key="word_prev_page", language=lang, trans_data=trans_data) }}
- {% endif %}
- {% if paginator.next %}
- {{ macros::translate(key="word_next_page", language=lang, trans_data=trans_data) }} ›
- {% endif %}
-
-{% endif %}
diff --git a/templates/partials/post_navigation.html b/templates/partials/post_navigation.html
deleted file mode 100644
index 40ade12..0000000
--- a/templates/partials/post_navigation.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% if page.lower or page.higher %}
-
- {% if page.higher %}
- ‹ {{ page.higher.title }}
- {% endif %}
- {% if page.lower %}
- {{ page.lower.title }} ›
- {% endif %}
-
-{% endif %}
diff --git a/templates/partials/post_taxonomies.html b/templates/partials/post_taxonomies.html
deleted file mode 100644
index d6cac40..0000000
--- a/templates/partials/post_taxonomies.html
+++ /dev/null
@@ -1,27 +0,0 @@
-{% if page.taxonomies %}
-
-{% endif %}
diff --git a/templates/partials/profile.html b/templates/partials/profile.html
deleted file mode 100644
index 158ca4c..0000000
--- a/templates/partials/profile.html
+++ /dev/null
@@ -1,66 +0,0 @@
-{% if section.extra.profile or page.extra.profile %}
- {%- set profile_username = page.extra.profile | default(value=section.extra.profile) %}
-{%- elif taxonomy.name and taxonomy.name == "authors" and term.name %}
- {%- set profile_username = term.name %}
-{%- endif %}
-
-{%- if profile_username %}
-{%- if config.extra.profiles[profile_username] %}
- {%- set profile_data = config.extra.profiles[profile_username] %}
- {%- if profile_data.languages[lang].name %}
- {%- set profile_name = profile_data.languages[lang].name %}
- {%- elif profile_data.name %}
- {%- set profile_name = profile_data.name %}
- {%- endif %}
- {%- if profile_data.languages[lang].bio %}
- {%- set profile_bio = profile_data.languages[lang].bio %}
- {%- elif profile_data.bio %}
- {%- set profile_bio = profile_data.bio %}
- {%- endif %}
-{%- else %}
- {%- set profile_name = profile_username %}
-{%- endif %}
-
-{%- if lang == config.default_language %}
- {%- set social_base_url = config.base_url %}
-{%- else %}
- {%- set social_base_url = config.base_url ~ "/" ~ lang %}
-{%- endif %}
-
- {%- if profile_data.avatar_url %}
-
-
-
- {%- endif %}
-
- {% if profile_name %}
-
-
{{ profile_name }}
- {%- if profile_bio %}
-
- {{ profile_bio | markdown(inline=true) | safe }}
-
- {%- endif %}
-
- {% if profile_data.social %}
-
- {% for social in profile_data.social %}
- {{ social.name }}
- {% endfor %}
-
- {% endif %}
-
- {% endif %}
-
-{% endif %}
diff --git a/templates/partials/search.html b/templates/partials/search.html
deleted file mode 100644
index 3a82e94..0000000
--- a/templates/partials/search.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/templates/partials/toc.html b/templates/partials/toc.html
deleted file mode 100644
index 400291b..0000000
--- a/templates/partials/toc.html
+++ /dev/null
@@ -1,27 +0,0 @@
-{% if page.toc %}
-
-
-
- {{ macros::translate(key="word_toc", language=lang, trans_data=trans_data) }}
-
-
-
- {%- for h1 in page.toc %}
-
- {{ h1.title }}
- {%- if h1.children %}
-
- {%- endif %}
-
- {%- endfor %}
-
-
-
-
-{% endif %}
diff --git a/templates/projects.html b/templates/projects.html
deleted file mode 100644
index 053a709..0000000
--- a/templates/projects.html
+++ /dev/null
@@ -1,35 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-{% for asset in page.assets %}
-{% if asset is ending_with("data.toml") %}
-{% set_global data = load_data(path=asset, format="toml") %}
-{% endif %}
-{% endfor %}
-
-{{ page.title }}
-{% for project in data.project %}
-
-
{{ project.name }}
-
{{ project.desc | markdown(inline=true) | safe }}
-
-
- {% for tag in project.tags %}
- #{{ tag }}
- {% endfor %}
-
-
-
-
-{% endfor %}
-{% endblock main %}
diff --git a/templates/section.html b/templates/section.html
deleted file mode 100644
index 60412f8..0000000
--- a/templates/section.html
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-{{ section.title }}
-
-{% include "partials/page_list.html" %}
-{% endblock main %}
diff --git a/templates/shortcodes/admonition.html b/templates/shortcodes/admonition.html
deleted file mode 100644
index 14a156a..0000000
--- a/templates/shortcodes/admonition.html
+++ /dev/null
@@ -1,29 +0,0 @@
-{%- if type == "note" %}{% set admonition_bg = "rgba(68, 138, 255, 0.1)" %}
-{%- elif type == "abstract" %}{% set admonition_bg = "rgba(0, 176, 255, 0.1)" %}
-{%- elif type == "info" %}{% set admonition_bg = "rgba(83, 211, 230, 0.1)" %}
-{%- elif type == "tip" %}{% set admonition_bg = "rgba(0, 191, 165, 0.1)" %}
-{%- elif type == "success" %}{% set admonition_bg = "rgba(0, 200, 83, 0.1)" %}
-{%- elif type == "question" %}{% set admonition_bg = "rgba(100, 221, 23, 0.1)" %}
-{%- elif type == "warning" %}{% set admonition_bg = "rgba(255, 145, 0, 0.1)" %}
-{%- elif type == "failure" %}{% set admonition_bg = "rgba(255, 82, 82, 0.1)" %}
-{%- elif type == "danger" %}{% set admonition_bg = "rgba(255, 23, 68, 0.1)" %}
-{%- elif type == "bug" %}{% set admonition_bg = "rgba(255, 23, 68, 0.1)" %}
-{%- elif type == "example" %}{% set admonition_bg = "rgba(101, 31, 255, 0.1)" %}
-{%- elif type == "quote" %}{% set admonition_bg = "rgba(159, 159, 159, 0.1)" %}
-{%- endif %}
-
-
-
-
- {{ type | safe }}
-
-
{{ title | default(value=type | title) }}
-
-
{{ body | markdown | safe }}
-
diff --git a/templates/shortcodes/gallery.html b/templates/shortcodes/gallery.html
deleted file mode 100644
index fd7409f..0000000
--- a/templates/shortcodes/gallery.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-{% for asset in page.assets -%}
- {%- if asset is matching("[.](jpg|png)$") %}
- {%- set image = resize_image(path=asset, width=240, height=180) %}
- {%- set asset_name = asset | split(pat="/") | slice(start=-1) | join(sep="/") %}
-
-
-
- {%- endif %}
-{%- endfor %}
-
diff --git a/templates/shortcodes/mermaid.html b/templates/shortcodes/mermaid.html
deleted file mode 100644
index d94eb1a..0000000
--- a/templates/shortcodes/mermaid.html
+++ /dev/null
@@ -1,3 +0,0 @@
-
- {{ body | trim_start_matches(pat="```mermaid") | trim_start_matches(pat="```") | trim_end_matches(pat="```") }}
-
diff --git a/templates/sitemap.xml b/templates/sitemap.xml
deleted file mode 100644
index 61b9269..0000000
--- a/templates/sitemap.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-{%- for sitemap_entry in entries %}
-
- {{ sitemap_entry.permalink | escape_xml | safe }}
- {%- if sitemap_entry.extra.sitemap.updated is defined %}
- {{ sitemap_entry.extra.sitemap.updated | escape_xml | safe }}
- {%- elif sitemap_entry.updated %}
- {{ sitemap_entry.updated | escape_xml | safe }}
- {%- endif %}
- {%- if sitemap_entry.extra.sitemap.changefreq is defined %}
- {{ sitemap_entry.extra.sitemap.changefreq | escape_xml | safe }}
- {%- endif %}
- {%- if sitemap_entry.extra.sitemap.priority is defined %}
- {{ sitemap_entry.extra.sitemap.priority | escape_xml | safe }}
- {%- endif %}
-
-{%- endfor %}
-
diff --git a/templates/split_sitemap_index.xml b/templates/split_sitemap_index.xml
deleted file mode 100644
index f873224..0000000
--- a/templates/split_sitemap_index.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-{%- for sitemap in sitemaps %}
-
- {{ sitemap }}
-
-{%- endfor %}
-
diff --git a/templates/taxonomy_list.html b/templates/taxonomy_list.html
deleted file mode 100644
index 97327a8..0000000
--- a/templates/taxonomy_list.html
+++ /dev/null
@@ -1,38 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-{%
- if taxonomy.name == "tags" %}{{ macros::translate(key="taxonomy_tags",
- language=lang, trans_data=trans_data) }}{%
- elif taxonomy.name == "categories" %}{{ macros::translate(key="taxonomy_categories",
- language=lang, trans_data=trans_data) }}{%
- elif taxonomy.name == "authors" %}{{ macros::translate(key="taxonomy_authors",
- language=lang, trans_data=trans_data) }}{%
- else %}{{ taxonomy.name | title }}{% endif %}
-
-
- {% for term in terms %}
-
- {% endfor %}
-
-{% endblock main %}
diff --git a/templates/taxonomy_single.html b/templates/taxonomy_single.html
deleted file mode 100644
index 9c9b9fe..0000000
--- a/templates/taxonomy_single.html
+++ /dev/null
@@ -1,19 +0,0 @@
-{% extends "index.html" %}
-{% block main %}
-
-{%- if taxonomy.name == "authors" %}
- {%- if paginator is undefined or paginator.current_index == 1 %}
-{% include "partials/profile.html" %}
- {%- else %}
-{{ macros::get_profile_name(username=term.name) }}
- {%- endif %}
-{%- elif taxonomy.name == "tags" %}
-#{{ term.name }}
-{%- elif taxonomy.name == "categories" %}
-{{ term.name | title }}
-{%- else %}
-{{ term.name }}
-{%- endif %}
-
-{% include "partials/page_list.html" %}
-{% endblock main %}
diff --git a/theme.toml b/theme.toml
deleted file mode 100644
index d6739b6..0000000
--- a/theme.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-name = "Linkita"
-description = "A clean and elegant blog theme for Zola. Linkita is based on Kita and Hugo-Paper and is multilingual and SEO friendly."
-license = "MIT"
-homepage = "https://codeberg.org/salif/linkita"
-min_version = "0.19.0"
-demo = "https://salif.github.io/linkita/en/"
-tags = ["Blog", "Multilingual", "Responsive", "SEO", "Search"]
-
-[author]
-name = "Salif Mehmed"
-homepage = "https://salif.eu"
-
-[original]
-author = "st1020"
-homepage = "https://st1020.com"
-repo = "https://github.com/st1020/kita"