Skip to content

Commit 393cd6e

Browse files
committed
Create module exports of the internal classes
Allows creation of Directives and Roles externally.
1 parent 16e4e04 commit 393cd6e

File tree

6 files changed

+41
-22
lines changed

6 files changed

+41
-22
lines changed

src/directives/admonitions.ts

+12-11
Original file line numberDiff line numberDiff line change
@@ -62,46 +62,47 @@ class BaseAdmonition extends Directive {
6262
}
6363
}
6464

65-
class Admonition extends BaseAdmonition {
65+
export class Admonition extends BaseAdmonition {
6666
public required_arguments = 1
6767
}
6868

69-
class Attention extends BaseAdmonition {
69+
export class Attention extends BaseAdmonition {
7070
public title = "Attention"
7171
}
7272

73-
class Caution extends BaseAdmonition {
73+
export class Caution extends BaseAdmonition {
7474
public title = "Caution"
7575
}
7676

77-
class Danger extends BaseAdmonition {
77+
export class Danger extends BaseAdmonition {
7878
public title = "Danger"
7979
}
8080

81-
class Error extends BaseAdmonition {
81+
export class Error extends BaseAdmonition {
8282
public title = "Error"
8383
}
8484

85-
class Important extends BaseAdmonition {
85+
export class Important extends BaseAdmonition {
8686
public title = "Important"
8787
}
8888

89-
class Hint extends BaseAdmonition {
89+
export class Hint extends BaseAdmonition {
9090
public title = "Hint"
9191
}
92-
class Note extends BaseAdmonition {
92+
93+
export class Note extends BaseAdmonition {
9394
public title = "Note"
9495
}
9596

96-
class SeeAlso extends BaseAdmonition {
97+
export class SeeAlso extends BaseAdmonition {
9798
public title = "See Also"
9899
}
99100

100-
class Tip extends BaseAdmonition {
101+
export class Tip extends BaseAdmonition {
101102
public title = "Tip"
102103
}
103104

104-
class Warning extends BaseAdmonition {
105+
export class Warning extends BaseAdmonition {
105106
public title = "Warning"
106107
}
107108

src/directives/index.ts

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export { Directive } from "./main"
2+
export { admonitions } from "./admonitions"
3+
export { code } from "./code"
4+
export { images } from "./images"
5+
export { default as directivePlugin } from "./plugin"
6+
export type { IOptions as IDirectiveOptions } from "./plugin"
7+
export { tables } from "./tables"
8+
9+
import { admonitions } from "./admonitions"
10+
import { code } from "./code"
11+
import { images } from "./images"
12+
import { tables } from "./tables"
13+
14+
export const directives = { ...admonitions, ...images, ...code, ...tables }

src/index.ts

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
import type MarkdownIt from "markdown-it/lib"
2-
import { admonitions } from "./directives/admonitions"
3-
import { code } from "./directives/code"
4-
import { images } from "./directives/images"
5-
import directivePlugin, { IOptions as IDirectiveOptions } from "./directives/plugin"
6-
import { tables } from "./directives/tables"
7-
import { roles } from "./roles/main"
8-
import rolePlugin, { IOptions as IRoleOptions } from "./roles/plugin"
2+
import { directives, Directive, directivePlugin, IDirectiveOptions } from "./directives"
3+
import { roles, Role, rolePlugin, IRoleOptions } from "./roles"
4+
5+
export { directives, directivePlugin, Directive, roles, rolePlugin, Role }
96

107
/** Allowed options for docutils plugin */
118
export interface IOptions extends IDirectiveOptions, IRoleOptions {
@@ -18,8 +15,8 @@ const OptionDefaults: IOptions = {
1815
replaceFences: true,
1916
rolesAfter: "inline",
2017
directivesAfter: "block",
21-
directives: { ...admonitions, ...images, ...code, ...tables },
22-
roles: { ...roles }
18+
directives,
19+
roles
2320
}
2421

2522
/**

src/roles/index.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export { Role, main } from "./main"
2+
export { default as rolePlugin } from "./plugin"
3+
export type { IOptions as IRoleOptions } from "./plugin"
4+
5+
import { main } from "./main"
6+
7+
export const roles = { ...main }

src/roles/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ export class RawRole extends Role {
3535
}
3636
}
3737

38-
export const roles = {
38+
export const main = {
3939
raw: RawRole
4040
}

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
// "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */
4545

4646
/* Module Resolution Options */
47-
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
47+
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
4848
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
4949
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
5050
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */

0 commit comments

Comments
 (0)