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
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:
59
.github/ISSUE_TEMPLATE/01-bug_report.yml
vendored
Normal file
59
.github/ISSUE_TEMPLATE/01-bug_report.yml
vendored
Normal 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.
|
||||
41
.github/ISSUE_TEMPLATE/02-feature_request.yml
vendored
Normal file
41
.github/ISSUE_TEMPLATE/02-feature_request.yml
vendored
Normal 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.
|
||||
11
.github/ISSUE_TEMPLATE/03-custom_issue.yml
vendored
Normal file
11
.github/ISSUE_TEMPLATE/03-custom_issue.yml
vendored
Normal 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
22
.github/dependabot.yml
vendored
Normal 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
37
.github/pull_request_template.md
vendored
Normal 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
20
.github/workflows/biome.yml
vendored
Normal 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
67
.github/workflows/build.yml
vendored
Normal 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
36
.gitignore
vendored
Normal 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/
|
||||
3
.vscode/extensions.json
vendored
Normal file
3
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"recommendations": ["biomejs.biome", "astro-build.astro-vscode"]
|
||||
}
|
||||
22
.vscode/settings.json
vendored
Normal file
22
.vscode/settings.json
vendored
Normal 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
|
||||
}
|
||||
BIN
src/assets/images/avatar.512.png
Normal file
BIN
src/assets/images/avatar.512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.5 KiB |
@@ -8,8 +8,8 @@ import type {
|
||||
import { LinkPreset } from "./types/config";
|
||||
|
||||
export const siteConfig: SiteConfig = {
|
||||
title: "Fuwari",
|
||||
subtitle: "Demo Site",
|
||||
title: "Homepage",
|
||||
subtitle: "Welcome to my blog!",
|
||||
lang: "en", // Language code, e.g. 'en', 'zh_CN', 'ja', etc.
|
||||
themeColor: {
|
||||
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: [
|
||||
// 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
|
||||
// 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,
|
||||
{
|
||||
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
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const profileConfig: ProfileConfig = {
|
||||
avatar: "assets/images/demo-avatar.png", // Relative to the /src directory. Relative to the /public directory if it starts with '/'
|
||||
name: "Lorem Ipsum",
|
||||
bio: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
|
||||
avatar: "assets/images/avatar.512.png", // Relative to the /src directory. Relative to the /public directory if it starts with '/'
|
||||
name: "Mathys Jean André Touzet",
|
||||
bio: "Tinkerer, Programmer and Daydreamer.",
|
||||
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",
|
||||
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",
|
||||
// },
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
2
src/content/.obsidian/app.json
vendored
2
src/content/.obsidian/app.json
vendored
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"showInlineTitle": false,
|
||||
"promptDelete": true,
|
||||
"promptDelete": false,
|
||||
"showIndentGuide": false,
|
||||
"attachmentFolderPath": "./attachments",
|
||||
"userIgnoreFilters": null,
|
||||
|
||||
70
src/content/.obsidian/workspace.json
vendored
70
src/content/.obsidian/workspace.json
vendored
@@ -21,6 +21,51 @@
|
||||
"icon": "lucide-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": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"query": "tag:#SaaS",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
@@ -110,15 +155,17 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "_bases/Home.base",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline"
|
||||
"title": "Outline of Home"
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"currentTab": 1
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
@@ -141,5 +188,20 @@
|
||||
}
|
||||
},
|
||||
"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
0
src/content/Untitled.md
Normal file
@@ -1,3 +1,6 @@
|
||||
filters:
|
||||
and:
|
||||
- file.ext == "md"
|
||||
formulas:
|
||||
Slug: |-
|
||||
if(file.folder == "posts", "/posts/" + file.name.replace(".md", ""),
|
||||
@@ -20,11 +23,6 @@ formulas:
|
||||
"root"
|
||||
)
|
||||
)
|
||||
|
||||
filters:
|
||||
and:
|
||||
- file.ext == "md"
|
||||
|
||||
properties:
|
||||
file.fullname:
|
||||
displayName: Full File Name
|
||||
@@ -48,24 +46,23 @@ properties:
|
||||
displayName: Title
|
||||
note.updated:
|
||||
displayName: Updated
|
||||
|
||||
views:
|
||||
- type: cms
|
||||
name: "Posts"
|
||||
name: Posts
|
||||
filters:
|
||||
and:
|
||||
- file.folder.startsWith("posts")
|
||||
sort:
|
||||
- property: note.updated
|
||||
- property: updated
|
||||
direction: DESC
|
||||
imageFormat: "cover"
|
||||
imageFormat: cover
|
||||
showDate: true
|
||||
customizeNewButton: true
|
||||
newNoteLocation: "posts"
|
||||
fallbackToEmbeds: "if-empty"
|
||||
newNoteLocation: posts
|
||||
fallbackToEmbeds: if-empty
|
||||
propertyDisplay1: file.fullname
|
||||
showTextPreview: true
|
||||
propertyLabels: "above"
|
||||
propertyLabels: above
|
||||
titleProperty: note.title
|
||||
dateProperty: note.updated
|
||||
descriptionProperty: note.description
|
||||
@@ -74,21 +71,21 @@ views:
|
||||
tagsProperty: note.tags
|
||||
showDraftStatus: false
|
||||
- type: cms
|
||||
name: "Pages"
|
||||
name: Pages
|
||||
filters:
|
||||
and:
|
||||
- file.folder.startsWith("spec")
|
||||
sort:
|
||||
- property: file.ctime
|
||||
direction: DESC
|
||||
imageFormat: "cover"
|
||||
imageFormat: cover
|
||||
showDate: true
|
||||
customizeNewButton: true
|
||||
newNoteLocation: "spec"
|
||||
fallbackToEmbeds: "if-empty"
|
||||
newNoteLocation: spec
|
||||
fallbackToEmbeds: if-empty
|
||||
propertyDisplay1: file.fullname
|
||||
showTextPreview: true
|
||||
propertyLabels: "above"
|
||||
propertyLabels: above
|
||||
titleProperty: file.fullname
|
||||
dateProperty: file.ctime
|
||||
descriptionProperty: note.description
|
||||
@@ -99,7 +96,7 @@ views:
|
||||
draftStatusProperty: note.draft
|
||||
draftStatusReverse: false
|
||||
- type: cms
|
||||
name: "Vault CMS Guide"
|
||||
name: Vault CMS Guide
|
||||
filters:
|
||||
and:
|
||||
- file.folder == "/"
|
||||
@@ -107,13 +104,13 @@ views:
|
||||
sort:
|
||||
- property: file.ctime
|
||||
direction: DESC
|
||||
fallbackToEmbeds: "never"
|
||||
fallbackToEmbeds: never
|
||||
propertyDisplay1: file.fullname
|
||||
showTextPreview: true
|
||||
imageFormat: "none"
|
||||
imageFormat: none
|
||||
showDate: false
|
||||
showDraftStatus: false
|
||||
propertyLabels: "above"
|
||||
propertyLabels: above
|
||||
titleProperty: note.title
|
||||
propertyLayout12SideBySide: false
|
||||
propertyLayout34SideBySide: false
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
---
|
||||
title: Draft Example
|
||||
published: 2022-07-01
|
||||
tags: [Markdown, Blogging, Demo]
|
||||
tags:
|
||||
- Markdown
|
||||
- Blogging
|
||||
- Demo
|
||||
category: Examples
|
||||
draft: true
|
||||
---
|
||||
|
||||
@@ -2,9 +2,12 @@
|
||||
title: Expressive Code Example
|
||||
published: 2024-04-10
|
||||
description: How code blocks look in Markdown using Expressive Code.
|
||||
tags: [Markdown, Blogging, Demo]
|
||||
tags:
|
||||
- Markdown
|
||||
- Blogging
|
||||
- Demo
|
||||
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.
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
---
|
||||
title: Simple Guides for Fuwari
|
||||
published: 2024-04-01
|
||||
description: "How to use this blog template."
|
||||
image: "./cover.jpeg"
|
||||
tags: ["Fuwari", "Blogging", "Customization"]
|
||||
description: How to use this blog template.
|
||||
image: ./cover.jpeg
|
||||
tags:
|
||||
- Fuwari
|
||||
- Blogging
|
||||
- Customization
|
||||
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)
|
||||
|
||||
@@ -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**]!
|
||||
|
||||
```
|
||||
@@ -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:
|
||||
|
||||
[//]: # ()
|
||||
|
||||
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.
|
||||
20
src/content/posts/test/index.md
Normal file
20
src/content/posts/test/index.md
Normal 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!
|
||||
@@ -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>
|
||||
@@ -1,9 +1 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user