Skip to content

Commit 96d3363

Browse files
committed
docs: add dfinity starlight theme
1 parent 8b37687 commit 96d3363

File tree

8 files changed

+130
-2
lines changed

8 files changed

+130
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
- feat: enables type inference for the arguments and return types of `FuncClass`.
1010
- feat: enables type inference for the fields of `ServiceClass`.
1111
- fix: perform the canister range checks unconditionally for delegations when constructing a `Certificate` instance.
12+
- docs: add DFINITY Starlight theme to the docs
1213

1314
## [3.1.0] - 2025-07-24
1415

docs/astro.config.mjs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
// @ts-check
22
import { defineConfig } from 'astro/config';
33
import starlight from '@astrojs/starlight';
4-
import { libsPlugin } from './src/libs-plugin';
4+
import { libsPlugin } from './src/plugins/libs';
5+
import { dfinityStarlightTheme } from './src/plugins/theme';
56

67
// https://astro.build/config
78
export default defineConfig({
89
site: 'https://js.icp.build/',
910
base: '/core/',
1011
integrations: [
1112
starlight({
12-
title: 'ICP JS SDK Docs',
13+
title: 'ICP JS SDK Core',
1314
social: [{ icon: 'github', label: 'GitHub', href: 'https://github.com/dfinity/agent-js' }],
1415
plugins: [
16+
dfinityStarlightTheme(),
1517
libsPlugin({
1618
clean: true,
1719
baseDir: '../packages',

docs/src/plugins/libs/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './libs-plugin';
File renamed without changes.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/* Available props: https://github.com/withastro/starlight/blob/main/packages/starlight/style/props.css */
2+
3+
:root {
4+
--dfn-color-black: hsl(259, 0%, 13%);
5+
--dfn-color-gray-7: hsl(259, 4%, 13%);
6+
--dfn-color-gray-6: hsl(259, 4%, 17%);
7+
--dfn-color-gray-5: hsl(259, 4%, 40%);
8+
--dfn-color-gray-4: hsl(259, 4%, 46%);
9+
--dfn-color-gray-3: hsl(259, 4%, 56%);
10+
--dfn-color-gray-2: hsl(259, 4%, 80%);
11+
--dfn-color-gray-1: hsl(259, 4%, 93%);
12+
--dfn-color-white: hsl(259, 0%, 100%);
13+
14+
--dfn-pink: hsl(312, 100%, 45%);
15+
--dfn-purple: hsl(250, 100%, 81%);
16+
--dfn-dark-purple: hsl(259, 100%, 36%);
17+
18+
--dfn-color-bg-navbar: var(--dfn-color-black);
19+
--dfn-color-bg-sidebar: var(--dfn-color-black);
20+
21+
--sl-color-accent: var(--dfn-dark-purple);
22+
--sl-color-accent-low: var(--dfn-color-black);
23+
--sl-color-accent-high: var(--dfn-purple);
24+
25+
--sl-color-bg-nav: var(--dfn-color-bg-navbar);
26+
--sl-color-bg-sidebar: var(--dfn-color-bg-sidebar);
27+
28+
--sl-color-white: var(--dfn-color-white);
29+
--sl-color-gray-1: var(--dfn-color-gray-1);
30+
--sl-color-gray-2: var(--dfn-color-gray-2);
31+
--sl-color-gray-3: var(--dfn-color-gray-3);
32+
--sl-color-gray-4: var(--dfn-color-gray-4);
33+
--sl-color-gray-5: var(--dfn-color-gray-5);
34+
--sl-color-gray-6: var(--dfn-color-gray-6);
35+
--sl-color-gray-7: var(--dfn-color-gray-7);
36+
--sl-color-black: var(--dfn-color-black);
37+
}
38+
39+
:root[data-theme='light'] {
40+
--dfn-color-bg-navbar: #e8e4ed;
41+
--dfn-color-bg-sidebar: #f1eef5;
42+
43+
--sl-color-white: var(--dfn-color-black);
44+
--sl-color-gray-1: var(--dfn-color-gray-7);
45+
--sl-color-gray-2: var(--dfn-color-gray-6);
46+
--sl-color-gray-3: var(--dfn-color-gray-5);
47+
--sl-color-gray-4: var(--dfn-color-gray-4);
48+
--sl-color-gray-5: var(--dfn-color-gray-3);
49+
--sl-color-gray-6: var(--dfn-color-gray-2);
50+
--sl-color-gray-7: var(--dfn-color-gray-1);
51+
--sl-color-black: var(--dfn-color-white);
52+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import type { StarlightPlugin } from '@astrojs/starlight/types';
2+
3+
export function dfinityStarlightTheme(): StarlightPlugin {
4+
return {
5+
name: '@dfinity/starlight-theme',
6+
hooks: {
7+
'config:setup': ctx => {
8+
ctx.updateConfig({
9+
logo: {
10+
src: './src/plugins/theme/dfinity.svg',
11+
alt: 'DFINITY Logo',
12+
},
13+
customCss: [
14+
...(ctx.config.customCss || []),
15+
'./src/plugins/theme/dfinity-starlight-theme.css',
16+
],
17+
components: {
18+
...ctx.config.components,
19+
},
20+
});
21+
},
22+
},
23+
};
24+
}

docs/src/plugins/theme/dfinity.svg

Lines changed: 47 additions & 0 deletions
Loading

docs/src/plugins/theme/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './dfinity-starlight-theme';

0 commit comments

Comments
 (0)