Coder Social home page Coder Social logo

fuma-nama / fumadocs Goto Github PK

View Code? Open in Web Editor NEW
666.0 2.0 38.0 12.66 MB

The powerful framework for building documentation sites in Next.js.

Home Page: https://fumadocs.vercel.app

License: MIT License

TypeScript 73.58% CSS 1.14% MDX 22.20% JavaScript 2.42% GLSL 0.53% Shell 0.14%
app-router docs next nextjs contentlayer mdx tailwindcss typescript

fumadocs's Introduction

banner

The framework for building documentation websites in Next.js.

๐Ÿ“˜ Learn More: Documentation.

Compatiability

All packages are ESM only.

Sticker

logo

Welcome to print it out :D

Contributions

We are welcome for contributions! You may start with contributing to the docs, it is located in /apps/docs/content/docs.

Notice that this project is a monorepo using Turborepo, pnpm and Changesets. Make sure to format your code with pnpm run prettier and add changeset with pnpm changeset.

Environment Variables

You don't need any extra environment variables to run this project locally.

fumadocs's People

Contributors

anthonyshew avatar franky47 avatar fuma-nama avatar github-actions[bot] avatar joulev avatar jrizo0 avatar junaidanjum avatar leosouthey avatar ndom91 avatar pythonhacker24 avatar renovate[bot] avatar seangray-dev avatar siyamhosan avatar willkirkmanm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fumadocs's Issues

feat: add `pick` and `omit` options to `<AutoTypeTable />`

I love the idea of the auto type table, but sometimes the type can be a bit verbose (perhaps nested objects etc) that i'd like to document in a different way. would be nice to have it a bit more configurable

  • A pick option, that lets you pick what properties of the type should be documented
  • A omit option, that lets you omit certain properties

For example, let's say we have this type:

export interface MyInterface {
  foo: string;
  bar: number;
  __qux: boolean; // maybe this is an internal prop we don't wanna document
}

We could generate a table with only foo and bar like

<AutoTypeTable name="MyInterface" pick=["foo", "bar"] />
// or 
<AutoTypeTable name="MyInterface" omit=["__qux"] />

Perhaps it'd also be nice with an "override" that let's you override what's returned from the compiler, e.g.

type MyRouter = ...;

export interface MyInterface<TEndpoint extends keyof MyRouter> {
  foo: string;
  bar: number;
  qux: TEndpoint;
}

<AutoTypeTable 
  name="MyInterface" 
  overrides={{
    qux: {
      type: "keyof MyRouter", // Compiler gives TEndpoint which might not be very easy to understand what it is
    }
  }}
/>

Overrides could be seen like plugging in the normal TypeTable into the AutoTypeTable

feat: remote OpenAPI spec

Is your feature request related to a problem? Please describe.

I'd like to load an OpenAPI schema from a URL, e.g. https://uploadthing.com/openapi.json

Describe the solution you'd like

Preferably the schema would be parsed on every request (with possibility to cache the page using next.js cache primitives), or that the CLI would fetch the schema and generate it on build

Describe alternatives you've considered

icon page

Is your feature request related to a problem? Please describe.
Adding icons next to the page name. So implemented in mintlife and looks very nice.
here's how it's done in mintlify:
image
here's what it should look like in next docs:
image

Describe the solution you'd like
Just push the svg icon into the side menu.
Here's how it should probably look like:
<a class="nd-flex nd-flex-row nd-items-center nd-gap-2 nd-font-medium nd-px-2 nd-py-1.5 nd-rounded-md [&amp;_svg]:nd-w-4 [&amp;_svg]:nd-h-4 nd-text-primary nd-bg-primary/10" href="/docs/headless"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-github"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"></path><path d="M9 18c-4.51 2-5-2-7-2"></path></svg> Quick Start</a>

Well, the file just has a new value icon='{icon}', I do not know svg or through some libraries

Create card get TypeError: (0 , navigation.useParams) is not a function

I add a card to my content/docs/index.mdx and I get

TypeError: (0 , navigation.useParams) is not a function
--
22:25:52.314 | at SafeLink (/vercel/path0/.next/server/chunks/9983.js:30641:42)
22:25:52.315 | at Be (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:106:273)
22:25:52.315 | at Z (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:112:91)
22:25:52.315 | at Be (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:107:9)
22:25:52.315 | at Z (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:112:91)
22:25:52.315 | at Ce (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:114:98)
22:25:52.315 | at Ee (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:113:424)
22:25:52.315 | at Z (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:112:222)
22:25:52.315 | at Ce (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:114:98)
22:25:52.315 | at Be (/vercel/path0/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:107:215)

how to fix it

[Bug] Next.js 14.1.1 no longer has default export from `next/server`

Describe the bug
Noticed that my builds were being broken when I upgraded Next.js past 14.1.0.

To Reproduce
Steps to reproduce the behavior:
Try to build a fumadocs application with Next.js 14.1.1 or reater.

Expected behavior
A successful build! ๐Ÿ˜„

Additional context
Loving fumadocs thus far. I was bumping my dependencies to get to 10.0.0 and it looks like bumping Next.js along with it dropped an import that Fumadocs search was using.

I've opened a PR that I believe fixes this issue at #279.

Fix memory limit reached when releasing packages via Github Actions

Currently, when we release packages via Github Actions, an error will be thrown:

Error [ERR_WORKER_OUT_OF_MEMORY]: Worker terminated due to reaching memory limit: JS heap out of memory

This only happens when releasing packages, in other words, all packages are built without problems. Now next-docs-zeta must be released locally with pnpm release, and Github releases can no longer be automatically generated.

I hope this can be fixed in next week.

feat: extend codeblock height of shiki blocks

Is your feature request related to a problem? Please describe.

Looking at your example here: https://fumadocs.vercel.app/docs/ui/twoslash#example
CleanShot 2024-01-31 at 15 13 13

I don't think that a that small codeblock with scrolling behavior is the best user experience. Would be nice if the height was expanded to fit the shiki block:

CleanShot 2024-01-31 at 15 16 48

Describe the solution you'd like

An option for this to be the default without having to hack into the CSS in userland

Describe alternatives you've considered

I'm guessing I could do this in userland by overriding some classses but that feels hacky

UI Improvement

What problem will this feature address?

I'm considering switching from Nextra to Fumadocs, but there's still room for UI improvement in Fumadocs.

Here are some specific suggestions:

  1. Add Proper Margins in Sidebar Lines:

Fumadocs sidebar lines lack proper top and bottom margins.
In Nextra's sidebar, for reference, there's clear spacing between lines.
image

As an example, in Fumadocs, the line touches "Components" directly.
image

Similarly, a bottom margin should be added so the line sits slightly higher.

  1. Sidebar Link Alignment:

Nextra displays sidebar links inline.
image

In Fumadocs, they appear non-inline.
Ideally, Fumadocs links should also be displayed inline for consistency.
image

By implementing these changes, Fumadocs can achieve a more visually appealing and user-friendly interface.

Describe the solution you'd like

Given above already

Describe alternatives you've considered

Given above already

Additional context

No response

Changing SearchToggle position

Hi, I'm thinking of using this project for the new Code Hike website.

I was wondering if it will be possible to move the SearchToggle from the navbar to other places. I like how tailwindcss does it.

SearchToggle in page body:
image

SearchToggle in the sidebar:
image

[UI]: Nav component missing transparent prop

Hey there.

Loving these libraries, been a blast to use so far.

I'm importing the Nav component from next-docs-ui/components and want to apply the transparent prop, but it doesn't exist and isn't available to me. I see it's used in your examples and the docs also.

Property 'transparent' does not exist on type 'IntrinsicAttributes & NavProps'.
"next-docs-ui": "^2.0.3",
"next-docs-zeta": "^2.0.3",

Thank you!

Custom heading id works not as excepted

To Reproduce

Add two custom ids in one .mdx file

For example:

### Custom Ids [#custom-heading-id]

You can customise the heading id with `[#slug]`.


### Custom Ids [#custom-heading-id1]

You can customise the heading id with `[#slug]`.

Open this

Current vs. Expected behavior

If in one .mdx file you was have more that one custom id, this feature will be work only for first one.

image

Provide environment information

Which area(s) are affected? (Select all that apply)

Core

Additional context

No response

[bug] having issues hiding table of contents (`toc`)

Describe the bug
im trying to hide the toc with toc: false according to the docs, but im unable to get this to work

here are the versions im on

"fumadocs-core": "9.1.0",
"fumadocs-mdx": "8.1.0",
"fumadocs-openapi": "^1.1.0",
"fumadocs-ui": "9.1.0"

Expected behavior

  1. Create an .mdx file inside content/docs
  2. add toc: false
---
title: API
description: Welcome to the API reference overview page.
toc: false
---
  1. Expect right sidebar - table of contents - to be hidden.

Desktop (please complete the following information):

  • OS: [e.g. macOS Sonoma
  • Browser [e.g. brave]
  • Version [e.g. 1.62.162]

React 19 compatibility

What problem will this feature address?

Tried upgrading to React 19 and got:
CleanShot 2024-05-29 at 07 28 40

Describe the solution you'd like

React 19. ๐Ÿ˜„

Describe alternatives you've considered

I'm working on seeing if I can I patch it locally and upstream the changes. Trying to socialize the work here in case someone gets it sorted before I do (highly likely).

Additional context

This will be a blocker for anyone trying to use Next.js 15, since it requires React 19.

className did not match

To Reproduce

This can be reproduced by cloning https://github.com/fuma-nama/next-docs-ui-template and running it. I'm also seeing this same warning when setting up Fuma on my own project and loading my docs.

The Fuma Template

Screenshot 2024-05-15 at 10 38 16 AM

My Own Project

Screenshot 2024-05-15 at 10 39 57 AM

seems like it's coming from an icon? I don't use lucide-search anywhere in my project.

Current vs. Expected behavior

I wouldn't expect warnings

Provide environment information

Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 22.3.0: Mon Jan 30 20:39:35 PST 2023; root:xnu-8792.81.3~2/RELEASE_ARM64_T8103
Binaries:
  Node: 18.17.0
  npm: 10.5.0
  Yarn: 1.22.19
  pnpm: 8.6.2
Relevant Packages:
  next: 14.0.4
  eslint-config-next: N/A
  react: 18.2.0
  react-dom: 18.2.0
  typescript: 5.3.3
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)

UI, MDX

Additional context

No response

Type error: 'DocsPage' cannot be used as a JSX component.

<html>
<body>
<!--StartFragment-->
./app/docs/[[...slug]]/page.tsx:20:6
--
21:06:44.716 | Type error: 'DocsPage' cannot be used as a JSX component.
21:06:44.716 | Its type '({ tableOfContent, breadcrumb, footer, ...props }: DocsPageProps) => Element' is not a valid JSX element type.
21:06:44.717 | Type '({ tableOfContent, breadcrumb, footer, ...props }: DocsPageProps) => Element' is not assignable to type '(props: any, deprecatedLegacyContext?: any) => ReactNode'.
21:06:44.717 | Type 'Element' is not assignable to type 'ReactNode'.
21:06:44.717 | ย 
21:06:44.717 | 18 \|
21:06:44.717 | 19 \|   return (
21:06:44.717 | > 20 \|     <DocsPage toc={page.data.exports.toc}>
21:06:44.718 | \|      ^
21:06:44.718 | 21 \|       <DocsBody>
21:06:44.718 | 22 \|         <h1>{page.data.title}</h1>
21:06:44.718 | 23 \|         <MDX />
21:06:44.824 | error Command failed with exit code 1.

<!--EndFragment-->
</body>
</html>

Hello! I get that error when I try to deploy the documentation app to Vercel. yarn dev works just fine, but when I try to use yarn build and even when I try to deploy it, the error above occurs.

Here is my package.json file:

{
  "name": "kyro-docs",
  "version": "0.0.0",
  "private": true,
  "type": "module",
  "scripts": {
    "build": "next build",
    "dev": "next dev",
    "start": "next start"
  },
  "dependencies": {
    "fumadocs-core": "10.0.0",
    "fumadocs-mdx": "^8.1.1",
    "fumadocs-ui": "10.0.0",
    "mdx": "^0.3.1",
    "next": "14.0.4",
    "react": "18.2.0",
    "react-dom": "18.2.0"
  },
  "devDependencies": {
    "@types/mdx": "2.0.10",
    "@types/node": "20.11.24",
    "@types/react": "18.2.0",
    "@types/react-dom": "18.2.1",
    "typescript": "5.3.3"
  }
}

[Feature Request] Add an external link to sidebar

Discussed in #261

Originally posted by anthonyshew February 20, 2024
Currently rewriting the Turborepo documentation using Fumadocs and it's incredible.

I have a small feature request for being able to add an external link to the sidebar similar to the Nextra API.

It's also possible that I could build this functionality using the primitives in fumadocs but couldn't figure it out. Is there a simple, idiomatic way that I haven't yet discovered?

Thank you again for the great work!

@fuma-nama replied there but asked that I open an Issue for my feature request. Responding here:

I prefer adding a sidebar footer or nav link instead tho

We're sensitive to the exact placement of these links given the information architecture we're trying to create. Adding these links in a sidebar footer is closer to what we need. However, that pushes these links to the bottom of the sidebar when we need them in between other items within the sidebar.

However, if you can manipulate the page tree directly, you can insert a Item node.

I thought about doing this but wanted to make sure there wasn't a more first-party way of adding an external link before I went for it. Additionally, reading the documentation, I couldn't quite figure out the best way go about it.

[BUG] Hovering sidebar with overflow scrolls page body instead of sidebar

Describe the bug
While hovering the "On this page" sidebar, scrolling with a scroll wheel or touchpad will scroll the page rather than the sidebar.

I discovered this behavior only after making a quite lengthy page with many headers such that the list of headings links was longer than my screen. I went over to the table of contents hoping to scroll to the last heading link to jump to the bottom of the page (the last heading) quickly.

To Reproduce
Steps to reproduce the behavior:

  1. Visit https://fumadocs.vercel.app/docs/ui#root-layout.
  2. Shrink your browser window to <500px.
  3. Hover the sidebar and try to scroll it.
  4. The page body will scroll rather than the sidebar.

Expected behavior
I was hoping that the sidebar would scroll given the hovering focus.

Desktop (please complete the following information):

  • OS: macOS
  • Browser: Arc
  • Version: 122.0.6261.94

Additional details

I'm happy to see if I can make a PR for this if needed!

Module not found: Can't resolve 'next-mdx-import-source-file'

To Reproduce

go to /docs

also u can check my repo https://github.com/cahyawibawa/ui-topia

Current vs. Expected behavior

I have followed all the steps available including the structure folder but I got an error why the docs [[...slug]] folder cannot retrieve content from content/docs index.mdx
trouble

Provide environment information

OS:
  win 11
Binaries:
  Node: 18.17.0
  pnpm: 8.8.0
Relevant Packages:
  next: 14.2.3 // Latest available version is detected (14.2.3).
    "next": "14.1.0",
    "react": "^18",
    "fumadocs-core": "^11.0.5",
    "fumadocs-mdx": "^8.2.14",
    "fumadocs-ui": "^11.0.5",
    "typescript": "^5"

Which area(s) are affected? (Select all that apply)

Not sure

Additional context

No response

create-next-docs-app: Occasional harmless "Module not found: Can't resolve 'supports-color'" errors

With the bare template provided by create-next-docs-app, when running next dev this error is occasionally thrown

Module not found: Can't resolve 'supports-color' in '/Users/joulev/dev/www/test/node_modules/.pnpm/[email protected]/node_modules/debug/src'

Import trace for requested module:
./node_modules/.pnpm/[email protected]/node_modules/debug/src/node.js
./node_modules/.pnpm/[email protected]/node_modules/debug/src/index.js
./node_modules/.pnpm/[email protected]/node_modules/micromark/dev/lib/create-tokenizer.js
./node_modules/.pnpm/[email protected]/node_modules/micromark/dev/lib/parse.js
./node_modules/.pnpm/[email protected]/node_modules/mdast-util-from-markdown/dev/lib/index.js
./node_modules/.pnpm/[email protected]/node_modules/mdast-util-from-markdown/dev/index.js
./node_modules/.pnpm/[email protected]/node_modules/remark-parse/lib/index.js
./node_modules/.pnpm/[email protected]/node_modules/remark-parse/index.js
./node_modules/.pnpm/[email protected]/node_modules/remark/index.js
./node_modules/.pnpm/[email protected]_@[email protected][email protected][email protected][email protected][email protected]/node_modules/next-docs-zeta/dist/server/index.mjs
./app/docs/[[...slug]]/page.tsx

It's harmless though everything still works.

There is no animation if you insert an accordions into an accordions

To Reproduce

  1. Paste this code in some .mdx file
import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
<Accordions>
    <Accordion title={"some accordion"}>
        <Accordions>
            <Accordion title={"some accordion in accordion"}>
                some text
            </Accordion>
        </Accordions>
    </Accordion>
</Accordions>
  1. Open Accordion with title "some accordion in accordion"

Current vs. Expected behavior

If you open Accordion which located in Accordions and this Accordions located in outer Accordions, arrow animation will be linked with root Accordions animation instead of have self

Provide environment information

Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 10 Pro
  Available memory (MB): 16256
  Available CPU cores: 8
Binaries:
  Node: 21.6.1
  npm: N/A
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  next: 14.2.3 // Latest available version is detected (14.2.3).
  eslint-config-next: N/A
  react: 18.3.1
  react-dom: 18.3.1
  typescript: 5.4.5
Next.js Config:
  output: standalone

Which area(s) are affected? (Select all that apply)

UI

Additional context

image
See this, if i open root accordions, attached accordions will be opened with an arrow pointing down

feat: collision support for twoslash blocks

Is your feature request related to a problem? Please describe.

Would be nice for shiki to have some form of collision avoiding on the shiki blocks. For example, this isn't the best since it covers most of the row underneath it:

CleanShot 2024-01-31 at 15 07 13

Describe the solution you'd like

The docusaurus twoslash plugin does this fairly well:

CleanShot 2024-01-31 at 15 09 51

Link: https://trpc.io/docs/quickstart#2-querying--mutating
Source: https://github.com/trpc/trpc/blob/next/www/docs/main/quickstart.mdx#L473-L477

Describe alternatives you've considered

Rewrite the docs

What problem will this feature address?

Few years ago, I built fumadocs.
At the time, I wasn't experienced in authoring docs, especially in making tutorial content. This makes the docs of fumadocs became messy and unfriendy for beginners.
I think we really need a rewrite of docs.

Describe the solution you'd like

Make all shared pages (e.g. page conventions) to be accessible from all sidebars, and rewrite most of the content.

Describe alternatives you've considered

N/A

Additional context

No response

add `bun install` to package-install

would be great to have a bun command get generated along with the other package-install options:

```package-install
remark-math rehype-katex katex
```
<Tabs items={['npm', 'pnpm', 'yarn', 'bun']}>
  <Tab value="npm">...</Tab>
  <Tab value="pnpm">...</Tab>
  <Tab value="yarn">...</Tab>
  <Tab value="bun">...</Tab>
<Tabs>

Feedback system for documentation

What problem will this feature address?

The main reason we want to build our own documentation project is to provide accurate and latest information to the users. But since we are humans, we might make mistakes such as typo or wrong information and we might miss the mistakes.

Describe the solution you'd like

I wish there is a feature for feedback system on right side of the documentation for every page.

Describe alternatives you've considered

Maybe create another api for feedback or simply form submission external links as a feedback system?

Additional context

Thanks for building this project. This is by far the best documentation project that is compatible with Next JS app router. I hope this project will be continued and improved more.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/lint.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • pnpm/action-setup v4.0.0@fe02b34f77f8bc703788d5817da081398fad5dd2
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
.github/workflows/release.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • pnpm/action-setup v4.0.0@fe02b34f77f8bc703788d5817da081398fad5dd2
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
  • changesets/action v1
.github/workflows/test.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • pnpm/action-setup v4.0.0@fe02b34f77f8bc703788d5817da081398fad5dd2
  • actions/setup-node v4@60edb5dd545a775178f52524783378180af0d1f8
npm
apps/docs/package.json
  • @next/env ^14.2.3
  • @radix-ui/react-popover ^1.0.7
  • @radix-ui/react-tooltip ^1.0.7
  • algoliasearch ^4.23.3
  • class-variance-authority ^0.7.0
  • geist ^1.3.0
  • katex ^0.16.10
  • next ^14.2.3
  • phenomenon ^1.6.0
  • react ^18.3.1
  • react-dom ^18.3.1
  • rehype-katex ^7.0.0
  • remark-math ^6.0.0
  • shiki ^1.6.1
  • tailwind-merge ^2.3.0
  • zod ^3.23.8
  • @next/bundle-analyzer ^14.2.3
  • @next/eslint-plugin-next ^14.2.3
  • @types/mdx ^2.0.13
  • autoprefixer ^10.4.19
  • glslify ^7.1.1
  • glslx ^0.3.0
  • postcss ^8.4.38
  • tailwindcss ^3.4.3
  • tailwindcss-animate ^1.0.7
  • tsx ^4.11.0
  • webpack ^5.90.3
package.json
  • @changesets/cli ^2.27.3
  • @typescript-eslint/eslint-plugin ^7.11.0
  • @typescript-eslint/parser ^7.11.0
  • @vercel/style-guide ^6.0.0
  • concurrently ^8.2.2
  • eslint ^8.57.0
  • eslint-plugin-tailwindcss ^3.17.0
  • prettier ^3.2.5
  • rimraf ^5.0.7
  • tsup 8.1.0
  • turbo 1.13.4
  • vitest ^1.6.0
  • @opentelemetry/api ^1.4.1
  • remark-rehype ^11.0.0
  • @types/mdast ^4.0.3
  • remark-parse ^11.0.0
  • unified ^11.0.4
  • mdx-bundler ^10.0.1
packages/contentlayer/package.json
  • rehype-img-size ^1.0.1
  • contentlayer ^0.3.4
  • unified ^11.0.4
packages/core/package.json
  • @formatjs/intl-localematcher ^0.5.4
  • @shikijs/rehype ^1.6.1
  • @shikijs/transformers ^1.6.1
  • github-slugger ^2.0.0
  • hast-util-to-estree ^3.1.0
  • negotiator ^0.6.3
  • npm-to-yarn ^2.2.1
  • react-remove-scroll ^2.5.10
  • remark ^15.0.0
  • remark-gfm ^4.0.0
  • remark-mdx ^3.0.1
  • scroll-into-view-if-needed ^3.1.0
  • shiki ^1.6.1
  • swr ^2.2.5
  • unist-util-visit ^5.0.0
  • @algolia/client-search ^4.23.3
  • @mdx-js/mdx ^3.0.1
  • @types/estree-jsx ^1.0.5
  • @types/flexsearch 0.7.6
  • @types/hast ^3.0.4
  • @types/mdast ^4.0.3
  • @types/negotiator ^0.6.3
  • algoliasearch ^4.23.3
  • next ^14.2.3
  • unified ^11.0.4
  • next >= 14.1.0
  • react >= 18
  • react-dom >= 18
packages/create-app-versions/package.json
  • @types/mdx ^2.0.13
  • autoprefixer ^10.4.19
  • contentlayer ^0.3.4
  • fumadocs-contentlayer ^1.1.29
  • fumadocs-core ^11.3.2
  • fumadocs-mdx ^8.2.27
  • fumadocs-ui ^11.3.2
  • next ^14.2.3
  • next-contentlayer ^0.3.4
  • postcss ^8.4.38
  • react ^18.3.1
  • react-dom ^18.3.1
  • tailwindcss ^3.4.3
  • unified ^11.0.4
  • mdx-bundler ^10.0.1
packages/create-app/package.json
  • @clack/prompts ^0.7.0
  • cross-spawn ^7.0.3
  • picocolors ^1.0.1
  • @types/cross-spawn ^6.0.6
  • fast-glob ^3.3.1
  • node >=18.17.0
packages/doc-gen/package.json
  • estree-util-value-to-estree ^3.1.1
  • hast-util-to-estree ^3.1.0
  • npm-to-yarn ^2.2.1
  • unist-util-visit ^5.0.0
  • @mdx-js/mdx ^3.0.1
  • @types/estree ^1.0.5
  • @types/hast ^3.0.4
  • @types/mdast ^4.0.3
  • remark ^15.0.0
  • unified ^11.0.4
packages/eslint-config-custom/package.json
packages/mdx/package.json
  • @mdx-js/mdx ^3.0.1
  • cross-spawn ^7.0.3
  • estree-util-value-to-estree ^3.1.1
  • fast-glob ^3.3.1
  • gray-matter ^4.0.3
  • zod ^3.23.8
  • @types/cross-spawn ^6.0.6
  • @types/mdast ^4.0.3
  • @types/mdx ^2.0.13
  • next ^14.2.3
  • unified ^11.0.4
  • webpack ^5.90.3
  • next >= 14.1.0
packages/openapi/package.json
  • @apidevtools/json-schema-ref-parser ^11.6.2
  • fast-glob ^3.3.1
  • json-schema-to-typescript ^14.0.4
  • openapi-sampler ^1.5.1
  • @types/openapi-sampler ^1.0.3
  • openapi-types ^12.1.3
packages/tsconfig/package.json
packages/twoslash/package.json
  • @shikijs/twoslash 1.6.2
  • mdast-util-from-markdown ^2.0.1
  • mdast-util-gfm ^3.0.0
  • mdast-util-to-hast ^13.1.0
  • shiki 1.6.2
  • @types/hast ^3.0.4
  • @types/mdast ^4.0.3
packages/typescript/package.json
  • fast-glob ^3.3.1
  • hast-util-to-jsx-runtime ^2.3.0
  • mdast-util-from-markdown ^2.0.1
  • mdast-util-gfm ^3.0.0
  • mdast-util-to-hast ^13.1.0
  • @types/estree ^1.0.5
  • @types/hast ^3.0.4
  • @types/mdast ^4.0.3
packages/ui/package.json
  • @radix-ui/react-accordion ^1.1.2
  • @radix-ui/react-collapsible ^1.0.3
  • @radix-ui/react-dialog ^1.0.5
  • @radix-ui/react-direction ^1.0.1
  • @radix-ui/react-popover ^1.0.7
  • @radix-ui/react-scroll-area ^1.0.5
  • @radix-ui/react-select ^2.0.0
  • @radix-ui/react-tabs ^1.0.4
  • @tailwindcss/typography ^0.5.13
  • class-variance-authority ^0.7.0
  • cmdk ^1.0.0
  • next-themes ^0.3.0
  • react-medium-image-zoom ^5.2.4
  • tailwind-merge ^2.3.0
  • @algolia/client-search ^4.23.3
  • @next/eslint-plugin-next ^14.2.3
  • algoliasearch ^4.23.3
  • next ^14.2.3
  • postcss ^8.4.38
  • postcss-cli ^11.0.0
  • postcss-lightningcss ^1.0.0
  • tailwindcss ^3.4.3
  • next >= 14.1.0
  • react >= 18
  • react-dom >= 18

  • Check this box to trigger a request for Renovate to run again on this repository

Disable TailwindCSS preflight

First of all, this is a great project, I've been watch it's growth for a while, I really love the evolution, nice job ๐Ÿ‘

I'm considering moving a Design System website from Nextra to fumadocs, and because you both are using TailwindCSS as styling solution, so we are facing the same problem I initially raised here, it's a big problem for us

Describe the solution you'd like

At least we can disable preflight and fix the styles where needed so it doesn't pollute the user space, I guess it should just a normal reset and patch styles for buttons

Ideally I'd love to see classNames been compiled, then you don't need to prefix the classNames as Nextra does, I wanted to build my own documentation long ago, until I see this project, I love the design a lot, if we can address my concern, then it's just my dream comes true

If it was me, probably I would just choose CSS Modules, so style is isolated by nature, but as now it's started with TailwindCSS, an easier path is using UnoCSS and it's compile class feature, so basically the change will be prefixing classNames with :uno: or :fuma:, then that's it

Modify the shiki highlighter

What problem will this feature address?

I have a DLS that is not built into shiki and I would like to add it. I could create my own highlighter replace the existing code block but I'd like to be able to hook into it and modify it instead.

https://shiki.style/guide/load-lang

Is seems you can call highlighter.loadLang to do this.

Describe the solution you'd like

Some way to get a hold of the shiki highlighter (perhaps in next.config.js?)

Describe alternatives you've considered

Create my own code block and do the syntax highlighting myself.

Additional context

No response

[Feature Request] Only open specific sidebar sections by default

Discussed in #262

Originally posted by anthonyshew February 20, 2024
Another feature request!

I'd like to be able to have only certain sections of the sidebar open by default, as shown in this screenshot.

CleanShot 2024-02-20 at 23 13 00

I'm using defaultOpenLevel: 0 to keep everything closed at the start - but would love to have the first two sections open when users first visit the docs.

Is this possible?

Sorry again for opening Discussions!

Create Next Docs App failed with Contentlayer

nothing was fixed, everything worked for me through pnpx. Only this works in rpm:
(where the check mark works)

  • Default (Contentlayer)
  • Advanced (Contentlayer)
  • Default (Next Docs MDX)

Error when Default:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/next
npm ERR!   next@"14.0.1" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer next@"^12 || ^13" from [email protected]
npm ERR! node_modules/next-contentlayer
npm ERR!   next-contentlayer@"0.3.4" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! 
npm ERR! For a full report see:
npm ERR! /home/codespace/.npm/_logs/2023-11-02T10_16_18_972Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /home/codespace/.npm/_logs/2023-11-02T10_16_18_972Z-debug-0.log
Install failed

Advanced:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: gdfg\@0.0.0
npm ERR! Found: [email protected]
npm ERR! node_modules/next
npm ERR!   next@"14.0.1" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer next@"^12 || ^13" from [email protected]
npm ERR! node_modules/next-contentlayer
npm ERR!   next-contentlayer@"0.3.4" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! 
npm ERR! For a full report see:
npm ERR! /home/codespace/.npm/_logs/2023-11-02T10_17_58_568Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /home/codespace/.npm/_logs/2023-11-02T10_17_58_568Z-debug-0.log
Install failed

Again, I will say that I tested on github codespaces and I think that there are updated versions and working.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.