markdown-to-html-cli 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README-zh.md CHANGED
@@ -8,7 +8,7 @@ markdown-to-html-cli
8
8
  [![Coverage Status](https://jaywcjlove.github.io/markdown-to-html-cli/badges.svg)](https://jaywcjlove.github.io/markdown-to-html-cli/lcov-report/)
9
9
  [![English Document](https://jaywcjlove.github.io/sb/lang/english.svg)](README.md)
10
10
 
11
- 将 Markdown 文本转换为 HTML,提供命令行工具和方法。
11
+ 将 Markdown 文本转换为 HTML,提供命令行工具和方法。如果您是简单的将少量 markdown 文件(或文本)转换成 HTML 页面,这将对你很有帮助。
12
12
 
13
13
  ## Usage
14
14
 
package/README.md CHANGED
@@ -8,7 +8,7 @@ markdown-to-html-cli
8
8
  [![Coverage Status](https://jaywcjlove.github.io/markdown-to-html-cli/badges.svg)](https://jaywcjlove.github.io/markdown-to-html-cli/lcov-report/)
9
9
  [![中文文档](https://jaywcjlove.github.io/sb/lang/chinese.svg)](README-zh.md)
10
10
 
11
- Converts markdown text to HTML, Provide command line tools and methods.
11
+ Converts markdown text to HTML, Provide command line tools and methods. If you are simply converting a small number of Markdown files (or text) into HTML pages, this is very helpful for you.
12
12
 
13
13
  ## Usage
14
14
 
package/lib/create.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { MDToHTMLOptions } from './';
2
2
  export interface CreateOptions extends MDToHTMLOptions {
3
3
  }
4
- export declare function create(options?: CreateOptions): string;
4
+ export declare function create(options?: MDToHTMLOptions): string;
package/lib/create.js CHANGED
@@ -20,11 +20,16 @@ import remarkGemoji from 'remark-gemoji';
20
20
  import remarkRehype from 'remark-rehype';
21
21
  import remarkParse from 'remark-parse';
22
22
  import { githubCorners } from './nodes/githubCorners.js';
23
+ import { githubCornersFork } from './nodes/githubCornersFork.js';
23
24
  import { octiconLink } from './nodes/octiconLink.js';
24
25
  export function create(options = {}) {
25
26
  // default github css.
26
- const cssStr = fs.readFileSync(path.resolve(/file:\/\/(.+)\/[^/]/.exec(import.meta.url)[1], 'github.css'));
27
27
  const { markdown, document, rewrite, reurls = {}, wrap = { wrapper: 'div.wmde-markdown' } } = options;
28
+ let cssStr = fs.readFileSync(path.resolve(/file:\/\/(.+)\/[^/]/.exec(import.meta.url)[1], 'styles', 'github.css')).toString();
29
+ if (options['github-corners-fork'] && options['github-corners']) {
30
+ let cssFork = fs.readFileSync(path.resolve(/file:\/\/(.+)\/[^/]/.exec(import.meta.url)[1], 'styles', 'github-fork-ribbon.css')).toString();
31
+ cssStr = `${cssStr}${cssFork}`;
32
+ }
28
33
  return unified()
29
34
  .use(remarkParse)
30
35
  .use(remarkGfm)
@@ -50,7 +55,13 @@ export function create(options = {}) {
50
55
  .use(rehypeRewrite, {
51
56
  rewrite: (node, index, parent) => {
52
57
  if (options['github-corners'] && ((document && node.type == 'element' && node.tagName === 'body') || (!document && node.type === 'root'))) {
53
- node.children = [githubCorners({ href: options['github-corners'] }), ...node.children];
58
+ node.children = Array.isArray(node.children) ? node.children : [];
59
+ if (options['github-corners-fork']) {
60
+ node.children.unshift(githubCornersFork({ href: options['github-corners'] }));
61
+ }
62
+ else {
63
+ node.children.unshift(githubCorners({ href: options['github-corners'] }));
64
+ }
54
65
  }
55
66
  if (node.type == 'element' && /h(1|2|3|4|5|6)/.test(node.tagName) && node.children && Array.isArray(node.children) && node.children.length > 0) {
56
67
  const child = node.children[0];
package/lib/create.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -2,12 +2,14 @@ import { ParsedArgs } from 'minimist';
2
2
  import { Options } from 'rehype-document';
3
3
  import { RehypeRewriteOptions } from 'rehype-rewrite';
4
4
  export * from './create';
5
- export interface RunArgvs extends ParsedArgs {
5
+ export interface RunArgvs extends Omit<ParsedArgs, '_'> {
6
6
  version?: string;
7
7
  source?: string;
8
8
  output?: string;
9
- /** Add a Github corner to your project page */
9
+ /** Add a Github corner to your project page. */
10
10
  'github-corners'?: string;
11
+ /** Github corners style. */
12
+ 'github-corners-fork'?: boolean;
11
13
  /** Markdown string. */
12
14
  markdown?: string;
13
15
  /** The `<title>` tag is required in HTML documents! */
@@ -23,8 +25,7 @@ export interface RunArgvs extends ParsedArgs {
23
25
  /** Define the author of a page */
24
26
  author?: string;
25
27
  }
26
- export interface MDToHTMLOptions extends Omit<RunArgvs, '_'> {
27
- 'github-corners'?: RunArgvs['github-corners'];
28
+ export interface MDToHTMLOptions extends RunArgvs {
28
29
  /** [rehype-document](https://github.com/rehypejs/rehype-document#options) options */
29
30
  document?: Options;
30
31
  /** Rewrite Element. [rehype-rewrite](https://github.com/jaywcjlove/rehype-rewrite#rewritenode-index-parent-void) */
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Element } from 'hast';
2
+ interface GithubCorners {
3
+ href?: string;
4
+ }
5
+ export declare function githubCornersFork(opts: GithubCorners): Element;
6
+ export {};
@@ -0,0 +1,20 @@
1
+ export function githubCornersFork(opts) {
2
+ const { href } = opts;
3
+ if (!href) {
4
+ return;
5
+ }
6
+ return {
7
+ type: 'element',
8
+ tagName: 'a',
9
+ properties: {
10
+ 'aria-label': 'Fork me on Github',
11
+ title: 'Fork me on GitHub',
12
+ target: '__blank',
13
+ className: 'github-fork-ribbon',
14
+ 'data-ribbon': 'Fork me on GitHub',
15
+ href,
16
+ },
17
+ children: []
18
+ };
19
+ }
20
+ //# sourceMappingURL=githubCornersFork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"githubCornersFork.js","sourceRoot":"","sources":["../../src/nodes/githubCornersFork.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,iBAAiB,CAAC,IAAmB;IACnD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;KACR;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE;YACV,YAAY,EAAE,mBAAmB;YACjC,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,oBAAoB;YAC/B,aAAa,EAAE,mBAAmB;YAClC,IAAI;SACL;QACD,QAAQ,EAAE,EAAE;KACb,CAAA;AACH,CAAC"}
@@ -0,0 +1,91 @@
1
+ .github-fork-ribbon {
2
+ width: 12.1em;
3
+ height: 12.1em;
4
+ position: absolute;
5
+ overflow: hidden;
6
+ top: 0;
7
+ right: 0;
8
+ z-index: 9999;
9
+ pointer-events: none;
10
+ font-size: 13px;
11
+ text-decoration: none;
12
+ text-indent: -999999px;
13
+ }
14
+
15
+ .github-fork-ribbon.fixed {
16
+ position: fixed;
17
+ }
18
+
19
+ .github-fork-ribbon:hover, .github-fork-ribbon:active {
20
+ background-color: rgba(0, 0, 0, 0.0);
21
+ }
22
+
23
+ .github-fork-ribbon:before, .github-fork-ribbon:after {
24
+ /* The right and left classes determine the side we attach our banner to */
25
+ position: absolute;
26
+ display: block;
27
+ width: 15.38em;
28
+ height: 1.54em;
29
+
30
+ top: 3.23em;
31
+ right: -3.23em;
32
+
33
+ -webkit-box-sizing: content-box;
34
+ -moz-box-sizing: content-box;
35
+ box-sizing: content-box;
36
+
37
+ -webkit-transform: rotate(45deg);
38
+ -moz-transform: rotate(45deg);
39
+ -ms-transform: rotate(45deg);
40
+ -o-transform: rotate(45deg);
41
+ transform: rotate(45deg);
42
+ }
43
+
44
+ .github-fork-ribbon:before {
45
+ content: "";
46
+
47
+ /* Add a bit of padding to give some substance outside the "stitching" */
48
+ padding: .38em 0;
49
+
50
+ /* Set the base colour */
51
+ background-color: #a00;
52
+
53
+ /* Set a gradient: transparent black at the top to almost-transparent black at the bottom */
54
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.15)));
55
+ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
56
+ background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
57
+ background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
58
+ background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
59
+ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
60
+
61
+ /* Add a drop shadow */
62
+ -webkit-box-shadow: 0 .15em .23em 0 rgba(0, 0, 0, 0.5);
63
+ -moz-box-shadow: 0 .15em .23em 0 rgba(0, 0, 0, 0.5);
64
+ box-shadow: 0 .15em .23em 0 rgba(0, 0, 0, 0.5);
65
+
66
+ pointer-events: auto;
67
+ }
68
+
69
+ .github-fork-ribbon:after {
70
+ /* Set the text from the data-ribbon attribute */
71
+ content: attr(data-ribbon);
72
+
73
+ /* Set the text properties */
74
+ color: #fff;
75
+ font: 700 1em "Helvetica Neue", Helvetica, Arial, sans-serif;
76
+ line-height: 1.54em;
77
+ text-decoration: none;
78
+ text-shadow: 0 -.08em rgba(0, 0, 0, 0.5);
79
+ text-align: center;
80
+ text-indent: 0;
81
+
82
+ /* Set the layout properties */
83
+ padding: .15em 0;
84
+ margin: .15em 0;
85
+
86
+ /* Add "stitching" effect */
87
+ border-width: .08em 0;
88
+ border-style: dotted;
89
+ border-color: #fff;
90
+ border-color: rgba(255, 255, 255, 0.7);
91
+ }
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "markdown-to-html-cli",
3
- "version": "2.1.2",
3
+ "version": "2.2.0",
4
4
  "license": "MIT",
5
5
  "description": "Command line tool generates markdown as html.",
6
6
  "homepage": "https://jaywcjlove.github.io/markdown-to-html-cli/",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "type": "module",
13
13
  "scripts": {
14
- "start": "node lib/cli.js",
14
+ "start": "node lib/cli.js --github-corners-fork --github-corners 'https://www.baidu.com'",
15
15
  "watch": "tsbb watch --disable-babel -f src/cli.ts",
16
16
  "build": "tsbb build --disable-babel -f src/cli.ts && npm run fix",
17
17
  "fix": "tsc-esm-fix --target='lib' --ext='.js'",
package/src/create.ts CHANGED
@@ -20,15 +20,20 @@ import remarkGemoji from 'remark-gemoji';
20
20
  import remarkRehype from 'remark-rehype';
21
21
  import remarkParse from 'remark-parse';
22
22
  import { githubCorners } from './nodes/githubCorners';
23
+ import { githubCornersFork } from './nodes/githubCornersFork';
23
24
  import { octiconLink } from './nodes/octiconLink';
24
25
  import { MDToHTMLOptions } from './';
25
26
 
26
27
  export interface CreateOptions extends MDToHTMLOptions { }
27
28
 
28
- export function create(options = {} as CreateOptions) {
29
+ export function create(options = {} as MDToHTMLOptions) {
29
30
  // default github css.
30
- const cssStr = fs.readFileSync(path.resolve(__dirname, 'github.css'));
31
31
  const { markdown, document, rewrite, reurls = {}, wrap = { wrapper: 'div.wmde-markdown' } } = options;
32
+ let cssStr = fs.readFileSync(path.resolve(__dirname, 'styles', 'github.css')).toString();
33
+ if (options['github-corners-fork'] && options['github-corners']) {
34
+ let cssFork = fs.readFileSync(path.resolve(__dirname, 'styles', 'github-fork-ribbon.css')).toString();
35
+ cssStr = `${cssStr}${cssFork}`;
36
+ }
32
37
  return unified()
33
38
  .use(remarkParse)
34
39
  .use(remarkGfm)
@@ -54,7 +59,12 @@ export function create(options = {} as CreateOptions) {
54
59
  .use(rehypeRewrite, {
55
60
  rewrite: (node, index, parent) => {
56
61
  if (options['github-corners'] && ((document && node.type == 'element' && node.tagName === 'body') || (!document && node.type === 'root'))) {
57
- node.children = [githubCorners({ href: options['github-corners'] }), ...node.children];
62
+ node.children = Array.isArray(node.children) ? node.children : [];
63
+ if (options['github-corners-fork']) {
64
+ node.children.unshift(githubCornersFork({ href: options['github-corners'] }));
65
+ } else {
66
+ node.children.unshift(githubCorners({ href: options['github-corners'] }));
67
+ }
58
68
  }
59
69
  if (node.type == 'element' && /h(1|2|3|4|5|6)/.test(node.tagName) && node.children && Array.isArray(node.children) && node.children.length > 0) {
60
70
  const child = node.children[0];
package/src/index.ts CHANGED
@@ -9,12 +9,14 @@ export * from './create';
9
9
 
10
10
  const pkg = fs.readJSONSync(path.resolve(__dirname, '..', 'package.json'));
11
11
 
12
- export interface RunArgvs extends ParsedArgs {
12
+ export interface RunArgvs extends Omit<ParsedArgs, '_'> {
13
13
  version?: string;
14
14
  source?: string;
15
15
  output?: string;
16
- /** Add a Github corner to your project page */
16
+ /** Add a Github corner to your project page. */
17
17
  'github-corners'?: string;
18
+ /** Github corners style. */
19
+ 'github-corners-fork'?: boolean;
18
20
  /** Markdown string. */
19
21
  markdown?: string;
20
22
  /** The `<title>` tag is required in HTML documents! */
@@ -31,8 +33,7 @@ export interface RunArgvs extends ParsedArgs {
31
33
  author?: string;
32
34
  }
33
35
 
34
- export interface MDToHTMLOptions extends Omit<RunArgvs, '_'> {
35
- 'github-corners'?: RunArgvs['github-corners'];
36
+ export interface MDToHTMLOptions extends RunArgvs {
36
37
  /** [rehype-document](https://github.com/rehypejs/rehype-document#options) options */
37
38
  document?: Options;
38
39
  /** Rewrite Element. [rehype-rewrite](https://github.com/jaywcjlove/rehype-rewrite#rewritenode-index-parent-void) */
@@ -51,7 +52,7 @@ export interface MDToHTMLOptions extends Omit<RunArgvs, '_'> {
51
52
  }
52
53
 
53
54
  export function run(opts = {} as Omit<RunArgvs, '_'>) {
54
- const argvs: RunArgvs = minimist(process.argv.slice(2), {
55
+ const argvs = minimist<RunArgvs>(process.argv.slice(2), {
55
56
  alias: {
56
57
  help: 'h',
57
58
  version: 'v',
@@ -0,0 +1,25 @@
1
+ import { Element } from 'hast';
2
+
3
+ interface GithubCorners {
4
+ href?: string;
5
+ }
6
+
7
+ export function githubCornersFork(opts: GithubCorners): Element {
8
+ const { href } = opts;
9
+ if (!href) {
10
+ return;
11
+ }
12
+ return {
13
+ type: 'element',
14
+ tagName: 'a',
15
+ properties: {
16
+ 'aria-label': 'Fork me on Github',
17
+ title: 'Fork me on GitHub',
18
+ target: '__blank',
19
+ className: 'github-fork-ribbon',
20
+ 'data-ribbon': 'Fork me on GitHub',
21
+ href,
22
+ },
23
+ children: []
24
+ }
25
+ }
@@ -0,0 +1,91 @@
1
+ .github-fork-ribbon {
2
+ width: 12.1em;
3
+ height: 12.1em;
4
+ position: absolute;
5
+ overflow: hidden;
6
+ top: 0;
7
+ right: 0;
8
+ z-index: 9999;
9
+ pointer-events: none;
10
+ font-size: 13px;
11
+ text-decoration: none;
12
+ text-indent: -999999px;
13
+ }
14
+
15
+ .github-fork-ribbon.fixed {
16
+ position: fixed;
17
+ }
18
+
19
+ .github-fork-ribbon:hover, .github-fork-ribbon:active {
20
+ background-color: rgba(0, 0, 0, 0.0);
21
+ }
22
+
23
+ .github-fork-ribbon:before, .github-fork-ribbon:after {
24
+ /* The right and left classes determine the side we attach our banner to */
25
+ position: absolute;
26
+ display: block;
27
+ width: 15.38em;
28
+ height: 1.54em;
29
+
30
+ top: 3.23em;
31
+ right: -3.23em;
32
+
33
+ -webkit-box-sizing: content-box;
34
+ -moz-box-sizing: content-box;
35
+ box-sizing: content-box;
36
+
37
+ -webkit-transform: rotate(45deg);
38
+ -moz-transform: rotate(45deg);
39
+ -ms-transform: rotate(45deg);
40
+ -o-transform: rotate(45deg);
41
+ transform: rotate(45deg);
42
+ }
43
+
44
+ .github-fork-ribbon:before {
45
+ content: "";
46
+
47
+ /* Add a bit of padding to give some substance outside the "stitching" */
48
+ padding: .38em 0;
49
+
50
+ /* Set the base colour */
51
+ background-color: #a00;
52
+
53
+ /* Set a gradient: transparent black at the top to almost-transparent black at the bottom */
54
+ background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.15)));
55
+ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
56
+ background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
57
+ background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
58
+ background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
59
+ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15));
60
+
61
+ /* Add a drop shadow */
62
+ -webkit-box-shadow: 0 .15em .23em 0 rgba(0, 0, 0, 0.5);
63
+ -moz-box-shadow: 0 .15em .23em 0 rgba(0, 0, 0, 0.5);
64
+ box-shadow: 0 .15em .23em 0 rgba(0, 0, 0, 0.5);
65
+
66
+ pointer-events: auto;
67
+ }
68
+
69
+ .github-fork-ribbon:after {
70
+ /* Set the text from the data-ribbon attribute */
71
+ content: attr(data-ribbon);
72
+
73
+ /* Set the text properties */
74
+ color: #fff;
75
+ font: 700 1em "Helvetica Neue", Helvetica, Arial, sans-serif;
76
+ line-height: 1.54em;
77
+ text-decoration: none;
78
+ text-shadow: 0 -.08em rgba(0, 0, 0, 0.5);
79
+ text-align: center;
80
+ text-indent: 0;
81
+
82
+ /* Set the layout properties */
83
+ padding: .15em 0;
84
+ margin: .15em 0;
85
+
86
+ /* Add "stitching" effect */
87
+ border-width: .08em 0;
88
+ border-style: dotted;
89
+ border-color: #fff;
90
+ border-color: rgba(255, 255, 255, 0.7);
91
+ }
File without changes
@@ -70,6 +70,14 @@ it('github-corners test case', async () => {
70
70
  });
71
71
  expect(html.indexOf('<a aria-label="View source on GitHub" target="__blank" class="github-corner"') === 0).toBeTruthy();
72
72
  expect(html.indexOf('https://github.com/jaywcjlove/markdown-to-html-cli') > -1).toBeTruthy();
73
+
74
+ html = create({
75
+ 'github-corners-fork': true,
76
+ 'github-corners': 'https://github.com/jaywcjlove/markdown-to-html-cli',
77
+ markdown: 'Hello World!',
78
+ document: {},
79
+ });
80
+ expect(html.indexOf('data-ribbon="Fork me on GitHub"') > 0).toBeTruthy();
73
81
  });
74
82
 
75
83
  it('rewrite test case', async () => {
@@ -1,5 +1,6 @@
1
1
  import FS from 'fs-extra';
2
2
  import { githubCorners } from '../src/nodes/githubCorners';
3
+ import { githubCornersFork } from '../src/nodes/githubCornersFork';
3
4
  import { cliHelp, exampleHelp, run } from '../src';
4
5
  import pkg from '../package.json';
5
6
 
@@ -7,6 +8,7 @@ console.log = jest.fn();
7
8
 
8
9
  it('githubCorners test case', async () => {
9
10
  expect(githubCorners({ })).toBeUndefined();
11
+ expect(githubCornersFork({ })).toBeUndefined();
10
12
  expect(Object.keys(githubCorners({ href: 'https://github.com/jaywcjlove/markdown-to-html-cli' }))).toEqual(expect.arrayContaining(['type', 'tagName', 'properties', 'children']));
11
13
  });
12
14