BuouNext
  • Features
  • DocumentsNew
  • BrutalUINew
  • ShowcaseHot
  • Pricing
  • Blog

    Getting Started

    Introduction

    BuouNext Instruction

    InstallationRun BuouNextProject StructureComponentsAuthenticationEmailAPI CallsDatabasePaymentSEO OptimizationHeadless CMSContact

    AI Instruction

    AI ImageNewAI ChatbotNewAI SearchNewAI NotionNew

    Components

    Super ClockNewFloating DockNewAI Image CompareNewAvatar ListNewClockNewDarkModeNewStepperNewRotation AvatarNewButton with TrailNewDotNewGridNewCounter CardNewMarquee CardNewProfile CardNewBento gridNewBorder Trail CardNewBuouNext FeaturesNewColor CardNewMouse FollowingNewColor GridNewAnimotion In View CardNewLevitate CardNewReorder CardNewGenerate TextNewSmooth Fliping NumberNewSmooth Fliping TextNewSmooth Typing TextNewTyping TextNewWindow Typing TextNewFade In OutNewText DropNewScalingNew
    Docs
    Components

    Components

    Use React components in Markdown using MDX.

    The following components are available out of the box for use in Markdown.

    If you'd like to build and add your own custom components, see the Custom Components section below.

    Built-in Components

    1. Callout

    <Callout type=" default | warning | danger ">
     
    This is a default callout. You can embed **Markdown** inside a `callout`.
     
    </Callout>

    This is a default callout. You can embed Markdown inside a callout.

    This is a warning callout. It uses the props type="warning".

    This is a danger callout. It uses the props type="danger".

    2. Card

    <Card href="#">
     
    #### Heading
     
    You can use **markdown** inside cards.
     
    </Card>

    Heading

    You can use markdown inside cards.

    View

    You can also use HTML to embed cards in a grid.

    <div className="grid grid-cols-2 gap-4">
      <Card href="#">
        #### Card One 
        You can use **markdown** inside cards.
      </Card>
     
      <Card href="#">
        #### Card Two 
        You can also use `inline code` and code blocks.
      </Card>
    </div>

    Card One

    You can use markdown inside cards.

    View

    Card Two

    You can also use inline code and code blocks.

    View

    Custom Components

    You can add your own custom components using the components props from useMDXComponent.

    components/mdx.tsx
    import { Callout } from "@/components/callout"
    import { CustomComponent } from "@/components/custom"
     
    const components = {
      Callout,
      CustomComponent,
    }
     
    export function Mdx({ code }) {
      const Component = useMDXComponent(code)
     
      return (
        <div className="mdx">
          <Component components={components} />
        </div>
      )
    }

    Once you've added your custom component, you can use it in MDX as follows:

    <CustomComponent propName="value" />

    HTML Elements

    You can overwrite HTML elements using the same technique above.

    const components = {
      Callout,
      CustomComponent,
      hr: ({ ...props }) => <hr className="my-4 border-slate-200 md:my-6" />,
    }

    This will overwrite the <hr /> tag or --- in Mardown with the HTML output above.


    Styling

    Tailwind CSS classes can be used inside MDX for styling.

    <p className="text-red-600">This text will be red.</p>

    Make sure you have configured the path to your content in your tailwind.config.js file:

    tailwind.config.js
    /** @type {import('tailwindcss').Config} */
    module.exports = {
      content: [
        "./app/**/*.{ts,tsx}",
        "./components/**/*.{ts,tsx}",
        "./content/**/*.{md,mdx}",
      ],
    }