@canopycanopycanopy/b-ber-tasks 3.0.0 → 3.0.3
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/dist/clean/index.js +0 -15
- package/dist/container/index.js +1 -20
- package/dist/copy/index.js +2 -20
- package/dist/cover/index.js +20 -75
- package/dist/deploy/index.js +9 -54
- package/dist/epub/index.js +0 -12
- package/dist/footnotes/index.js +0 -27
- package/dist/generate/index.js +5 -32
- package/dist/index.js +0 -52
- package/dist/init/index.js +4 -29
- package/dist/inject/index.js +3 -31
- package/dist/loi/index.js +16 -61
- package/dist/mobi/index.js +8 -17
- package/dist/mobi/mobi-css.js +2 -39
- package/dist/opf/ManifestAndMetadata.js +18 -35
- package/dist/opf/Navigation.js +28 -82
- package/dist/opf/Opf.js +3 -20
- package/dist/opf/helpers.js +5 -20
- package/dist/opf/index.js +0 -10
- package/dist/pdf/index.js +3 -29
- package/dist/reader/index.js +11 -69
- package/dist/render/index.js +2 -28
- package/dist/sample/index.js +0 -6
- package/dist/sass/index.js +30 -66
- package/dist/scripts/index.js +0 -24
- package/dist/serialize.js +1 -20
- package/dist/serve/index.js +5 -29
- package/dist/validate/index.js +0 -24
- package/dist/web/Template.js +0 -21
- package/dist/web/index.js +31 -128
- package/dist/xml/index.js +0 -30
- package/package.json +10 -10
package/dist/loi/index.js
CHANGED
|
@@ -1,78 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
4
|
-
|
|
5
4
|
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
|
|
6
|
-
|
|
7
5
|
var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
|
|
8
|
-
|
|
9
6
|
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
|
|
10
|
-
|
|
11
7
|
var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
|
|
12
|
-
|
|
13
8
|
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
|
|
14
|
-
|
|
15
9
|
var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
|
|
16
|
-
|
|
17
10
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
18
|
-
|
|
19
11
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
20
|
-
|
|
21
12
|
_Object$defineProperty(exports, "__esModule", {
|
|
22
13
|
value: true
|
|
23
14
|
});
|
|
24
|
-
|
|
25
15
|
exports.default = void 0;
|
|
26
|
-
|
|
27
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
28
|
-
|
|
29
17
|
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
|
30
|
-
|
|
31
18
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
|
32
|
-
|
|
33
19
|
var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
|
|
34
|
-
|
|
35
20
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
36
|
-
|
|
37
21
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
|
38
|
-
|
|
39
22
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
40
|
-
|
|
41
23
|
var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
|
|
42
|
-
|
|
43
24
|
var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
|
|
44
|
-
|
|
45
25
|
var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
|
|
46
|
-
|
|
47
26
|
var _bBerLib = require("@canopycanopycanopy/b-ber-lib");
|
|
48
|
-
|
|
49
27
|
var _figures = _interopRequireDefault(require("@canopycanopycanopy/b-ber-templates/figures"));
|
|
50
|
-
|
|
51
28
|
var _Xhtml = _interopRequireDefault(require("@canopycanopycanopy/b-ber-templates/Xhtml"));
|
|
52
|
-
|
|
53
29
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
54
|
-
|
|
55
30
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys(Object(source), !0)).call(_context3, function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
56
|
-
|
|
57
31
|
const createLOILeader = () => {
|
|
58
32
|
const baseName = 'figures-titlepage';
|
|
59
|
-
const fileName = `${baseName}.xhtml`;
|
|
60
|
-
|
|
61
|
-
const markup = _bBerLib.Template.render(_Xhtml.default.loi(), _Xhtml.default.body()); // Add guide item to content.opf
|
|
33
|
+
const fileName = `${baseName}.xhtml`;
|
|
62
34
|
|
|
35
|
+
// Create LOI page markup
|
|
36
|
+
const markup = _bBerLib.Template.render(_Xhtml.default.loi(), _Xhtml.default.body());
|
|
63
37
|
|
|
38
|
+
// Add guide item to content.opf
|
|
64
39
|
const guideItem = new _bBerLib.GuideItem({
|
|
65
40
|
fileName,
|
|
66
41
|
title: 'Figures',
|
|
67
42
|
type: 'loi'
|
|
68
43
|
});
|
|
44
|
+
_State.default.add('guide', guideItem);
|
|
69
45
|
|
|
70
|
-
|
|
71
|
-
|
|
46
|
+
// Check if the figures titlepage has been declared
|
|
47
|
+
const index = (0, _indexOf.default)(_State.default).call(_State.default, 'spine.flattened', item => item.fileName === baseName);
|
|
72
48
|
|
|
73
|
-
|
|
49
|
+
// If not, add it to state.spine so that it can be referenced
|
|
74
50
|
// in the content.opf
|
|
75
|
-
|
|
76
51
|
if (index < 0) {
|
|
77
52
|
const item = {
|
|
78
53
|
fileName: baseName,
|
|
@@ -81,62 +56,45 @@ const createLOILeader = () => {
|
|
|
81
56
|
pageOrder: -1,
|
|
82
57
|
generated: true
|
|
83
58
|
};
|
|
84
|
-
|
|
85
59
|
_State.default.add('spine.entries', baseName);
|
|
86
|
-
|
|
87
60
|
_State.default.add('spine.nested', new _bBerLib.SpineItem(item));
|
|
88
|
-
|
|
89
61
|
_State.default.add('spine.flattened', item);
|
|
90
62
|
}
|
|
91
|
-
|
|
92
63
|
_bBerLogger.default.info(`loi emit default figures titlepage [${fileName}]`);
|
|
93
|
-
|
|
94
64
|
return _fsExtra.default.writeFile(_State.default.dist.text(fileName), markup, 'utf8');
|
|
95
|
-
};
|
|
96
|
-
|
|
65
|
+
};
|
|
97
66
|
|
|
67
|
+
// only called in `reader` build
|
|
98
68
|
const createLOIAsSingleHTMLFile = () => {
|
|
99
69
|
var _context;
|
|
100
|
-
|
|
101
70
|
const classes = item => item.classes ? item.classes.replace(/small/g, 'inline') : '';
|
|
102
|
-
|
|
103
71
|
const figuresPage = (0, _reduce.default)(_context = _State.default.figures).call(_context, (acc, curr) => (0, _concat.default)(acc).call(acc, (0, _figures.default)(_objectSpread(_objectSpread({}, curr), {}, {
|
|
104
72
|
classes: classes(curr)
|
|
105
73
|
}), _State.default.build)), _Xhtml.default.loi());
|
|
106
74
|
const fileName = 'figures-titlepage.xhtml';
|
|
107
|
-
|
|
108
75
|
const markup = _bBerLib.Template.render(figuresPage, _Xhtml.default.body());
|
|
109
|
-
|
|
110
76
|
const guideItem = new _bBerLib.GuideItem({
|
|
111
77
|
fileName,
|
|
112
78
|
title: 'Figures',
|
|
113
79
|
type: 'loi'
|
|
114
80
|
});
|
|
115
|
-
|
|
116
81
|
_State.default.add('guide', guideItem);
|
|
117
|
-
|
|
118
82
|
_bBerLogger.default.info(`loi emit figures titlepage [${fileName}]`);
|
|
119
|
-
|
|
120
83
|
return _fsExtra.default.writeFile(_State.default.dist.text(fileName), markup, 'utf8');
|
|
121
84
|
};
|
|
122
|
-
|
|
123
85
|
const createLOIAsSeparateHTMLFiles = () => {
|
|
124
86
|
var _context2;
|
|
125
|
-
|
|
126
87
|
const promises = (0, _map.default)(_context2 = _State.default.figures).call(_context2, data => {
|
|
127
88
|
// Create image string based on dimensions of image
|
|
128
89
|
// returns square | landscape | portrait | portraitLong
|
|
129
90
|
const figures = (0, _figures.default)(data, _State.default.build);
|
|
130
|
-
|
|
131
91
|
const markup = _bBerLib.Template.render(figures, _Xhtml.default.body());
|
|
132
|
-
|
|
133
92
|
const {
|
|
134
93
|
page: fileName,
|
|
135
94
|
ref,
|
|
136
95
|
pageOrder
|
|
137
96
|
} = data;
|
|
138
97
|
const in_toc = false; //eslint-disable-line camelcase
|
|
139
|
-
|
|
140
98
|
const buildType = _State.default.build;
|
|
141
99
|
const spineItem = new _bBerLib.SpineItem({
|
|
142
100
|
fileName,
|
|
@@ -145,32 +103,29 @@ const createLOIAsSeparateHTMLFiles = () => {
|
|
|
145
103
|
pageOrder,
|
|
146
104
|
buildType
|
|
147
105
|
});
|
|
148
|
-
|
|
149
106
|
_State.default.add('loi', spineItem);
|
|
150
|
-
|
|
151
107
|
_bBerLogger.default.info(`loi linking [${data.source}] to [${data.page}]`);
|
|
152
|
-
|
|
153
108
|
return _fsExtra.default.writeFile(_State.default.dist.text(data.page), markup, 'utf8');
|
|
154
109
|
});
|
|
155
110
|
return _promise.default.all(promises).then(() => _State.default.update('loi', (0, _sortBy.default)(_State.default.loi, 'pageOrder')));
|
|
156
111
|
};
|
|
157
|
-
|
|
158
112
|
const loi = () => {
|
|
159
|
-
if (!_State.default.figures.length) return _promise.default.resolve();
|
|
113
|
+
if (!_State.default.figures.length) return _promise.default.resolve();
|
|
114
|
+
|
|
115
|
+
// For certain builds it may be preferable to have all figures on a
|
|
160
116
|
// single page (e.g., during the web or reader builds). We could set
|
|
161
117
|
// a flag for this, but current functionality is to always default
|
|
162
118
|
// to split the figures into separate files *unless* we're building
|
|
163
119
|
// for the reader.
|
|
120
|
+
|
|
164
121
|
// This branch concatentates all the figures, as well as the loi-leader
|
|
165
122
|
// (the 'Figures' header text) into a single document
|
|
166
|
-
|
|
167
123
|
if (_State.default.build === 'reader') {
|
|
168
124
|
return createLOIAsSingleHTMLFile().catch(_bBerLogger.default.error);
|
|
169
|
-
}
|
|
170
|
-
|
|
125
|
+
}
|
|
171
126
|
|
|
127
|
+
// create separate files
|
|
172
128
|
return createLOILeader().then(createLOIAsSeparateHTMLFiles).catch(_bBerLogger.default.error);
|
|
173
129
|
};
|
|
174
|
-
|
|
175
130
|
var _default = loi;
|
|
176
131
|
exports.default = _default;
|
package/dist/mobi/index.js
CHANGED
|
@@ -1,40 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
|
|
14
|
-
|
|
15
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
|
16
|
-
|
|
17
11
|
var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
|
|
18
|
-
|
|
19
12
|
var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
|
|
20
|
-
|
|
21
13
|
var _EbookConvert = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/EbookConvert"));
|
|
22
|
-
|
|
23
14
|
var _utils = require("@canopycanopycanopy/b-ber-lib/utils");
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
'//h:*\[@class="figure__large figure__inline"\]',
|
|
15
|
+
const pageBreakBeforeXPATH = () => [
|
|
16
|
+
// eslint-disable-next-line no-useless-escape
|
|
17
|
+
'//h:*\[@class="figure__large figure__inline"\]',
|
|
18
|
+
// prettier-ignore
|
|
27
19
|
// eslint-disable-next-line no-useless-escape
|
|
28
|
-
'//h:*\[@class="figure__large figure__inline"\]/following::h:p[1]',
|
|
20
|
+
'//h:*\[@class="figure__large figure__inline"\]/following::h:p[1]',
|
|
21
|
+
// prettier-ignore
|
|
29
22
|
// eslint-disable-next-line no-useless-escape
|
|
30
|
-
'//h:*\[contains(@class, "break-before")\]',
|
|
23
|
+
'//h:*\[contains(@class, "break-before")\]',
|
|
24
|
+
// prettier-ignore
|
|
31
25
|
// eslint-disable-next-line no-useless-escape
|
|
32
26
|
'//h:*\[@data-gallery-item\]' // prettier-ignore
|
|
33
27
|
].join('|');
|
|
34
|
-
|
|
35
28
|
const mobi = () => {
|
|
36
29
|
var _context;
|
|
37
|
-
|
|
38
30
|
return (0, _includes.default)(_context = process.argv).call(_context, '--no-compile') ? _promise.default.resolve() : _EbookConvert.default.convert({
|
|
39
31
|
// https://manual.calibre-ebook.com/generated/en/ebook-convert.html#mobi-output-options
|
|
40
32
|
inputPath: _State.default.dist.ops('content.opf'),
|
|
@@ -44,6 +36,5 @@ const mobi = () => {
|
|
|
44
36
|
flags: ['--mobi-file-type=both', '--disable-font-rescaling', '--no-inline-toc', '--chapter="/"', '--chapter-mark=none', '--disable-remove-fake-margins', `--page-breaks-before='${pageBreakBeforeXPATH()}'`]
|
|
45
37
|
}).catch(_bBerLogger.default.error);
|
|
46
38
|
};
|
|
47
|
-
|
|
48
39
|
var _default = mobi;
|
|
49
40
|
exports.default = _default;
|
package/dist/mobi/mobi-css.js
CHANGED
|
@@ -1,70 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
14
|
-
|
|
15
10
|
var _splice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/splice"));
|
|
16
|
-
|
|
17
11
|
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
|
18
|
-
|
|
19
12
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
|
20
|
-
|
|
21
13
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
22
|
-
|
|
23
14
|
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
24
|
-
|
|
25
15
|
var _css = _interopRequireDefault(require("css"));
|
|
26
|
-
|
|
27
16
|
var _path = _interopRequireDefault(require("path"));
|
|
28
|
-
|
|
29
17
|
var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
|
|
30
|
-
|
|
31
18
|
var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
|
|
32
|
-
|
|
33
19
|
const blackListedPrefixes = ['epub|'];
|
|
34
|
-
const blackListedTypes = ['namespace'];
|
|
20
|
+
const blackListedTypes = ['namespace'];
|
|
35
21
|
|
|
22
|
+
// CSS declarations that break mobi files
|
|
36
23
|
const blackListedProperties = ['line-height', '-webkit-hyphens', '-epub-hyphens', 'adobe-hyphenate', '-moz-hyphens', '-ms-hyphens', 'hyphens', 'word-break', 'word-break', 'widows', 'orphans', 'text-rendering', '-webkit-font-smoothing', '-moz-osx-font-smoothing', '-webkit-text-fill-color'];
|
|
37
|
-
|
|
38
24
|
const write = ({
|
|
39
25
|
file,
|
|
40
26
|
content
|
|
41
27
|
}) => _fsExtra.default.writeFile(file, content, 'utf8').then(() => _bBerLogger.default.info(`mobiCSS write [${_path.default.basename(file)}]`));
|
|
42
|
-
|
|
43
28
|
const process = file => _fsExtra.default.readFile(file, 'utf8').then(data => {
|
|
44
29
|
const ast = _css.default.parse(data);
|
|
45
|
-
|
|
46
30
|
let i = ast.stylesheet.rules.length - 1;
|
|
47
|
-
|
|
48
31
|
while (i >= 0) {
|
|
49
32
|
const rule = ast.stylesheet.rules[i];
|
|
50
|
-
|
|
51
33
|
if (rule.selectors) {
|
|
52
34
|
let j = rule.selectors.length - 1;
|
|
53
|
-
|
|
54
35
|
while (j >= 0) {
|
|
55
36
|
let jj = 0;
|
|
56
|
-
|
|
57
37
|
while (jj < blackListedPrefixes.length) {
|
|
58
38
|
var _context;
|
|
59
|
-
|
|
60
39
|
if ((0, _slice.default)(_context = rule.selectors[j]).call(_context, 0, blackListedPrefixes[jj].length) === blackListedPrefixes[jj]) {
|
|
61
40
|
var _context2;
|
|
62
|
-
|
|
63
41
|
_bBerLogger.default.info('mobiCSS remove selector', rule.selectors[j]);
|
|
64
|
-
|
|
65
42
|
(0, _splice.default)(_context2 = rule.selectors).call(_context2, j, 1);
|
|
66
43
|
}
|
|
67
|
-
|
|
68
44
|
jj++; // eslint-disable-line no-plusplus
|
|
69
45
|
}
|
|
70
46
|
|
|
@@ -74,27 +50,20 @@ const process = file => _fsExtra.default.readFile(file, 'utf8').then(data => {
|
|
|
74
50
|
|
|
75
51
|
if ((0, _indexOf.default)(blackListedTypes).call(blackListedTypes, rule.type) > -1) {
|
|
76
52
|
var _context3;
|
|
77
|
-
|
|
78
53
|
_bBerLogger.default.info(`mobiCSS remove ${rule.type} [${rule[rule.type]}]`);
|
|
79
|
-
|
|
80
54
|
(0, _splice.default)(_context3 = ast.stylesheet.rules).call(_context3, i, 1);
|
|
81
55
|
}
|
|
82
|
-
|
|
83
56
|
if (ast.stylesheet.rules[i]) {
|
|
84
57
|
const {
|
|
85
58
|
declarations
|
|
86
59
|
} = ast.stylesheet.rules[i];
|
|
87
|
-
|
|
88
60
|
if (declarations) {
|
|
89
61
|
let a = declarations.length - 1;
|
|
90
|
-
|
|
91
62
|
while (a >= 0) {
|
|
92
63
|
if ((0, _indexOf.default)(blackListedProperties).call(blackListedProperties, declarations[a].property) > -1) {
|
|
93
64
|
_bBerLogger.default.info(`mobiCSS remove property [${declarations[a].property}]`);
|
|
94
|
-
|
|
95
65
|
(0, _splice.default)(declarations).call(declarations, a, 1);
|
|
96
66
|
}
|
|
97
|
-
|
|
98
67
|
a--; // eslint-disable-line no-plusplus
|
|
99
68
|
}
|
|
100
69
|
}
|
|
@@ -104,24 +73,18 @@ const process = file => _fsExtra.default.readFile(file, 'utf8').then(data => {
|
|
|
104
73
|
}
|
|
105
74
|
|
|
106
75
|
const content = _css.default.stringify(ast);
|
|
107
|
-
|
|
108
76
|
return {
|
|
109
77
|
file,
|
|
110
78
|
content
|
|
111
79
|
};
|
|
112
80
|
});
|
|
113
|
-
|
|
114
81
|
const mobiCSS = () => {
|
|
115
82
|
const stylesheetsPath = _State.default.dist.stylesheets();
|
|
116
|
-
|
|
117
83
|
return _fsExtra.default.readdir(stylesheetsPath).then(files => _promise.default.all((0, _map.default)(files).call(files, stylesheet => {
|
|
118
84
|
const file = _State.default.dist.stylesheets(stylesheet);
|
|
119
|
-
|
|
120
85
|
_bBerLogger.default.info(`mobiCSS process [${_path.default.basename(file)}]`);
|
|
121
|
-
|
|
122
86
|
return process(file).then(write);
|
|
123
87
|
})).catch(_bBerLogger.default.error));
|
|
124
88
|
};
|
|
125
|
-
|
|
126
89
|
var _default = mobiCSS;
|
|
127
90
|
exports.default = _default;
|
|
@@ -1,81 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
|
|
4
|
-
|
|
5
4
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
6
|
-
|
|
7
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
|
-
|
|
11
8
|
exports.default = void 0;
|
|
12
|
-
|
|
13
9
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
14
|
-
|
|
15
10
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
|
|
16
|
-
|
|
17
11
|
var _path = _interopRequireDefault(require("path"));
|
|
18
|
-
|
|
19
12
|
var _layouts = _interopRequireDefault(require("layouts"));
|
|
20
|
-
|
|
21
13
|
var _vinyl = _interopRequireDefault(require("vinyl"));
|
|
22
|
-
|
|
23
14
|
var _recursiveReaddir = _interopRequireDefault(require("recursive-readdir"));
|
|
24
|
-
|
|
25
15
|
var _has = _interopRequireDefault(require("lodash/has"));
|
|
26
|
-
|
|
27
16
|
var _bBerLogger = _interopRequireDefault(require("@canopycanopycanopy/b-ber-logger"));
|
|
28
|
-
|
|
29
17
|
var _Metadata = _interopRequireDefault(require("@canopycanopycanopy/b-ber-templates/Opf/Metadata"));
|
|
30
|
-
|
|
31
18
|
var _Manifest = _interopRequireDefault(require("@canopycanopycanopy/b-ber-templates/Opf/Manifest"));
|
|
32
|
-
|
|
33
19
|
var _State = _interopRequireDefault(require("@canopycanopycanopy/b-ber-lib/State"));
|
|
34
|
-
|
|
35
20
|
var _helpers = require("./helpers");
|
|
36
|
-
|
|
37
21
|
/* eslint-disable class-methods-use-this */
|
|
22
|
+
|
|
38
23
|
// Scans directory contents and reads YAML files to create the `manifest` and
|
|
39
24
|
// `metadata` elements in the `content.opf`
|
|
25
|
+
|
|
40
26
|
class ManifestAndMetadata {
|
|
41
27
|
constructor() {
|
|
42
28
|
this.bookmeta = null;
|
|
43
29
|
}
|
|
44
|
-
|
|
45
30
|
async loadMetadata() {
|
|
46
31
|
this.bookmeta = _State.default.metadata.json();
|
|
47
|
-
}
|
|
48
|
-
|
|
32
|
+
}
|
|
49
33
|
|
|
34
|
+
// Retrieve lists of files to include in the `content.opf`
|
|
50
35
|
async createManifestObjectFromAssets() {
|
|
51
|
-
let files = await (0, _recursiveReaddir.default)(_State.default.dist.ops());
|
|
52
|
-
// @issue: https://github.com/triplecanopy/b-ber/issues/228
|
|
36
|
+
let files = await (0, _recursiveReaddir.default)(_State.default.dist.ops());
|
|
53
37
|
|
|
38
|
+
// TODO: better testing here, make sure we're not including symlinks, for example
|
|
39
|
+
// @issue: https://github.com/triplecanopy/b-ber/issues/228
|
|
54
40
|
files = [..._State.default.remoteAssets, ...(0, _filter.default)(files).call(files, file => _path.default.basename(file).charAt(0) !== '.')];
|
|
55
41
|
const fileObjects = (0, _helpers.pathInfoFromFiles)(files, _State.default.distDir);
|
|
56
42
|
return fileObjects;
|
|
57
43
|
}
|
|
58
|
-
|
|
59
44
|
createManifestAndMetadataFromTemplates(files) {
|
|
60
45
|
var _context, _context2;
|
|
61
|
-
|
|
62
46
|
const manifest = (0, _map.default)(files).call(files, file => _Manifest.default.item(file));
|
|
63
47
|
const specifiedFonts = (0, _has.default)(_State.default.config, 'ibooks_specified_fonts') && _State.default.config.ibooks_specified_fonts === true;
|
|
64
48
|
const modified = new Date().toISOString().replace(/\.\d{3}Z$/, 'Z');
|
|
65
|
-
const generator = `b-ber@${_State.default.version}`;
|
|
49
|
+
const generator = `b-ber@${_State.default.version}`;
|
|
66
50
|
|
|
51
|
+
// Add exceptions here as needed
|
|
67
52
|
const bookmeta = [...(0, _filter.default)(_context = (0, _map.default)(_context2 = this.bookmeta).call(_context2, value => _Metadata.default.meta(value))).call(_context, Boolean), `<meta property="ibooks:specified-fonts">${specifiedFonts}</meta>`, `<meta property="dcterms:modified">${modified}</meta>`, `<meta name="generator" content="${generator}" />`];
|
|
68
53
|
return {
|
|
69
54
|
manifest,
|
|
70
55
|
bookmeta
|
|
71
56
|
};
|
|
72
57
|
}
|
|
73
|
-
|
|
74
58
|
createManifestAndMetadataXML(resp) {
|
|
75
59
|
var _context3;
|
|
76
|
-
|
|
77
60
|
_bBerLogger.default.info('opf build [metadata]');
|
|
78
|
-
|
|
79
61
|
const metadata = (0, _layouts.default)(new _vinyl.default({
|
|
80
62
|
path: '.tmp',
|
|
81
63
|
layout: 'body',
|
|
@@ -83,9 +65,7 @@ class ManifestAndMetadata {
|
|
|
83
65
|
}), {
|
|
84
66
|
body: _Metadata.default.body()
|
|
85
67
|
}).contents.toString();
|
|
86
|
-
|
|
87
68
|
_bBerLogger.default.info('opf build [manifest]');
|
|
88
|
-
|
|
89
69
|
const manifest = (0, _layouts.default)(new _vinyl.default({
|
|
90
70
|
path: '.tmp',
|
|
91
71
|
layout: 'body',
|
|
@@ -98,17 +78,20 @@ class ManifestAndMetadata {
|
|
|
98
78
|
manifest
|
|
99
79
|
};
|
|
100
80
|
}
|
|
101
|
-
|
|
102
81
|
init() {
|
|
103
82
|
// get the book metadata from state or yaml file
|
|
104
|
-
return this.loadMetadata()
|
|
105
|
-
|
|
106
|
-
|
|
83
|
+
return this.loadMetadata()
|
|
84
|
+
|
|
85
|
+
// get lists of files to include in the `content.opf`
|
|
86
|
+
.then(() => this.createManifestObjectFromAssets())
|
|
87
|
+
|
|
88
|
+
// create strings of XML entries for the `content.opf`
|
|
89
|
+
.then(resp => this.createManifestAndMetadataFromTemplates(resp))
|
|
90
|
+
|
|
91
|
+
// create the manifest and metadata from templating strings.manifest and
|
|
107
92
|
// strings.metadata
|
|
108
93
|
.then(resp => this.createManifestAndMetadataXML(resp)).catch(_bBerLogger.default.error);
|
|
109
94
|
}
|
|
110
|
-
|
|
111
95
|
}
|
|
112
|
-
|
|
113
96
|
var _default = ManifestAndMetadata;
|
|
114
97
|
exports.default = _default;
|