mirror of
https://github.com/saicaca/fuwari.git
synced 2026-01-12 07:12:52 +01:00
Biome 2.0 with format (#510)
* execute migrate command * migrate to v2 * update config * supress linter error
This commit is contained in:
committed by
GitHub
parent
dd929f87f1
commit
9130765d45
34
biome.json
34
biome.json
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
|
"$schema": "https://biomejs.dev/schemas/2.0.0/schema.json",
|
||||||
"vcs": {
|
"vcs": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
"clientKind": "git",
|
"clientKind": "git",
|
||||||
@@ -7,19 +7,35 @@
|
|||||||
},
|
},
|
||||||
"files": {
|
"files": {
|
||||||
"ignoreUnknown": false,
|
"ignoreUnknown": false,
|
||||||
"ignore": ["src/**/*.css","src/public/**/*", "dist/**/*", "node_modules/**/*"]
|
"includes": [
|
||||||
|
"**",
|
||||||
|
"!**/src/**/*.css",
|
||||||
|
"!**/src/public/**/*",
|
||||||
|
"!**/dist/**/*",
|
||||||
|
"!**/node_modules/**/*"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"formatter": {
|
"formatter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"indentStyle": "tab"
|
"indentStyle": "tab"
|
||||||
},
|
},
|
||||||
"organizeImports": {
|
"assist": { "actions": { "source": { "organizeImports": "on" } } },
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"linter": {
|
"linter": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
"rules": {
|
"rules": {
|
||||||
"recommended": true
|
"recommended": true,
|
||||||
|
"style": {
|
||||||
|
"noParameterAssign": "error",
|
||||||
|
"useAsConstAssertion": "error",
|
||||||
|
"useDefaultParameterLast": "error",
|
||||||
|
"useEnumInitializers": "error",
|
||||||
|
"useSelfClosingElements": "error",
|
||||||
|
"useSingleVarDeclarator": "error",
|
||||||
|
"noUnusedTemplateLiteral": "error",
|
||||||
|
"useNumberNamespace": "error",
|
||||||
|
"noInferrableTypes": "error",
|
||||||
|
"noUselessElse": "error"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"javascript": {
|
"javascript": {
|
||||||
@@ -29,12 +45,16 @@
|
|||||||
},
|
},
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
"include": ["*.svelte", "*.astro", "*.vue"],
|
"includes": ["**/*.svelte", "**/*.astro", "**/*.vue"],
|
||||||
"linter": {
|
"linter": {
|
||||||
"rules": {
|
"rules": {
|
||||||
"style": {
|
"style": {
|
||||||
"useConst": "off",
|
"useConst": "off",
|
||||||
"useImportType": "off"
|
"useImportType": "off"
|
||||||
|
},
|
||||||
|
"correctness": {
|
||||||
|
"noUnusedVariables": "off",
|
||||||
|
"noUnusedImports": "off"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@astrojs/ts-plugin": "^1.10.4",
|
"@astrojs/ts-plugin": "^1.10.4",
|
||||||
"@biomejs/biome": "1.9.4",
|
"@biomejs/biome": "2.0.0",
|
||||||
"@rollup/plugin-yaml": "^4.1.2",
|
"@rollup/plugin-yaml": "^4.1.2",
|
||||||
"@types/hast": "^3.0.4",
|
"@types/hast": "^3.0.4",
|
||||||
"@types/markdown-it": "^14.1.2",
|
"@types/markdown-it": "^14.1.2",
|
||||||
|
|||||||
74
pnpm-lock.yaml
generated
74
pnpm-lock.yaml
generated
@@ -145,8 +145,8 @@ importers:
|
|||||||
specifier: ^1.10.4
|
specifier: ^1.10.4
|
||||||
version: 1.10.4
|
version: 1.10.4
|
||||||
'@biomejs/biome':
|
'@biomejs/biome':
|
||||||
specifier: 1.9.4
|
specifier: 2.0.0
|
||||||
version: 1.9.4
|
version: 2.0.0
|
||||||
'@rollup/plugin-yaml':
|
'@rollup/plugin-yaml':
|
||||||
specifier: ^4.1.2
|
specifier: ^4.1.2
|
||||||
version: 4.1.2(rollup@2.79.2)
|
version: 4.1.2(rollup@2.79.2)
|
||||||
@@ -802,55 +802,55 @@ packages:
|
|||||||
resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==}
|
resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@biomejs/biome@1.9.4':
|
'@biomejs/biome@2.0.0':
|
||||||
resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==}
|
resolution: {integrity: sha512-BlUoXEOI/UQTDEj/pVfnkMo8SrZw3oOWBDrXYFT43V7HTkIUDkBRY53IC5Jx1QkZbaB+0ai1wJIfYwp9+qaJTQ==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@biomejs/cli-darwin-arm64@1.9.4':
|
'@biomejs/cli-darwin-arm64@2.0.0':
|
||||||
resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==}
|
resolution: {integrity: sha512-QvqWYtFFhhxdf8jMAdJzXW+Frc7X8XsnHQLY+TBM1fnT1TfeV/v9vsFI5L2J7GH6qN1+QEEJ19jHibCY2Ypplw==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@biomejs/cli-darwin-x64@1.9.4':
|
'@biomejs/cli-darwin-x64@2.0.0':
|
||||||
resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==}
|
resolution: {integrity: sha512-5JFhls1EfmuIH4QGFPlNpxJQFC6ic3X1ltcoLN+eSRRIPr6H/lUS1ttuD0Fj7rPgPhZqopK/jfH8UVj/1hIsQw==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@biomejs/cli-linux-arm64-musl@1.9.4':
|
'@biomejs/cli-linux-arm64-musl@2.0.0':
|
||||||
resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==}
|
resolution: {integrity: sha512-Bxsz8ki8+b3PytMnS5SgrGV+mbAWwIxI3ydChb/d1rURlJTMdxTTq5LTebUnlsUWAX6OvJuFeiVq9Gjn1YbCyA==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@biomejs/cli-linux-arm64@1.9.4':
|
'@biomejs/cli-linux-arm64@2.0.0':
|
||||||
resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==}
|
resolution: {integrity: sha512-BAH4QVi06TzAbVchXdJPsL0Z/P87jOfes15rI+p3EX9/EGTfIjaQ9lBVlHunxcmoptaA5y1Hdb9UYojIhmnjIw==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@biomejs/cli-linux-x64-musl@1.9.4':
|
'@biomejs/cli-linux-x64-musl@2.0.0':
|
||||||
resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==}
|
resolution: {integrity: sha512-tiQ0ABxMJb9I6GlfNp0ulrTiQSFacJRJO8245FFwE3ty3bfsfxlU/miblzDIi+qNrgGsLq5wIZcVYGp4c+HXZA==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@biomejs/cli-linux-x64@1.9.4':
|
'@biomejs/cli-linux-x64@2.0.0':
|
||||||
resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==}
|
resolution: {integrity: sha512-09PcOGYTtkopWRm6mZ/B6Mr6UHdkniUgIG/jLBv+2J8Z61ezRE+xQmpi3yNgUrFIAU4lPA9atg7mhvE/5Bo7Wg==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@biomejs/cli-win32-arm64@1.9.4':
|
'@biomejs/cli-win32-arm64@2.0.0':
|
||||||
resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==}
|
resolution: {integrity: sha512-vrTtuGu91xNTEQ5ZcMJBZuDlqr32DWU1r14UfePIGndF//s2WUAmer4FmgoPgruo76rprk37e8S2A2c0psXdxw==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@biomejs/cli-win32-x64@1.9.4':
|
'@biomejs/cli-win32-x64@2.0.0':
|
||||||
resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==}
|
resolution: {integrity: sha512-2USVQ0hklNsph/KIR72ZdeptyXNnQ3JdzPn3NbjI4Sna34CnxeiYAaZcZzXPDl5PYNFBivV4xmvT3Z3rTmyDBg==}
|
||||||
engines: {node: '>=14.21.3'}
|
engines: {node: '>=14.21.3'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -6132,39 +6132,39 @@ snapshots:
|
|||||||
'@babel/helper-string-parser': 7.27.1
|
'@babel/helper-string-parser': 7.27.1
|
||||||
'@babel/helper-validator-identifier': 7.27.1
|
'@babel/helper-validator-identifier': 7.27.1
|
||||||
|
|
||||||
'@biomejs/biome@1.9.4':
|
'@biomejs/biome@2.0.0':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@biomejs/cli-darwin-arm64': 1.9.4
|
'@biomejs/cli-darwin-arm64': 2.0.0
|
||||||
'@biomejs/cli-darwin-x64': 1.9.4
|
'@biomejs/cli-darwin-x64': 2.0.0
|
||||||
'@biomejs/cli-linux-arm64': 1.9.4
|
'@biomejs/cli-linux-arm64': 2.0.0
|
||||||
'@biomejs/cli-linux-arm64-musl': 1.9.4
|
'@biomejs/cli-linux-arm64-musl': 2.0.0
|
||||||
'@biomejs/cli-linux-x64': 1.9.4
|
'@biomejs/cli-linux-x64': 2.0.0
|
||||||
'@biomejs/cli-linux-x64-musl': 1.9.4
|
'@biomejs/cli-linux-x64-musl': 2.0.0
|
||||||
'@biomejs/cli-win32-arm64': 1.9.4
|
'@biomejs/cli-win32-arm64': 2.0.0
|
||||||
'@biomejs/cli-win32-x64': 1.9.4
|
'@biomejs/cli-win32-x64': 2.0.0
|
||||||
|
|
||||||
'@biomejs/cli-darwin-arm64@1.9.4':
|
'@biomejs/cli-darwin-arm64@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-darwin-x64@1.9.4':
|
'@biomejs/cli-darwin-x64@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-linux-arm64-musl@1.9.4':
|
'@biomejs/cli-linux-arm64-musl@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-linux-arm64@1.9.4':
|
'@biomejs/cli-linux-arm64@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-linux-x64-musl@1.9.4':
|
'@biomejs/cli-linux-x64-musl@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-linux-x64@1.9.4':
|
'@biomejs/cli-linux-x64@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-win32-arm64@1.9.4':
|
'@biomejs/cli-win32-arm64@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@biomejs/cli-win32-x64@1.9.4':
|
'@biomejs/cli-win32-x64@2.0.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@capsizecss/unpack@2.4.0':
|
'@capsizecss/unpack@2.4.0':
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import { profileConfig } from "../config";
|
import { profileConfig } from "../config";
|
||||||
import { url } from "../utils/url-utils";
|
import { url } from "../utils/url-utils";
|
||||||
|
|
||||||
const currentYear = new Date().getFullYear();
|
const currentYear = new Date().getFullYear();
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { LIGHT_DARK_MODE } from "@/types/config.ts";
|
|
||||||
import { AUTO_MODE, DARK_MODE, LIGHT_MODE } from "@constants/constants.ts";
|
import { AUTO_MODE, DARK_MODE, LIGHT_MODE } from "@constants/constants.ts";
|
||||||
import I18nKey from "@i18n/i18nKey";
|
import I18nKey from "@i18n/i18nKey";
|
||||||
import { i18n } from "@i18n/translation";
|
import { i18n } from "@i18n/translation";
|
||||||
@@ -10,6 +9,7 @@ import {
|
|||||||
setTheme,
|
setTheme,
|
||||||
} from "@utils/setting-utils.ts";
|
} from "@utils/setting-utils.ts";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
|
import type { LIGHT_DARK_MODE } from "@/types/config.ts";
|
||||||
|
|
||||||
const seq: LIGHT_DARK_MODE[] = [LIGHT_MODE, DARK_MODE, AUTO_MODE];
|
const seq: LIGHT_DARK_MODE[] = [LIGHT_MODE, DARK_MODE, AUTO_MODE];
|
||||||
let mode: LIGHT_DARK_MODE = $state(AUTO_MODE);
|
let mode: LIGHT_DARK_MODE = $state(AUTO_MODE);
|
||||||
@@ -19,7 +19,7 @@ onMount(() => {
|
|||||||
const darkModePreference = window.matchMedia("(prefers-color-scheme: dark)");
|
const darkModePreference = window.matchMedia("(prefers-color-scheme: dark)");
|
||||||
const changeThemeWhenSchemeChanged: Parameters<
|
const changeThemeWhenSchemeChanged: Parameters<
|
||||||
typeof darkModePreference.addEventListener<"change">
|
typeof darkModePreference.addEventListener<"change">
|
||||||
>[1] = (e) => {
|
>[1] = (_e) => {
|
||||||
applyThemeToDocument(mode);
|
applyThemeToDocument(mode);
|
||||||
};
|
};
|
||||||
darkModePreference.addEventListener("change", changeThemeWhenSchemeChanged);
|
darkModePreference.addEventListener("change", changeThemeWhenSchemeChanged);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import LightDarkSwitch from "./LightDarkSwitch.svelte";
|
|||||||
import Search from "./Search.svelte";
|
import Search from "./Search.svelte";
|
||||||
import DisplaySettings from "./widget/DisplaySettings.svelte";
|
import DisplaySettings from "./widget/DisplaySettings.svelte";
|
||||||
import NavMenuPanel from "./widget/NavMenuPanel.astro";
|
import NavMenuPanel from "./widget/NavMenuPanel.astro";
|
||||||
|
|
||||||
const className = Astro.props.class;
|
const className = Astro.props.class;
|
||||||
|
|
||||||
let links: NavBarLink[] = navBarConfig.links.map(
|
let links: NavBarLink[] = navBarConfig.links.map(
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
---
|
---
|
||||||
import path from "node:path";
|
|
||||||
import type { CollectionEntry } from "astro:content";
|
import type { CollectionEntry } from "astro:content";
|
||||||
|
import path from "node:path";
|
||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
import I18nKey from "../i18n/i18nKey";
|
import I18nKey from "../i18n/i18nKey";
|
||||||
import { i18n } from "../i18n/translation";
|
import { i18n } from "../i18n/translation";
|
||||||
import { getDir } from "../utils/url-utils";
|
import { getDir } from "../utils/url-utils";
|
||||||
import PostMetadata from "./PostMeta.astro";
|
|
||||||
import ImageWrapper from "./misc/ImageWrapper.astro";
|
import ImageWrapper from "./misc/ImageWrapper.astro";
|
||||||
|
import PostMetadata from "./PostMeta.astro";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
class?: string;
|
class?: string;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { SearchResult } from "@/global";
|
|
||||||
import I18nKey from "@i18n/i18nKey";
|
import I18nKey from "@i18n/i18nKey";
|
||||||
import { i18n } from "@i18n/translation";
|
import { i18n } from "@i18n/translation";
|
||||||
import Icon from "@iconify/svelte";
|
import Icon from "@iconify/svelte";
|
||||||
import { url } from "@utils/url-utils.ts";
|
import { url } from "@utils/url-utils.ts";
|
||||||
import { onMount } from "svelte";
|
import { onMount } from "svelte";
|
||||||
|
import type { SearchResult } from "@/global";
|
||||||
|
|
||||||
let keywordDesktop = "";
|
let keywordDesktop = "";
|
||||||
let keywordMobile = "";
|
let keywordMobile = "";
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import type { Page } from "astro";
|
import type { Page } from "astro";
|
||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
import { url } from "../../utils/url-utils";
|
import { url } from "../../utils/url-utils";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
page: Page;
|
page: Page;
|
||||||
class?: string;
|
class?: string;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
---
|
---
|
||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
id?: string;
|
id?: string;
|
||||||
src: string;
|
src: string;
|
||||||
@@ -8,6 +9,7 @@ interface Props {
|
|||||||
position?: string;
|
position?: string;
|
||||||
basePath?: string;
|
basePath?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
import { Image } from "astro:assets";
|
import { Image } from "astro:assets";
|
||||||
import { url } from "../../utils/url-utils";
|
import { url } from "../../utils/url-utils";
|
||||||
|
|
||||||
@@ -24,7 +26,7 @@ const isPublic = src.startsWith("/");
|
|||||||
|
|
||||||
// TODO temporary workaround for images dynamic import
|
// TODO temporary workaround for images dynamic import
|
||||||
// https://github.com/withastro/astro/issues/3373
|
// https://github.com/withastro/astro/issues/3373
|
||||||
// biome-ignore lint/suspicious/noImplicitAnyLet: <explanation>
|
// biome-ignore lint/suspicious/noImplicitAnyLet: <check later>
|
||||||
let img;
|
let img;
|
||||||
if (isLocal) {
|
if (isLocal) {
|
||||||
const files = import.meta.glob<ImageMetadata>("../../**", {
|
const files = import.meta.glob<ImageMetadata>("../../**", {
|
||||||
@@ -50,4 +52,3 @@ const imageStyle = `object-position: ${position}`;
|
|||||||
{isLocal && img && <Image src={img} alt={alt || ""} class={imageClass} style={imageStyle}/>}
|
{isLocal && img && <Image src={img} alt={alt || ""} class={imageClass} style={imageStyle}/>}
|
||||||
{!isLocal && <img src={isPublic ? url(src) : src} alt={alt || ""} class={imageClass} style={imageStyle}/>}
|
{!isLocal && <img src={isPublic ? url(src) : src} alt={alt || ""} class={imageClass} style={imageStyle}/>}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
---
|
---
|
||||||
import WidgetLayout from "./WidgetLayout.astro";
|
|
||||||
|
|
||||||
import I18nKey from "../../i18n/i18nKey";
|
import I18nKey from "../../i18n/i18nKey";
|
||||||
import { i18n } from "../../i18n/translation";
|
import { i18n } from "../../i18n/translation";
|
||||||
import { getCategoryList } from "../../utils/content-utils";
|
import { getCategoryList } from "../../utils/content-utils";
|
||||||
import ButtonLink from "../control/ButtonLink.astro";
|
import ButtonLink from "../control/ButtonLink.astro";
|
||||||
|
import WidgetLayout from "./WidgetLayout.astro";
|
||||||
|
|
||||||
const categories = await getCategoryList();
|
const categories = await getCategoryList();
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
import I18nKey from "../../i18n/i18nKey";
|
import I18nKey from "../../i18n/i18nKey";
|
||||||
import { i18n } from "../../i18n/translation";
|
import { i18n } from "../../i18n/translation";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
id: string;
|
id: string;
|
||||||
name?: string;
|
name?: string;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { LinkPreset, type NavBarLink } from "@/types/config";
|
|
||||||
import I18nKey from "@i18n/i18nKey";
|
import I18nKey from "@i18n/i18nKey";
|
||||||
import { i18n } from "@i18n/translation";
|
import { i18n } from "@i18n/translation";
|
||||||
|
import { LinkPreset, type NavBarLink } from "@/types/config";
|
||||||
|
|
||||||
export const LinkPresets: { [key in LinkPreset]: NavBarLink } = {
|
export const LinkPresets: { [key in LinkPreset]: NavBarLink } = {
|
||||||
[LinkPreset.Home]: {
|
[LinkPreset.Home]: {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import "@fontsource/roboto/400.css";
|
|||||||
import "@fontsource/roboto/500.css";
|
import "@fontsource/roboto/500.css";
|
||||||
import "@fontsource/roboto/700.css";
|
import "@fontsource/roboto/700.css";
|
||||||
|
|
||||||
import { profileConfig, siteConfig } from "@/config";
|
|
||||||
import ConfigCarrier from "@components/ConfigCarrier.astro";
|
import ConfigCarrier from "@components/ConfigCarrier.astro";
|
||||||
|
import { profileConfig, siteConfig } from "@/config";
|
||||||
import {
|
import {
|
||||||
AUTO_MODE,
|
AUTO_MODE,
|
||||||
BANNER_HEIGHT,
|
BANNER_HEIGHT,
|
||||||
@@ -17,7 +17,7 @@ import {
|
|||||||
} from "../constants/constants";
|
} from "../constants/constants";
|
||||||
import { defaultFavicons } from "../constants/icon";
|
import { defaultFavicons } from "../constants/icon";
|
||||||
import type { Favicon } from "../types/config";
|
import type { Favicon } from "../types/config";
|
||||||
import { url, pathsEqual } from "../utils/url-utils";
|
import { pathsEqual, url } from "../utils/url-utils";
|
||||||
import "katex/dist/katex.css";
|
import "katex/dist/katex.css";
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
import BackToTop from "@components/control/BackToTop.astro";
|
||||||
import Footer from "@components/Footer.astro";
|
import Footer from "@components/Footer.astro";
|
||||||
import Navbar from "@components/Navbar.astro";
|
import Navbar from "@components/Navbar.astro";
|
||||||
import BackToTop from "@components/control/BackToTop.astro";
|
|
||||||
import SideBar from "@components/widget/SideBar.astro";
|
import SideBar from "@components/widget/SideBar.astro";
|
||||||
import type { MarkdownHeading } from "astro";
|
import type { MarkdownHeading } from "astro";
|
||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
import type { GetStaticPaths } from "astro";
|
import type { GetStaticPaths } from "astro";
|
||||||
import PostPage from "../components/PostPage.astro";
|
|
||||||
import Pagination from "../components/control/Pagination.astro";
|
import Pagination from "../components/control/Pagination.astro";
|
||||||
|
import PostPage from "../components/PostPage.astro";
|
||||||
import { PAGE_SIZE } from "../constants/constants";
|
import { PAGE_SIZE } from "../constants/constants";
|
||||||
import MainGridLayout from "../layouts/MainGridLayout.astro";
|
import MainGridLayout from "../layouts/MainGridLayout.astro";
|
||||||
import { getSortedPosts } from "../utils/content-utils";
|
import { getSortedPosts } from "../utils/content-utils";
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
import MainGridLayout from "../layouts/MainGridLayout.astro";
|
import { getEntry, render } from "astro:content";
|
||||||
|
|
||||||
import { getEntry } from "astro:content";
|
|
||||||
import { render } from "astro:content";
|
|
||||||
import Markdown from "@components/misc/Markdown.astro";
|
import Markdown from "@components/misc/Markdown.astro";
|
||||||
import I18nKey from "../i18n/i18nKey";
|
import I18nKey from "../i18n/i18nKey";
|
||||||
import { i18n } from "../i18n/translation";
|
import { i18n } from "../i18n/translation";
|
||||||
|
import MainGridLayout from "../layouts/MainGridLayout.astro";
|
||||||
|
|
||||||
const aboutPost = await getEntry("spec", "about");
|
const aboutPost = await getEntry("spec", "about");
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import { getSortedPosts } from "@utils/content-utils";
|
|||||||
import { getDir, getPostUrlBySlug } from "@utils/url-utils";
|
import { getDir, getPostUrlBySlug } from "@utils/url-utils";
|
||||||
import { Icon } from "astro-icon/components";
|
import { Icon } from "astro-icon/components";
|
||||||
import { licenseConfig } from "src/config";
|
import { licenseConfig } from "src/config";
|
||||||
import PostMetadata from "../../components/PostMeta.astro";
|
|
||||||
import ImageWrapper from "../../components/misc/ImageWrapper.astro";
|
import ImageWrapper from "../../components/misc/ImageWrapper.astro";
|
||||||
|
import PostMetadata from "../../components/PostMeta.astro";
|
||||||
import { profileConfig, siteConfig } from "../../config";
|
import { profileConfig, siteConfig } from "../../config";
|
||||||
import { formatDateToYYYYMMDD } from "../../utils/date-utils";
|
import { formatDateToYYYYMMDD } from "../../utils/date-utils";
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { siteConfig } from "@/config";
|
|
||||||
import rss from "@astrojs/rss";
|
import rss from "@astrojs/rss";
|
||||||
import { getSortedPosts } from "@utils/content-utils";
|
import { getSortedPosts } from "@utils/content-utils";
|
||||||
import type { APIContext } from "astro";
|
import type { APIContext } from "astro";
|
||||||
import MarkdownIt from "markdown-it";
|
import MarkdownIt from "markdown-it";
|
||||||
import sanitizeHtml from "sanitize-html";
|
import sanitizeHtml from "sanitize-html";
|
||||||
|
import { siteConfig } from "@/config";
|
||||||
|
|
||||||
const parser = new MarkdownIt();
|
const parser = new MarkdownIt();
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ import { definePlugin } from "@expressive-code/core";
|
|||||||
export function pluginLanguageBadge() {
|
export function pluginLanguageBadge() {
|
||||||
return definePlugin({
|
return definePlugin({
|
||||||
name: "Language Badge",
|
name: "Language Badge",
|
||||||
baseStyles: ({ cssVar }) => `
|
// @ts-ignore
|
||||||
|
baseStyles: ({ _cssVar }) => `
|
||||||
[data-language]::before {
|
[data-language]::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ export function AdmonitionComponent(properties, children, type) {
|
|||||||
let label = null;
|
let label = null;
|
||||||
if (properties?.["has-directive-label"]) {
|
if (properties?.["has-directive-label"]) {
|
||||||
label = children[0]; // The first child is the label
|
label = children[0]; // The first child is the label
|
||||||
// biome-ignore lint/style/noParameterAssign: <explanation>
|
// biome-ignore lint/style/noParameterAssign: <check later>
|
||||||
children = children.slice(1);
|
children = children.slice(1);
|
||||||
label.tagName = "div"; // Change the tag <p> to <div>
|
label.tagName = "div"; // Change the tag <p> to <div>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ import { h } from "hastscript";
|
|||||||
import { visit } from "unist-util-visit";
|
import { visit } from "unist-util-visit";
|
||||||
|
|
||||||
export function parseDirectiveNode() {
|
export function parseDirectiveNode() {
|
||||||
return (tree, { data }) => {
|
return (tree, { _data }) => {
|
||||||
visit(tree, (node) => {
|
visit(tree, (node) => {
|
||||||
if (
|
if (
|
||||||
node.type === "containerDirective" ||
|
node.type === "containerDirective" ||
|
||||||
node.type === "leafDirective" ||
|
node.type === "leafDirective" ||
|
||||||
node.type === "textDirective"
|
node.type === "textDirective"
|
||||||
) {
|
) {
|
||||||
// biome-ignore lint/suspicious/noAssignInExpressions: <explanation>
|
// biome-ignore lint/suspicious/noAssignInExpressions: <check later>
|
||||||
const data = node.data || (node.data = {});
|
const data = node.data || (node.data = {});
|
||||||
node.attributes = node.attributes || {};
|
node.attributes = node.attributes || {};
|
||||||
if (
|
if (
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
|
// biome-ignore lint/suspicious/noShadowRestrictedNames: <toString from mdast-util-to-string>
|
||||||
import { toString } from "mdast-util-to-string";
|
import { toString } from "mdast-util-to-string";
|
||||||
|
|
||||||
/* Use the post's first paragraph as the excerpt */
|
/* Use the post's first paragraph as the excerpt */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
|
// biome-ignore lint/suspicious/noShadowRestrictedNames: <toString from mdast-util-to-string>
|
||||||
import { toString } from "mdast-util-to-string";
|
import { toString } from "mdast-util-to-string";
|
||||||
import getReadingTime from "reading-time";
|
import getReadingTime from "reading-time";
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { expressiveCodeConfig } from "@/config";
|
|
||||||
import type { LIGHT_DARK_MODE } from "@/types/config";
|
|
||||||
import {
|
import {
|
||||||
AUTO_MODE,
|
AUTO_MODE,
|
||||||
DARK_MODE,
|
DARK_MODE,
|
||||||
DEFAULT_THEME,
|
DEFAULT_THEME,
|
||||||
LIGHT_MODE,
|
LIGHT_MODE,
|
||||||
} from "@constants/constants.ts";
|
} from "@constants/constants.ts";
|
||||||
|
import { expressiveCodeConfig } from "@/config";
|
||||||
|
import type { LIGHT_DARK_MODE } from "@/types/config";
|
||||||
|
|
||||||
export function getDefaultHue(): number {
|
export function getDefaultHue(): number {
|
||||||
const fallback = "250";
|
const fallback = "250";
|
||||||
|
|||||||
Reference in New Issue
Block a user