1 Star 1 Fork 0

小弟调调 / markdown-to-html-cli

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

markdown-to-html-cli

Downloads npm version Build and Test Coverage Status English Document

将 Markdown 文本转换为 HTML,提供命令行工具和方法。如果您是简单的将少量 markdown 文件(或文本)转换成 HTML 页面,这将对你很有帮助。

Usage

在 Github Actions 中使用。

- run: npm i markdown-to-html-cli -g
- run: markdown-to-html --output coverage/index.html

使用命令

{
  "scripts": {
    "start": "markdown-to-html --output coverage/index.html"
  },
  "devDependencies": {
    "markdown-to-html-cli": "latest"
  }
}

Nodejs 中使用。

import { create } from 'markdown-to-html-cli';

const html = create({
  markdown: 'Hello World! **Bold**\n# Title',
  document: {
    style: ['body { background: red; }'],
  }
});
// => HTML String

安装

$ npm i markdown-to-html-cli

在 package.json 中配置

可以通过 --config="config/conf.json" 指定配置,默认可以在 package.json

{
  "markdown-to-html": {
    "document": {
      "title": "markdown-to-html-cli",
      "description": "Command line tool generates markdown as html.",
      "style": "body { color: red; }",
      "meta": [
        { "description": "Command line tool generates markdown as html." },
        { "keywords": "store,localStorage,lightweight,JavaScript" }
      ]
    },
    "favicon": "data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🌐</text></svg>",
    "github-corners": "https://github.com/jaywcjlove/markdown-to-html-cli",
    "reurls": {
      "README-zh.md": "index.zh.html",
      "README.md": "index.html"
    }
  }
}
  • name -> 'markdown-to-html'.title - 定义 <title> 文档标题内容!
  • description -> 'markdown-to-html'.description - 定义您的网页的描述。
  • repository.url -> 'markdown-to-html'.github-corners - 在你的项目页面添加一个 Github Corners。
  • keywords -> 'markdown-to-html'.document.meta - 定义搜索引擎的关键字。

命令帮助

Usage: markdown-to-html [options] [--help|h]

Options:

  --author          Define the author of a page.
  --config, -o      Specify the configuration file. Default: "<process.cwd()>/package.json".
  --description     Define a description of your web page.
  --favicon         Add a Favicon to your Site.
  --github-corners  Add a Github corner to your project page.
  --github-corners-fork  Github corners style.
  --keywords        Define keywords for search engines.
  --markdown        Markdown string.
  --output, -o      Output static pages to the specified directory. Default: "index.html"
  --source, -s      The path of the target file "README.md". Default: "README.md"
  --title           The `<title>` tag is required in HTML documents!
  --version, -v     Show version number
  --help, -h        Displays help information.

Example:

  npm markdown-to-html-cli
  npm markdown-to-html     --title="Hello World!"
  npm markdown-to-html     --config="config/conf.json"
  npm markdown-to-html-cli --markdown="Hello World!"
  npm markdown-to-html-cli --github-corners https://github.com/jaywcjlove/markdown-to-html-cli
  npm markdown-to-html-cli --github-corners https://github.com/jaywcjlove --github-corners-fork
  npm markdown-to-html-cli --output coverage/index.html
  npm markdown-to-html-cli --source README.md

Markdown Features

支持 CSS 样式定义

使用 HTML 注释 <!--rehype:xxx--> 让 Markdown 支持样式自定义。

## Title
<!--rehype:style=display: flex; height: 230px; align-items: center; justify-content: center; font-size: 38px;-->

Markdown Supports **Style**<!--rehype:style=color: red;-->

支持 GFM 注脚

Here is a simple footnote[^1]. With some additional text after it.

[^1]: My reference.

任务清单

要创建任务列表,请在列表项前添加一个常规空格字符,后跟 [ ]。要将任务标记为完成,请使用 [x]

- [x] #739
- [ ] https://github.com/octo-org/octo-repo/issues/740
- [ ] Add delight to the experience when all tasks are complete :tada:

If a task list item description begins with a parenthesis, you'll need to escape it with \:

- [ ] \(Optional) Open a followup issue

API

import { ParsedArgs } from 'minimist';
import { Options } from 'rehype-document';
export interface CreateOptions extends MDToHTMLOptions { }
export declare function create(options?: CreateOptions): string;
export interface RunArgvs extends Omit<ParsedArgs, '_'> {
  version?: string;
  source?: string;
  output?: string;
  /** Add a Github corner to your project page. */
  'github-corners'?: string;
  /** Github corners style. */
  'github-corners-fork'?: boolean;
  /** Markdown string. */
  markdown?: string;
  /** The `<title>` tag is required in HTML documents! */
  title?: string;
  /** Specify the configuration file. Default: `<process.cwd()>/package.json` */
  config?: string;
  /** Define a description of your web page */
  description?: string;
  /** Define keywords for search engines */
  keywords?: string;
  /** Add a Favicon to your Site */
  favicon?: string;
  /** Define the author of a page */
  author?: string;
}
export interface MDToHTMLOptions extends RunArgvs {
  /** [rehype-document](https://github.com/rehypejs/rehype-document#options) options */
  document?: Options;
  /** Rewrite Element. [rehype-rewrite](https://github.com/jaywcjlove/rehype-rewrite#rewritenode-index-parent-void) */
  rewrite?: RehypeRewriteOptions['rewrite'];
  /** rewrite URLs of href and src attributes. */
  reurls?: Record<string, string>;
  /**
   * rehype-wrap Options
   * Wrap selected elements with a given element
   * https://github.com/mrzmmr/rehype-wrap/tree/2402bcdb8ea25bd0948cda72e96d16e65a18c1e9#options
   */
  wrap?: {
    selector?: string;
    wrapper?: string;
  };
}
export declare function run(opts?: Omit<RunArgvs, "_">): any;
export declare const cliHelp: string;
export declare const exampleHelp: string;

Development

$ npm i
$ npm run build
$ npm run watch

License

MIT © Kenny Wong

MIT License Copyright (c) 2021 小弟调调™ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

将 Markdown 文本转换为 HTML,提供命令行工具和方法。 展开 收起
NodeJS 等 3 种语言
MIT
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
NodeJS
1
https://gitee.com/jaywcjlove/markdown-to-html-cli.git
git@gitee.com:jaywcjlove/markdown-to-html-cli.git
jaywcjlove
markdown-to-html-cli
markdown-to-html-cli
main

搜索帮助