@bscotch/steam-bbcode 0.2.0 → 0.4.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.md CHANGED
@@ -22,6 +22,8 @@ Note: currently only supports _pure_ Markdown (embedded HTML is left as-is).
22
22
 
23
23
  ## Usage
24
24
 
25
+ For a typical use case:
26
+
25
27
  ```ts
26
28
  import { md2bbcode } from '@bscotch/steam-bbcode';
27
29
 
@@ -29,6 +31,22 @@ const converted = md2bbcode('# Hello, world!');
29
31
  const bbcode = converted.bbcode;
30
32
  ```
31
33
 
34
+ This package uses [marked](https://www.npmjs.com/package/marked) for rendering. If you want to use your own version of the marked dependency, or want to further modify rendering with your own marked extensions, you can import the BBCode marked extension from this package to use directly:
35
+
36
+ ```ts
37
+ import { markedBbcodeExtension } from '@bscotch/steam-bbcode/lib';
38
+ import { Marked } from 'marked';
39
+
40
+ const marked = new Marked(
41
+ markedBbcodeExtension /* ... optional other extensions */,
42
+ );
43
+ function toBbcode(md: string): string {
44
+ // (Marked replaces single-quotes with ', which Steam doesn't know what to do with.)
45
+ return (marked.parse(source) as string).replaceAll(''', "'");
46
+ }
47
+ const converted = toBbcode('# Hello, world!');
48
+ ```
49
+
32
50
  ## Example
33
51
 
34
52
  The following Markdown input:
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe,EAAE,QAAmB;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,KAAU,EAAE,OAAe;IAChD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC7C;AACH,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe,EAAE,QAAmB;QAC9C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;CACF;AAED,MAAM,UAAU,MAAM,CAAC,KAAU,EAAE,OAAe;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { markedBbcodeExtension } from './lib.js';
1
2
  /**
2
3
  * Convert Markdown (or HTML) to Steam-compatible BBCode. Also returns the HTML content.
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoFA;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAEhB,CAMA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAIjD;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAEhB,CAMA"}
package/dist/index.js CHANGED
@@ -1,83 +1,7 @@
1
1
  import { Marked } from 'marked';
2
- const marked = new Marked({
3
- renderer: {
4
- heading(src) {
5
- // Steam only supports h1-h3, the rest should just be bold.
6
- const text = this.parser.parseInline(src.tokens);
7
- if (src.depth <= 3) {
8
- return `[h${src.depth}]${text}[/h${src.depth}]\n\n`;
9
- }
10
- else {
11
- return `[b]${text}[/b]\n\n`;
12
- }
13
- },
14
- image(src) {
15
- return bbImage(src.href, src.text);
16
- },
17
- link(src) {
18
- return `[url=${src.href}]${this.parser.parseInline(src.tokens)}[/url]`;
19
- },
20
- em(src) {
21
- return `[i]${this.parser.parseInline(src.tokens)}[/i]`;
22
- },
23
- strong(src) {
24
- return `[b]${this.parser.parseInline(src.tokens)}[/b]`;
25
- },
26
- del(src) {
27
- return `[strike]${this.parser.parseInline(src.tokens)}[/strike]`;
28
- },
29
- codespan(src) {
30
- return `[code]${src.text}[/code]`;
31
- },
32
- code(src) {
33
- return `[code]\n${src.text}\n[/code]\n\n`;
34
- },
35
- paragraph(src) {
36
- // For lines that are just URLs,
37
- // if they are steam or youtube links, leave them as-is
38
- if (src.tokens.length === 1 &&
39
- src.tokens[0].type === 'link' &&
40
- src.tokens[0].raw.match(/^(https?:\/\/)(www\.)?(store\.steampowered\.com|steamcommunity\.com|youtube\.com|youtu\.be)/)) {
41
- return src.tokens[0].raw + '\n\n';
42
- }
43
- return this.parser.parseInline(src.tokens) + '\n\n';
44
- },
45
- listitem(src) {
46
- return ` [*] ${this.parser.parseInline(src.tokens).trim()}`;
47
- },
48
- list(src) {
49
- const el = src.ordered ? 'olist' : 'list';
50
- let indent = ' ';
51
- let rendered = `[${el}]\n`;
52
- for (const item of src.items) {
53
- rendered += `${indent}[*] ${this.parser.parseInline(item.tokens).trim()}\n`;
54
- }
55
- return `${rendered}[/${el}]\n\n`;
56
- },
57
- hr() {
58
- return '[hr][/hr]\n\n';
59
- },
60
- br() {
61
- return '\n\n';
62
- },
63
- blockquote(src) {
64
- return `[quote]${this.parser.parse(src.tokens).trim()}[/quote]\n\n`;
65
- },
66
- html(src) {
67
- if (src.raw.startsWith('<img')) {
68
- const alt = src.raw.match(/alt="([^"]+)"/)?.[1] || '';
69
- const source = src.raw.match(/src="([^"]+)"/)?.[1] || '';
70
- return bbImage(source, alt);
71
- }
72
- else if (src.raw.startsWith('<!-')) {
73
- // Remove HTML comments
74
- return '';
75
- }
76
- // Otherwise return as-is for manual editing
77
- return src.text;
78
- },
79
- },
80
- });
2
+ import { markedBbcodeExtension } from './lib.js';
3
+ export { markedBbcodeExtension } from './lib.js';
4
+ const marked = new Marked(markedBbcodeExtension);
81
5
  /**
82
6
  * Convert Markdown (or HTML) to Steam-compatible BBCode. Also returns the HTML content.
83
7
  */
@@ -88,12 +12,4 @@ export function md2bbcode(source) {
88
12
  bbcode,
89
13
  };
90
14
  }
91
- function bbImage(src, alt) {
92
- let bb = '[img';
93
- if (alt) {
94
- bb += ` alt="${alt.replaceAll('"', '&quot;')}"`;
95
- }
96
- bb += `]${src}[/img]`;
97
- return bb;
98
- }
99
15
  //# sourceMappingURL=index.js.map
package/dist/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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IAKtC,MAAM,MAAM,GAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAY,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzE,OAAO;QACL,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC"}
package/dist/lib.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import type { MarkedExtension } from 'marked';
2
+ export declare const markedBbcodeExtension: MarkedExtension;
3
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,eAAO,MAAM,qBAAqB,EAAE,eAgFnC,CAAC"}
package/dist/lib.js ADDED
@@ -0,0 +1,88 @@
1
+ export const markedBbcodeExtension = {
2
+ renderer: {
3
+ heading(src) {
4
+ // Steam only supports h1-h3, the rest should just be bold.
5
+ const text = this.parser.parseInline(src.tokens);
6
+ if (src.depth <= 3) {
7
+ return `[h${src.depth}]${text}[/h${src.depth}]\n\n`;
8
+ }
9
+ else {
10
+ return `[b]${text}[/b]\n\n`;
11
+ }
12
+ },
13
+ image(src) {
14
+ return bbImage(src.href, src.text);
15
+ },
16
+ link(src) {
17
+ return `[url=${src.href}]${this.parser.parseInline(src.tokens)}[/url]`;
18
+ },
19
+ em(src) {
20
+ return `[i]${this.parser.parseInline(src.tokens)}[/i]`;
21
+ },
22
+ strong(src) {
23
+ return `[b]${this.parser.parseInline(src.tokens)}[/b]`;
24
+ },
25
+ del(src) {
26
+ return `[strike]${this.parser.parseInline(src.tokens)}[/strike]`;
27
+ },
28
+ codespan(src) {
29
+ return `[code]${src.text}[/code]`;
30
+ },
31
+ code(src) {
32
+ return `[code]\n${src.text}\n[/code]\n\n`;
33
+ },
34
+ paragraph(src) {
35
+ // For lines that are just URLs,
36
+ // if they are steam or youtube links, leave them as-is
37
+ if (src.tokens.length === 1 &&
38
+ src.tokens[0].type === 'link' &&
39
+ src.tokens[0].raw.match(/^(https?:\/\/)(www\.)?(store\.steampowered\.com|steamcommunity\.com|youtube\.com|youtu\.be)/)) {
40
+ return src.tokens[0].raw + '\n\n';
41
+ }
42
+ return this.parser.parseInline(src.tokens) + '\n\n';
43
+ },
44
+ listitem(src) {
45
+ return ` [*] ${this.parser.parseInline(src.tokens).trim()}`;
46
+ },
47
+ list(src) {
48
+ const el = src.ordered ? 'olist' : 'list';
49
+ let indent = ' ';
50
+ let rendered = `[${el}]\n`;
51
+ for (const item of src.items) {
52
+ rendered += `${indent}[*] ${this.parser.parseInline(item.tokens).trim()}\n`;
53
+ }
54
+ return `${rendered}[/${el}]\n\n`;
55
+ },
56
+ hr() {
57
+ return '[hr][/hr]\n\n';
58
+ },
59
+ br() {
60
+ return '\n\n';
61
+ },
62
+ blockquote(src) {
63
+ return `[quote]${this.parser.parse(src.tokens).trim()}[/quote]\n\n`;
64
+ },
65
+ html(src) {
66
+ if (src.raw.startsWith('<img')) {
67
+ const alt = src.raw.match(/alt="([^"]+)"/)?.[1] || '';
68
+ const source = src.raw.match(/src="([^"]+)"/)?.[1] || '';
69
+ return bbImage(source, alt);
70
+ }
71
+ else if (src.raw.startsWith('<!-')) {
72
+ // Remove HTML comments
73
+ return '';
74
+ }
75
+ // Otherwise return as-is for manual editing
76
+ return src.text;
77
+ },
78
+ },
79
+ };
80
+ function bbImage(src, alt) {
81
+ let bb = '[img';
82
+ if (alt) {
83
+ bb += ` alt="${alt.replaceAll('"', '&quot;')}"`;
84
+ }
85
+ bb += `]${src}[/img]`;
86
+ return bb;
87
+ }
88
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bscotch/steam-bbcode",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Generate Steam-compatible BBCode from Markdown.",
5
5
  "homepage": "https://github.com/bscotch/stitch/tree/develop/packages/steam-bbcode#readme",
6
6
  "repository": {
@@ -13,18 +13,22 @@
13
13
  ".": {
14
14
  "types": "./dist/index.d.ts",
15
15
  "import": "./dist/index.js"
16
+ },
17
+ "./lib": {
18
+ "types": "./dist/lib.d.ts",
19
+ "import": "./dist/lib.js"
16
20
  }
17
21
  },
18
22
  "main": "dist/index.js",
19
23
  "types": "dist/index.d.ts",
20
24
  "dependencies": {
21
- "marked": "14.1.2"
25
+ "marked": "17.0.1"
22
26
  },
23
27
  "devDependencies": {
24
- "chai": "^4.3.10",
25
- "mocha": "^10.2.0",
26
- "prettier": "^3.1.0",
27
- "typescript": "5.2.2"
28
+ "chai": "^6.2.2",
29
+ "mocha": "^11.7.5",
30
+ "prettier": "^3.7.4",
31
+ "typescript": "5.9.3"
28
32
  },
29
33
  "publishConfig": {
30
34
  "access": "public"