November Papa Mike

    md-tools-cli

    1.0.4 • Public • Published

    md-tools

    md-tools用于解析Markdown文件,并生成React(vue)静态站点。

    功能

    md-tools重度参考Bi Sheng,并在此基础剥离React依赖。

    • 引擎体系:提供React渲染引擎
    • 插件体系:antd类文档网站插件,组件类文档网站插件,描述信息插件,目录插件,图片预览插件,React解析插件,代码高清插件
    • 主题体系

    如何使用

    安装依赖:

    npm install -D md-tools

    npm scripts中增加start:

    {
      "scripts": {
        "start": "md-tools start"
      }
    }

    增加配置文件 md-tools.config.js, 默认配置:

    module.exports = {
      source: './posts',
      output: './_site',
      theme: './_theme',
      port: 8000,
    };

    文档

    命令

    $ npm install -g md-tools
    $ md-tools -h
      用法: md-tools [command] [options]
     
      Commands:
     
        start [options]     开发模式:启动服务
        build [options]     生产模式:生产模式:构建输出静态文件
        help [cmd]          显示帮助信息
     
      Options:
     
        -h, --help     显示帮助信息
        -V, --version  显示版本号
        -c,--config    start,build命令设置配置文件路径,默认: md-tools-theme-component-react/md-tool.config.js

    配置文件

    md-tools 默认使用md-tools.config.js作为配置,可以通过 --config修改配置文件路径,如: md-tools --config another.config.js

    md-tools.config.js的配置例子:

    module.exports = {
      port: 8000,
      source: './posts',
      output: './site',
      engine: 'md-tools-engine-react',
      theme: './theme',
      htmlTemplate: path.join(__dirname, '../template.html'),
      devServerConfig: {},
      webpackConfig(config) {
        return config;
      },
     
      entryName: 'index',
      root: '/',
    };

    port: Number

    default: 8000

    开发模式下启动的服务端口号,如果端口被占用,会自动寻找未使用的端口

    source: String | Array[String] | Object{ [category]: String | Array[String]}

    default: './posts'

    需要转换的Markdown文件所在路径.

    Markdown文件内容会转换为插件体系预处理用到的Markdown数据,数据结构见 mark-twain

    exclude: RegExp

    default: null

    需要例外的Markdown文件

    output: String

    default: './site'

    md-tools构建输出的路径.

    engine: String

    default: 'md-tools-engine-react'

    文档系统源码路径(引擎体系),可以是npm依赖包名称

    theme: String

    default: './theme'

    文档系统源码路径(主题体系),可以是npm依赖包名称

    themeConfig: any

    undefined

    主题个性配置, 主题源文件可以从props.themeConfig读取改配置。

    备注: themeConfig传递过程使用了 JSON.stringify,所以无法在这里配置function/RegExp.

    htmlTemplate: String

    default: md-tools/lib/template.html

    文档系统入口html文件模板,如果配置的引擎带有htmlTemplate,则默认值为引擎中的模板.

    Note: 模板引擎 nunjucks, 模板中的参数:

    iframeTemplate: String

    default: md-tools-plugin-antd/lib/template.html

    文档系统入口html文件模板(Markdown文档中配置iframe=[number]时)。

    htmlTemplateExtraData: Object

    default: {}

    htmlTemplate自定义参数.

    devServerConfig: Object

    default: {}

    参见 webpack-dev-server's documentation.

    postcssConfig: Object

    default: {
        plugins: [
          rucksack(),
          autoprefixer({
            browsers: ['last 2 versions', 'Firefox ESR', '> 1%', 'ie >= 9', 'iOS >= 8', 'Android >= 4'],
          }),
        ],
      }

    参见 wenpack postcss-loader's documentation.

    webpackConfig: (config) => config

    default: (config) => config

    自定义webpack配置,参见 this.

    transformers: Object[]

    [{ test: /.md$/, use: MarkdownTransformer}]

    Markdown转换引擎.

    entryName: String

    default: 'index'

    webpack构建入口文件名, 如 [entryName].js & [entryName].css

    root: String

    default: '/'

    发布目录。默认根目录,如果需要发布到二级目录,配置相应目录即可。

    鸣谢

    License

    MIT

    Install

    npm i md-tools-cli

    DownloadsWeekly Downloads

    11

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    67.9 kB

    Total Files

    29

    Last publish

    Collaborators

    • guxingke201
    • mraiguo
    • nicky_nd