1.0.5 • Published 9 months ago

@rasenganjs/mdx v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Rasengan MDX Plugin

npm version NPM Downloads GitHub license

MDX plugin for Rasengan.Js

Installation

You can install the @rasenganjs/mdx package using the following command:

npm install @rasenganjs/mdx

or

yarn add @rasenganjs/mdx

Usage

Here is an example of how you can use the @rasenganjs/mdx package:

Basic Usage

  1. Setup the rasengan.config.js file

Import the mdx plugin into the rasengan.config.js file.

import { defineConfig } from "rasengan";
import mdx from "@rasenganjs/mdx";

export default defineConfig({
  vite: {
    plugins: [mdx()],
  },
});
  1. Create your markdown file.

Create a markdown file inside the app folder with the pattern [name].page.mdx or [name].page.md

---
path: /blog
metadata:
  title: Blog page
  description: Discover our new blog posts
---

import Button from "@/components/Button";

# Blog page

This is a `blog` page.

<Button>Click Me</Button>
  1. Use your markdown file.

Inside the app.router.ts file, import your Markdown Component and the MDXRenderer component from @rasenganjs/mdx and add it to defineRouter option like this:

import { RouterComponent, defineRouter } from "rasengan";
import AppLayout from "@app/app.layout";
import Blog from "@app/blog.page.mdx";
import { MDXRenderer } from "@rasenganjs/mdx";

class AppRouter extends RouterComponent {}

export default defineRouter({
  imports: [],
  layout: AppLayout,
  pages: [Blog],
  MDXRenderer
})(AppRouter);

The MDXRenderer component is used to render the Markdown content.

  1. Load the css file from @rasenganjs/mdx package into your main.ts file.
import "@rasenganjs/mdx/styles/rasengan-mdx.min.css";
import { type AppProps } from "rasengan";
import AppRouter from "@/app/app.router";

export default function App({ children, Component }: AppProps) {
	return <Component router={AppRouter}>{children}</Component>;
}

Now visit http://localhost:5320/blog

Community

The Rasengan.js community can be found on GitHub Discussions where you can ask questions, voice ideas, and share your projects with other people.

We also have a Twitter account where you can follow us to get the latest news about Rasengan.js.

License

MIT licensed.

Authors

Here is the authors list: