init: initial commit
18
.github/workflows/publish-pages.yml
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
name: Publish demo on GitHub Pages
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Publish site
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout main
|
||||||
|
uses: actions/checkout@v3.0.0
|
||||||
|
- name: Build and deploy
|
||||||
|
uses: shalzz/zola-deploy-action@master
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
/node_modules
|
||||||
|
/public
|
||||||
1
.prettierignore
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
pnpm-lock.yaml
|
||||||
4
.prettierrc.js
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
module.exports = {
|
||||||
|
printWidth: 100,
|
||||||
|
plugins: ["prettier-plugin-tailwindcss"],
|
||||||
|
};
|
||||||
20
LICENSE
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2021 st1020
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
47
README.md
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Kita
|
||||||
|
|
||||||
|
Kita is a clean, elegant and simple blog theme for Zola.
|
||||||
|
|
||||||
|
This theme is based on Hugo theme [hugo-paper](https://github.com/nanxiaobei/hugo-paper) with some features added.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Easy to use and modify
|
||||||
|
- Dark mode
|
||||||
|
- Social icons
|
||||||
|
- Taxonomies support
|
||||||
|
- SEO Friendly
|
||||||
|
- Comments using [Giscus](https://giscus.app/)
|
||||||
|
- Mathematical notations using [KaTeX](https://katex.org/)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
The easiest way to install this theme is to clone this repository in the themes directory:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/st1020/kita.git themes/kita
|
||||||
|
```
|
||||||
|
|
||||||
|
Or to use it as a submodule:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git submodule add https://github.com/st1020/kita.git themes/kita
|
||||||
|
```
|
||||||
|
|
||||||
|
Then set `kita` as your theme in `config.toml`.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
theme = "kita"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
See the `extra` section in [config.toml](https://github.com/st1020/kita/blob/main/config.toml) as a example.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[MIT License](https://github.com/st1020/kita/blob/main/LICENSE)
|
||||||
|
|
||||||
|
Copyright (c) 2013-present, st1020
|
||||||
90
config.toml
Normal file
|
|
@ -0,0 +1,90 @@
|
||||||
|
# The base URL of the site; the only required configuration variable.
|
||||||
|
base_url = "https://st1020.github.io/kita/"
|
||||||
|
|
||||||
|
# The site title and description; used in feeds by default.
|
||||||
|
title = "Kita"
|
||||||
|
description = "Kita is a clean, elegant and simple blog theme for Zola."
|
||||||
|
|
||||||
|
# The default site author.
|
||||||
|
author = "st1020"
|
||||||
|
|
||||||
|
# The default language; used in feeds.
|
||||||
|
default_language = "en"
|
||||||
|
|
||||||
|
# When set to "true", a feed is automatically generated.
|
||||||
|
generate_feed = true
|
||||||
|
|
||||||
|
# The filename to use for the feed. Used as the template filename, too.
|
||||||
|
# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
|
||||||
|
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
|
||||||
|
feed_filename = "atom.xml"
|
||||||
|
|
||||||
|
# The taxonomies to be rendered for the site and their configuration of the default languages
|
||||||
|
# Example:
|
||||||
|
# taxonomies = [
|
||||||
|
# {name = "tags", feed = true}, # each tag will have its own feed
|
||||||
|
# {name = "tags"}, # you can have taxonomies with the same name in multiple languages
|
||||||
|
# {name = "categories", paginate_by = 5}, # 5 items per page for a term
|
||||||
|
# {name = "authors"}, # Basic definition: no feed or pagination
|
||||||
|
# ]
|
||||||
|
#
|
||||||
|
taxonomies = [{ name = "tags", rss = true, paginate_by = 5 }]
|
||||||
|
|
||||||
|
# Configuration of the Markdown rendering
|
||||||
|
[markdown]
|
||||||
|
# When set to "true", all code blocks are highlighted.
|
||||||
|
highlight_code = true
|
||||||
|
|
||||||
|
# A list of directories used to search for additional `.sublime-syntax` and `.tmTheme` files.
|
||||||
|
extra_syntaxes_and_themes = []
|
||||||
|
|
||||||
|
# The theme to use for code highlighting.
|
||||||
|
# See below for list of allowed values.
|
||||||
|
highlight_theme = "base16-ocean-dark"
|
||||||
|
|
||||||
|
[extra.style]
|
||||||
|
# The custom background color.
|
||||||
|
# bg_color = ""
|
||||||
|
|
||||||
|
# The custom background color in dark mode.
|
||||||
|
# bg_dark_color = ""
|
||||||
|
|
||||||
|
# Enable header blur.
|
||||||
|
# header_blur = true
|
||||||
|
|
||||||
|
# The custom header color.
|
||||||
|
# header_color = ""
|
||||||
|
|
||||||
|
# The custom header color in dark mode.
|
||||||
|
# header_dark_color = ""
|
||||||
|
|
||||||
|
[extra.profile]
|
||||||
|
name = "Kita - Zola Theme"
|
||||||
|
bio = "Kita is a clean, elegant and simple blog theme for Zola."
|
||||||
|
avatar_url = "github.svg"
|
||||||
|
avatar_invert = true
|
||||||
|
|
||||||
|
[[extra.profile.social]]
|
||||||
|
name = "github"
|
||||||
|
url = "https://github.com/st1020/kita"
|
||||||
|
|
||||||
|
[[extra.profile.social]]
|
||||||
|
name = "twitter"
|
||||||
|
url = "https://github.com/st1020/kita"
|
||||||
|
|
||||||
|
[[extra.profile.social]]
|
||||||
|
name = "rss"
|
||||||
|
url = "/atom.xml"
|
||||||
|
|
||||||
|
[[extra.menu]]
|
||||||
|
name = "Tags"
|
||||||
|
url = "/tags"
|
||||||
|
|
||||||
|
[[extra.menu]]
|
||||||
|
name = "About"
|
||||||
|
url = "/about"
|
||||||
|
|
||||||
|
[extra.footer]
|
||||||
|
since = 2020
|
||||||
|
license = "CC BY-SA 4.0"
|
||||||
|
license_url = "https://creativecommons.org/licenses/by-sa/4.0/deed"
|
||||||
4
content/_index.md
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
+++
|
||||||
|
sort_by = "date"
|
||||||
|
paginate_by = 5
|
||||||
|
+++
|
||||||
130
content/markdown-syntax.md
Normal file
|
|
@ -0,0 +1,130 @@
|
||||||
|
+++
|
||||||
|
title = "Markdown Syntax Guide"
|
||||||
|
date = "2019-03-11"
|
||||||
|
description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements."
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "css", "html"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
This article offers a sample of basic Markdown syntax that can be used in Zola content files, also it shows whether basic HTML elements are decorated with CSS in a Zola theme.
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
## Headings
|
||||||
|
|
||||||
|
The following HTML `<h1>`—`<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
|
||||||
|
|
||||||
|
# H1
|
||||||
|
|
||||||
|
## H2
|
||||||
|
|
||||||
|
### H3
|
||||||
|
|
||||||
|
#### H4
|
||||||
|
|
||||||
|
##### H5
|
||||||
|
|
||||||
|
###### H6
|
||||||
|
|
||||||
|
## Paragraph
|
||||||
|
|
||||||
|
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
|
||||||
|
|
||||||
|
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
|
||||||
|
|
||||||
|
## Blockquotes
|
||||||
|
|
||||||
|
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
|
||||||
|
|
||||||
|
#### Blockquote without attribution
|
||||||
|
|
||||||
|
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
|
||||||
|
> **Note** that you can use _Markdown syntax_ within a blockquote.
|
||||||
|
|
||||||
|
#### Blockquote with attribution
|
||||||
|
|
||||||
|
> Don't communicate by sharing memory, share memory by communicating.<br>
|
||||||
|
> — <cite>Rob Pike[^1]</cite>
|
||||||
|
|
||||||
|
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
|
||||||
|
|
||||||
|
## Tables
|
||||||
|
|
||||||
|
Tables aren't part of the core Markdown spec, but Zola supports supports them out-of-the-box.
|
||||||
|
|
||||||
|
| Name | Age |
|
||||||
|
| ----- | --- |
|
||||||
|
| Bob | 27 |
|
||||||
|
| Alice | 23 |
|
||||||
|
|
||||||
|
#### Inline Markdown within tables
|
||||||
|
|
||||||
|
| Italics | Bold | Code |
|
||||||
|
| --------- | -------- | ------ |
|
||||||
|
| _italics_ | **bold** | `code` |
|
||||||
|
|
||||||
|
## Code Blocks
|
||||||
|
|
||||||
|
#### Code block with backticks
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Example HTML5 Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Test</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Code block indented with four spaces
|
||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Example HTML5 Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>Test</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
## List Types
|
||||||
|
|
||||||
|
#### Ordered List
|
||||||
|
|
||||||
|
1. First item
|
||||||
|
2. Second item
|
||||||
|
3. Third item
|
||||||
|
|
||||||
|
#### Unordered List
|
||||||
|
|
||||||
|
- List item
|
||||||
|
- Another item
|
||||||
|
- And another item
|
||||||
|
|
||||||
|
#### Nested list
|
||||||
|
|
||||||
|
- Fruit
|
||||||
|
- Apple
|
||||||
|
- Orange
|
||||||
|
- Banana
|
||||||
|
- Dairy
|
||||||
|
- Milk
|
||||||
|
- Cheese
|
||||||
|
|
||||||
|
## Other Elements — abbr, sub, sup, kbd, mark
|
||||||
|
|
||||||
|
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
|
||||||
|
|
||||||
|
H<sub>2</sub>O
|
||||||
|
|
||||||
|
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
|
||||||
|
|
||||||
|
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
|
||||||
|
|
||||||
|
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.
|
||||||
27
content/math-typesetting.md
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
+++
|
||||||
|
title = "Math Typesetting"
|
||||||
|
date = "2019-03-08"
|
||||||
|
description = "A brief guide to setup KaTeX"
|
||||||
|
extra.math = true
|
||||||
|
+++
|
||||||
|
|
||||||
|
Kita theme support $\LaTeX$ mathematical formulas using [KaTeX](https://katex.org/).
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
- To enable KaTeX globally set the parameter `extra.math` to `true` in a project's configuration
|
||||||
|
- To enable KaTeX on a per page basis include the parameter `extra.math = true` in content files
|
||||||
|
|
||||||
|
**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html)
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Inline math: $(varphi = dfrac{1+sqrt5}{2}= 1.6180339887…)$
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Block math:
|
||||||
|
|
||||||
|
$$
|
||||||
|
\varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } }
|
||||||
|
$$
|
||||||
3
content/pages/_index.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
+++
|
||||||
|
render = false
|
||||||
|
+++
|
||||||
8
content/pages/about.md
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
+++
|
||||||
|
title = "About"
|
||||||
|
path = "about"
|
||||||
|
[extra]
|
||||||
|
author = ""
|
||||||
|
+++
|
||||||
|
|
||||||
|
## Hello World
|
||||||
44
content/placeholder-1.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text 1"
|
||||||
|
date = "2023-10-20"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
44
content/placeholder-2.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text 2"
|
||||||
|
date = "2023-10-20"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
44
content/placeholder-3.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text 3"
|
||||||
|
date = "2023-10-20"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
44
content/placeholder-4.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text 4"
|
||||||
|
date = "2023-10-20"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
44
content/placeholder-5.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text 5"
|
||||||
|
date = "2023-10-20"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
44
content/placeholder-6.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text 6"
|
||||||
|
date = "2023-10-20"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
44
content/placeholder-text.md
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
+++
|
||||||
|
title = "Placeholder Text"
|
||||||
|
date = "2019-03-09"
|
||||||
|
description = "Lorem Ipsum Dolor Si Amet"
|
||||||
|
[taxonomies]
|
||||||
|
tags = ["markdown", "text"]
|
||||||
|
+++
|
||||||
|
|
||||||
|
Lorem est tota propiore conpellat pectoribus de pectora summo. <!--more-->Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum.
|
||||||
|
|
||||||
|
1. Exierant elisi ambit vivere dedere
|
||||||
|
2. Duce pollice
|
||||||
|
3. Eris modo
|
||||||
|
4. Spargitque ferrea quos palude
|
||||||
|
|
||||||
|
Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis.
|
||||||
|
|
||||||
|
1. Comas hunc haec pietate fetum procerum dixit
|
||||||
|
2. Post torum vates letum Tiresia
|
||||||
|
3. Flumen querellas
|
||||||
|
4. Arcanaque montibus omnes
|
||||||
|
5. Quidem et
|
||||||
|
|
||||||
|
# Vagus elidunt
|
||||||
|
|
||||||
|
<svg class="canon" xmlns="http://www.w3.org/2000/svg" overflow="visible" viewBox="0 0 496 373" height="373" width="496"><g fill="none"><path stroke="#000" stroke-width=".75" d="M.599 372.348L495.263 1.206M.312.633l494.95 370.853M.312 372.633L247.643.92M248.502.92l246.76 370.566M330.828 123.869V1.134M330.396 1.134L165.104 124.515"></path><path stroke="#ED1C24" stroke-width=".75" d="M275.73 41.616h166.224v249.05H275.73zM54.478 41.616h166.225v249.052H54.478z"></path><path stroke="#000" stroke-width=".75" d="M.479.375h495v372h-495zM247.979.875v372"></path><ellipse cx="498.729" cy="177.625" rx=".75" ry="1.25"></ellipse><ellipse cx="247.229" cy="377.375" rx=".75" ry="1.25"></ellipse></g></svg>
|
||||||
|
|
||||||
|
[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon)
|
||||||
|
|
||||||
|
## Mane refeci capiebant unda mulcebat
|
||||||
|
|
||||||
|
Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis.
|
||||||
|
|
||||||
|
Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et.
|
||||||
|
|
||||||
|
Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, _oculos nomen_ non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**.
|
||||||
|
|
||||||
|
{{< css.inline >}}
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.canon { background: white; width: 100%; height: auto; }
|
||||||
|
</style>
|
||||||
|
|
||||||
|
{{< /css.inline >}}
|
||||||
22
package.json
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"name": "kita",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Kita is a clean, elegant and simple blog theme for Zola.",
|
||||||
|
"homepage": "https://github.com/st1020/kita",
|
||||||
|
"license": "MIT",
|
||||||
|
"author": "st1020 <stone_1020@qq.com>",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/st1020/kita.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"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@tailwindcss/typography": "^0.5.10",
|
||||||
|
"prettier": "^3.0.3",
|
||||||
|
"prettier-plugin-tailwindcss": "^0.5.6",
|
||||||
|
"tailwindcss": "^3.3.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
654
pnpm-lock.yaml
generated
Normal file
|
|
@ -0,0 +1,654 @@
|
||||||
|
lockfileVersion: '6.0'
|
||||||
|
|
||||||
|
settings:
|
||||||
|
autoInstallPeers: true
|
||||||
|
excludeLinksFromLockfile: false
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
'@tailwindcss/typography':
|
||||||
|
specifier: ^0.5.10
|
||||||
|
version: 0.5.10(tailwindcss@3.3.3)
|
||||||
|
prettier:
|
||||||
|
specifier: ^3.0.3
|
||||||
|
version: 3.0.3
|
||||||
|
prettier-plugin-tailwindcss:
|
||||||
|
specifier: ^0.5.6
|
||||||
|
version: 0.5.6(prettier@3.0.3)
|
||||||
|
tailwindcss:
|
||||||
|
specifier: ^3.3.3
|
||||||
|
version: 3.3.3
|
||||||
|
|
||||||
|
packages:
|
||||||
|
|
||||||
|
/@alloc/quick-lru@5.2.0:
|
||||||
|
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@jridgewell/gen-mapping@0.3.3:
|
||||||
|
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/set-array': 1.1.2
|
||||||
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
|
'@jridgewell/trace-mapping': 0.3.20
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@jridgewell/resolve-uri@3.1.1:
|
||||||
|
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@jridgewell/set-array@1.1.2:
|
||||||
|
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
|
||||||
|
engines: {node: '>=6.0.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@jridgewell/sourcemap-codec@1.4.15:
|
||||||
|
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@jridgewell/trace-mapping@0.3.20:
|
||||||
|
resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/resolve-uri': 3.1.1
|
||||||
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@nodelib/fs.scandir@2.1.5:
|
||||||
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
'@nodelib/fs.stat': 2.0.5
|
||||||
|
run-parallel: 1.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@nodelib/fs.stat@2.0.5:
|
||||||
|
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@nodelib/fs.walk@1.2.8:
|
||||||
|
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
'@nodelib/fs.scandir': 2.1.5
|
||||||
|
fastq: 1.15.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@tailwindcss/typography@0.5.10(tailwindcss@3.3.3):
|
||||||
|
resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==}
|
||||||
|
peerDependencies:
|
||||||
|
tailwindcss: '>=3.0.0 || insiders'
|
||||||
|
dependencies:
|
||||||
|
lodash.castarray: 4.4.0
|
||||||
|
lodash.isplainobject: 4.0.6
|
||||||
|
lodash.merge: 4.6.2
|
||||||
|
postcss-selector-parser: 6.0.10
|
||||||
|
tailwindcss: 3.3.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/any-promise@1.3.0:
|
||||||
|
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/anymatch@3.1.3:
|
||||||
|
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dependencies:
|
||||||
|
normalize-path: 3.0.0
|
||||||
|
picomatch: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/arg@5.0.2:
|
||||||
|
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/balanced-match@1.0.2:
|
||||||
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/binary-extensions@2.2.0:
|
||||||
|
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/brace-expansion@1.1.11:
|
||||||
|
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||||
|
dependencies:
|
||||||
|
balanced-match: 1.0.2
|
||||||
|
concat-map: 0.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/braces@3.0.2:
|
||||||
|
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
fill-range: 7.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/camelcase-css@2.0.1:
|
||||||
|
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/chokidar@3.5.3:
|
||||||
|
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
|
||||||
|
engines: {node: '>= 8.10.0'}
|
||||||
|
dependencies:
|
||||||
|
anymatch: 3.1.3
|
||||||
|
braces: 3.0.2
|
||||||
|
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
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/commander@4.1.1:
|
||||||
|
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/concat-map@0.0.1:
|
||||||
|
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/cssesc@3.0.0:
|
||||||
|
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/didyoumean@1.2.2:
|
||||||
|
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/dlv@1.1.3:
|
||||||
|
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fast-glob@3.3.1:
|
||||||
|
resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
|
||||||
|
engines: {node: '>=8.6.0'}
|
||||||
|
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.5
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fastq@1.15.0:
|
||||||
|
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
|
||||||
|
dependencies:
|
||||||
|
reusify: 1.0.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fill-range@7.0.1:
|
||||||
|
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
to-regex-range: 5.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fs.realpath@1.0.0:
|
||||||
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/fsevents@2.3.3:
|
||||||
|
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||||
|
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/glob-parent@5.1.2:
|
||||||
|
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dependencies:
|
||||||
|
is-glob: 4.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/glob-parent@6.0.2:
|
||||||
|
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
|
||||||
|
engines: {node: '>=10.13.0'}
|
||||||
|
dependencies:
|
||||||
|
is-glob: 4.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/glob@7.1.6:
|
||||||
|
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
|
||||||
|
dependencies:
|
||||||
|
fs.realpath: 1.0.0
|
||||||
|
inflight: 1.0.6
|
||||||
|
inherits: 2.0.4
|
||||||
|
minimatch: 3.1.2
|
||||||
|
once: 1.4.0
|
||||||
|
path-is-absolute: 1.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/has@1.0.4:
|
||||||
|
resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==}
|
||||||
|
engines: {node: '>= 0.4.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/inflight@1.0.6:
|
||||||
|
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||||
|
dependencies:
|
||||||
|
once: 1.4.0
|
||||||
|
wrappy: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/inherits@2.0.4:
|
||||||
|
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-binary-path@2.1.0:
|
||||||
|
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
dependencies:
|
||||||
|
binary-extensions: 2.2.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-core-module@2.13.0:
|
||||||
|
resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==}
|
||||||
|
dependencies:
|
||||||
|
has: 1.0.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-extglob@2.1.1:
|
||||||
|
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-glob@4.0.3:
|
||||||
|
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dependencies:
|
||||||
|
is-extglob: 2.1.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/is-number@7.0.0:
|
||||||
|
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||||
|
engines: {node: '>=0.12.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/jiti@1.20.0:
|
||||||
|
resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/lilconfig@2.1.0:
|
||||||
|
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/lines-and-columns@1.2.4:
|
||||||
|
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/lodash.castarray@4.4.0:
|
||||||
|
resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/lodash.isplainobject@4.0.6:
|
||||||
|
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/lodash.merge@4.6.2:
|
||||||
|
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/merge2@1.4.1:
|
||||||
|
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/micromatch@4.0.5:
|
||||||
|
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
||||||
|
engines: {node: '>=8.6'}
|
||||||
|
dependencies:
|
||||||
|
braces: 3.0.2
|
||||||
|
picomatch: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/minimatch@3.1.2:
|
||||||
|
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||||
|
dependencies:
|
||||||
|
brace-expansion: 1.1.11
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/mz@2.7.0:
|
||||||
|
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
||||||
|
dependencies:
|
||||||
|
any-promise: 1.3.0
|
||||||
|
object-assign: 4.1.1
|
||||||
|
thenify-all: 1.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/nanoid@3.3.6:
|
||||||
|
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
|
||||||
|
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/normalize-path@3.0.0:
|
||||||
|
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/object-assign@4.1.1:
|
||||||
|
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/object-hash@3.0.0:
|
||||||
|
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/once@1.4.0:
|
||||||
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
|
dependencies:
|
||||||
|
wrappy: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/path-is-absolute@1.0.1:
|
||||||
|
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/path-parse@1.0.7:
|
||||||
|
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/picocolors@1.0.0:
|
||||||
|
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/picomatch@2.3.1:
|
||||||
|
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||||
|
engines: {node: '>=8.6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/pify@2.3.0:
|
||||||
|
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/pirates@4.0.6:
|
||||||
|
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-import@15.1.0(postcss@8.4.31):
|
||||||
|
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.0.0
|
||||||
|
dependencies:
|
||||||
|
postcss: 8.4.31
|
||||||
|
postcss-value-parser: 4.2.0
|
||||||
|
read-cache: 1.0.0
|
||||||
|
resolve: 1.22.8
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-js@4.0.1(postcss@8.4.31):
|
||||||
|
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
|
||||||
|
engines: {node: ^12 || ^14 || >= 16}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.4.21
|
||||||
|
dependencies:
|
||||||
|
camelcase-css: 2.0.1
|
||||||
|
postcss: 8.4.31
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-load-config@4.0.1(postcss@8.4.31):
|
||||||
|
resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
|
||||||
|
engines: {node: '>= 14'}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: '>=8.0.9'
|
||||||
|
ts-node: '>=9.0.0'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
postcss:
|
||||||
|
optional: true
|
||||||
|
ts-node:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
lilconfig: 2.1.0
|
||||||
|
postcss: 8.4.31
|
||||||
|
yaml: 2.3.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-nested@6.0.1(postcss@8.4.31):
|
||||||
|
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
|
||||||
|
engines: {node: '>=12.0'}
|
||||||
|
peerDependencies:
|
||||||
|
postcss: ^8.2.14
|
||||||
|
dependencies:
|
||||||
|
postcss: 8.4.31
|
||||||
|
postcss-selector-parser: 6.0.13
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-selector-parser@6.0.10:
|
||||||
|
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dependencies:
|
||||||
|
cssesc: 3.0.0
|
||||||
|
util-deprecate: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-selector-parser@6.0.13:
|
||||||
|
resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dependencies:
|
||||||
|
cssesc: 3.0.0
|
||||||
|
util-deprecate: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss-value-parser@4.2.0:
|
||||||
|
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/postcss@8.4.31:
|
||||||
|
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
|
||||||
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
|
dependencies:
|
||||||
|
nanoid: 3.3.6
|
||||||
|
picocolors: 1.0.0
|
||||||
|
source-map-js: 1.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/prettier-plugin-tailwindcss@0.5.6(prettier@3.0.3):
|
||||||
|
resolution: {integrity: sha512-2Xgb+GQlkPAUCFi3sV+NOYcSI5XgduvDBL2Zt/hwJudeKXkyvRS65c38SB0yb9UB40+1rL83I6m0RtlOQ8eHdg==}
|
||||||
|
engines: {node: '>=14.21.3'}
|
||||||
|
peerDependencies:
|
||||||
|
'@ianvs/prettier-plugin-sort-imports': '*'
|
||||||
|
'@prettier/plugin-pug': '*'
|
||||||
|
'@shopify/prettier-plugin-liquid': '*'
|
||||||
|
'@shufo/prettier-plugin-blade': '*'
|
||||||
|
'@trivago/prettier-plugin-sort-imports': '*'
|
||||||
|
prettier: ^3.0
|
||||||
|
prettier-plugin-astro: '*'
|
||||||
|
prettier-plugin-css-order: '*'
|
||||||
|
prettier-plugin-import-sort: '*'
|
||||||
|
prettier-plugin-jsdoc: '*'
|
||||||
|
prettier-plugin-marko: '*'
|
||||||
|
prettier-plugin-organize-attributes: '*'
|
||||||
|
prettier-plugin-organize-imports: '*'
|
||||||
|
prettier-plugin-style-order: '*'
|
||||||
|
prettier-plugin-svelte: '*'
|
||||||
|
prettier-plugin-twig-melody: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
'@ianvs/prettier-plugin-sort-imports':
|
||||||
|
optional: true
|
||||||
|
'@prettier/plugin-pug':
|
||||||
|
optional: true
|
||||||
|
'@shopify/prettier-plugin-liquid':
|
||||||
|
optional: true
|
||||||
|
'@shufo/prettier-plugin-blade':
|
||||||
|
optional: true
|
||||||
|
'@trivago/prettier-plugin-sort-imports':
|
||||||
|
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-organize-attributes:
|
||||||
|
optional: true
|
||||||
|
prettier-plugin-organize-imports:
|
||||||
|
optional: true
|
||||||
|
prettier-plugin-style-order:
|
||||||
|
optional: true
|
||||||
|
prettier-plugin-svelte:
|
||||||
|
optional: true
|
||||||
|
prettier-plugin-twig-melody:
|
||||||
|
optional: true
|
||||||
|
dependencies:
|
||||||
|
prettier: 3.0.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/prettier@3.0.3:
|
||||||
|
resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/queue-microtask@1.2.3:
|
||||||
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/read-cache@1.0.0:
|
||||||
|
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
|
||||||
|
dependencies:
|
||||||
|
pify: 2.3.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/readdirp@3.6.0:
|
||||||
|
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
||||||
|
engines: {node: '>=8.10.0'}
|
||||||
|
dependencies:
|
||||||
|
picomatch: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/resolve@1.22.8:
|
||||||
|
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
is-core-module: 2.13.0
|
||||||
|
path-parse: 1.0.7
|
||||||
|
supports-preserve-symlinks-flag: 1.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/reusify@1.0.4:
|
||||||
|
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
||||||
|
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/run-parallel@1.2.0:
|
||||||
|
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||||
|
dependencies:
|
||||||
|
queue-microtask: 1.2.3
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/source-map-js@1.0.2:
|
||||||
|
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/sucrase@3.34.0:
|
||||||
|
resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@jridgewell/gen-mapping': 0.3.3
|
||||||
|
commander: 4.1.1
|
||||||
|
glob: 7.1.6
|
||||||
|
lines-and-columns: 1.2.4
|
||||||
|
mz: 2.7.0
|
||||||
|
pirates: 4.0.6
|
||||||
|
ts-interface-checker: 0.1.13
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/supports-preserve-symlinks-flag@1.0.0:
|
||||||
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
|
engines: {node: '>= 0.4'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/tailwindcss@3.3.3:
|
||||||
|
resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
hasBin: true
|
||||||
|
dependencies:
|
||||||
|
'@alloc/quick-lru': 5.2.0
|
||||||
|
arg: 5.0.2
|
||||||
|
chokidar: 3.5.3
|
||||||
|
didyoumean: 1.2.2
|
||||||
|
dlv: 1.1.3
|
||||||
|
fast-glob: 3.3.1
|
||||||
|
glob-parent: 6.0.2
|
||||||
|
is-glob: 4.0.3
|
||||||
|
jiti: 1.20.0
|
||||||
|
lilconfig: 2.1.0
|
||||||
|
micromatch: 4.0.5
|
||||||
|
normalize-path: 3.0.0
|
||||||
|
object-hash: 3.0.0
|
||||||
|
picocolors: 1.0.0
|
||||||
|
postcss: 8.4.31
|
||||||
|
postcss-import: 15.1.0(postcss@8.4.31)
|
||||||
|
postcss-js: 4.0.1(postcss@8.4.31)
|
||||||
|
postcss-load-config: 4.0.1(postcss@8.4.31)
|
||||||
|
postcss-nested: 6.0.1(postcss@8.4.31)
|
||||||
|
postcss-selector-parser: 6.0.13
|
||||||
|
resolve: 1.22.8
|
||||||
|
sucrase: 3.34.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- ts-node
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/thenify-all@1.6.0:
|
||||||
|
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
|
||||||
|
engines: {node: '>=0.8'}
|
||||||
|
dependencies:
|
||||||
|
thenify: 3.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/thenify@3.3.1:
|
||||||
|
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
|
||||||
|
dependencies:
|
||||||
|
any-promise: 1.3.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/to-regex-range@5.0.1:
|
||||||
|
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||||
|
engines: {node: '>=8.0'}
|
||||||
|
dependencies:
|
||||||
|
is-number: 7.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/ts-interface-checker@0.1.13:
|
||||||
|
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/util-deprecate@1.0.2:
|
||||||
|
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/wrappy@1.0.2:
|
||||||
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/yaml@2.3.3:
|
||||||
|
resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==}
|
||||||
|
engines: {node: '>= 14'}
|
||||||
|
dev: false
|
||||||
BIN
screenshot.png
Normal file
|
After Width: | Height: | Size: 143 KiB |
73
static/app.css
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
@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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
static/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
static/favicon.ico
Normal file
|
After Width: | Height: | Size: 971 B |
1
static/github.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="1.3 1.3 21.4 21.4"><path d="M10.9,2.1c-4.6,0.5-8.3,4.2-8.8,8.7c-0.5,4.7,2.2,8.9,6.3,10.5C8.7,21.4,9,21.2,9,20.8v-1.6c0,0-0.4,0.1-0.9,0.1 c-1.4,0-2-1.2-2.1-1.9c-0.1-0.4-0.3-0.7-0.6-1C5.1,16.3,5,16.3,5,16.2C5,16,5.3,16,5.4,16c0.6,0,1.1,0.7,1.3,1c0.5,0.8,1.1,1,1.4,1 c0.4,0,0.7-0.1,0.9-0.2c0.1-0.7,0.4-1.4,1-1.8c-2.3-0.5-4-1.8-4-4c0-1.1,0.5-2.2,1.2-3C7.1,8.8,7,8.3,7,7.6C7,7.2,7,6.6,7.3,6 c0,0,1.4,0,2.8,1.3C10.6,7.1,11.3,7,12,7s1.4,0.1,2,0.3C15.3,6,16.8,6,16.8,6C17,6.6,17,7.2,17,7.6c0,0.8-0.1,1.2-0.2,1.4 c0.7,0.8,1.2,1.8,1.2,3c0,2.2-1.7,3.5-4,4c0.6,0.5,1,1.4,1,2.3v2.6c0,0.3,0.3,0.6,0.7,0.5c3.7-1.5,6.3-5.1,6.3-9.3 C22,6.1,16.9,1.4,10.9,2.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 700 B |
1
static/instagram.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="2.2 2.2 19.6 19.6"><path d="M 8 3 C 5.239 3 3 5.239 3 8 L 3 16 C 3 18.761 5.239 21 8 21 L 16 21 C 18.761 21 21 18.761 21 16 L 21 8 C 21 5.239 18.761 3 16 3 L 8 3 z M 18 5 C 18.552 5 19 5.448 19 6 C 19 6.552 18.552 7 18 7 C 17.448 7 17 6.552 17 6 C 17 5.448 17.448 5 18 5 z M 12 7 C 14.761 7 17 9.239 17 12 C 17 14.761 14.761 17 12 17 C 9.239 17 7 14.761 7 12 C 7 9.239 9.239 7 12 7 z M 12 9 A 3 3 0 0 0 9 12 A 3 3 0 0 0 12 15 A 3 3 0 0 0 15 12 A 3 3 0 0 0 12 9 z"/></svg>
|
||||||
|
After Width: | Height: | Size: 521 B |
1
static/linkedin.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="2 2 46 46"><path d="M41,4H9C6.24,4,4,6.24,4,9v32c0,2.76,2.24,5,5,5h32c2.76,0,5-2.24,5-5V9C46,6.24,43.76,4,41,4z M17,20v19h-6V20H17z M11,14.47c0-1.4,1.2-2.47,3-2.47s2.93,1.07,3,2.47c0,1.4-1.12,2.53-3,2.53C12.2,17,11,15.87,11,14.47z M39,39h-6c0,0,0-9.26,0-10 c0-2-1-4-3.5-4.04h-0.08C27,24.96,26,27.02,26,29c0,0.91,0,10,0,10h-6V20h6v2.56c0,0,1.93-2.56,5.81-2.56 c3.97,0,7.19,2.73,7.19,8.26V39z"/></svg>
|
||||||
|
After Width: | Height: | Size: 449 B |
1840
static/main.css
Normal file
1
static/mastodon.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-7 -7 526 526"><path d="M214.5 1.1c-52.8 3-101.7 12.8-124.6 25-7.9 4.2-22.2 16.2-29.3 24.5-20 23.4-31.9 51.1-37.2 86.6-3.3 22.8-2.7 128.6 1.1 170.8 8.6 97.6 35.6 152.9 87.5 179.4 15.8 8.1 30.4 12.6 58.5 18 24.1 4.6 39.9 6 67.5 6 39.4 0 67.6-4.8 97-16.3l9.5-3.7-.3-13.9c-.1-7.7-.5-17.3-.8-21.3-.6-7-.7-7.3-2.7-6.8-6 1.8-29.4 6.7-38.7 8.1-23.4 3.6-66.6 2.9-88.8-1.4-34.8-6.8-52.6-24.7-57.1-57.5-1.3-9.3-1.4-15.6-.2-15.6.4 0 5.7 1.1 11.7 2.4 31.4 7 55.8 9.7 94.7 10.3 34.8.6 51.9-.3 83.7-4.3 31-3.9 51.5-9.6 73-20.4 27.7-13.9 51.9-36.6 58.9-55.4 9.2-24.6 16-133.2 11-175.6-5.1-43.3-24.2-81-52.7-104.1C422.7 25 409.1 19 384.6 13 341.7 2.4 274-2.3 214.5 1.1zm-11.9 88c8.7 2.2 16.9 6.2 24.9 12.2 7.9 5.9 12.2 11.3 20.2 24.9 3.6 6.2 7 11.9 7.6 12.6.7.9 3.1-2.3 8.6-11.7 8.5-14.2 11.9-18.5 19.5-24.9 28.4-23.6 75.2-19.9 101 7.8 11.3 12.2 17.3 26 20.1 46.1 2.1 14.7 3 70.6 2 119.1l-.7 35.8H354v-68.3c0-73.9-.1-75.1-5.5-85.8-3.4-6.5-9.4-12.5-15.8-15.4-16.9-7.9-35.2-.4-44.2 17.9-5.8 11.6-6.4 17.8-6.5 61.8V260h-51.9l-.3-43.3c-.4-41.2-.5-43.5-2.6-49.7-4-12-11.3-20.9-21.2-25.8-7.9-3.8-18.2-3.8-26.1.1-6.6 3.2-14.2 10.9-17 17.3-4.7 10.5-4.9 13.8-4.9 85.1V311h-51.7l-.8-57.3c-.9-74.3.5-99.8 6.4-117 7.8-22.6 24.8-39.1 48.1-46.6 13-4.2 28.6-4.6 42.6-1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
1
static/rss.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="7.5 7.5 81 81"><path d="M14.5 14.5L12 16.9v62.2l2.5 2.4 2.4 2.5h62.2l2.4-2.5 2.5-2.4V16.9l-2.5-2.4-2.4-2.5H16.9l-2.4 2.5zm22.7 10.6C56.7 29.3 72 48 72 67.7V72h-7.7l-.5-6.4C62.3 47.1 46.4 32 28.3 32H24v-4c0-4 0-4 4-4 2.1 0 6.3.5 9.2 1.1zM37 41.6c10.4 3.1 19 15.1 19 26.5 0 3.9 0 3.9-3.9 3.9h-3.8l-.6-5.5c-1.1-10.4-7.8-17.1-18.1-18.2l-5.6-.6v-3.8c0-3.8.1-3.9 3.8-3.9 2.1 0 6.2.7 9.2 1.6zM34 62c1.1 1.1 2 2.9 2 4 0 2.6-3.4 6-6 6s-6-3.4-6-6c0-1.1.9-2.9 2-4s2.9-2 4-2 2.9.9 4 2z"/></svg>
|
||||||
|
After Width: | Height: | Size: 532 B |
BIN
static/theme.png
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
1
static/theme.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-0.5 -0.5 25 25" width="64" height="32" fill="none"><g transform="translate(-12,0)"><path d="M9.3812 2.04327C7.76937 2.50154 6.2485 3.36519 4.97948 4.63421C1.00684 8.60687 1.00684 15.0478 4.97948 19.0205C8.95213 22.9932 15.3931 22.9932 19.3657 19.0205C20.6429 17.7433 21.5095 16.211 21.9654 14.5876M9.5384 2C8.6321 5.39377 9.51018 9.16492 12.1726 11.8274C14.8351 14.4899 18.6063 15.368 22 14.4617" stroke="#000" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /></g><g transform="translate(12,0)"><path d="M17.5 17.5L19 19M20 12H22M6.5 6.5L5 5M17.5 6.5L19 5M6.5 17.5L5 19M2 12H4M12 2V4M12 20V22M16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12Z" stroke="#000" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" /></g></svg>
|
||||||
|
After Width: | Height: | Size: 869 B |
1
static/twitter.svg
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="2.1 2.1 19.8 19.8"><path d="M22,3.999c-0.78,0.463-2.345,1.094-3.265,1.276c-0.027,0.007-0.049,0.016-0.075,0.023c-0.813-0.802-1.927-1.299-3.16-1.299 c-2.485,0-4.5,2.015-4.5,4.5c0,0.131-0.011,0.372,0,0.5c-3.353,0-5.905-1.756-7.735-4c-0.199,0.5-0.286,1.29-0.286,2.032 c0,1.401,1.095,2.777,2.8,3.63c-0.314,0.081-0.66,0.139-1.02,0.139c-0.581,0-1.196-0.153-1.759-0.617c0,0.017,0,0.033,0,0.051 c0,1.958,2.078,3.291,3.926,3.662c-0.375,0.221-1.131,0.243-1.5,0.243c-0.26,0-1.18-0.119-1.426-0.165 c0.514,1.605,2.368,2.507,4.135,2.539c-1.382,1.084-2.341,1.486-5.171,1.486H2C3.788,19.145,6.065,20,8.347,20 C15.777,20,20,14.337,20,8.999c0-0.086-0.002-0.266-0.005-0.447C19.995,8.534,20,8.517,20,8.499c0-0.027-0.008-0.053-0.008-0.08 c-0.003-0.136-0.006-0.263-0.009-0.329c0.79-0.57,1.475-1.281,2.017-2.091c-0.725,0.322-1.503,0.538-2.32,0.636 C20.514,6.135,21.699,4.943,22,3.999z"/></svg>
|
||||||
|
After Width: | Height: | Size: 919 B |
9
tailwind.config.js
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
/** @type {import('tailwindcss').Config} */
|
||||||
|
module.exports = {
|
||||||
|
content: ["./templates/**/*.html"],
|
||||||
|
darkMode: "class",
|
||||||
|
theme: {
|
||||||
|
extend: {},
|
||||||
|
},
|
||||||
|
plugins: [require("@tailwindcss/typography")],
|
||||||
|
};
|
||||||
4
templates/404.html
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{% extends "index.html" %}<!---->
|
||||||
|
{% block main %}<!---->
|
||||||
|
<h1 class="absolute inset-x-8 bottom-20 top-0 flex items-center justify-center text-9xl">404</h1>
|
||||||
|
{% endblock main %}
|
||||||
62
templates/index.html
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="not-ready lg:text-base" lang="{{ lang }}">
|
||||||
|
{% include "partials/head.html" %}
|
||||||
|
<body class="text-black duration-200 ease-out dark:text-white">
|
||||||
|
{% include "partials/header.html" %}
|
||||||
|
|
||||||
|
<main
|
||||||
|
class="prose prose-neutral relative mx-auto min-h-[calc(100%-9rem)] max-w-3xl px-4 pb-16 pt-32 dark:prose-invert"
|
||||||
|
>
|
||||||
|
{% block main %}
|
||||||
|
|
||||||
|
<!-- avatar -->
|
||||||
|
{% if paginator.current_index == 1 %}<!---->
|
||||||
|
{% if config.extra.profile.avatar_url or config.extra.profile.name %}
|
||||||
|
<div class="mb-16 flex items-start">
|
||||||
|
{% if config.extra.profile.avatar_url %}
|
||||||
|
<div
|
||||||
|
class="mr-5 shrink-0 rounded-full border-[0.5px] border-black/10 bg-white/50 p-3 shadow dark:bg-white/[15%]"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="{% if config.extra.profile.avatar_invert %}dark:invert{% endif %} my-0 aspect-square w-16 rounded-full !bg-black/5 hover:animate-spin"
|
||||||
|
src="{{ config.extra.profile.avatar_url }}"
|
||||||
|
alt="{{ config.extra.profile.name | default(value=config.title) }}"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
{% endif %}<!---->
|
||||||
|
|
||||||
|
{% if config.extra.profile.name %}
|
||||||
|
<div>
|
||||||
|
<h1 class="mb-2 text-3xl font-bold">{{ config.extra.profile.name }}</h1>
|
||||||
|
<div class="mb-2 break-words">
|
||||||
|
{{ config.extra.profile.bio | default(value=`A blog by ` ~ config.extra.profile.name) }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% if config.extra.profile.social %}
|
||||||
|
<nav class="flex justify-start space-x-3 dark:invert">
|
||||||
|
{% for social in config.extra.profile.social %}
|
||||||
|
<a
|
||||||
|
class="h-8 w-8 text-[0] [background:var(--url)_center_center/cover_no-repeat]"
|
||||||
|
style="--url: url(./{{ social.name }}.svg)"
|
||||||
|
href="{{ social.url }}"
|
||||||
|
target="_blank"
|
||||||
|
rel="{% if social.name == `rss` %}alternate{% else %}me{% endif %}"
|
||||||
|
>
|
||||||
|
{{ social.name }}
|
||||||
|
</a>
|
||||||
|
{% endfor %}
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
{% endif %}<!---->
|
||||||
|
</div>
|
||||||
|
{% endif %}<!---->
|
||||||
|
{% endif %}<!---->
|
||||||
|
|
||||||
|
{% include "partials/page_list.html" %}<!---->
|
||||||
|
{% endblock main %}
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{% include "partials/footer.html" %}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
74
templates/page.html
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
{% extends "index.html" %}<!---->
|
||||||
|
{% block main %}
|
||||||
|
<article>
|
||||||
|
<header class="mb-16">
|
||||||
|
<h1 class="!my-0 pb-2.5">{{ page.title }}</h1>
|
||||||
|
{% include "partials/page_info.html" %}
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section>{{ page.content | safe }}</section>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<!-- Post Taxonomies -->
|
||||||
|
{% if page.taxonomies.tags %}
|
||||||
|
<footer class="mt-12 flex flex-wrap">
|
||||||
|
{% for term_name, terms in page.taxonomies %}<!---->
|
||||||
|
<span class="mb-1.5 mr-1.5 rounded-lg bg-black/[3%] px-5 py-1.5 dark:bg-white/[8%]"
|
||||||
|
>{{ term_name | title }}
|
||||||
|
</span>
|
||||||
|
{% for term in terms %}<!---->
|
||||||
|
<a
|
||||||
|
class="mb-1.5 mr-1.5 rounded-lg bg-black/[3%] px-5 py-1.5 no-underline dark:bg-white/[8%]"
|
||||||
|
href="{{ get_taxonomy_url(kind=term_name, name=term) | safe }}"
|
||||||
|
>{{ term }}</a
|
||||||
|
>
|
||||||
|
{% endfor %} {% endfor %}
|
||||||
|
</footer>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Post Nav -->
|
||||||
|
{% if not config.extra.disable_post_navigation %}<!---->
|
||||||
|
{% if page.lower or page.higher %}
|
||||||
|
<nav class="mt-12 flex rounded-lg bg-black/[3%] text-lg dark:bg-white/[8%]">
|
||||||
|
{% if page.higher %}
|
||||||
|
<a
|
||||||
|
class="flex w-1/2 items-center rounded-l-md p-6 pr-3 font-semibold no-underline hover:bg-black/[2%] dark:hover:bg-white/[3%]"
|
||||||
|
href="{{ page.higher.permalink }}"
|
||||||
|
><span class="mr-1.5">←</span><span>{{ page.higher.title }}</span></a
|
||||||
|
>
|
||||||
|
{% endif %}<!---->
|
||||||
|
{% if page.lower %}
|
||||||
|
<a
|
||||||
|
class="ml-auto flex w-1/2 items-center justify-end rounded-r-md p-6 pl-3 font-semibold no-underline hover:bg-black/[2%] dark:hover:bg-white/[3%]"
|
||||||
|
href="{{ page.lower.permalink }}"
|
||||||
|
><span>{{ page.lower.title }}</span><span class="ml-1.5">→</span></a
|
||||||
|
>
|
||||||
|
{% endif %}
|
||||||
|
</nav>
|
||||||
|
{% endif %}<!---->
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- giscus comment -->
|
||||||
|
{% if config.extra.giscus.repo and page.extra.comments %}
|
||||||
|
<div class="giscus mt-12"></div>
|
||||||
|
<script
|
||||||
|
src="https://giscus.app/client.js"
|
||||||
|
data-repo="{{ config.extra.giscus.repo }}"
|
||||||
|
data-repo-id="{{ config.extra.giscus.repo_id }}"
|
||||||
|
data-category="{{ config.extra.giscus.category }}"
|
||||||
|
data-category-id="{{ config.extra.giscus.category_id }}"
|
||||||
|
data-mapping="{{ config.extra.giscus.mapping | default(value=`pathname`) }}"
|
||||||
|
data-strict="{{ config.extra.giscus.strict | default(value=`1`) }}"
|
||||||
|
data-reactions-enabled="{{ config.extra.giscus.reactions_enabled | default(value=`0`) }}"
|
||||||
|
data-emit-metadata="{{ config.extra.giscus.emit_metadata | default(value=`0`) }}"
|
||||||
|
data-input-position="{{ config.extra.giscus.input_position | default(value=`top`) }}"
|
||||||
|
data-theme="{{ config.extra.giscus.theme | default(value=`light`) }}"
|
||||||
|
data-lang="{{ config.extra.giscus.lang | default(value=`en`) }}"
|
||||||
|
data-loading="{{ config.extra.giscus.loading | default(value=`lazy`) }}"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
async
|
||||||
|
></script>
|
||||||
|
{% endif %}
|
||||||
|
</article>
|
||||||
|
{% endblock main %}
|
||||||
24
templates/partials/footer.html
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
<footer class="mx-auto flex max-w-3xl flex-wrap items-center px-8 py-4 text-sm opacity-60">
|
||||||
|
<div class="mr-auto basis-full lg:basis-1/2">
|
||||||
|
© {% if config.extra.footer.since %}{{ config.extra.footer.since }} - {% endif %} {{ now()
|
||||||
|
| date(format="%Y") }}
|
||||||
|
<a class="link" href="{{ get_url(path=``) }}"
|
||||||
|
>{{ config.author | default(value=config.title) }}</a
|
||||||
|
>
|
||||||
|
{% if config.extra.footer.license %} |<!---->
|
||||||
|
{% if config.extra.footer.license_url %}<!---->
|
||||||
|
<a class="link" href="{{ config.extra.footer.license_url }}">
|
||||||
|
{{ config.extra.footer.license }}
|
||||||
|
</a>
|
||||||
|
{% else %}<!---->
|
||||||
|
{{ config.extra.footer.license }}<!---->
|
||||||
|
{% endif %}<!---->
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<div class="flex basis-full lg:basis-1/2 lg:justify-end">
|
||||||
|
<a class="link mr-6 lg:ml-6" href="https://www.getzola.org/" rel="noopener" target="_blank"
|
||||||
|
>Powered by Zola</a
|
||||||
|
>
|
||||||
|
<a class="link" href="https://github.com/st1020/kita" rel="noopener" target="_blank">✎ Kita</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
84
templates/partials/head.html
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
||||||
|
|
||||||
|
<!-- Title -->
|
||||||
|
<title>
|
||||||
|
{% if page.title %}{{ config.title }} - {{ page.title }}{% else %}{{ config.title }}{% endif %}
|
||||||
|
</title>
|
||||||
|
|
||||||
|
<!-- Meta -->
|
||||||
|
<meta name="theme-color" />
|
||||||
|
|
||||||
|
<!-- Author -->
|
||||||
|
{% if page %}
|
||||||
|
<meta name="description" content="{{ page.summary | default(value=page.title) | safe }}" />
|
||||||
|
<meta name="author" content="{{ page.extra.author | default(value=page.title) }}" />
|
||||||
|
{% else %}
|
||||||
|
<meta name="description" content="{{ config.description | default(value=`A personal blog`) }}" />
|
||||||
|
<meta name="author" content="{{ config.author | default(value=config.title) }}" />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- CSS & JS -->
|
||||||
|
<link rel="preload stylesheet" as="style" href="{{ get_url(path=`main.css`) }}" />
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--bg: {{ config.extra.style.bg_color | default(value="#f4f4f5") }};
|
||||||
|
--bg-dark: {{ config.extra.style.bg_dark_color | default(value="#18181b") }};
|
||||||
|
--header: {{ config.extra.style.header_color | default(value="#e4e4e7") }};
|
||||||
|
--header-dark: {{ config.extra.style.header_dark_color | default(value="#27272a") }};
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Avatar -->
|
||||||
|
{% if config.extra.profile.avatar_url %}
|
||||||
|
<link rel="preload" as="image" href="{{ config.extra.profile.avatar_url }}" />
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Social List -->
|
||||||
|
{% if config.extra.profile.social %}
|
||||||
|
<!---->
|
||||||
|
{% for social in config.extra.profile.social %}
|
||||||
|
<link rel="preload" as="image" href="{{ get_url(path=social.name ~ `.svg`) }}" />
|
||||||
|
{% endfor %}
|
||||||
|
<!---->
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Dark Icon -->
|
||||||
|
<link rel="preload" as="image" href="{{ get_url(path=`theme.svg`) }}" />
|
||||||
|
|
||||||
|
<!-- Math -->
|
||||||
|
{% if page.extra.math | default(value=config.extra.math) %}
|
||||||
|
<!---->
|
||||||
|
{% include "partials/math.html" %}
|
||||||
|
<!---->
|
||||||
|
{% endif %}
|
||||||
|
<!---->
|
||||||
|
|
||||||
|
<!-- Favicon -->
|
||||||
|
<link rel="icon" href="{{ get_url(path=`favicon.ico`) }}" />
|
||||||
|
<link rel="apple-touch-icon" href="{{ get_url(path=`apple-touch-icon.png`) }}" />
|
||||||
|
|
||||||
|
<!-- Feeds -->
|
||||||
|
{% if config.generate_feed %} {% if config.feed_filename == "atom.xml" %}
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
type="application/atom+xml"
|
||||||
|
title="Atom"
|
||||||
|
href="{{ get_url(path=`atom.xml`) }}"
|
||||||
|
/>
|
||||||
|
{% elif config.feed_filename == "rss.xml" %}
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
type="application/rss+xml"
|
||||||
|
title="RSS"
|
||||||
|
href="{{ get_url(path=`rss.xml`) }}"
|
||||||
|
/>
|
||||||
|
{% endif %}
|
||||||
|
<!---->
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<!-- Canonical -->
|
||||||
|
<link rel="canonical" href="{{ page.permalink | default(value=get_url(path=``)) }}" />
|
||||||
|
</head>
|
||||||
79
templates/partials/header.html
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
<header
|
||||||
|
class="{% if config.extra.style.header_blur %}blur-header{% else %}header{% endif %} fixed top-0 z-40 mx-auto min-h-[3.5rem] w-full"
|
||||||
|
>
|
||||||
|
<div class="mx-auto w-full max-w-4xl p-3 lg:flex lg:justify-between">
|
||||||
|
<div class="flex justify-between">
|
||||||
|
<div class="flex items-center">
|
||||||
|
<a class="text-2xl font-semibold" href="{{ get_url(path=``) }}">{{ config.title }}</a>
|
||||||
|
<div
|
||||||
|
class="btn-dark ml-4 h-6 w-6 shrink-0 cursor-pointer text-[0] [background:url(./theme.svg)_left_center/cover_no-repeat] dark:invert dark:[background-position:right]"
|
||||||
|
role="button"
|
||||||
|
aria-label="Dark"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
{% if config.extra.menu %}
|
||||||
|
<div
|
||||||
|
class="btn-menu relative z-50 flex h-8 w-8 shrink-0 cursor-pointer flex-col items-center justify-center gap-2.5 lg:hidden"
|
||||||
|
role="button"
|
||||||
|
aria-label="Menu"
|
||||||
|
></div>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
// base
|
||||||
|
const htmlClass = document.documentElement.classList;
|
||||||
|
setTimeout(() => {
|
||||||
|
htmlClass.remove("not-ready");
|
||||||
|
}, 10);
|
||||||
|
|
||||||
|
// mobile menu
|
||||||
|
const btnMenu = document.querySelector(".btn-menu");
|
||||||
|
btnMenu.addEventListener("click", () => {
|
||||||
|
htmlClass.toggle("open");
|
||||||
|
});
|
||||||
|
|
||||||
|
// dark theme
|
||||||
|
const setDark = (isDark) => {
|
||||||
|
htmlClass[isDark ? "add" : "remove"]("dark");
|
||||||
|
localStorage.setItem("dark", isDark);
|
||||||
|
};
|
||||||
|
|
||||||
|
// init
|
||||||
|
const darkScheme = window.matchMedia("(prefers-color-scheme: dark)");
|
||||||
|
if (htmlClass.contains("dark")) {
|
||||||
|
setDark(true);
|
||||||
|
} else {
|
||||||
|
const darkVal = localStorage.getItem("dark");
|
||||||
|
setDark(darkVal ? darkVal === "true" : darkScheme.matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
// listen system
|
||||||
|
darkScheme.addEventListener("change", (event) => {
|
||||||
|
setDark(event.matches);
|
||||||
|
});
|
||||||
|
|
||||||
|
// manual switch
|
||||||
|
const btnDark = document.querySelector(".btn-dark");
|
||||||
|
btnDark.addEventListener("click", () => {
|
||||||
|
setDark(localStorage.getItem("dark") !== "true");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% if config.extra.menu %}
|
||||||
|
<nav class="flex w-full items-center lg:w-auto">
|
||||||
|
<ul
|
||||||
|
class="nav-wrapper flex w-full flex-col py-2 lg:w-auto lg:flex-row lg:self-center lg:py-0"
|
||||||
|
>
|
||||||
|
{% for menu in config.extra.menu %}
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
class="block py-2 text-center text-lg font-medium text-black dark:text-white lg:px-3 lg:py-0"
|
||||||
|
href="{{ menu.url }}"
|
||||||
|
>{{ menu.name }}</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
33
templates/partials/math.html
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.css"
|
||||||
|
integrity="sha384-3UiQGuEI4TTMaFmGIZumfRPtfKQ3trwQE2JgosJxCnGmQpL/lJdjpcHkaaFwHlcI"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
/>
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js"
|
||||||
|
integrity="sha384-G0zcxDFp5LWZtDuRMnBkk3EphCK1lhEf4UEyEM693ka574TZGwo4IWwS6QLzM/2t"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
<script
|
||||||
|
defer
|
||||||
|
src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/auto-render.min.js"
|
||||||
|
integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", () =>
|
||||||
|
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,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
</script>
|
||||||
13
templates/partials/page_info.html
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
<div class="text-sm antialiased opacity-60">
|
||||||
|
{% if page.date %}
|
||||||
|
<time>{{ page.date | date }}</time>
|
||||||
|
<span class="mx-1">·</span>
|
||||||
|
<span>{{ page.reading_time }}min</span>
|
||||||
|
{% endif %}<!---->
|
||||||
|
{% set single_author = page.extra.author | default(value=config.author) %}
|
||||||
|
<!---->
|
||||||
|
{% if single_author %}
|
||||||
|
<span class="mx-1">·</span>
|
||||||
|
<span>{{ single_author }}</span>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
49
templates/partials/page_list.html
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
<!-- Pages -->
|
||||||
|
{% 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 %}
|
||||||
|
<section
|
||||||
|
class="relative mb-4 rounded-lg bg-white/80 p-4 first-of-type:mt-0 last-of-type:mb-0 active:scale-95 dark:bg-white/[8%] lg:mb-6 lg:p-6"
|
||||||
|
>
|
||||||
|
<h2 class="!my-0 pb-1 font-bold !leading-none">{{ page.title }}</h2>
|
||||||
|
|
||||||
|
<div class="not-prose my-1 truncate">
|
||||||
|
{% if page.description %}
|
||||||
|
<p>{{ page.description }}</p>
|
||||||
|
{% elif page.summary %}<!---->
|
||||||
|
{{ page.summary | safe }}<!---->
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% include "partials/page_info.html" %}
|
||||||
|
|
||||||
|
<a class="absolute inset-0 text-[0]" href="{{ page.permalink }}">{{ page.title }}</a>
|
||||||
|
</section>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
<!-- Main Nav -->
|
||||||
|
{% if paginator is defined %}
|
||||||
|
<nav class="mt-16 flex">
|
||||||
|
{% if paginator.previous %}
|
||||||
|
<a
|
||||||
|
class="rounded-full bg-black px-4 py-3 text-sm text-white no-underline shadow duration-100 active:scale-95 dark:bg-white/80 dark:text-black"
|
||||||
|
href="{{ paginator.previous }}"
|
||||||
|
>← Prev Page</a
|
||||||
|
>
|
||||||
|
{% endif %}<!---->
|
||||||
|
{% if paginator.next %}
|
||||||
|
<a
|
||||||
|
class="ml-auto rounded-full bg-black px-4 py-3 text-sm text-white no-underline shadow duration-100 active:scale-95 dark:bg-white/80 dark:text-black"
|
||||||
|
href="{{ paginator.next }}"
|
||||||
|
>Next Page →</a
|
||||||
|
>
|
||||||
|
{% endif %}
|
||||||
|
</nav>
|
||||||
|
{% endif %}
|
||||||
9
templates/section.html
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{% extends "index.html" %}<!---->
|
||||||
|
{% block main %}<!---->
|
||||||
|
<!-- Section Title -->
|
||||||
|
<h1 class="mb-16">{{ section.title }}</h1>
|
||||||
|
|
||||||
|
<!-- Pages -->
|
||||||
|
{% include "partials/page_list.html" %}<!---->
|
||||||
|
|
||||||
|
{% endblock main %}
|
||||||
30
templates/taxonomy_list.html
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{% extends "index.html" %}<!---->
|
||||||
|
{% block main %}
|
||||||
|
<!-- Taxonomy Title -->
|
||||||
|
<h1 class="mb-16">{{ taxonomy.name | title }}</h1>
|
||||||
|
|
||||||
|
<div class="not-prose flex flex-auto flex-wrap">
|
||||||
|
{% for term in terms %}
|
||||||
|
<div class="min-h-[18rem] w-full items-stretch p-2 md:w-1/2">
|
||||||
|
<div class="flex h-full flex-col rounded-lg bg-black/[3%] px-5 py-1.5 dark:bg-white/[8%]">
|
||||||
|
<h3 class="my-4 text-xl font-bold text-black dark:text-white">
|
||||||
|
<a class="no-underline" href="{{ term.permalink }}">
|
||||||
|
#{{ term.name }} - {{ term.page_count }}
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
{%for page in term.pages | slice(end=5) %}
|
||||||
|
<a class="my-0.5 no-underline" href="{{ page.permalink }}">{{ page.title }}</a>
|
||||||
|
{% endfor %}<!---->
|
||||||
|
|
||||||
|
{% if term.pages | length > 5 %}
|
||||||
|
<span class="flex justify-end">
|
||||||
|
<a class="my-1 pr-2 no-underline" href="{{ term.permalink }}">More >></a>
|
||||||
|
</span>
|
||||||
|
{% endif %}<!---->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}<!---->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock main %}
|
||||||
9
templates/taxonomy_single.html
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{% extends "index.html" %}<!---->
|
||||||
|
{% block main %}
|
||||||
|
<!-- Term Title -->
|
||||||
|
<h1 class="mb-16">#{{ term.name }}</h1>
|
||||||
|
|
||||||
|
<!-- Pages -->
|
||||||
|
{% include "partials/page_list.html" %}<!---->
|
||||||
|
|
||||||
|
{% endblock main %}
|
||||||
15
theme.toml
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
name = "Kita"
|
||||||
|
description = "Kita is a clean, elegant and simple blog theme for Zola."
|
||||||
|
license = "MIT"
|
||||||
|
homepage = "https://github.com/st1020/kita"
|
||||||
|
min_version = "0.17.0"
|
||||||
|
demo = "https://st1020.github.io/kita/"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "st1020"
|
||||||
|
homepage = "https://st1020.com"
|
||||||
|
|
||||||
|
[original]
|
||||||
|
author = "nanxiaobei"
|
||||||
|
homepage = "https://lee.so/"
|
||||||
|
repo = "https://github.com/nanxiaobei/hugo-paper"
|
||||||