diff --git a/apps/docs/pages/docs/config/index.tsx b/apps/docs/pages/docs/config/index.tsx
index ace9cd0a..7492ee5b 100644
--- a/apps/docs/pages/docs/config/index.tsx
+++ b/apps/docs/pages/docs/config/index.tsx
@@ -8,12 +8,12 @@ import {
export default function LandingPage() {
return (
-
+ Simple type-safe configuration
- Configure with json files or environment variables, without losing
- type-safety
+ Configure your app with JSON files or environment variables without
+ losing type-safety
@@ -23,14 +23,17 @@ export default function LandingPage() {
-
- Effortlessly create beautiful documentation sites with just markdown.
+
+ Define your config structure using strictly typed and validated
+ schemas.
-
- Effortlessly create beautiful documentation sites with just markdown.
+
+ Easily configure applications in the cloud using multiple environment
+ agnostic sources.
-
- Effortlessly create beautiful documentation sites with just markdown.
+
+ Supports a wide range of configuration sources including JSON files,
+ environment variables and CLI arguments.
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-content-footer.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-content-footer.mdx
index eb1a768c..bf790e1a 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-content-footer.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-content-footer.mdx
@@ -2,8 +2,12 @@
React component that will show the currently configured content footer.
-It respects configured `contentFooter` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `contentFooter` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+Will show one of:
+ - Nothing if the content footer is set to be hidden.
+ - The default content footer with the configured settings.
+ - The custom component if the content footer has been overriden in the partials.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-header.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-header.mdx
index 276e9275..774ca843 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-header.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-header.mdx
@@ -2,8 +2,12 @@
React component that will show the currently configured navigation partial.
-It respects configured `navigation` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `navigation` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+Will show one of:
+ - Nothing if the navigation bar is set to be hidden.
+ - The default navigation bar with the configured settings.
+ - The custom component if the navigation bar has been overriden in the partials.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-layout.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-layout.mdx
index a77ee0c6..a6d879db 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-layout.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-layout.mdx
@@ -2,10 +2,14 @@
React component that will show the currently configured layout partial.
-It respects configured `layout` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `layout` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
The primary use of this component is to make a non-MDX page look like an MDX page. Don't use it if you're already in an MDX File.
+Will show one of:
+ - The default layout with the configured settings.
+ - The custom component if the layout has been overriden in the partials.
+
## Example
```tsx
@@ -55,7 +59,7 @@ function GuiderLayout(props);
- The children of the react component, it will be displayed as the page contents.
+ The children of the React component, it will be displayed as the page contents.
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-logo.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-logo.mdx
index 1dbb8c07..1d918629 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-logo.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-logo.mdx
@@ -2,8 +2,12 @@
React component that will show the currently configured logo.
-It respects configured `logo` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `logo` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+Will show one of:
+ - Nothing if the logo is set to be hidden.
+ - The default logo with the configured settings.
+ - The custom component if the logo has been overriden in the partials.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-page-end.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-page-end.mdx
new file mode 100644
index 00000000..feca6894
--- /dev/null
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-page-end.mdx
@@ -0,0 +1,23 @@
+# ``
+
+React component that will show the currently configured page end.
+
+It respects the configured `pageEnd` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+
+Will show one of:
+ - Nothing if the page end is set to be hidden.
+ - The default page end with the configured settings.
+ - The custom component if the page end has been overriden in the partials.
+
+## Example
+
+```tsx
+
+```
+
+
+## Reference
+
+```tsx
+function GuiderPageEnd(): ReactNode;
+```
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-page-footer.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-page-footer.mdx
index 28ff6ca4..2fc8c2ac 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-page-footer.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-page-footer.mdx
@@ -2,8 +2,12 @@
React component that will show the currently configured page footer.
-It respects configured `pageFooter` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `pageFooter` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+Will show one of:
+ - Nothing if the page footer is set to be hidden.
+ - The default page footer with the configured settings.
+ - The custom component if the page footer has been overriden in the partials.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-sidebar.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-sidebar.mdx
index cf47f551..282991ff 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-sidebar.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-sidebar.mdx
@@ -2,8 +2,12 @@
React component that will show the currently configured sidebar partial.
-It respects configured `sidebar` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `sidebar` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+Will show one of:
+ - Nothing if the sidebar is set to be hidden.
+ - The default sidebar with the configured settings.
+ - The custom component if the sidebar has been overriden in the partials.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/components/guider-toc.mdx b/apps/docs/pages/docs/guider/api-reference/components/guider-toc.mdx
index f0213840..86a34e57 100644
--- a/apps/docs/pages/docs/guider/api-reference/components/guider-toc.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/components/guider-toc.mdx
@@ -2,8 +2,12 @@
React component that will show the currently configured table of contents.
-It respects configured `toc` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+It respects the configured `toc` in the layout settings. Read more [about partials](../theme/settings.mdx#about-partials).
+Will show one of:
+ - Nothing if the table of contents is set to be hidden.
+ - The default table of contents with the configured settings.
+ - The custom component if the table of contents has been overriden in the partials.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/functions/create-not-found-page.mdx b/apps/docs/pages/docs/guider/api-reference/functions/create-not-found-page.mdx
index 125a51d2..187f96a4 100644
--- a/apps/docs/pages/docs/guider/api-reference/functions/create-not-found-page.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/functions/create-not-found-page.mdx
@@ -5,7 +5,7 @@ This function creates a premade 404 page.
You don't have to use this 404 page, it does nothing special. Feel free to make your own.
- This has be put in `/pages/404.tsx` to work, you can't choose a different location or it won't work.
+ This has be put in `/pages/404.tsx` to work, if you use a different location it won't work.
diff --git a/apps/docs/pages/docs/guider/api-reference/functions/create-redirect.mdx b/apps/docs/pages/docs/guider/api-reference/functions/create-redirect.mdx
index 3091a724..d33c566f 100644
--- a/apps/docs/pages/docs/guider/api-reference/functions/create-redirect.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/functions/create-redirect.mdx
@@ -2,6 +2,7 @@
This utility function is an easy way to make redirects work in static site generation mode.
+When it's used, it creates a dummy page that redirects when loaded.
## Example
diff --git a/apps/docs/pages/docs/guider/api-reference/functions/use-guider-page.mdx b/apps/docs/pages/docs/guider/api-reference/functions/use-guider-page.mdx
index 8421cc75..3084d915 100644
--- a/apps/docs/pages/docs/guider/api-reference/functions/use-guider-page.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/functions/use-guider-page.mdx
@@ -50,6 +50,11 @@ function useGuiderPage(): GuiderPageContext;
See [the `useGuider()` page](./use-guider.mdx) for more info.
+
+ The navigational context of the page, use it to get the current links in the sidebar.
+
+ See [the `useGuider()` page](./use-guider.mdx) for more info.
+
Data for the current page content.
@@ -59,19 +64,19 @@ function useGuiderPage(): GuiderPageContext;
- The site field in the Frontmatter
+ The site field in the Frontmatter.
- The directory field in the Frontmatter
+ The directory field in the Frontmatter.
- The layout field in the Frontmatter
+ The layout field in the Frontmatter.
- The title field in the Frontmatter
+ The title field in the Frontmatter.
- The description field in the Frontmatter
+ The description field in the Frontmatter.
diff --git a/apps/docs/pages/docs/guider/api-reference/functions/use-guider.mdx b/apps/docs/pages/docs/guider/api-reference/functions/use-guider.mdx
index 50c68313..d7cafff6 100644
--- a/apps/docs/pages/docs/guider/api-reference/functions/use-guider.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/functions/use-guider.mdx
@@ -76,7 +76,7 @@ function useGuider(metaConf): GuiderContext;
- The ID of the layout
+ The ID of the layout.
The populated layout settings for this layout, read more [about layout settings](../theme/settings.mdx).
@@ -95,7 +95,7 @@ function useGuider(metaConf): GuiderContext;
- The ID of the directory
+ The ID of the directory.
The ID of the layout that needs to be shown for pages in this directory.
@@ -198,5 +198,20 @@ function useGuider(metaConf): GuiderContext;
+
+ The navigational context of the page, use it to get the current links in the sidebar.
+
+
+
+ The previous page link, according to the order of the sidebar links. It can be null
+
+
+ The current page link. It can be null if it isn't present in the sidebar.
+
+
+ The next page link, according to the order of the sidebar links. It can be null.
+
+
+
diff --git a/apps/docs/pages/docs/guider/api-reference/theme/settings.mdx b/apps/docs/pages/docs/guider/api-reference/theme/settings.mdx
index 709dd26a..e2f301d4 100644
--- a/apps/docs/pages/docs/guider/api-reference/theme/settings.mdx
+++ b/apps/docs/pages/docs/guider/api-reference/theme/settings.mdx
@@ -47,6 +47,9 @@ When you overwrite a partial, you can use `useGuiderPage()` to get the current p
The page footer partial. Check [this section](#about-partials) for information on how to use partials.
+
+ The page end partial. Check [this section](#about-partials) for information on how to use partials.
+
The logo partial. Check [this section](#about-partials) for information on how to use partials.
diff --git a/apps/docs/pages/docs/guider/guides/advanced/customizing-layout.mdx b/apps/docs/pages/docs/guider/guides/advanced/customizing-layout.mdx
index 3e8a1d8b..ce711eb2 100644
--- a/apps/docs/pages/docs/guider/guides/advanced/customizing-layout.mdx
+++ b/apps/docs/pages/docs/guider/guides/advanced/customizing-layout.mdx
@@ -11,6 +11,7 @@ Here are all possibilities:
- `sidebar`: The sidebar navigation menu.
- `navigation`: The header navigation menu.
- `contentFooter`: The content footer, placed right below content.
+ - `pageEnd`: The navigation links below the content, but above the content footer.
- `pageFooter`: The page footer, placed at the very bottom of the page. Disabled by default.
- `logo`: The logo, shown in the navigation bar and page footer.
- `pageLayout`: The entire page, cannot be turned off.
diff --git a/apps/docs/pages/docs/guider/guides/advanced/header.mdx b/apps/docs/pages/docs/guider/guides/advanced/header.mdx
index 32a4a35b..5f9ffcfc 100644
--- a/apps/docs/pages/docs/guider/guides/advanced/header.mdx
+++ b/apps/docs/pages/docs/guider/guides/advanced/header.mdx
@@ -6,7 +6,7 @@ Learn about configuring the page header.
If you are looking for ways to customise the navigation links in the header, you can [read more here](/docs/guider/guides/config/navigation).
-## Github widget
+## GitHub widget
To showcase your GitHub repository with its stars and forks, you can configure a GitHub widget.
diff --git a/apps/docs/pages/docs/guider/guides/config/common/api-ref.mdx b/apps/docs/pages/docs/guider/guides/config/common/api-ref.mdx
index e333fd0f..6447a2fd 100644
--- a/apps/docs/pages/docs/guider/guides/config/common/api-ref.mdx
+++ b/apps/docs/pages/docs/guider/guides/config/common/api-ref.mdx
@@ -1,5 +1,68 @@
# API reference + Docs
-
-This article is a stub, please help by contributing to the docs.
-
+A common requirement for expansive documentation sites is having both guides and an API reference.
+
+API reference is a lot more technical and usually isn't very helpful for beginners, but massively helpful if you know the library already and want to fact check something.
+
+The guides is almost the opposite: It's very friendly for beginners, but lacks the completeness of an API reference.
+
+
+## Adding the two sections to your project
+
+The recommended way to add an API reference next to your guides is to use tabs.
+
+Tabs is a configuration option for a Guider site that allows for easy switching between two contexts.
+
+
+
+ ### Adding the pages to sub-directories
+
+ First, you have to make sure that your pages are divided in sub-directories. Like so:
+ - `/pages/guides` All your MDX files or pages for your guides
+ - `/pages/api` All your MDX files or pages for your API reference
+
+
+ ### Configuring your tabs
+
+ Your site configuration needs to be split into two `directory()` instances and need to have the configured tabs. Like so:
+
+ ```tsx title="theme.config.tsx" showLineNumbers
+ import { directories, link, defineTheme } from "@neato/guider/theme"
+
+ export default defineTheme({
+ tabs: [
+ link("Guides", "/guides"),
+ link("API reference", "/api"),
+ ]
+ directories: [
+ directory('guides', {
+ sidebar: [
+ // your sidebar items
+ ],
+ }),
+ directory('api', {
+ sidebar: [
+ // your sidebar items
+ ],
+ })
+ ]
+ })
+ ```
+
+
+ ### Creating meta files
+
+ To make your pages tied to your `directory()` instances (and tabs), you'll need to make two meta files for each folder.
+
+ ```json title="/pages/guides/_meta.json"
+ {
+ "directory": "guides"
+ }
+ ```
+ ```json title="/pages/api/_meta.json"
+ {
+ "directory": "api"
+ }
+ ```
+
+
diff --git a/apps/docs/pages/docs/guider/guides/config/common/blog.mdx b/apps/docs/pages/docs/guider/guides/config/common/blog.mdx
deleted file mode 100644
index fd1bbf10..00000000
--- a/apps/docs/pages/docs/guider/guides/config/common/blog.mdx
+++ /dev/null
@@ -1,5 +0,0 @@
-# Blog posts + Docs
-
-
-This article is a stub, please help by contributing to the docs.
-
diff --git a/apps/docs/pages/docs/guider/guides/deploy/cloudflare.mdx b/apps/docs/pages/docs/guider/guides/deploy/cloudflare.mdx
index 5e59e80b..b668baaa 100644
--- a/apps/docs/pages/docs/guider/guides/deploy/cloudflare.mdx
+++ b/apps/docs/pages/docs/guider/guides/deploy/cloudflare.mdx
@@ -11,7 +11,7 @@ Follow the steps below to deploy a Guider project to Cloudflare Pages.
### Make a new Application
- Go to [the cloudflare dashboard](https://dash.cloudflare.com) on under "Workers & Pages" click "Create application".
+ Go to [the Cloudflare dashboard](https://dash.cloudflare.com) on under "Workers & Pages" click "Create application".
### Select your repository
diff --git a/apps/docs/pages/docs/guider/guides/deploy/github-pages.mdx b/apps/docs/pages/docs/guider/guides/deploy/github-pages.mdx
index 8d11e3f2..fc06a1f2 100644
--- a/apps/docs/pages/docs/guider/guides/deploy/github-pages.mdx
+++ b/apps/docs/pages/docs/guider/guides/deploy/github-pages.mdx
@@ -1,10 +1,10 @@
-# Github Pages
+# GitHub Pages
-A Github Action to deploy a Guider documentation site.
+A GitHub Action to deploy a Guider documentation site.
## Prerequisites
-- Enable Github Pages, go to `Your repo > Settings > Pages` and set `Source` to `Github Actions`.
+- Enable GitHub Pages, go to `Your repo > Settings > Pages` and set `Source` to `GitHub Actions`.
## The workflow
diff --git a/apps/docs/pages/docs/guider/guides/deploy/netlify.mdx b/apps/docs/pages/docs/guider/guides/deploy/netlify.mdx
index c77cb980..caecad1a 100644
--- a/apps/docs/pages/docs/guider/guides/deploy/netlify.mdx
+++ b/apps/docs/pages/docs/guider/guides/deploy/netlify.mdx
@@ -1,4 +1,4 @@
-# Vercel
+# Netlify
A guide to deploy a Guider project to Netlify.
@@ -26,7 +26,7 @@ Follow the steps below to deploy a Guider project to Netlify.
### Deploy
- Click the `deploy` button and wait until your site has been deployed.
+ Click the `Deploy` button and wait until your site has been deployed.
Netlify has linked this deploy with your branch, meaning that once new changes are pushed. Netlify will automatically update your site.
diff --git a/apps/docs/pages/docs/guider/guides/getting-started/migration/from-docus.mdx b/apps/docs/pages/docs/guider/guides/getting-started/migration/from-docus.mdx
index 68916054..0d130aeb 100644
--- a/apps/docs/pages/docs/guider/guides/getting-started/migration/from-docus.mdx
+++ b/apps/docs/pages/docs/guider/guides/getting-started/migration/from-docus.mdx
@@ -33,16 +33,16 @@ Migrating can be a long journey, this guide aims to create a clear set of steps
## Migration steps
-1. **Make a guider project:** Make a new guider project by following [this guide](../installation.mdx).
-2. **Copy your markdown files over:** Copy over all Markdown files into the pages directory of the new project.
- - Remove the numbers prefixed on front of your files and folders. The order is now in the theme config.
- - Replace the component directives with MDX React components.
- - Update frontmatter to set the layout ID instead of modifying the layout settings directly. See [this page](../../advanced/customizing-layout.mdx).
- - Replace title in the frontmatter to a link in the theme config.
-3. **Migrate _dir.yml files:** dir files don't exist in Guider. Check these steps:
- - title goes in a `group()` in the theme config.
- - replace `navigation.redirect` with a `createRedirect()` in a index.tsx
- - title template can be set globally, not a per directory basis.
-4. **Migrate app.config.ts:** The settings in Guider go into the theme config, along with your sidebar contents.
-5. **Migrate vue components to react:** Guider is based in react, so to have custom components work you will need to port them.
-6. **Finished:** That should be everything to migrate to Guider, congratulations!
+ 1. **Make a guider project:** Make a new guider project by following [this guide](../installation.mdx).
+ 2. **Copy your markdown files over:** Copy over all Markdown files into the pages directory of the new project.
+ - Remove the numbers prefixed on front of your files and folders. The order is now in the theme config.
+ - Replace the component directives with MDX React components.
+ - Update frontmatter to set the layout ID instead of modifying the layout settings directly. See [this page](../../advanced/customizing-layout.mdx).
+ - Replace title in the frontmatter to a link in the theme config.
+ 3. **Migrate _dir.yml files:** dir files don't exist in Guider. Check these steps:
+ - title goes in a `group()` in the theme config.
+ - replace `navigation.redirect` with a `createRedirect()` in a index.tsx
+ - title template can be set globally, not a per directory basis.
+ 4. **Migrate app.config.ts:** The settings in Guider go into the theme config, along with your sidebar contents.
+ 5. **Migrate vue components to react:** Guider is based in react, so to have custom components work you will need to port them.
+ 6. **Finished:** That should be everything to migrate to Guider, congratulations!
diff --git a/apps/docs/pages/docs/guider/index.tsx b/apps/docs/pages/docs/guider/index.tsx
index 2a2b8bad..6d50691e 100644
--- a/apps/docs/pages/docs/guider/index.tsx
+++ b/apps/docs/pages/docs/guider/index.tsx
@@ -8,15 +8,15 @@ import {
export default function LandingPage() {
return (
-
+
Just went out of alpha!
Documentation that looks great out of the box
- Flexible but beautiful documentation, easy to write and easier to
- extend. Exactly what you need everytime.
+ Flexible but beautiful documentation powered by NextJS — easy to write
+ and easier to extend.
@@ -26,14 +26,17 @@ export default function LandingPage() {
-
- Effortlessly create beautiful documentation sites with just markdown.
+
+ Effortlessly create beautiful documentation sites using Markdown or
+ MDX files.
-
- Effortlessly create beautiful documentation sites with just markdown.
+
+ Guider doesn't make assumptions about your site. Use it by itself or
+ include it as part of a larger project.
-
- Effortlessly create beautiful documentation sites with just markdown.
+
+ Comes out the box with a ready-to-go theme, but can easily be made to
+ look exactly like what you have envisioned.
diff --git a/apps/docs/pages/docs/guider/writing/components/fields.mdx b/apps/docs/pages/docs/guider/writing/components/fields.mdx
index 12c4c398..1600fedd 100644
--- a/apps/docs/pages/docs/guider/writing/components/fields.mdx
+++ b/apps/docs/pages/docs/guider/writing/components/fields.mdx
@@ -48,10 +48,10 @@ You can also use the `{:tsx}` component to group properties
A field with a type display, great for documenting types or structures.
- The title of the field
+ The title of the field.
- The type of the field
+ The type of the field.
Mark this field as required.
diff --git a/apps/docs/pages/docs/guider/writing/components/tabs.mdx b/apps/docs/pages/docs/guider/writing/components/tabs.mdx
index 13ae36e8..78c84aa3 100644
--- a/apps/docs/pages/docs/guider/writing/components/tabs.mdx
+++ b/apps/docs/pages/docs/guider/writing/components/tabs.mdx
@@ -96,7 +96,7 @@ The Tabs component
The tab items, must have the same number of items as there are tabs.
- The storage key, to store the preferences against. See [this section](#storing-the-tab-choice) for usage.
+ The storage key, to store the preferences under. See [this section](#storing-the-tab-choice) for usage.
The tabs to display.
diff --git a/apps/docs/pages/docs/guider/writing/markdown/making-pages.mdx b/apps/docs/pages/docs/guider/writing/markdown/making-pages.mdx
index f31eb69c..51649c54 100644
--- a/apps/docs/pages/docs/guider/writing/markdown/making-pages.mdx
+++ b/apps/docs/pages/docs/guider/writing/markdown/making-pages.mdx
@@ -73,6 +73,6 @@ export default function MyPage() {
## Writing in MD or MDX
-Guider uses most of [Github Flavoured Markdown](https://github.github.com/gfm/). If you are familiar with it, you can use everything you know.
+Guider uses most of [GitHub Flavoured Markdown](https://github.github.com/gfm/). If you are familiar with it, you can use everything you know.
If you aren't familiar, you can refer to [Basic text](/docs/guider/writing/basic-text) to learn how to write in Markdown.
diff --git a/apps/docs/pages/index.tsx b/apps/docs/pages/index.tsx
index 7bb44afb..166d2915 100644
--- a/apps/docs/pages/index.tsx
+++ b/apps/docs/pages/index.tsx
@@ -15,21 +15,21 @@ export default function LandingPage() {
title: '@neato/guider',
description: 'Flexible documentation that looks good out of the box.',
href: '/docs/guider',
- icon: 'mdi:cube-outline',
+ icon: 'ic:round-menu-book',
},
{
title: '@neato/config',
description:
'NodeJS configuration loader with strict typing and autocomplete.',
href: '/docs/config',
- icon: 'mdi:cube-outline',
+ icon: 'material-symbols:settings-heart-rounded',
},
];
return (
- NeatoJS — A collection of JS tools that you will want.
+ NeatoJS — A collection of libraries made to simplify
Tools that follow the philosophy of doing only one thing, and doing it
diff --git a/apps/docs/pages/showcase.tsx b/apps/docs/pages/showcase.tsx
index cb1ffe94..1884d4dd 100644
--- a/apps/docs/pages/showcase.tsx
+++ b/apps/docs/pages/showcase.tsx
@@ -5,22 +5,30 @@ import type { ShowcaseTag, ShowcaseType } from 'components/showcase-card';
import { ShowcaseCard, ShowcaseCardContainer } from 'components/showcase-card';
import pretendoImg from 'public/showcases/pretendo.png';
import mwAccountImg from 'public/showcases/movie-web-account.png';
+import mwDocsImg from 'public/showcases/movie-web-docs.png';
const showcases: ShowcaseType[] = [
{
title: 'Pretendo',
- description: 'Uses Guider for protocol documentation.',
+ description: 'Uses Guider to document their protocols and libaries.',
href: 'https://developer.pretendo.network/',
imageUrl: pretendoImg.src,
tags: ['guider'],
},
{
- title: 'movie-web account',
+ title: 'movie-web backend',
description: 'Uses Config for their account service.',
href: 'https://github.com/movie-web/backend/',
imageUrl: mwAccountImg.src,
tags: ['config'],
},
+ {
+ title: 'movie-web docs',
+ description: 'Uses Guider for their documentation',
+ href: 'https://github.com/movie-web/docs/',
+ imageUrl: mwDocsImg.src,
+ tags: ['guider'],
+ },
];
export default function ShowcasePage() {
diff --git a/apps/docs/public/showcases/movie-web-docs.png b/apps/docs/public/showcases/movie-web-docs.png
new file mode 100644
index 00000000..05c7217a
Binary files /dev/null and b/apps/docs/public/showcases/movie-web-docs.png differ
diff --git a/apps/docs/theme.config.tsx b/apps/docs/theme.config.tsx
index c458016f..0e198d66 100644
--- a/apps/docs/theme.config.tsx
+++ b/apps/docs/theme.config.tsx
@@ -46,7 +46,7 @@ const gdWriting = (url: string) => `/docs/guider/writing${url}`;
const gdApi = (url: string) => `/docs/guider/api-reference${url}`;
const starLinks = [
- link('Github', 'https://github.com/mrjvs/neatojs', {
+ link('GitHub', 'https://github.com/mrjvs/neatojs', {
style: 'star',
newTab: true,
icon: 'akar-icons:github-fill',
@@ -121,7 +121,6 @@ export default defineTheme([
gdGuides('/config/common/multi-docs'),
),
link('API reference + docs', gdGuides('/config/common/api-ref')),
- link('Blog posts + docs', gdGuides('/config/common/blog')),
]),
]),
group('Advanced', [
@@ -135,10 +134,10 @@ export default defineTheme([
link('Deep-dive concepts', gdGuides('/advanced/deep-dive')),
]),
group('Deploying', [
- link('Github Pages', gdGuides('/deploy/github-pages')),
+ link('GitHub Pages', gdGuides('/deploy/github-pages')),
link('Netlify', gdGuides('/deploy/netlify')),
link('Vercel', gdGuides('/deploy/vercel')),
- link('Cloudflare pages', gdGuides('/deploy/cloudflare')),
+ link('Cloudflare Pages', gdGuides('/deploy/cloudflare')),
link('Docker', gdGuides('/deploy/docker')),
]),
],
@@ -245,6 +244,7 @@ export default defineTheme([
'',
gdApi('/components/guider-page-footer'),
),
+ link('', gdApi('/components/guider-page-end')),
]),
],
}),
diff --git a/packages/guider/package.json b/packages/guider/package.json
index 5c6f35c3..19fc003d 100644
--- a/packages/guider/package.json
+++ b/packages/guider/package.json
@@ -1,6 +1,6 @@
{
"name": "@neato/guider",
- "version": "0.1.5",
+ "version": "1.0.0",
"description": "Beautiful documentation sites, without all the hassle",
"main": "./dist/index.js",
"type": "module",
@@ -75,6 +75,7 @@
"@types/color": "^3.0.6",
"@types/extra-watch-webpack-plugin": "^1.0.6",
"@types/git-url-parse": "^9.0.3",
+ "@types/mdast": "^4.0.3",
"@types/react": "18.2.56",
"@types/webpack": "^5.28.5",
"autoprefixer": "^10.4.17",
@@ -94,14 +95,17 @@
"@mdx-js/mdx": "^3.0.1",
"@shikijs/transformers": "^1.1.7",
"@theguild/remark-npm2yarn": "^0.3.0",
+ "@types/unist": "^3.0.2",
"@vcarl/remark-headings": "^0.1.0",
"approximate-number": "^2.1.1",
"classnames": "^2.5.1",
"color": "^4.2.3",
"extra-watch-webpack-plugin": "^1.0.3",
+ "flexsearch": "^0.7.43",
"git-url-parse": "^14.0.0",
"glob": "^10.3.10",
"gray-matter": "^4.0.3",
+ "mdast-util-phrasing": "^4.1.0",
"next-seo": "^6.5.0",
"react-helmet-async": "^2.0.4",
"rehype-extract-excerpt": "^0.3.1",
@@ -113,6 +117,8 @@
"shiki": "^1.1.7",
"tailwindcss-themer": "^4.0.0",
"type-fest": "^4.10.3",
+ "unified": "^11.0.4",
+ "unist-util-visit": "^5.0.0",
"webpack-virtual-modules": "^0.6.1",
"zustand": "^4.5.2"
}
diff --git a/packages/guider/src/client/components/markdown/image.tsx b/packages/guider/src/client/components/markdown/image.tsx
new file mode 100644
index 00000000..4e591815
--- /dev/null
+++ b/packages/guider/src/client/components/markdown/image.tsx
@@ -0,0 +1,17 @@
+import classNames from 'classnames';
+import { useRouter } from 'next/router';
+import type { MarkdownProps } from './types';
+
+export function MarkdownImage(props: MarkdownProps) {
+ const router = useRouter();
+ const srcInput = props.attrs.src;
+ const src = srcInput?.startsWith('/') ? router.basePath + srcInput : srcInput;
+
+ return (
+
+ );
+}
diff --git a/packages/guider/src/client/components/markdown/index.tsx b/packages/guider/src/client/components/markdown/index.tsx
index b33b832f..63c8db6f 100644
--- a/packages/guider/src/client/components/markdown/index.tsx
+++ b/packages/guider/src/client/components/markdown/index.tsx
@@ -13,6 +13,7 @@ import {
MarkdownH6,
} from './headings';
import { MarkdownHr } from './hr';
+import { MarkdownImage } from './image';
import { MarkdownItalic, MarkdownStrike, MarkdownStrong } from './inline';
import { MarkdownLi, MarkdownOl, MarkdownUl } from './lists';
import { MarkdownLink, MarkdownParagraph } from './paragraph';
@@ -126,5 +127,8 @@ export function useMDXComponents() {
);
return {props.children};
},
+ img(props: ElementProps) {
+ return ;
+ },
};
}
diff --git a/packages/guider/src/client/components/markdown/lists.tsx b/packages/guider/src/client/components/markdown/lists.tsx
index b34eb4e1..82b0cd7d 100644
--- a/packages/guider/src/client/components/markdown/lists.tsx
+++ b/packages/guider/src/client/components/markdown/lists.tsx
@@ -19,7 +19,7 @@ export function MarkdownUl(props: MarkdownProps) {
export function MarkdownLi(props: MarkdownProps) {
return (