@canopycanopycanopy/b-ber-templates 3.0.8-nav-memo.4 → 3.0.8-next.61

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/Ncx/index.js CHANGED
@@ -9,17 +9,19 @@ exports.default = void 0;
9
9
  var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
10
10
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
11
11
  var _vinyl = _interopRequireDefault(require("vinyl"));
12
- var _lodash = _interopRequireDefault(require("lodash.find"));
13
- var _lodash2 = _interopRequireDefault(require("lodash.has"));
12
+ var _find = _interopRequireDefault(require("lodash/find"));
13
+ var _has = _interopRequireDefault(require("lodash/has"));
14
14
  var _bBerLib = require("@canopycanopycanopy/b-ber-lib");
15
15
  var _utils = require("@canopycanopycanopy/b-ber-lib/utils");
16
16
  var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
17
+ // eslint-disable-line import/no-unresolved
18
+
17
19
  class Ncx {
18
20
  static head() {
19
- const entry = (0, _lodash.default)(_State.default.metadata.json(), {
21
+ const entry = (0, _find.default)(_State.default.metadata.json(), {
20
22
  term: 'identifier'
21
23
  });
22
- const identifier = entry && (0, _lodash2.default)(entry, 'value') ? entry.value : '';
24
+ const identifier = entry && (0, _has.default)(entry, 'value') ? entry.value : '';
23
25
  return `
24
26
  <head>
25
27
  <meta name="dtb:uid" content="${identifier}"/>
@@ -30,10 +32,10 @@ class Ncx {
30
32
  `;
31
33
  }
32
34
  static title() {
33
- const entry = (0, _lodash.default)(_State.default.metadata.json(), {
35
+ const entry = (0, _find.default)(_State.default.metadata.json(), {
34
36
  term: 'title'
35
37
  });
36
- const title = entry && (0, _lodash2.default)(entry, 'value') ? entry.value : '';
38
+ const title = entry && (0, _has.default)(entry, 'value') ? entry.value : '';
37
39
  return `
38
40
  <docTitle>
39
41
  <text>${_bBerLib.Html.escape(title)}</text>
@@ -41,10 +43,10 @@ class Ncx {
41
43
  `;
42
44
  }
43
45
  static author() {
44
- const entry = (0, _lodash.default)(_State.default.metadata.json(), {
46
+ const entry = (0, _find.default)(_State.default.metadata.json(), {
45
47
  term: 'creator'
46
48
  });
47
- const creator = entry && (0, _lodash2.default)(entry, 'value') ? entry.value : '';
49
+ const creator = entry && (0, _has.default)(entry, 'value') ? entry.value : '';
48
50
  return `
49
51
  <docAuthor>
50
52
  <text>${_bBerLib.Html.escape(creator)}</text>
package/README.md CHANGED
@@ -1,9 +1,25 @@
1
- # `@canopycanopycanopy/b-ber-templates`
1
+ # b-ber-templates
2
2
 
3
- The `b-ber-templates` package contains templates for different types of content that b-ber outputs during I/O operations.
3
+ Provides JavaScript template classes used by the b-ber build pipeline to generate EPUB structural files and figure markup. Each class exposes static methods that return either XML/HTML strings or Vinyl file objects containing `{% body %}` placeholders that the build pipeline fills in. Templates cover EPUB 3 structural formats (OPF package, NCX navigation, XHTML pages, container XML) as well as project scaffolding files and per-build-target figure markup.
4
4
 
5
- ## Install
5
+ ## Contents
6
6
 
7
- ```
8
- $ npm i -g @canopycanopycanopy/b-ber-templates
7
+ | Path | Purpose |
8
+ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
9
+ | `src/Ncx/` | EPUB 2 NCX navigation document (head, docTitle, navMap, navPoints) |
10
+ | `src/Opf/` | EPUB 3 OPF package: `Pkg`, `Metadata`, `Manifest`, `Spine`, `Guide` |
11
+ | `src/Ops/` | Returns the `application/epub+zip` MIME type string |
12
+ | `src/Toc/` | EPUB 3 `nav` TOC element with nested `<ol>` item rendering |
13
+ | `src/Xhtml/` | XHTML page template: head, body, stylesheet/script link tags, cover SVG, LOI section |
14
+ | `src/Xml/` | EPUB `META-INF/container.xml` and mimetype string |
15
+ | `src/Project/` | Scaffolding for new projects: directory layout, `toc.yml`, `metadata.yml`, starter Markdown files, `config.yml`, `.gitignore`, `README.md` |
16
+ | `src/figures/` | Per-build-target figure markup: `epub`, `mobi`, `reader`, `web`; dispatches by media type (image orientation, audio, video, iframe, vimeo) |
17
+ | `Ncx/`, `Opf/`, `Ops/`, `Toc/`, `Xhtml/`, `Xml/`, `figures/`, `Project/` | Built output of `src/` (generated by `npm run build`) |
18
+
19
+ ## Dev
20
+
21
+ ```bash
22
+ npm test # runs jest; snapshot tests for Toc, Xhtml, Xml, Project, and figure variants
23
+ npm run build # transpiles src/ to output directories via Babel
24
+ npm run watch # watch mode for development
9
25
  ```
@@ -20,22 +20,22 @@ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-s
20
20
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
21
21
  var _lastIndexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/last-index-of"));
22
22
  var _imageSize = _interopRequireDefault(require("image-size"));
23
- var _lodash = _interopRequireDefault(require("lodash.uniq"));
23
+ var _uniq = _interopRequireDefault(require("lodash/uniq"));
24
24
  var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
25
25
  var _utils = require("@canopycanopycanopy/b-ber-lib/utils");
26
26
  function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty2(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context8, _context9; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context8 = ownKeys(Object(t), !0)).call(_context8, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context9 = ownKeys(Object(t))).call(_context9, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context8, _context9; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context8 = ownKeys(Object(t), !0)).call(_context8, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context9 = ownKeys(Object(t))).call(_context9, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } // eslint-disable-line import/no-unresolved
28
28
  const FULLBLEED_CLASS_NAME = 'figure__fullbleed';
29
29
  const getClassNamesArray = ({
30
30
  classes = ''
31
31
  }) => classes.split(' ');
32
32
  const getFigureInlineClasses = (data, ratioName) => {
33
33
  var _context, _context2;
34
- return data.inline || data.applyInlineClasses ? (0, _filter.default)(_context = (0, _lodash.default)((0, _concat.default)(_context2 = ['figure__large', 'figure__inline', `figure__inline--${ratioName}`]).call(_context2, getClassNamesArray(data)))).call(_context, Boolean).join(' ') : `figure__large figure__large--${ratioName}`;
34
+ return data.inline || data.applyInlineClasses ? (0, _filter.default)(_context = (0, _uniq.default)((0, _concat.default)(_context2 = ['figure__large', 'figure__inline', `figure__inline--${ratioName}`]).call(_context2, getClassNamesArray(data)))).call(_context, Boolean).join(' ') : `figure__large figure__large--${ratioName}`;
35
35
  };
36
36
  const getMediaInlineClasses = data => {
37
37
  var _context3, _context4;
38
- return data.inline || data.applyInlineClasses ? (0, _filter.default)(_context3 = (0, _lodash.default)((0, _concat.default)(_context4 = ['figure__large', 'figure__large--media', 'figure__inline--square']).call(_context4, getClassNamesArray(data)))).call(_context3, Boolean).join(' ') : 'figure__large figure__large--media figure__large--square';
38
+ return data.inline || data.applyInlineClasses ? (0, _filter.default)(_context3 = (0, _uniq.default)((0, _concat.default)(_context4 = ['figure__large', 'figure__large--media', 'figure__inline--square']).call(_context4, getClassNamesArray(data)))).call(_context3, Boolean).join(' ') : 'figure__large figure__large--media figure__large--square';
39
39
  };
40
40
  const getSectionOpen = ({
41
41
  inline
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canopycanopycanopy/b-ber-templates",
3
- "version": "3.0.8-nav-memo.4+d47a9aae",
3
+ "version": "3.0.8-next.61+2bbec564",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "directories": {
@@ -35,14 +35,11 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@babel/runtime-corejs3": "^7.10.5",
38
- "@canopycanopycanopy/b-ber-lib": "3.0.8-nav-memo.4+d47a9aae",
39
- "@canopycanopycanopy/b-ber-logger": "3.0.8-nav-memo.4+d47a9aae",
38
+ "@canopycanopycanopy/b-ber-lib": "3.0.8-next.61+2bbec564",
39
+ "@canopycanopycanopy/b-ber-logger": "3.0.8-next.61+2bbec564",
40
40
  "fs-extra": "^8.1.0",
41
41
  "image-size": "^0.8.3",
42
42
  "lodash": "^4.17.21",
43
- "lodash.find": "latest",
44
- "lodash.has": "latest",
45
- "lodash.uniq": "latest",
46
43
  "mime-types": "^2.1.24",
47
44
  "tar": "^6.1.11",
48
45
  "vinyl": "^2.2.0"
@@ -71,5 +68,5 @@
71
68
  "url": "https://maxwellsimmer.com"
72
69
  }
73
70
  ],
74
- "gitHead": "d47a9aae74dec3e3225e363b2434c7abe0fcf21b"
71
+ "gitHead": "2bbec5643278f53becb0d2ba1f55edfe379d5587"
75
72
  }