diff --git a/.github/ISSUE_TEMPLATE/01-bug_report.yml b/.github/ISSUE_TEMPLATE/01-bug_report.yml new file mode 100644 index 0000000..5be1149 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-bug_report.yml @@ -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. diff --git a/.github/ISSUE_TEMPLATE/02-feature_request.yml b/.github/ISSUE_TEMPLATE/02-feature_request.yml new file mode 100644 index 0000000..9c657f1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-feature_request.yml @@ -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. diff --git a/.github/ISSUE_TEMPLATE/03-custom_issue.yml b/.github/ISSUE_TEMPLATE/03-custom_issue.yml new file mode 100644 index 0000000..945b721 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03-custom_issue.yml @@ -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 diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..6f36d0a --- /dev/null +++ b/.github/dependabot.yml @@ -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"] diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..1f41d43 --- /dev/null +++ b/.github/pull_request_template.md @@ -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 + + + + +## Changes + + + + +## How To Test + + + + +## Screenshots (if applicable) + + + + +## Additional Notes + + diff --git a/.github/workflows/biome.yml b/.github/workflows/biome.yml new file mode 100644 index 0000000..b8d2281 --- /dev/null +++ b/.github/workflows/biome.yml @@ -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 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..d79658e --- /dev/null +++ b/.github/workflows/build.yml @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ebb1bac --- /dev/null +++ b/.gitignore @@ -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/ diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..6baea02 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +manage-package-manager-versions = true \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..57c8cad --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["biomejs.biome", "astro-build.astro-vscode"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..b91cc0d --- /dev/null +++ b/.vscode/settings.json @@ -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 +} diff --git a/src/assets/images/avatar.512.png b/src/assets/images/avatar.512.png new file mode 100644 index 0000000..770c935 Binary files /dev/null and b/src/assets/images/avatar.512.png differ diff --git a/src/config.ts b/src/config.ts index c7b2d11..549ea28 100644 --- a/src/config.ts +++ b/src/config.ts @@ -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 - // 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 - // } + { + 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/` - 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", + // }, ], }; diff --git a/src/content/.obsidian/app.json b/src/content/.obsidian/app.json index ddece05..5d8ee40 100644 --- a/src/content/.obsidian/app.json +++ b/src/content/.obsidian/app.json @@ -1,6 +1,6 @@ { "showInlineTitle": false, - "promptDelete": true, + "promptDelete": false, "showIndentGuide": false, "attachmentFolderPath": "./attachments", "userIgnoreFilters": null, diff --git a/src/content/.obsidian/workspace.json b/src/content/.obsidian/workspace.json index e2789c8..6b4c995 100644 --- a/src/content/.obsidian/workspace.json +++ b/src/content/.obsidian/workspace.json @@ -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" + ] } \ No newline at end of file diff --git a/src/content/Untitled.md b/src/content/Untitled.md new file mode 100644 index 0000000..e69de29 diff --git a/src/content/_bases/Home.base b/src/content/_bases/Home.base index 5c054cb..198c39d 100644 --- a/src/content/_bases/Home.base +++ b/src/content/_bases/Home.base @@ -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 @@ -125,4 +122,4 @@ views: maxTagsToShow: 2 dateIncludeTime: false descriptionProperty: note.description - hideQuickEditIcon: true \ No newline at end of file + hideQuickEditIcon: true diff --git a/src/content/posts/draft.md b/src/content/posts/draft.md index 77aba5a..5829917 100644 --- a/src/content/posts/draft.md +++ b/src/content/posts/draft.md @@ -1,7 +1,10 @@ --- title: Draft Example published: 2022-07-01 -tags: [Markdown, Blogging, Demo] +tags: + - Markdown + - Blogging + - Demo category: Examples draft: true --- diff --git a/src/content/posts/expressive-code.md b/src/content/posts/expressive-code.md index 91d47e4..216ae60 100644 --- a/src/content/posts/expressive-code.md +++ b/src/content/posts/expressive-code.md @@ -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. diff --git a/src/content/posts/guide/index.md b/src/content/posts/guide/index.md index 8db1e3d..4189b50 100644 --- a/src/content/posts/guide/index.md +++ b/src/content/posts/guide/index.md @@ -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) diff --git a/src/content/posts/markdown-extended.md b/src/content/posts/markdown-extended.md deleted file mode 100644 index c28173b..0000000 --- a/src/content/posts/markdown-extended.md +++ /dev/null @@ -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="/"}`. - -```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**]! - -``` \ No newline at end of file diff --git a/src/content/posts/markdown.md b/src/content/posts/markdown.md deleted file mode 100644 index 9695bbf..0000000 --- a/src/content/posts/markdown.md +++ /dev/null @@ -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](./demo-banner.png "An exemplary image")) - -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. diff --git a/src/content/posts/test/index.md b/src/content/posts/test/index.md new file mode 100644 index 0000000..15184d9 --- /dev/null +++ b/src/content/posts/test/index.md @@ -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! \ No newline at end of file diff --git a/src/content/posts/video.md b/src/content/posts/video.md deleted file mode 100644 index 4d53a95..0000000 --- a/src/content/posts/video.md +++ /dev/null @@ -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 -// ... ---- - - -``` - -## YouTube - - - -## Bilibili - - diff --git a/src/content/spec/about.md b/src/content/spec/about.md index 40d9fe8..4b51d64 100644 --- a/src/content/spec/about.md +++ b/src/content/spec/about.md @@ -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) \ No newline at end of file