|
@@ -63,7 +63,8 @@ export default class BookParser {
|
|
|
|
|
|
const growParagraph = (text, len) => {
|
|
const growParagraph = (text, len) => {
|
|
if (paraIndex < 0) {
|
|
if (paraIndex < 0) {
|
|
- newParagraph(text, len);
|
|
|
|
|
|
+ newParagraph(' ', 1);
|
|
|
|
+ growParagraph(text, len);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -96,60 +97,63 @@ export default class BookParser {
|
|
tag = elemName;
|
|
tag = elemName;
|
|
path += '/' + elemName;
|
|
path += '/' + elemName;
|
|
|
|
|
|
- if ((tag == 'p' || tag == 'empty-line' || tag == 'v') && path.indexOf('/fictionbook/body/section') == 0) {
|
|
|
|
- newParagraph(' ', 1);
|
|
|
|
- }
|
|
|
|
|
|
+ if (path.indexOf('/fictionbook/body') == 0) {
|
|
|
|
+ if (tag == 'title') {
|
|
|
|
+ newParagraph(' ', 1);
|
|
|
|
+ bold = true;
|
|
|
|
+ center = true;
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'emphasis' || tag == 'strong') {
|
|
|
|
- growParagraph(`<${tag}>`, 0);
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'emphasis' || tag == 'strong') {
|
|
|
|
+ growParagraph(`<${tag}>`, 0);
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'title') {
|
|
|
|
- newParagraph(' ', 1);
|
|
|
|
- bold = true;
|
|
|
|
- center = true;
|
|
|
|
- }
|
|
|
|
|
|
+ if ((tag == 'p' || tag == 'empty-line' || tag == 'v')) {
|
|
|
|
+ newParagraph(' ', 1);
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'subtitle') {
|
|
|
|
- newParagraph(' ', 1);
|
|
|
|
- bold = true;
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'subtitle') {
|
|
|
|
+ newParagraph(' ', 1);
|
|
|
|
+ bold = true;
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'epigraph') {
|
|
|
|
- italic = true;
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'epigraph') {
|
|
|
|
+ italic = true;
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'stanza') {
|
|
|
|
- newParagraph(' ', 1);
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'stanza') {
|
|
|
|
+ newParagraph(' ', 1);
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'text-author') {
|
|
|
|
- newParagraph(' <s> <s> <s> ', 4);
|
|
|
|
|
|
+ if (tag == 'text-author') {
|
|
|
|
+ newParagraph(' <s> <s> <s> ', 4);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
};
|
|
};
|
|
|
|
|
|
const onEndNode = (elemName) => {// eslint-disable-line no-unused-vars
|
|
const onEndNode = (elemName) => {// eslint-disable-line no-unused-vars
|
|
if (tag == elemName) {
|
|
if (tag == elemName) {
|
|
- if (tag == 'emphasis' || tag == 'strong') {
|
|
|
|
- growParagraph(`</${tag}>`, 0);
|
|
|
|
- }
|
|
|
|
|
|
+ if (path.indexOf('/fictionbook/body') == 0) {
|
|
|
|
+ if (tag == 'title') {
|
|
|
|
+ bold = false;
|
|
|
|
+ center = false;
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'title') {
|
|
|
|
- bold = false;
|
|
|
|
- center = false;
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'emphasis' || tag == 'strong') {
|
|
|
|
+ growParagraph(`</${tag}>`, 0);
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'subtitle') {
|
|
|
|
- bold = false;
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'subtitle') {
|
|
|
|
+ bold = false;
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'epigraph') {
|
|
|
|
- italic = false;
|
|
|
|
- }
|
|
|
|
|
|
+ if (tag == 'epigraph') {
|
|
|
|
+ italic = false;
|
|
|
|
+ }
|
|
|
|
|
|
- if (tag == 'stanza') {
|
|
|
|
- newParagraph(' ', 1);
|
|
|
|
|
|
+ if (tag == 'stanza') {
|
|
|
|
+ newParagraph(' ', 1);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
path = path.substr(0, path.length - tag.length - 1);
|
|
path = path.substr(0, path.length - tag.length - 1);
|
|
@@ -211,12 +215,12 @@ export default class BookParser {
|
|
let tOpen = (center ? '<center>' : '');
|
|
let tOpen = (center ? '<center>' : '');
|
|
tOpen += (bold ? '<strong>' : '');
|
|
tOpen += (bold ? '<strong>' : '');
|
|
tOpen += (italic ? '<emphasis>' : '');
|
|
tOpen += (italic ? '<emphasis>' : '');
|
|
- let tClose = (center ? '</center>' : '');
|
|
|
|
|
|
+ let tClose = (italic ? '</emphasis>' : '');
|
|
tClose += (bold ? '</strong>' : '');
|
|
tClose += (bold ? '</strong>' : '');
|
|
- tClose += (italic ? '</emphasis>' : '');
|
|
|
|
|
|
+ tClose += (center ? '</center>' : '');
|
|
|
|
|
|
if (path.indexOf('/fictionbook/body/title') == 0) {
|
|
if (path.indexOf('/fictionbook/body/title') == 0) {
|
|
- newParagraph(`${tOpen}${text}${tClose}`, text.length, true);
|
|
|
|
|
|
+ growParagraph(`${tOpen}${text}${tClose}`, text.length, true);
|
|
}
|
|
}
|
|
|
|
|
|
if (path.indexOf('/fictionbook/body/section') == 0) {
|
|
if (path.indexOf('/fictionbook/body/section') == 0) {
|