From 2d2a4a44bde762ac4e206ba885106fcf4c537cbe Mon Sep 17 00:00:00 2001 From: Errilaz Date: Wed, 13 May 2026 02:27:48 +0200 Subject: [PATCH] fix: various --- oxfmt.config.ts | 8 +------- oxlint.config.ts | 1 + package.json | 14 ++++++-------- regime.config.json | 2 +- src/routes/[name].html.ts | 2 ++ src/routes/index.html.ts | 1 + src/shared/forges.ts | 3 --- src/{ => shared}/getProjects.ts | 0 src/{index.page.ts => ui/Home.ts} | 8 ++++---- src/{shared/layout.ts => ui/Layout.ts} | 8 +++++--- src/{[name].page.ts => ui/Project.ts} | 18 ++++++++++++------ src/{projects.html.ts => ui/Projects.ts} | 4 ++-- src/{status.html.ts => ui/Status.ts} | 7 +++++-- src/{shared/theme.style.ts => ui/Theme.ts} | 2 +- 14 files changed, 41 insertions(+), 37 deletions(-) create mode 100644 src/routes/[name].html.ts create mode 100644 src/routes/index.html.ts delete mode 100644 src/shared/forges.ts rename src/{ => shared}/getProjects.ts (100%) rename src/{index.page.ts => ui/Home.ts} (60%) rename src/{shared/layout.ts => ui/Layout.ts} (85%) rename src/{[name].page.ts => ui/Project.ts} (74%) rename src/{projects.html.ts => ui/Projects.ts} (86%) rename src/{status.html.ts => ui/Status.ts} (67%) rename src/{shared/theme.style.ts => ui/Theme.ts} (96%) diff --git a/oxfmt.config.ts b/oxfmt.config.ts index 225aecd..569ec45 100644 --- a/oxfmt.config.ts +++ b/oxfmt.config.ts @@ -15,13 +15,7 @@ export default defineConfig({ ignorePatterns: ["**/*.gen.ts"], overrides: [ { - files: [ - "*.page.ts", - "*.style.ts", - "*.html.ts", - "layout.ts", - "*.layout.ts", - ], + files: ["**/ui/**/*.ts"], options: { printWidth: 60, }, diff --git a/oxlint.config.ts b/oxlint.config.ts index 923c778..e75b9b1 100644 --- a/oxlint.config.ts +++ b/oxlint.config.ts @@ -66,6 +66,7 @@ export default defineConfig({ "typescript/no-non-null-assertion": "off", "typescript/prefer-function-type": "off", "unicorn/no-process-exit": "off", + "unicorn/prefer-string-raw": "off", "unicorn/text-encoding-identifier-case": "off", }, overrides: [ diff --git a/package.json b/package.json index 4ddd21e..9a6fea3 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,16 @@ { "name": "@sigitex/sigitex.com", + "type": "module", "version": "0.0.1", "private": true, "workspaces": { "packages": [ - "../hypeup/packages/*" - ], - "catalog": { - "@types/bun": "1.3.12" - } + "/sig/hypeup/packages/*" + ] }, "scripts": { - "start": "hypeup generate --dir src --watch", - "build": "hypeup generate --dir src", + "start": "hypeup generate --dir src/routes --watch", + "build": "hypeup generate --dir src/routes", "check": "tsgo --build", "test": "bun test --pass-with-no-tests --tsconfig-override tsconfig.test.json", "lint": "oxlint", @@ -24,7 +22,6 @@ "@hypeup/runtime": "workspace:*", "asta": "anton-io/asta", "highlight.js": "^11.11.1", - "hypeup": "workspace:*", "marked": "^18.0.3", "marked-gfm-heading-id": "^4.1.4", "marked-highlight": "^2.2.4" @@ -41,6 +38,7 @@ "devDependencies": { "@types/bun": "^1.3.13", "@typescript/native-preview": "beta", + "hypeup": "workspace:*", "oxfmt": "^0.47.0", "oxlint": "^1.62.0", "sass-embedded": "^1.99.0", diff --git a/regime.config.json b/regime.config.json index 71a1b7a..b09dbfd 100644 --- a/regime.config.json +++ b/regime.config.json @@ -1,5 +1,5 @@ { - "templates": "profile/app/hypeup-ssg", + "templates": ["profile/app/hypeup-static"], "vars": { "repo": "sigitex.com" } diff --git a/src/routes/[name].html.ts b/src/routes/[name].html.ts new file mode 100644 index 0000000..20d89f1 --- /dev/null +++ b/src/routes/[name].html.ts @@ -0,0 +1,2 @@ +export { default } from "@/ui/Project" +export * from "@/ui/Project" diff --git a/src/routes/index.html.ts b/src/routes/index.html.ts new file mode 100644 index 0000000..e383d00 --- /dev/null +++ b/src/routes/index.html.ts @@ -0,0 +1 @@ +export { default } from "@/ui/Home" diff --git a/src/shared/forges.ts b/src/shared/forges.ts deleted file mode 100644 index 231aa67..0000000 --- a/src/shared/forges.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const forges = { - quickbasic: "https://code.quickbasic.org/sigitex", -} diff --git a/src/getProjects.ts b/src/shared/getProjects.ts similarity index 100% rename from src/getProjects.ts rename to src/shared/getProjects.ts diff --git a/src/index.page.ts b/src/ui/Home.ts similarity index 60% rename from src/index.page.ts rename to src/ui/Home.ts index 413a482..1c6fabb 100644 --- a/src/index.page.ts +++ b/src/ui/Home.ts @@ -1,9 +1,9 @@ -import Projects from "@/projects.html" +import Projects from "@/ui/Projects" import { Divide } from "@/shared/components" -import layout from "@/shared/layout" +import Layout from "@/ui/Layout" -export default function Index() { - return layout( +export default function Home() { + return Layout( p( "WELCOME TO SIGITEX.COM. SIGITEX MAKES SOFTWARE. SIGITEX HOPES YOU ENJOY THE SOFTWARE.", ), diff --git a/src/shared/layout.ts b/src/ui/Layout.ts similarity index 85% rename from src/shared/layout.ts rename to src/ui/Layout.ts index 7220a09..70e063d 100644 --- a/src/shared/layout.ts +++ b/src/ui/Layout.ts @@ -3,9 +3,9 @@ import astaCss from "asta/src/scss/asta.scss?inline" import hljsTheme from "highlight.js/styles/ir-black.min.css?inline" import favicon from "../../assets/images/favicon.png" import logo from "../../assets/images/logo.png" -import Theme from "./theme.style" +import Theme from "./Theme" -export default function layout(...content: Content[]) { +export default function Layout(...content: Content[]) { return [ doctype.html5, html( @@ -43,7 +43,9 @@ export default function layout(...content: Content[]) { "© SIGITEX | ", a("ABOUT US", { href: "https://da.nfin.ch/" }), " | ", - a("SOURCE", { href: "https://code.quickbasic.org/sigitex/sigitex.com" }) + a("SOURCE", { + href: "https://code.quickbasic.org/sigitex/sigitex.com", + }), ), ), ), diff --git a/src/[name].page.ts b/src/ui/Project.ts similarity index 74% rename from src/[name].page.ts rename to src/ui/Project.ts index f8e8cf4..95a77a2 100644 --- a/src/[name].page.ts +++ b/src/ui/Project.ts @@ -1,7 +1,9 @@ -import layout from "@/shared/layout" -import getProjects, { type Project } from "./getProjects" -import Status from "@/status.html" +import Status from "@/ui/Status" import markdown from "@/shared/markdown" +import getProjects, { + type Project, +} from "@/shared/getProjects" +import Layout from "@/ui/Layout" const projects = await getProjects() @@ -24,14 +26,18 @@ export default function Project({ name }: Project) { : `https://github.com/${owner}/${repo}` const forgeText = forge === "quickbasic" ? "CODE" : "GITHUB" - return layout( + return Layout( h1(div("Sigitex/", name), marginBottom("20px")), div(status && each(status, (s) => Status(s))), p(description), - div(a(forgeText, " ↗", { href: forgeUrl })), + div( + a(forgeText, " ↗", { + href: forgeUrl, + target: "_top", + }), + ), hr(), readme && div.readme(h2("DOCS"), p(raw(markdown(readme)))), ) } - diff --git a/src/projects.html.ts b/src/ui/Projects.ts similarity index 86% rename from src/projects.html.ts rename to src/ui/Projects.ts index 0acbcc4..ad4676c 100644 --- a/src/projects.html.ts +++ b/src/ui/Projects.ts @@ -1,5 +1,5 @@ -import getProjects from "./getProjects" -import Status from "@/status.html" +import getProjects from "@/shared/getProjects" +import Status from "@/ui/Status" const projects = await getProjects() diff --git a/src/status.html.ts b/src/ui/Status.ts similarity index 67% rename from src/status.html.ts rename to src/ui/Status.ts index 0dd44b4..6ce8566 100644 --- a/src/status.html.ts +++ b/src/ui/Status.ts @@ -1,8 +1,11 @@ -import type { ProjectStatus } from "@/getProjects" import { colors } from "@/shared/colors" +import type { ProjectStatus } from "@/shared/getProjects" export default function Status(status: ProjectStatus) { - return span.tag(backgroundColor(statusColors[status]), status) + return span.tag( + backgroundColor(statusColors[status]), + status, + ) } const statusColors: Record = { diff --git a/src/shared/theme.style.ts b/src/ui/Theme.ts similarity index 96% rename from src/shared/theme.style.ts rename to src/ui/Theme.ts index 7f07f17..b2fe2ce 100644 --- a/src/shared/theme.style.ts +++ b/src/ui/Theme.ts @@ -54,7 +54,7 @@ export default function Theme() { ]), $media( "screen and (max-width: 768px)", - rule("table", [whiteSpace("unset")]), + rule("table", [whiteSpace.normal]), ), ] }