Skip to content

Commit ab936ea

Browse files
committed
feat: update content modules and configs
1 parent 8e37041 commit ab936ea

File tree

10 files changed

+280
-263
lines changed

10 files changed

+280
-263
lines changed

.astro/content-modules.mjs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
export default new Map([
33
["src/content/docs/framework/blog.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fblog.mdx&astroContentModuleFlag=true")],
44
["src/content/docs/framework/docs.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fdocs.mdx&astroContentModuleFlag=true")],
5-
["src/content/docs/framework/configuration.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fconfiguration.mdx&astroContentModuleFlag=true")],
65
["src/content/docs/framework/deploy.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fdeploy.mdx&astroContentModuleFlag=true")],
6+
["src/content/docs/framework/configuration.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fconfiguration.mdx&astroContentModuleFlag=true")],
77
["src/content/docs/framework/getting-started.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fgetting-started.mdx&astroContentModuleFlag=true")],
88
["src/content/docs/framework/installation.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Finstallation.mdx&astroContentModuleFlag=true")],
9-
["src/content/docs/framework/project-structure.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fproject-structure.mdx&astroContentModuleFlag=true")],
10-
["src/content/blog/welcome.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fblog%2Fwelcome.mdx&astroContentModuleFlag=true")],
9+
["src/content/docs/syntax/alert.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Falert.mdx&astroContentModuleFlag=true")],
1110
["src/content/docs/syntax/code-block.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Fcode-block.mdx&astroContentModuleFlag=true")],
11+
["src/content/docs/framework/project-structure.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2Fproject-structure.mdx&astroContentModuleFlag=true")],
1212
["src/content/docs/syntax/text.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Ftext.mdx&astroContentModuleFlag=true")],
1313
["src/content/docs/syntax/markdown.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Fmarkdown.mdx&astroContentModuleFlag=true")],
14-
["src/content/docs/syntax/alert.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2Falert.mdx&astroContentModuleFlag=true")],
15-
["src/content/docs/syntax/_default.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2F_default.mdx&astroContentModuleFlag=true")],
16-
["src/content/docs/framework/_default.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2F_default.mdx&astroContentModuleFlag=true")]]);
14+
["src/content/blog/welcome.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fblog%2Fwelcome.mdx&astroContentModuleFlag=true")],
15+
["src/content/docs/framework/_default.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fframework%2F_default.mdx&astroContentModuleFlag=true")],
16+
["src/content/docs/syntax/_default.mdx", () => import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Fsyntax%2F_default.mdx&astroContentModuleFlag=true")]]);
1717

explainer.config.ts

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,20 @@
11
import { defineExplainerConfig } from "@/utils";
22

33
export default defineExplainerConfig({
4+
repository: "https://github.com/LeadcodeDev/explainer",
5+
projectName: "Explainer",
46
seo: {
5-
title: "Explainer",
6-
titleTemplate: "{} - {title}",
7+
title: "Explainer • Make your own documentation easily",
78
description:
89
"Quickly design your documentation and optimise it for search engine optimisation to showcase your products.",
910
thumbnail: "https://placehold.co/1200x630",
1011
},
1112
socials: {
12-
github: "https://github.com/LeadcodeDev/explainer",
13-
twitter: "https://twitter.com/LeadcodeDev",
14-
},
15-
docs: {},
16-
17-
meta: {
18-
title: "Explainer",
19-
description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
20-
thumbnail: "https://placehold.co/1200x630",
21-
},
22-
urls: {
23-
github: "https://github.com/LeadcodeDev/explainer",
24-
getStarted: "/docs/framework/getting-started",
25-
documentation: "/docs/framework/installation",
13+
media: {
14+
github: "https://github.com/LeadcodeDev/explainer",
15+
twitter: "https://twitter.com/LeadcodeDev",
16+
linkedin: "https://linkedin.com/in/leadcode-dev",
17+
},
2618
},
2719
blog: {
2820
defaults: {
@@ -46,10 +38,4 @@ export default defineExplainerConfig({
4638
href: "/blog",
4739
},
4840
],
49-
social: {
50-
github: {
51-
href: "https://github.com/LeadcodeDev/explainer",
52-
icon: "mdi:github",
53-
},
54-
},
5541
});

src/assets/css/markdown.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ html.dark .prose > .astro-code {
300300
padding-left: 1.5rem !important;
301301
padding-right: 1.5rem !important;
302302
font-size: 0.9rem;
303-
color: var(--color-foreground) !important;
303+
color: var(--muted-foreground) !important;
304304
}
305305

306306
&.has-focused .line:not(.focused) {
Lines changed: 31 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,40 @@
1-
const navigation = {
2-
main: [
3-
{ name: 'About', href: '#' },
4-
{ name: 'Blog', href: '#' },
5-
{ name: 'Jobs', href: '#' },
6-
{ name: 'Press', href: '#' },
7-
{ name: 'Accessibility', href: '#' },
8-
{ name: 'Partners', href: '#' },
9-
],
10-
social: [
11-
{
12-
name: 'Facebook',
13-
href: '#',
14-
icon: (props) => (
15-
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
16-
<path
17-
fillRule="evenodd"
18-
d="M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z"
19-
clipRule="evenodd"
20-
/>
21-
</svg>
22-
),
23-
},
24-
{
25-
name: 'Instagram',
26-
href: '#',
27-
icon: (props) => (
28-
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
29-
<path
30-
fillRule="evenodd"
31-
d="M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z"
32-
clipRule="evenodd"
33-
/>
34-
</svg>
35-
),
36-
},
37-
{
38-
name: 'X',
39-
href: '#',
40-
icon: (props) => (
41-
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
42-
<path d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z" />
43-
</svg>
44-
),
45-
},
46-
{
47-
name: 'GitHub',
48-
href: '#',
49-
icon: (props) => (
50-
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
51-
<path
52-
fillRule="evenodd"
53-
d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z"
54-
clipRule="evenodd"
55-
/>
56-
</svg>
57-
),
58-
},
59-
{
60-
name: 'YouTube',
61-
href: '#',
62-
icon: (props) => (
63-
<svg fill="currentColor" viewBox="0 0 24 24" {...props}>
64-
<path
65-
fillRule="evenodd"
66-
d="M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z"
67-
clipRule="evenodd"
68-
/>
69-
</svg>
70-
),
71-
},
72-
],
73-
}
74-
75-
import { Icon } from '@iconify/react'
76-
import config from 'explainer.config'
1+
import { Icon } from "@iconify/react";
2+
import config from "explainer.config";
773

784
export default function Footer() {
795
return (
806
<footer>
817
<div className="mx-auto max-w-7xl overflow-hidden px-6 py-10 lg:px-8">
82-
<div className="mt-16 flex justify-center gap-x-10">
83-
{Object.entries(config.social).map(([key, item]) => (
84-
<a
85-
key={key}
86-
href={item.href}
87-
target="_blank"
88-
rel="noopener noreferrer"
89-
className="text-gray-600 hover:text-gray-800"
90-
>
91-
<span className="sr-only">{key}</span>
92-
<Icon icon={item.icon} aria-hidden="true" className="size-6" />
93-
</a>
94-
))}
8+
<div className="mt-16 flex justify-center gap-x-5">
9+
{Object.entries(config.socials.media).map(([key, url]) => {
10+
return (
11+
<a
12+
key={key}
13+
href={url}
14+
target="_blank"
15+
rel="noopener noreferrer"
16+
className="text-gray-600 hover:text-gray-800"
17+
>
18+
<span className="sr-only">{key}</span>
19+
{config.socials.icons &&
20+
key.toLowerCase() in config.socials.icons ? (
21+
<Icon
22+
icon={config.socials.icons[key.toLowerCase()]}
23+
aria-hidden="true"
24+
className="size-6"
25+
/>
26+
) : (
27+
key
28+
)}
29+
</a>
30+
);
31+
})}
9532
</div>
96-
<p className="mt-10 text-center text-sm/6 text-gray-600">&copy; {new Date().getFullYear()} {config.meta.title}, Inc. All rights reserved.</p>
33+
<p className="mt-10 text-center text-sm/6 text-gray-600">
34+
&copy; {new Date().getFullYear()} {config.seo.title}, Inc. All rights
35+
reserved.
36+
</p>
9737
</div>
9838
</footer>
99-
)
39+
);
10040
}

src/lib/components/elements/navbar.tsx

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,21 @@ export default function Navbar(props: NavbarProps) {
6868
<div className="max-w-[var(--container-width)] mx-auto flex items-center justify-between">
6969
<a href="/" className="flex sm:hidden items-center space-x-2">
7070
<span className="font-bold text-primary text-lg">
71-
💧 {config.meta.title}
71+
💧 {config.projectName}
7272
</span>
7373
</a>
7474

75-
<div className="hidden lg:flex items-center justify-between w-full">
75+
<div className="hidden md:flex items-center justify-between w-full">
7676
<a href="/" className="flex items-center space-x-2">
7777
<span className="font-bold text-primary text-lg">
78-
💧 {config.meta.title}
78+
💧 {config.projectName}
7979
</span>
8080
</a>
8181
<div className="flex gap-3">
8282
<NavigationMenu>
8383
<NavigationMenuList>
84-
{props.docs.map((element) => (
85-
<NavigationMenuItem key={element.id}>
84+
{props.docs.map((element, index) => (
85+
<NavigationMenuItem key={index}>
8686
<NavigationMenuTrigger className="flex items-center">
8787
<Icon icon={element.icon} className="size-4 mr-2" />
8888
{element.label}
@@ -126,9 +126,9 @@ export default function Navbar(props: NavbarProps) {
126126
<div className="flex items-center space-x-2">
127127
<ThemeToggle />
128128

129-
{config.urls.github && (
129+
{config.socials.media.github && (
130130
<a
131-
href={config.urls.github}
131+
href={config.socials.media.github}
132132
rel="noopener noreferrer"
133133
target="_blank"
134134
className="rounded-[calc(var(--ui-radius)*1.5)] font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors px-2.5 py-1.5 text-sm gap-1.5 text-(--ui-text) hover:bg-(--ui-bg-elevated) focus:outline-none focus-visible:bg-(--ui-bg-elevated) hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
@@ -144,7 +144,7 @@ export default function Navbar(props: NavbarProps) {
144144
d="M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"
145145
></path>
146146
</svg>
147-
<span className="sr-only">{config.meta.title} on GitHub</span>
147+
<span className="sr-only">{config.seo.title} on GitHub</span>
148148
</a>
149149
)}
150150
</div>
@@ -164,7 +164,7 @@ export default function Navbar(props: NavbarProps) {
164164
>
165165
<div>
166166
<SheetHeader>
167-
<SheetTitle>{config.meta.title}</SheetTitle>
167+
<SheetTitle>{config.seo.title}</SheetTitle>
168168
</SheetHeader>
169169
<SheetDescription />
170170
<div className="flex flex-col items-start gap-2">
@@ -186,34 +186,40 @@ export default function Navbar(props: NavbarProps) {
186186
</a>
187187
);
188188
}
189+
})}
189190

190-
return (
191-
<div key={element.label}>
192-
<p className="text-sm font-medium">{element.label}</p>
193-
<ul className="flex flex-col items-start gap-5 pt-2 pb-5">
194-
{element.items?.map((item) => (
195-
<a
196-
key={item.label}
197-
href={item.href}
198-
className="flex flex-col px-3 text-sm font-medium hover:bg-accent hover:text-accent-foreground rounded-md cursor-pointer"
199-
>
200-
<span>{item.label}</span>
201-
<span className="text-xs text-muted-foreground">
202-
{item.description}
203-
</span>
204-
</a>
205-
))}
206-
</ul>
191+
<div className="flex flex-col gap-6 pt-5">
192+
{props.docs.map((element, index) => (
193+
<div key={index}>
194+
<div className="flex items-center font-medium">
195+
<Icon icon={element.icon} className="size-4 mr-2" />
196+
{element.label}
197+
</div>
198+
<div>
199+
<ul className="grid w-[400px] gap-2 p-1 md:w-[500px] md:grid-cols-2 lg:w-[600px]">
200+
{element.collection
201+
.filter((item: any) => item.visible)
202+
.map((item: any) => (
203+
<a
204+
key={item.id}
205+
href={item.href}
206+
className="text-sm"
207+
>
208+
{item.data.title}
209+
</a>
210+
))}
211+
</ul>
212+
</div>
207213
</div>
208-
);
209-
})}
214+
))}
215+
</div>
210216
</div>
211217
</div>
212218
<SheetFooter>
213-
{config.urls.github && (
219+
{config.socials.media.github && (
214220
<Button variant="outline" asChild>
215221
<a
216-
href={config.urls.github}
222+
href={config.socials.media.github}
217223
rel="noopener noreferrer"
218224
target="_blank"
219225
className="rounded-[calc(var(--ui-radius)*1.5)] font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors px-2.5 py-1.5 text-sm gap-1.5 text-(--ui-text) hover:bg-(--ui-bg-elevated) focus:outline-none focus-visible:bg-(--ui-bg-elevated) hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"

0 commit comments

Comments
 (0)