@mfgames-writing/format 3.3.1 → 3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,WAAW,EAId,MAAM,4BAA4B,CAAC;AASpC;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC,CAiKtB"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAyB,MAAM,4BAA4B,CAAC;AAKhF;;GAEG;AACH,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,WAAW,GACrB,OAAO,CAAC,WAAW,CAAC,CA8JtB"}
package/lib/markdown.js CHANGED
@@ -3,15 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderContentMarkdown = void 0;
4
4
  const plugins_1 = require("./plugins");
5
5
  const markdownIt = require("markdown-it");
6
+ const smartypants_1 = require("smartypants");
6
7
  /**
7
8
  * Renders a Markdown file as HTML.
8
9
  */
9
10
  function renderContentMarkdown(content) {
10
11
  return new Promise((resolve) => {
11
12
  var _a;
12
- // Set up a new markdown-it renderer with our defaults.
13
+ // Set up a new markdown-it renderer with our defaults. We don't include
14
+ // typographer because we use Smartypants instead which seems to handle
15
+ // some edge cases better.
13
16
  var markdown = markdownIt({
14
- typographer: true,
17
+ typographer: false,
15
18
  xhtmlOut: true,
16
19
  });
17
20
  if (content.edition.markdown) {
@@ -44,6 +47,9 @@ function renderContentMarkdown(content) {
44
47
  }
45
48
  }
46
49
  }
50
+ // First process the code using Smartypants.
51
+ content.logger.debug("formatting output with SmartyPants");
52
+ const formatted = (0, smartypants_1.smartypantsu)(content.text, 2);
47
53
  // Set up the theme overrides.
48
54
  setThemeRenderRule(content, content.theme.renderRule, markdown, "hr");
49
55
  setThemeRenderRule(content, content.theme.renderStrongOpen, markdown, "strong_open");
@@ -54,14 +60,7 @@ function renderContentMarkdown(content) {
54
60
  setThemeRenderRule(content, content.theme.renderBlockQuoteOpen, markdown, "blockquote_open");
55
61
  setThemeRenderRule(content, content.theme.renderBlockQuoteClose, markdown, "blockquote_close");
56
62
  // Process the markdown content.
57
- let html = markdown.render(content.text);
58
- // For some reason, certain authors like me insist on having a em-dash
59
- // at the end of a quote to represent interruptions. However, the
60
- // typography park of Marked doesn't really handle quotes properly in
61
- // that case.
62
- html = html.replace(/—“/g, "—”");
63
- // We also have a problem with italics at the end of quotes.
64
- html = html.replace(/<\/em>“/g, "</em>”");
63
+ let html = markdown.render(formatted);
65
64
  // Markdown has an interesting quirk that a "break" is actually a
66
65
  // backslash followed by a space. However, trailing spaces are difficult
67
66
  // to work with when you use EditorConfig to remove trailing them
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":";;;AAeA,uCAAuC;AACvC,0CAA0C;AAE1C;;GAEG;AACH,SAAgB,qBAAqB,CACjC,OAAoB;IAEpB,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,EAAE;;QACxC,uDAAuD;QACvD,IAAI,QAAQ,GAAG,UAAU,CAAC;YACtB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC1B,qCAAqC;YACrC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,wCAAwC,EACxC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CACnC,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAClD;YAED,gDAAgD;YAChD,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACrC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE;oBACzD,+BAA+B;oBAC/B,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EAC/B,OAAO,CAAC,WAAW,EACnB,SAAS,CAAC,OAAO,EACjB,KAAK,CACR,CAAC;oBAEF,IAAI,CAAC,gBAAgB,EAAE;wBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,gCAAgC,EAChC,SAAS,CACZ,CAAC;wBACF,SAAS;qBACZ;oBAED,uCAAuC;oBACvC,IAAI,OAAO,GAAQ,MAAA,SAAS,CAAC,OAAO,mCAAI,EAAE,CAAC;oBAE3C,IAAI,SAAS,CAAC,MAAM,EAAE;wBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,kCAAkC,EAClC,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,MAAM,CACnB,CAAC;wBAEF,MAAM,YAAY,GAAG,IAAA,oBAAU,EAC3B,OAAO,CAAC,WAAW,EACnB,SAAS,CAAC,MAAM,CACnB,CAAC;wBACF,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;wBAEzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,4CAA4C,EAC5C,SAAS,CAAC,OAAO,EACjB,UAAU,CACb,CAAC;wBAEF,OAAO,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,OAAO,CAAC;qBACnC;oBAED,+BAA+B;oBAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,4BAA4B,EAC5B,SAAS,CAAC,OAAO,EACjB,OAAO,CACV,CAAC;oBACF,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;iBAC3C;aACJ;SACJ;QAED,8BAA8B;QAC9B,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtE,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAC9B,QAAQ,EACR,aAAa,CAChB,CAAC;QACF,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAC/B,QAAQ,EACR,cAAc,CACjB,CAAC;QACF,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAChC,QAAQ,EACR,SAAS,CACZ,CAAC;QACF,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,mBAAmB,EACjC,QAAQ,EACR,UAAU,CACb,CAAC;QACF,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,cAAc,EAC5B,QAAQ,EACR,aAAa,CAChB,CAAC;QACF,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAClC,QAAQ,EACR,iBAAiB,CACpB,CAAC;QACF,kBAAkB,CACd,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,qBAAqB,EACnC,QAAQ,EACR,kBAAkB,CACrB,CAAC;QAEF,gCAAgC;QAChC,IAAI,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEzC,sEAAsE;QACtE,iEAAiE;QACjE,qEAAqE;QACrE,aAAa;QACb,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEjC,4DAA4D;QAC5D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE1C,iEAAiE;QACjE,wEAAwE;QACxE,iEAAiE;QACjE,mEAAmE;QACnE,2DAA2D;QAC3D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAExC,mEAAmE;QACnE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACzD,oCAAoC;YACpC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACzB,CAAC,IAAI,WAAW,CAAC;aACpB;YAED,wCAAwC;YACxC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;YAEpD,sBAAsB;YACtB,OAAO,+BAA+B,CAAC,SAAS,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,4DAA4D;QAC5D,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvD,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACrD;QAED,4CAA4C;QAC5C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAEpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC;AAnKD,sDAmKC;AAED,SAAS,kBAAkB,CACvB,IAAiB,EACjB,QAA2C,EAC3C,QAAoB,EACpB,QAAgB;IAEhB,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO;KACV;IAED,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAChC,MAAM,EACN,GAAG,EACH,OAAO,EACP,GAAG,EACH,QAAQ,EACV,EAAE;QACA,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mfgames-writing/format",
3
- "version": "3.3.1",
3
+ "version": "3.4.0",
4
4
  "description": "A command-line framework for formatting books into a variety of formats and themes.",
5
5
  "keywords": [
6
6
  "ebook",
@@ -53,6 +53,7 @@
53
53
  "mkdirp-promise": "^2.0.0",
54
54
  "mz": "^2.7.0",
55
55
  "read-pkg-up": "^4.0.0",
56
+ "smartypants": "^0.1.6",
56
57
  "source-map-support": "^0.4.2",
57
58
  "tracer": "^0.8.3",
58
59
  "uuid": "^2.0.2",