@canopycanopycanopy/b-ber-templates 3.0.8-nav.0 → 3.0.8-next.96

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.
Files changed (72) hide show
  1. package/README.md +21 -5
  2. package/dist/Guide-DtZekBN_.d.ts +19 -0
  3. package/dist/Guide-DtZekBN_.d.ts.map +1 -0
  4. package/dist/Manifest-xzjWoNoJ.d.ts +10 -0
  5. package/dist/Manifest-xzjWoNoJ.d.ts.map +1 -0
  6. package/dist/Metadata-Cv6mesgj.d.ts +11 -0
  7. package/dist/Metadata-Cv6mesgj.d.ts.map +1 -0
  8. package/dist/Ncx/index.d.ts +13 -0
  9. package/dist/Ncx/index.d.ts.map +1 -0
  10. package/dist/Ncx/index.js +83 -0
  11. package/dist/Opf/Guide.d.ts +2 -0
  12. package/dist/Opf/Guide.js +36 -0
  13. package/dist/Opf/Manifest.d.ts +2 -0
  14. package/dist/Opf/Manifest.js +26 -0
  15. package/dist/Opf/Metadata.d.ts +2 -0
  16. package/dist/Opf/Metadata.js +55 -0
  17. package/dist/Opf/Pkg.d.ts +2 -0
  18. package/dist/Opf/Pkg.js +26 -0
  19. package/dist/Opf/Spine.d.ts +2 -0
  20. package/dist/Opf/Spine.js +43 -0
  21. package/dist/Pkg-BAwlpc2n.d.ts +9 -0
  22. package/dist/Pkg-BAwlpc2n.d.ts.map +1 -0
  23. package/dist/Project/index.d.ts +44 -0
  24. package/dist/Project/index.d.ts.map +1 -0
  25. package/dist/Project/index.js +2 -0
  26. package/dist/Project-D0Q1l_Vp.js +430 -0
  27. package/dist/Spine-B4MQP83_.d.ts +19 -0
  28. package/dist/Spine-B4MQP83_.d.ts.map +1 -0
  29. package/dist/Toc/index.d.ts +10 -0
  30. package/dist/Toc/index.d.ts.map +1 -0
  31. package/dist/Toc/index.js +31 -0
  32. package/dist/Xhtml/index.d.ts +23 -0
  33. package/dist/Xhtml/index.d.ts.map +1 -0
  34. package/dist/Xhtml/index.js +59 -0
  35. package/dist/Xml/index.d.ts +7 -0
  36. package/dist/Xml/index.d.ts.map +1 -0
  37. package/dist/Xml/index.js +17 -0
  38. package/dist/chunk-DakpK96I.js +43 -0
  39. package/dist/figures/index.d.ts +4 -0
  40. package/dist/figures/index.d.ts.map +1 -0
  41. package/dist/figures/index.js +342 -0
  42. package/dist/index.d.ts +23 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +40 -0
  45. package/package.json +28 -36
  46. package/Ncx/index.js +0 -97
  47. package/Opf/Guide.js +0 -48
  48. package/Opf/Manifest.js +0 -37
  49. package/Opf/Metadata.js +0 -85
  50. package/Opf/Pkg.js +0 -31
  51. package/Opf/Spine.js +0 -70
  52. package/Opf/index.js +0 -42
  53. package/Ops/index.js +0 -14
  54. package/Project/README.md.js +0 -6
  55. package/Project/application.js.js +0 -106
  56. package/Project/gitignore.js +0 -17
  57. package/Project/index.js +0 -95
  58. package/Project/metadata.yml.js +0 -125
  59. package/Project/project-name-chapter-01.md.js +0 -15
  60. package/Project/project-name-colophon.md.js +0 -32
  61. package/Project/project-name-title-page.md.js +0 -13
  62. package/Project/toc.yml.js +0 -16
  63. package/Toc/index.js +0 -41
  64. package/Xhtml/index.js +0 -87
  65. package/Xml/index.js +0 -23
  66. package/figures/epub.js +0 -52
  67. package/figures/helpers.js +0 -213
  68. package/figures/index.js +0 -50
  69. package/figures/mobi.js +0 -57
  70. package/figures/reader.js +0 -55
  71. package/figures/web.js +0 -51
  72. package/index.js +0 -56
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- module.exports = `---
4
- title: Project Name Colophon
5
- type: colophon
6
- ---
7
-
8
- ::: colophon:project-name-colophon
9
-
10
- *Project Title* by Author
11
-
12
- Published by Publisher, 2019
13
-
14
- ::: subchapter:credits
15
-
16
- © 2019 *Project Title*, by Author. Texts and images copyright the author, unless otherwise stated.
17
-
18
- ::: exit:credits
19
-
20
- ::: logo:publishers-logo source:default-publishers-logo.png
21
-
22
- Publisher
23
- 1234 Street
24
- City, State Zip
25
- Country
26
-
27
- ::: logo:b-ber-logo source:b-ber-logo.png
28
-
29
- *Project Title* is a DRM-free ebook that uses [b-ber](https://github.com/triplecanopy/b-ber), software designed and developed by [Triple Canopy](https://canopycanopycanopy.com).
30
-
31
- ::: exit:project-name-colophon
32
- `;
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- module.exports = `---
4
- title: Project Name Title Page
5
- type: titlepage
6
- ---
7
-
8
- ::: titlepage:project-name-title-page
9
-
10
- # Project Title by Author
11
-
12
- ::: exit:project-name-title-page
13
- `;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- module.exports = `# Table of Contents
4
- # "in_toc:false" removes the entry from the built-in navigation of the reader.
5
- # "linear:false" removes the entry from the project's contents.
6
- - toc:
7
- in_toc: false
8
- linear: false
9
- # Cover
10
- - cover:
11
- in_toc: false
12
- # Project Contents
13
- - project-name-title-page
14
- - project-name-chapter-01
15
- - project-name-colophon
16
- `;
package/Toc/index.js DELETED
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
10
- var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
11
- var _vinyl = _interopRequireDefault(require("vinyl"));
12
- var _bBerLib = require("@canopycanopycanopy/b-ber-lib");
13
- var _utils = require("@canopycanopycanopy/b-ber-lib/utils");
14
- class Toc {
15
- static body() {
16
- return new _vinyl.default({
17
- contents: Buffer.from(`<nav id="toc" epub:type="toc"><h2>Table of Contents</h2>{% body %}</nav>`)
18
- });
19
- }
20
- static item(data) {
21
- const url = `${data.relativePath}.xhtml`;
22
- return `<a href="${url}">${_bBerLib.Html.escape((0, _utils.getTitle)(data))}</a>`;
23
- }
24
- static items(data) {
25
- return `
26
- <ol>
27
- ${(0, _reduce.default)(data).call(data, (acc, curr) => {
28
- if (curr.in_toc === false) return acc;
29
- return (0, _concat.default)(acc).call(acc, `
30
- <li>
31
- ${Toc.item(curr)}
32
- ${curr.nodes && curr.nodes.length ? Toc.items(curr.nodes) : ''}
33
- </li>
34
- `);
35
- }, '')}
36
- </ol>
37
- `;
38
- }
39
- }
40
- var _default = Toc;
41
- exports.default = _default;
package/Xhtml/index.js DELETED
@@ -1,87 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _vinyl = _interopRequireDefault(require("vinyl"));
10
- var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
11
- class Xhtml {
12
- static head() {
13
- // TODO
14
- // @issue: https://github.com/triplecanopy/b-ber/issues/232
15
-
16
- const prefix = _State.default.config.private ? 'no' : '';
17
- const robots = `<meta name="robots" content="${prefix}index,${prefix}follow"/>`;
18
- return new _vinyl.default({
19
- contents: Buffer.from(`<?xml version="1.0" encoding="UTF-8" standalone="no"?>
20
- <html xmlns="http://www.w3.org/1999/xhtml"
21
- xmlns:epub="http://www.idpf.org/2007/ops"
22
- xmlns:ibooks="http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0"
23
- epub:prefix="ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0">
24
- <head>
25
- <title></title>
26
- <meta http-equiv="default-style" content="text/html charset=utf-8"/>
27
- ${robots}
28
- {% body %}
29
- </head>
30
- <body>
31
- `)
32
- });
33
- }
34
- static body() {
35
- return new _vinyl.default({
36
- contents: Buffer.from('{% body %}')
37
- });
38
- }
39
- static tail() {
40
- return new _vinyl.default({
41
- contents: Buffer.from('{% body %}</body></html>')
42
- });
43
- }
44
- static cover({
45
- width,
46
- height,
47
- href
48
- }) {
49
- return `
50
- <section class="cover" style="text-align: center; padding: 0; margin: 0;">
51
- <svg xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 ${width} ${height}" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
52
- <image width="${width}" height="${height}" xlink:href="../${href}"/>
53
- </svg>
54
- </section>
55
- `;
56
- }
57
- static stylesheet(inline = false) {
58
- return inline ? new _vinyl.default({
59
- contents: Buffer.from('<style>{% body %}</style>')
60
- }) : new _vinyl.default({
61
- contents: Buffer.from('<link rel="stylesheet" type="text/css" href="{% body %}"/>')
62
- });
63
- }
64
- static javascript(inline = false) {
65
- return inline ? new _vinyl.default({
66
- contents: Buffer.from('<script type="application/javascript">{% body %}</script>')
67
- }) : new _vinyl.default({
68
- contents: Buffer.from('<script type="application/javascript" src="{% body %}"></script>')
69
- });
70
- }
71
- static jsonLD() {
72
- return new _vinyl.default({
73
- contents: Buffer.from('<script type="application/ld+json">{% body %}</script>')
74
- });
75
- }
76
- static loi() {
77
- return `
78
- <section epub:type="loi" class="chapter figures">
79
- <header>
80
- <h1>Figures</h1>
81
- </header>
82
- </section>
83
- `;
84
- }
85
- }
86
- var _default = Xhtml;
87
- exports.default = _default;
package/Xml/index.js DELETED
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
- _Object$defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- class Xml {
9
- static container() {
10
- return `<?xml version="1.0"?>
11
- <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
12
- <rootfiles>
13
- <rootfile full-path="OPS/content.opf" media-type="application/oebps-package+xml"/>
14
- </rootfiles>
15
- </container>
16
- `;
17
- }
18
- static mimetype() {
19
- return 'application/epub+zip';
20
- }
21
- }
22
- var _default = Xml;
23
- exports.default = _default;
package/figures/epub.js DELETED
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
- var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
- var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
- var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
- _Object$defineProperty(exports, "__esModule", {
13
- value: true
14
- });
15
- exports.default = void 0;
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
- var _helpers = require("./helpers");
18
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- const epub = {
21
- portrait: data => (0, _helpers.figure)({
22
- data,
23
- ratioName: 'portrait'
24
- }),
25
- landscape: data => (0, _helpers.figure)({
26
- data,
27
- ratioName: 'landscape'
28
- }),
29
- 'portrait-high': data => (0, _helpers.figure)({
30
- data,
31
- ratioName: 'portrait-high'
32
- }),
33
- square: data => (0, _helpers.figure)({
34
- data,
35
- ratioName: 'square'
36
- }),
37
- audio: data => (0, _helpers.media)(_objectSpread(_objectSpread({}, data), {}, {
38
- applyInlineClasses: true
39
- })),
40
- video: data => (0, _helpers.media)(_objectSpread(_objectSpread({}, data), {}, {
41
- applyInlineClasses: true
42
- })),
43
- iframe: data => (0, _helpers.iframe)(_objectSpread(_objectSpread({}, data), {}, {
44
- applyInlineClasses: true
45
- })),
46
- vimeo: data => (0, _helpers.unsupported)({
47
- data,
48
- applyInlineClasses: true
49
- })
50
- };
51
- var _default = epub;
52
- exports.default = _default;
@@ -1,213 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
- var _filterInstanceProperty2 = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
- var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
- var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
- _Object$defineProperty(exports, "__esModule", {
13
- value: true
14
- });
15
- exports.vimeo = exports.unsupported = exports.media = exports.iframe = exports.figureTemplate = exports.figure = void 0;
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
- var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
18
- var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
19
- var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
20
- var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
21
- var _lastIndexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/last-index-of"));
22
- var _imageSize = _interopRequireDefault(require("image-size"));
23
- var _lodash = _interopRequireDefault(require("lodash.uniq"));
24
- var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
25
- var _utils = require("@canopycanopycanopy/b-ber-lib/utils");
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; }
28
- const FULLBLEED_CLASS_NAME = 'figure__fullbleed';
29
- const getClassNamesArray = ({
30
- classes = ''
31
- }) => classes.split(' ');
32
- const getFigureInlineClasses = (data, ratioName) => {
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}`;
35
- };
36
- const getMediaInlineClasses = data => {
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';
39
- };
40
- const getSectionOpen = ({
41
- inline
42
- }) => inline ? '' : '<section epub:type="loi" class="chapter figures">';
43
- const getImageClassName = (data, ratioName) => {
44
- var _context5;
45
- return (0, _includes.default)(_context5 = getClassNamesArray(data)).call(_context5, FULLBLEED_CLASS_NAME) ? 'fullbleed' : ratioName;
46
- };
47
-
48
- // For devices that support wrapping images with anchor tags (all but Mobi)
49
- const linkedImage = data => `
50
- %LINK_OPEN%
51
- <img class="%IMAGE_CLASS_NAME%" alt="%IMAGE_ALT%" src="../images/%IMAGE_SRC%"/>
52
- %LINK_CLOSE%
53
- <div class="figcaption">
54
- <p class="small">%CAPTION_CONTENT%</p>
55
- </div>
56
- `.replace(/%LINK_OPEN%/, data.inline ? '' : `<a href="${data.ref}.xhtml#ref${data.id}">`).replace(/%LINK_CLOSE%/, data.inline ? '' : '</a>').replace(/%IMAGE_CLASS_NAME%/, data.imageClassName).replace(/%IMAGE_ALT%/, data.alt).replace(/%IMAGE_SRC%/, data.source).replace(/%CAPTION_CONTENT%/, data.caption);
57
-
58
- // Inverse of above. the image is wrapped in a span and a back link is added
59
- const unLinkedImage = data => `
60
- <span>
61
- <img class="portrait" alt="%IMAGE_ALT%" src="../images/%IMAGE_SRC%"/>
62
- </span>
63
- <div class="figcaption">
64
- <p class="small">
65
- %CAPTION_CONTENT%
66
- %CAPTION_CONTENT_AFTER%
67
- %CAPTION_BACK_LINK%
68
- </p>
69
- </div>
70
- </div>
71
- `.replace(/%IMAGE_ALT%/, data.alt).replace(/%IMAGE_SRC%/, data.source).replace(/%CAPTION_CONTENT%/, data.caption).replace(/%CAPTION_CONTENT_AFTER%/, data.caption && !data.inline ? '<br/>' : '').replace(/%CAPTION_BACK_LINK%/, data.inline ? '' : `<a href="${data.ref}.xhtml#ref${data.id}">Return</a>`);
72
- const figureTemplate = data => `
73
- %SECTION_OPEN%
74
- <div class="%FIGURE_CLASS_NAMES%">
75
- <figure id="%ID%">
76
- <div class="figure__items">
77
- %IMAGE%
78
- </div>
79
- </figure>
80
- </div>
81
- %SECTION_CLOSE%
82
- `.replace(/%SECTION_OPEN%/, getSectionOpen(data)).replace(/%FIGURE_CLASS_NAMES%/, data.classes).replace(/%ID%/g, data.id).replace(/%IMAGE%/g, data.linkImages ? linkedImage(data) : unLinkedImage(data) // Caption is inserted in by `un/linkedImage `
83
- ).replace(/%SECTION_CLOSE%/, data.inline ? '' : '</section>');
84
- exports.figureTemplate = figureTemplate;
85
- const media = data => `
86
- %SECTION_OPEN%
87
- <div class="%FIGURE_CLASS_NAMES%">
88
- <figure id="%ID%">
89
- <div class="figure__items">
90
- <div class="%MEDIA_TYPE%">
91
- <%MEDIA_TYPE% id="%MEDIA_TYPE%-%ID%" %ELEMENT_ATTRIBUTES%>
92
- %SOURCE_ELEMENTS%
93
- <div class="media__fallback__%MEDIA_TYPE% media__fallback--image">
94
- <figure>
95
- <img src="%POSTER_IMAGE%" alt="Media fallback image"/>
96
- </figure>
97
- </div>
98
- <p class="media__fallback__%MEDIA_TYPE% media__fallback--text">Your device does not support the HTML5 %MEDIA_TYPE% API.</p>
99
- </%MEDIA_TYPE%>
100
- </div>
101
- <div class="figcaption">
102
- <p class="small">
103
- %CAPTION%
104
- <a href="%REF%.xhtml#ref%ID%">Return</a>
105
- </p>
106
- </div>
107
- </div>
108
- </figure>
109
- </div>
110
- %SECTION_CLOSE%
111
- `.replace(/%SECTION_OPEN%/, getSectionOpen(data))
112
- // TODO: `figure__inline--square` class should be replaced with media aspect ratio
113
- .replace(/%FIGURE_CLASS_NAMES%/, getMediaInlineClasses(data)).replace(/%ID%/g, data.id).replace(/%MEDIA_TYPE%/g, data.mediaType).replace(/%ELEMENT_ATTRIBUTES%/g, data.attrString).replace(/%SOURCE_ELEMENTS%/g, data.sourceElements).replace(/%POSTER_IMAGE%/g, data.poster).replace(/%CAPTION%/g, data.caption ? `${data.caption}<br/>` : '').replace(/%REF%/g, data.ref).replace(/%SECTION_CLOSE%/, data.inline ? '' : '</section>');
114
- exports.media = media;
115
- const iframe = data => `
116
- %SECTION_OPEN%
117
- <div class="figure__large figure__large--iframe">
118
- <figure id="%ID%">
119
- <div class="figure__items">
120
- <div class="iframe">
121
- <iframe
122
- src="%SRC%"
123
- title="%TITLE%"
124
- width="%WIDTH%"
125
- height="%HEIGHT%"
126
- webkitallowfullscreen="webkitallowfullscreen"
127
- mozallowfullscreen="mozallowfullscreen"
128
- allowfullscreen="allowfullscreen"
129
- allow="autoplay"
130
- frameborder="0"
131
- scrolling="no"
132
- />
133
- </div>
134
-
135
- <div class="figcaption">
136
- <p class="small">
137
- %CAPTION%
138
- <a href="%REF%.xhtml#ref%ID%">Return</a>
139
- </p>
140
- </div>
141
- </div>
142
- </figure>
143
- </div>
144
- %SECTION_CLOSE%
145
- `.replace(/%SECTION_OPEN%/, getSectionOpen(data)).replace(/%ID%/g, data.id).replace(/%SRC%/g, data.source).replace(/%TITLE%/g, data.title).replace(/%WIDTH%/g, data.width).replace(/%HEIGHT%/g, data.height).replace(/%CAPTION%/g, data.caption ? `${data.caption}<br/>` : '').replace(/%REF%/g, data.ref).replace(/%SECTION_CLOSE%/g, data.inline ? '' : '</section>');
146
- exports.iframe = iframe;
147
- const vimeo = data => `
148
- %SECTION_OPEN%
149
- <div class="figure__large figure__large--vimeo figure__large--%ASPECT_RATIO%">
150
- <figure id="%ID%">
151
- <div class="figure__items">
152
- <div class="vimeo %ASPECT_RATIO_CLASS_NAME%">
153
- <div class="embed %SUPPORT_CLASS_NAME%">
154
- %POSTER_IMAGE_ELEMENT%
155
- <iframe
156
- data-vimeo="true"
157
- data-vimeo-poster="%POSTER_IMAGE_SRC%"
158
- data-aspect-ratio="%ASPECT_RATIO%"
159
- src="%SRC%" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowfullscreen" frameborder="0" />
160
- </div>
161
- </div>
162
-
163
- <div class="figcaption">
164
- <p class="small">
165
- %CAPTION%
166
- <a href="%REF%.xhtml#ref%ID%">Return</a>
167
- </p>
168
- </div>
169
- </div>
170
- </figure>
171
- </div>
172
- %SECTION_CLOSE%
173
- `.replace(/%SECTION_OPEN%/, getSectionOpen(data)).replace(/%ID%/g, data.id).replace(/%ASPECT_RATIO%/g, data.aspectRatio)
174
-
175
- // Poster image for b-ber-reader is pulled from the `data-vimeo-poster`
176
- // attribute
177
- .replace(/%POSTER_IMAGE_ELEMENT%/, data.poster && _State.default.build !== 'reader' ? `<img src="${data.poster}" alt="Poster Image" />` : '').replace(/%POSTER_IMAGE_SRC%/, data.poster).replace(/%SUPPORT_CLASS_NAME%/, _State.default.build === 'reader' || _State.default.build === 'web' ? 'supported' : 'unsupported').replace(/%ASPECT_RATIO_CLASS_NAME%/, data.aspectRatioClassName).replace(/%SRC%/, `https://player.vimeo.com/video/${data.source}${data.attrQuery}`).replace(/%CAPTION%/, data.caption ? `${data.caption}<br/>` : '').replace(/%REF%/, data.ref).replace(/%SECTION_CLOSE%/, data.inline ? '' : '</section>');
178
- exports.vimeo = vimeo;
179
- const figure = ({
180
- data,
181
- ratioName,
182
- applyInlineClasses = false,
183
- linkImages = true
184
- }) => figureTemplate(_objectSpread(_objectSpread({}, data), {}, {
185
- linkImages,
186
- classes: getFigureInlineClasses(data, ratioName),
187
- imageClassName: getImageClassName(data, ratioName),
188
- applyInlineClasses
189
- }));
190
- exports.figure = figure;
191
- const unsupported = ({
192
- data,
193
- applyInlineClasses = false,
194
- linkImages = true
195
- }) => {
196
- var _context6, _context7;
197
- const source = (0, _slice.default)(_context6 = data.poster).call(_context6, (0, _lastIndexOf.default)(_context7 = data.poster).call(_context7, '/') + 1);
198
- const {
199
- width,
200
- height
201
- } = (0, _imageSize.default)(_State.default.src.images(source));
202
- const ratioName = (0, _utils.getImageOrientation)(width, height);
203
- return figureTemplate(_objectSpread(_objectSpread({}, data), {}, {
204
- source,
205
- alt: 'Media Fallback Image',
206
- caption: 'Your device does not support embedded media.',
207
- linkImages,
208
- classes: getFigureInlineClasses(data, ratioName),
209
- imageClassName: getImageClassName(data, ratioName),
210
- applyInlineClasses
211
- }));
212
- };
213
- exports.unsupported = unsupported;
package/figures/index.js DELETED
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _utils = require("@canopycanopycanopy/b-ber-lib/utils");
10
- var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
11
- var _epub = _interopRequireDefault(require("./epub"));
12
- var _mobi = _interopRequireDefault(require("./mobi"));
13
- var _reader = _interopRequireDefault(require("./reader"));
14
- var _web = _interopRequireDefault(require("./web"));
15
- const figures = {
16
- epub: _epub.default,
17
- mobi: _mobi.default,
18
- reader: _reader.default,
19
- web: _web.default
20
- };
21
- const isImage = mime => /^image/.test(mime);
22
- const isAudio = mime => /^audio/.test(mime);
23
- const isVideo = mime => /^video/.test(mime);
24
- const isIframe = type => type === 'iframe';
25
- const isVimeo = type => type === 'vimeo';
26
- const figure = (data, buildType) => {
27
- const {
28
- width,
29
- height,
30
- mime,
31
- type
32
- } = data;
33
- const build = !buildType || !figures[buildType] ? 'epub' : buildType;
34
- let format = null;
35
- if (isIframe(type) || isVimeo(type)) {
36
- format = type;
37
- } else if (isImage(mime)) {
38
- format = (0, _utils.getImageOrientation)(width, height);
39
- } else if (isAudio(mime)) {
40
- format = 'audio';
41
- } else if (isVideo(mime)) {
42
- format = 'video';
43
- }
44
- if (!format) {
45
- _bBerLogger.default.error(`bber-templates: [${data.source}] is of unsupported media type [${mime}]`);
46
- }
47
- return figures[build][format](data);
48
- };
49
- var _default = figure;
50
- exports.default = _default;
package/figures/mobi.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
- var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
- var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
- var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
- _Object$defineProperty(exports, "__esModule", {
13
- value: true
14
- });
15
- exports.default = void 0;
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
- var _helpers = require("./helpers");
18
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- const mobi = {
21
- portrait: data => (0, _helpers.figure)({
22
- data,
23
- ratioName: 'portrait',
24
- linkImages: false
25
- }),
26
- landscape: data => (0, _helpers.figure)({
27
- data,
28
- ratioName: 'landscape',
29
- linkImages: false
30
- }),
31
- 'portrait-high': data => (0, _helpers.figure)({
32
- data,
33
- ratioName: 'portrait-high',
34
- linkImages: false
35
- }),
36
- square: data => (0, _helpers.figure)({
37
- data,
38
- ratioName: 'square',
39
- linkImages: false
40
- }),
41
- audio: data => (0, _helpers.media)(_objectSpread(_objectSpread({}, data), {}, {
42
- applyInlineClasses: true
43
- })),
44
- video: data => (0, _helpers.media)(_objectSpread(_objectSpread({}, data), {}, {
45
- applyInlineClasses: true
46
- })),
47
- iframe: data => (0, _helpers.unsupported)({
48
- data,
49
- applyInlineClasses: true
50
- }),
51
- vimeo: data => (0, _helpers.unsupported)({
52
- data,
53
- applyInlineClasses: true
54
- })
55
- };
56
- var _default = mobi;
57
- exports.default = _default;
package/figures/reader.js DELETED
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
- var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
- var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
- var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
- var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
- var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
- var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
- _Object$defineProperty(exports, "__esModule", {
13
- value: true
14
- });
15
- exports.default = void 0;
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
- var _helpers = require("./helpers");
18
- function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = _filterInstanceProperty(o).call(o, function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(t), !0)).call(_context, function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : _forEachInstanceProperty(_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- const reader = {
21
- landscape: data => (0, _helpers.figure)({
22
- data,
23
- ratioName: 'landscape',
24
- applyInlineClasses: true
25
- }),
26
- portrait: data => (0, _helpers.figure)({
27
- data,
28
- ratioName: 'portrait',
29
- applyInlineClasses: true
30
- }),
31
- 'portrait-high': data => (0, _helpers.figure)({
32
- data,
33
- ratioName: 'portrait-high',
34
- applyInlineClasses: true
35
- }),
36
- square: data => (0, _helpers.figure)({
37
- data,
38
- ratioName: 'square',
39
- applyInlineClasses: true
40
- }),
41
- audio: data => (0, _helpers.media)(_objectSpread(_objectSpread({}, data), {}, {
42
- applyInlineClasses: true
43
- })),
44
- video: data => (0, _helpers.media)(_objectSpread(_objectSpread({}, data), {}, {
45
- applyInlineClasses: true
46
- })),
47
- iframe: data => (0, _helpers.iframe)(_objectSpread(_objectSpread({}, data), {}, {
48
- applyInlineClasses: true
49
- })),
50
- vimeo: data => (0, _helpers.vimeo)(_objectSpread(_objectSpread({}, data), {}, {
51
- applyInlineClasses: true
52
- }))
53
- };
54
- var _default = reader;
55
- exports.default = _default;