Skip to content
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
wip
  • Loading branch information
jer3m01 committed Mar 23, 2026
commit 3463a3aa053551ff805199cb93f70de0ee53acfa
3 changes: 0 additions & 3 deletions .github/workflows/static_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ jobs:
- name: Install tools & dependencies
uses: ./.github/actions/install

- name: Generate virtual modules
run: pnpm sync

- name: TypeScript check
run: pnpm check:types

Expand Down
177 changes: 0 additions & 177 deletions app.config.ts

This file was deleted.

21 changes: 0 additions & 21 deletions global.d.ts

This file was deleted.

30 changes: 28 additions & 2 deletions osmium/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "solidbase-osmium",
"version": "0.0.0",
"version": "0.0.0-dev",
"description": "Official SolidJS docs theme for SolidBase.",
"type": "module",
"scripts": {
Expand All @@ -15,5 +15,31 @@
"solidbase",
"theme"
],
"license": "MIT"
"files": [
"src"
],
"exports": {
".": {
"solid": "./src/index.tsx",
"import": "./src/index.tsx",
"types": "./src/index.tsx"
}
},
"license": "MIT",
"dependencies": {
"@fontsource-variable/geist": "^5.2.8",
"@fontsource-variable/geist-mono": "^5.2.7",
"@kobalte/core": "^0.13.11",
"@kobalte/solidbase": "^0.4.2",
"@orama/core": "^1.2.19",
"@solid-primitives/context": "^0.3.2",
"@solidjs/router": "0.15.3",
"solid-heroicons": "^3.2.4",
"solid-js": "^1.9.11"
},
"devDependencies": {
"@kobalte/tailwindcss": "^0.9.0",
"@tailwindcss/typography": "^0.5.19",
"tailwindcss": "^3.4.19"
}
}
File renamed without changes.
34 changes: 34 additions & 0 deletions osmium/src/context.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { createSignal } from "solid-js";
import { createContextProvider } from "@solid-primitives/context";
import { useOsmiumThemeFrontmatter } from "./frontmatter";

const [OsmiumThemeStateProvider, useOsmiumThemeStateContext] =
createContextProvider(() => {
const [sidebarOpen, setSidebarOpen] = createSignal(false);
const [tocOpen, setTocOpen] = createSignal(false);
const [navOpen, setNavOpen] = createSignal(false);
const frontmatter = useOsmiumThemeFrontmatter();

return {
sidebarOpen,
setSidebarOpen,
tocOpen,
setTocOpen,
navOpen,
setNavOpen,
frontmatter,
};
});

export function useOsmiumThemeState() {
return (
useOsmiumThemeStateContext() ??
(() => {
throw new Error(
"useOsmiumThemeState must be used within a OsmiumThemeStateProvider"
);
})()
);
}

export { OsmiumThemeStateProvider };
77 changes: 77 additions & 0 deletions osmium/src/frontmatter.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import { BaseFrontmatter, useFrontmatter } from "@kobalte/solidbase/client";
import { createMemo } from "solid-js";

export function useOsmiumThemeFrontmatter() {
const frontmatter = useFrontmatter<OsmiumThemeFrontmatter>();

return createMemo(() => {
const data = frontmatter();
if (!data) return data;

data.editLink ??= true;
data.lastUpdated ??= true;

if (data?.layout === "home") {
data.sidebar = false;
data.footer = false;
data.toc = false;
data.prev = false;
data.next = false;
data.editLink = false;
data.lastUpdated = false;
}

return data;
});
}

export type RelativePageConfig =
| string
| false
| {
text?: string;
link?: string;
};

interface OsmiumThemeBaseFrontmatter {
sidebar?: boolean;
footer?: boolean;
toc?: boolean;
prev?: RelativePageConfig;
next?: RelativePageConfig;
editLink?: boolean;
lastUpdated?: boolean;
}

interface HeroActionConfig {
theme?: string;
text?: string;
link?: string;
}

export interface HeroConfig {
name?: string;
text?: string;
tagline?: string;
image?: {
src: string;
alt?: string;
};
actions?: Array<HeroActionConfig>;
}

export interface FeaturesConfig {
icon?: string;
title?: string;
details?: string;
}

interface HomeLayoutFrontmatter {
layout?: "home";
hero?: HeroConfig;
features?: Array<FeaturesConfig>;
}

export type OsmiumThemeFrontmatter = (BaseFrontmatter &
OsmiumThemeBaseFrontmatter) &
HomeLayoutFrontmatter;
File renamed without changes.
File renamed without changes.
File renamed without changes.
8 changes: 0 additions & 8 deletions src/i18n/helpers.ts → osmium/src/i18n/helpers.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
import { useLocation, useMatch } from "@solidjs/router";
import { useCurrentRouteMetaData } from "~/utils/route-metadata-helper";
import { SUPPORTED_LOCALES } from "./config";

export function getCurrentLocale() {
const match = useMatch(() => "/:locale?/*", {
locale: SUPPORTED_LOCALES,
});
return match()?.params.project ?? null;
}

export function getEntryFileName() {
const pathname = useLocation().pathname;
Expand Down
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions src/styles.css → osmium/src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@
/* pace from solidbase */
:root {
--bprogress-color: theme("colors.blue.500") !important;

--font-geist: "Geist Variable", sans-serif;
--font-geist-mono: "Geist Mono Variable", monospace;
}

/* twoslash from solidbase */
Expand Down
Loading
Loading