/rspress-plugin-remote-page

An Rspress plugin to seamlessly load remote markdown file (e.g. README.md) onto your website.

Primary LanguageTypeScriptMIT LicenseMIT

rspress-plugin-remote-page

An Rspress plugin to seamlessly load remote markdown file (e.g. README.md) onto your website.

NPM version NPM downloads Build Status

Table of Contents

Install

npm install rspress-plugin-remote-page -D

Usage

Quickly load a README.md file from GitHub using a shortcut

// rspress.config.ts
import { remotePage } from 'rspress-plugin-remote-page';
import { defineConfig } from 'rspress/config';

export default defineConfig({
  plugins: [remotePage({
    pages: [
      {
        // This input will load README.md of https://github.com/ulivz/rspress-plugin-remote-page
        remotePath: 'ulivz/rspress-plugin-remote-page',
        routePath: '/readme',
      }
    ]
  })],
});

Capable of loading any Markdown file from GitHub

// rspress.config.ts
import { remotePage } from 'rspress-plugin-remote-page';
import { defineConfig } from 'rspress/config';

export default defineConfig({
  plugins: [remotePage({
    pages: [
      {
        remotePath: 'https://github.com/ulivz/rspress-plugin-remote-page/blob/main/README.md',
        routePath: '/readme',
      }
    ]
  })],
});

Supports loading any remote Markdown files

// rspress.config.ts
import { remotePage } from 'rspress-plugin-remote-page';
import { defineConfig } from 'rspress/config';

export default defineConfig({
  plugins: [remotePage({
    pages: [
      {
        remotePath: 'https://path/to/your-markdown.md',
        routePath: '/readme',
      }
    ]
  })],
});

Options

pages

remotePath

  • Type: string
  • Required: true

Specify the remote path, it could be:

  1. Github repository shortcut, e.g. web-infra-dev/deep-dive-into-tla;
  2. Github repository repo path, e.g. https://github.com/web-infra-dev/deep-dive-into-tla;
  3. Github path, e.g. https://github.com/web-infra-dev/deep-dive-into-tla/blob/master/README-zh-CN.md;
  4. Any remote path, e.g. https://path/to/your-markdown.md;

routePath

  • Type: string
  • Default: master

Specify the generated route.

TODOs

  • Support remote *.mdx.
  • Enhance logging output.
  • Enhance error handling when fetching pages.

License

MIT © ULIVZ