update
Some checks failed
Code quality / quality (push) Has been cancelled
Build and Check / Astro Check for Node.js 22 (push) Has been cancelled
Build and Check / Astro Check for Node.js 23 (push) Has been cancelled
Build and Check / Astro Build for Node.js 22 (push) Has been cancelled
Build and Check / Astro Build for Node.js 23 (push) Has been cancelled

This commit is contained in:
2026-03-01 16:36:26 +01:00
parent 8834a78b54
commit 2b18db2837
25 changed files with 463 additions and 364 deletions

View File

@@ -0,0 +1,59 @@
name: Bug Report
description: Create a report to help us improve
title: "[Bug]: "
labels: ["bug"]
assignees:
- L4Ph
- saicaca
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: bug-description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: to-reproduce
attributes:
label: To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: dropdown
id: os
attributes:
label: OS
multiple: true
options:
- Windows
- macOS
- Linux
- Android
- iOS
- type: input
id: browser
attributes:
label: Browser
placeholder: e.g. chrome, safari
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context about the problem here.

View File

@@ -0,0 +1,41 @@
name: Feature Request
description: Suggest an idea for this project
title: "[Feature]: "
labels: ["enhancement"]
assignees:
- saicaca
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: textarea
id: related-problem
attributes:
label: Is your feature request related to a problem?
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
- type: markdown
attributes:
value: |
**Disclaimer**
Please note that this feature request is at the discretion of the repository owner, @saicaca, and its implementation is not guaranteed.

View File

@@ -0,0 +1,11 @@
name: Custom Issue
description: Describe your issue here.
title: "[Other]: "
body:
- type: textarea
id: issue-description
attributes:
label: Issue Description
description: Please describe your issue.
validations:
required: true

22
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
groups:
patch-updates:
patterns:
- "*"
update-types:
- "patch"
minor-updates:
patterns:
- "*"
update-types:
- "minor"
pull-request-branch-name:
separator: "-"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]

37
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,37 @@
## Type of change
- [ ] Bug fix (a non-breaking change that fixes an issue)
- [ ] New feature (a non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Other (please describe):
## Checklist
- [ ] I have read the [**CONTRIBUTING**](https://github.com/saicaca/fuwari/blob/main/CONTRIBUTING.md) document.
- [ ] I have checked to ensure that this Pull Request is not for personal changes.
- [ ] I have performed a self-review of my own code.
- [ ] My changes generate no new warnings.
## Related Issue
<!-- Please link to the issue that this pull request addresses. e.g. #123 -->
## Changes
<!-- Please describe the changes you made in this pull request. -->
## How To Test
<!-- Please describe how you tested your changes. -->
## Screenshots (if applicable)
<!-- If you made any UI changes, please include screenshots. -->
## Additional Notes
<!-- Any additional information that you want to share with the reviewer. -->

20
.github/workflows/biome.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Code quality
on:
push:
branches: [ main ] # Adjust branches as needed
pull_request:
branches: [ main ] # Adjust branches as needed
jobs:
quality:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Biome
uses: biomejs/setup-biome@f382a98e582959e6aaac8e5f8b17b31749018780 # v2.5.0
with:
version: latest
- name: Run Biome
run: biome ci ./src --reporter=github

67
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,67 @@
name: Build and Check
on:
push:
branches: [ main ] # Adjust branches as needed
pull_request:
branches: [ main ] # Adjust branches as needed
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
check:
strategy:
matrix:
node: [ 22, 23 ]
runs-on: ubuntu-latest
name: Astro Check for Node.js ${{ matrix.node }}
steps:
- name: Setup Node.js
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
with:
node-version: ${{ matrix.node }} # Use LTS
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
with:
run_install: false # Disable auto-install
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run Astro Check
run: pnpm astro check
build:
strategy:
matrix:
node: [ 22, 23 ]
runs-on: ubuntu-latest
name: Astro Build for Node.js ${{ matrix.node }} # Corrected job name
steps:
- name: Setup Node.js
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
with:
node-version: ${{ matrix.node }}
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup pnpm
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
with:
run_install: false # Disable auto-install
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run Astro Build
run: pnpm astro build

36
.gitignore vendored Normal file
View File

@@ -0,0 +1,36 @@
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
.vercel
package-lock.json
bun.lockb
yarn.lock
# ide
.idea
*.iml
# Vault CMS / Obsidian
.obsidian/workspace.json
.obsidian/workspace-mobile.json
.ref/

1
.npmrc Normal file
View File

@@ -0,0 +1 @@
manage-package-manager-versions = true

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["biomejs.biome", "astro-build.astro-vscode"]
}

22
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,22 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "biomejs.biome",
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[javascriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome"
},
"editor.codeActionsOnSave": {
"source.fixAll": "explicit",
"quickfix.biome": "always",
"source.organizeImports.biome": "always"
},
"frontMatter.dashboard.openOnStart": false
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -8,8 +8,8 @@ import type {
import { LinkPreset } from "./types/config"; import { LinkPreset } from "./types/config";
export const siteConfig: SiteConfig = { export const siteConfig: SiteConfig = {
title: "Fuwari", title: "Homepage",
subtitle: "Demo Site", subtitle: "Welcome to my blog!",
lang: "en", // Language code, e.g. 'en', 'zh_CN', 'ja', etc. lang: "en", // Language code, e.g. 'en', 'zh_CN', 'ja', etc.
themeColor: { themeColor: {
hue: 250, // Default hue for the theme color, from 0 to 360. e.g. red: 0, teal: 200, cyan: 250, pink: 345 hue: 250, // Default hue for the theme color, from 0 to 360. e.g. red: 0, teal: 200, cyan: 250, pink: 345
@@ -31,11 +31,11 @@ export const siteConfig: SiteConfig = {
}, },
favicon: [ favicon: [
// Leave this array empty to use the default favicon // Leave this array empty to use the default favicon
// { {
// src: '/favicon/icon.png', // Path of the favicon, relative to the /public directory src: "assets/images/avatar.512.png", // Path of the favicon, relative to the /public directory
// theme: 'light', // (Optional) Either 'light' or 'dark', set only if you have different favicons for light and dark mode // theme: 'light', // (Optional) Either 'light' or 'dark', set only if you have different favicons for light and dark mode
// sizes: '32x32', // (Optional) Size of the favicon, set only if you have favicons of different sizes // sizes: '32x32', // (Optional) Size of the favicon, set only if you have favicons of different sizes
// } },
], ],
}; };
@@ -46,34 +46,32 @@ export const navBarConfig: NavBarConfig = {
LinkPreset.About, LinkPreset.About,
{ {
name: "GitHub", name: "GitHub",
url: "https://github.com/saicaca/fuwari", // Internal links should not include the base path, as it is automatically added url: "https://github.com/fzzinchemical", // Internal links should not include the base path, as it is automatically added
external: true, // Show an external link icon and will open in a new tab external: true, // Show an external link icon and will open in a new tab
}, },
], ],
}; };
export const profileConfig: ProfileConfig = { export const profileConfig: ProfileConfig = {
avatar: "assets/images/demo-avatar.png", // Relative to the /src directory. Relative to the /public directory if it starts with '/' avatar: "assets/images/avatar.512.png", // Relative to the /src directory. Relative to the /public directory if it starts with '/'
name: "Lorem Ipsum", name: "Mathys Jean André Touzet",
bio: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", bio: "Tinkerer, Programmer and Daydreamer.",
links: [ links: [
{
name: "Twitter",
icon: "fa6-brands:twitter", // Visit https://icones.js.org/ for icon codes
// You will need to install the corresponding icon set if it's not already included
// `pnpm add @iconify-json/<icon-set-name>`
url: "https://twitter.com",
},
{
name: "Steam",
icon: "fa6-brands:steam",
url: "https://store.steampowered.com",
},
{ {
name: "GitHub", name: "GitHub",
icon: "fa6-brands:github", icon: "fa6-brands:github",
url: "https://github.com/saicaca/fuwari", url: "https://github.com/fzzinchemical",
}, },
{
name: "GitLab",
icon: "fa6-brands:gitlab",
url: "https://gitlab.com/fzzinchemical",
},
// {
// name: "Codeberg",
// icon: "fa6-classic:code",
// url: "https://codeberg.org/fzzin",
// },
], ],
}; };

View File

@@ -1,6 +1,6 @@
{ {
"showInlineTitle": false, "showInlineTitle": false,
"promptDelete": true, "promptDelete": false,
"showIndentGuide": false, "showIndentGuide": false,
"attachmentFolderPath": "./attachments", "attachmentFolderPath": "./attachments",
"userIgnoreFilters": null, "userIgnoreFilters": null,

View File

@@ -21,6 +21,51 @@
"icon": "lucide-home", "icon": "lucide-home",
"title": "Home" "title": "Home"
} }
},
{
"id": "b444b88c27efdcfb",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "posts/test/index.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "index"
}
},
{
"id": "aa459f9d9d97cf13",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "posts/guide/index.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "index"
}
},
{
"id": "e8d8d0e2b531f843",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "posts/test/index.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "index"
}
} }
] ]
} }
@@ -54,7 +99,7 @@
"state": { "state": {
"type": "search", "type": "search",
"state": { "state": {
"query": "", "query": "tag:#SaaS",
"matchingCase": false, "matchingCase": false,
"explainSearch": false, "explainSearch": false,
"collapseAll": false, "collapseAll": false,
@@ -110,15 +155,17 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "_bases/Home.base",
"followCursor": false, "followCursor": false,
"showSearch": false, "showSearch": false,
"searchQuery": "" "searchQuery": ""
}, },
"icon": "lucide-list", "icon": "lucide-list",
"title": "Outline" "title": "Outline of Home"
} }
} }
] ],
"currentTab": 1
} }
], ],
"direction": "horizontal", "direction": "horizontal",
@@ -141,5 +188,20 @@
} }
}, },
"active": "e7a7b303c61786dc", "active": "e7a7b303c61786dc",
"lastOpenFiles": [] "lastOpenFiles": [
"posts/test/index.md",
"posts/Untitled.md",
"_bases/Home.base",
"posts/guide/index.md",
"posts/test",
"_GUIDE.md",
"Untitled.md",
"posts/guide/cover.jpeg",
"posts/expressive-code.md",
"posts/draft.md",
"spec/about.md",
"posts/video.md",
"posts/markdown-extended.md",
"posts/markdown.md"
]
} }

0
src/content/Untitled.md Normal file
View File

View File

@@ -1,3 +1,6 @@
filters:
and:
- file.ext == "md"
formulas: formulas:
Slug: |- Slug: |-
if(file.folder == "posts", "/posts/" + file.name.replace(".md", ""), if(file.folder == "posts", "/posts/" + file.name.replace(".md", ""),
@@ -20,11 +23,6 @@ formulas:
"root" "root"
) )
) )
filters:
and:
- file.ext == "md"
properties: properties:
file.fullname: file.fullname:
displayName: Full File Name displayName: Full File Name
@@ -48,24 +46,23 @@ properties:
displayName: Title displayName: Title
note.updated: note.updated:
displayName: Updated displayName: Updated
views: views:
- type: cms - type: cms
name: "Posts" name: Posts
filters: filters:
and: and:
- file.folder.startsWith("posts") - file.folder.startsWith("posts")
sort: sort:
- property: note.updated - property: updated
direction: DESC direction: DESC
imageFormat: "cover" imageFormat: cover
showDate: true showDate: true
customizeNewButton: true customizeNewButton: true
newNoteLocation: "posts" newNoteLocation: posts
fallbackToEmbeds: "if-empty" fallbackToEmbeds: if-empty
propertyDisplay1: file.fullname propertyDisplay1: file.fullname
showTextPreview: true showTextPreview: true
propertyLabels: "above" propertyLabels: above
titleProperty: note.title titleProperty: note.title
dateProperty: note.updated dateProperty: note.updated
descriptionProperty: note.description descriptionProperty: note.description
@@ -74,21 +71,21 @@ views:
tagsProperty: note.tags tagsProperty: note.tags
showDraftStatus: false showDraftStatus: false
- type: cms - type: cms
name: "Pages" name: Pages
filters: filters:
and: and:
- file.folder.startsWith("spec") - file.folder.startsWith("spec")
sort: sort:
- property: file.ctime - property: file.ctime
direction: DESC direction: DESC
imageFormat: "cover" imageFormat: cover
showDate: true showDate: true
customizeNewButton: true customizeNewButton: true
newNoteLocation: "spec" newNoteLocation: spec
fallbackToEmbeds: "if-empty" fallbackToEmbeds: if-empty
propertyDisplay1: file.fullname propertyDisplay1: file.fullname
showTextPreview: true showTextPreview: true
propertyLabels: "above" propertyLabels: above
titleProperty: file.fullname titleProperty: file.fullname
dateProperty: file.ctime dateProperty: file.ctime
descriptionProperty: note.description descriptionProperty: note.description
@@ -99,7 +96,7 @@ views:
draftStatusProperty: note.draft draftStatusProperty: note.draft
draftStatusReverse: false draftStatusReverse: false
- type: cms - type: cms
name: "Vault CMS Guide" name: Vault CMS Guide
filters: filters:
and: and:
- file.folder == "/" - file.folder == "/"
@@ -107,13 +104,13 @@ views:
sort: sort:
- property: file.ctime - property: file.ctime
direction: DESC direction: DESC
fallbackToEmbeds: "never" fallbackToEmbeds: never
propertyDisplay1: file.fullname propertyDisplay1: file.fullname
showTextPreview: true showTextPreview: true
imageFormat: "none" imageFormat: none
showDate: false showDate: false
showDraftStatus: false showDraftStatus: false
propertyLabels: "above" propertyLabels: above
titleProperty: note.title titleProperty: note.title
propertyLayout12SideBySide: false propertyLayout12SideBySide: false
propertyLayout34SideBySide: false propertyLayout34SideBySide: false
@@ -125,4 +122,4 @@ views:
maxTagsToShow: 2 maxTagsToShow: 2
dateIncludeTime: false dateIncludeTime: false
descriptionProperty: note.description descriptionProperty: note.description
hideQuickEditIcon: true hideQuickEditIcon: true

View File

@@ -1,7 +1,10 @@
--- ---
title: Draft Example title: Draft Example
published: 2022-07-01 published: 2022-07-01
tags: [Markdown, Blogging, Demo] tags:
- Markdown
- Blogging
- Demo
category: Examples category: Examples
draft: true draft: true
--- ---

View File

@@ -2,9 +2,12 @@
title: Expressive Code Example title: Expressive Code Example
published: 2024-04-10 published: 2024-04-10
description: How code blocks look in Markdown using Expressive Code. description: How code blocks look in Markdown using Expressive Code.
tags: [Markdown, Blogging, Demo] tags:
- Markdown
- Blogging
- Demo
category: Examples category: Examples
draft: false draft: true
--- ---
Here, we'll explore how code blocks look using [Expressive Code](https://expressive-code.com/). The provided examples are based on the official documentation, which you can refer to for further details. Here, we'll explore how code blocks look using [Expressive Code](https://expressive-code.com/). The provided examples are based on the official documentation, which you can refer to for further details.

View File

@@ -1,11 +1,14 @@
--- ---
title: Simple Guides for Fuwari title: Simple Guides for Fuwari
published: 2024-04-01 published: 2024-04-01
description: "How to use this blog template." description: How to use this blog template.
image: "./cover.jpeg" image: ./cover.jpeg
tags: ["Fuwari", "Blogging", "Customization"] tags:
- Fuwari
- Blogging
- Customization
category: Guides category: Guides
draft: false draft: true
--- ---
> Cover image source: [Source](https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/208fc754-890d-4adb-9753-2c963332675d/width=2048/01651-1456859105-(colour_1.5),girl,_Blue,yellow,green,cyan,purple,red,pink,_best,8k,UHD,masterpiece,male%20focus,%201boy,gloves,%20ponytail,%20long%20hair,.jpeg) > Cover image source: [Source](https://image.civitai.com/xG1nkqKTMzGDvpLrqFT7WA/208fc754-890d-4adb-9753-2c963332675d/width=2048/01651-1456859105-(colour_1.5),girl,_Blue,yellow,green,cyan,purple,red,pink,_best,8k,UHD,masterpiece,male%20focus,%201boy,gloves,%20ponytail,%20long%20hair,.jpeg)

View File

@@ -1,95 +0,0 @@
---
title: Markdown Extended Features
published: 2024-05-01
updated: 2024-11-29
description: 'Read more about Markdown features in Fuwari'
image: ''
tags: [Demo, Example, Markdown, Fuwari]
category: 'Examples'
draft: false
---
## GitHub Repository Cards
You can add dynamic cards that link to GitHub repositories, on page load, the repository information is pulled from the GitHub API.
::github{repo="Fabrizz/MMM-OnSpotify"}
Create a GitHub repository card with the code `::github{repo="<owner>/<repo>"}`.
```markdown
::github{repo="saicaca/fuwari"}
```
## Admonitions
Following types of admonitions are supported: `note` `tip` `important` `warning` `caution`
:::note
Highlights information that users should take into account, even when skimming.
:::
:::tip
Optional information to help a user be more successful.
:::
:::important
Crucial information necessary for users to succeed.
:::
:::warning
Critical content demanding immediate user attention due to potential risks.
:::
:::caution
Negative potential consequences of an action.
:::
### Basic Syntax
```markdown
:::note
Highlights information that users should take into account, even when skimming.
:::
:::tip
Optional information to help a user be more successful.
:::
```
### Custom Titles
The title of the admonition can be customized.
:::note[MY CUSTOM TITLE]
This is a note with a custom title.
:::
```markdown
:::note[MY CUSTOM TITLE]
This is a note with a custom title.
:::
```
### GitHub Syntax
> [!TIP]
> [The GitHub syntax](https://github.com/orgs/community/discussions/16925) is also supported.
```
> [!NOTE]
> The GitHub syntax is also supported.
> [!TIP]
> The GitHub syntax is also supported.
```
### Spoiler
You can add spoilers to your text. The text also supports **Markdown** syntax.
The content :spoiler[is hidden **ayyy**]!
```markdown
The content :spoiler[is hidden **ayyy**]!
```

View File

@@ -1,175 +0,0 @@
---
title: Markdown Example
published: 2023-10-01
description: A simple example of a Markdown blog post.
tags: [Markdown, Blogging, Demo]
category: Examples
draft: false
---
# An h1 header
Paragraphs are separated by a blank line.
2nd paragraph. _Italic_, **bold**, and `monospace`. Itemized lists
look like:
- this one
- that one
- the other one
Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.
> Block quotes are
> written like so.
>
> They can span multiple paragraphs,
> if you like.
Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
in chapters 12--14"). Three dots ... will be converted to an ellipsis.
Unicode is supported. ☺
## An h2 header
Here's a numbered list:
1. first item
2. second item
3. third item
Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here's a code sample:
# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }
As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:
```
define foobar() {
print "Welcome to flavor country!";
}
```
(which makes copying & pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:
```python
import time
# Quick, count to ten!
for i in range(10):
# (but not *too* quick)
time.sleep(0.5)
print i
```
### An h3 header
Now a nested list:
1. First, get these ingredients:
- carrots
- celery
- lentils
2. Boil some water.
3. Dump everything in the pot and follow
this algorithm:
find wooden spoon
uncover pot
stir
cover pot
balance wooden spoon precariously on pot handle
wait 10 minutes
goto first step (or shut off burner when done)
Do not bump wooden spoon or it will fall.
Notice again how text always lines up on 4-space indents (including
that last line which continues item 3 above).
Here's a link to [a website](http://foo.bar), to a [local
doc](local-doc.html), and to a [section heading in the current
doc](#an-h2-header). Here's a footnote [^1].
[^1]: Footnote text goes here.
Tables can look like this:
size material color
---
9 leather brown
10 hemp canvas natural
11 glass transparent
Table: Shoes, their sizes, and what they're made of
(The above is the caption for the table.) Pandoc also supports
multi-line tables:
---
keyword text
---
red Sunsets, apples, and
other red or reddish
things.
green Leaves, grass, frogs
and other things it's
not easy being.
---
A horizontal rule follows.
---
Here's a definition list:
apples
: Good for making applesauce.
oranges
: Citrus!
tomatoes
: There's no "e" in tomatoe.
Again, text is indented 4 spaces. (Put a blank line between each
term/definition pair to spread things out more.)
Here's a "line block":
| Line one
| Line too
| Line tree
and images can be specified like so:
[//]: # (![example image]&#40;./demo-banner.png "An exemplary image"&#41;)
Inline math equations go in like so: $\omega = d\phi / dt$. Display
math should get its own line and be put in in double-dollarsigns:
$$I = \int \rho R^{2} dV$$
$$
\begin{equation*}
\pi
=3.1415926535
\;8979323846\;2643383279\;5028841971\;6939937510\;5820974944
\;5923078164\;0628620899\;8628034825\;3421170679\;\ldots
\end{equation*}
$$
And note that you can backslash-escape any punctuation characters
which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc.

View File

@@ -0,0 +1,20 @@
---
title: Server Architecture
updated: 2026-03-01
published: 2026-01-03
tags:
- Server
- SaaS
category: Hosting
draft: true
description: A brief history of my own playfull encounters with self-hosting and server-mainentance
image: ""
---
## History
During my studies I tried out making my own server with Hardware that I already had: Old Laptop and Computer.
First I tried out [Caprover](caprover.com) which provided solid hosting but had a massive negative. It uses the Docker CLI and thus more complex setups as well as the usage of Docke-Compose was difficult to impossible.
After 6 Months of runtime, I then decided to switch to [Dokploy](dokploy.com). Some probably now a bit more about it. It works mainly with Docker-Compose and was thus much better to use. Until I did not like their Modus-Operandi anymore.
So here we are now. Currently the server is running [Proxmox](proxmox.com) it might not be the greatest but is the perfect ground to grow knowledge about Enterprise Server solutions in the SaaS domain. As a matter of a fact this website is hosted on it!

View File

@@ -1,28 +0,0 @@
---
title: Include Video in the Posts
published: 2023-08-01
description: This post demonstrates how to include embedded video in a blog post.
tags: [Example, Video]
category: Examples
draft: false
---
Just copy the embed code from YouTube or other platforms, and paste it in the markdown file.
```yaml
---
title: Include Video in the Post
published: 2023-10-19
// ...
---
<iframe width="100%" height="468" src="https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_" title="YouTube video player" frameborder="0" allowfullscreen></iframe>
```
## YouTube
<iframe width="100%" height="468" src="https://www.youtube.com/embed/5gIf0_xpFPI?si=N1WTorLKL0uwLsU_" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
## Bilibili
<iframe width="100%" height="468" src="//player.bilibili.com/player.html?bvid=BV1fK4y1s7Qf&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

View File

@@ -1,9 +1 @@
# About # About
This is the demo site for [Fuwari](https://github.com/saicaca/fuwari).
::github{repo="saicaca/fuwari"}
> ### Sources of images used in this site
> - [Unsplash](https://unsplash.com/)
> - [星と少女](https://www.pixiv.net/artworks/108916539) by [Stella](https://www.pixiv.net/users/93273965)
> - [Rabbit - v1.4 Showcase](https://civitai.com/posts/586908) by [Rabbit_YourMajesty](https://civitai.com/user/Rabbit_YourMajesty)