|
|
@@ -202,8 +202,9 @@ const parseDocElement = (docElement, domElement, cssClassPrefix, topic, activeFr
|
|
|
break;
|
|
|
case 'text':
|
|
|
if (docElement.text().trim()) {
|
|
|
+ let firstInDiv = domElement.name() === 'div' && domElement.childNodes().length === 0;
|
|
|
domElement = domElement.node('text');
|
|
|
- domElement.replace(docElement.text());
|
|
|
+ domElement.replace(firstInDiv ? docElement.text().replace(/^[\n\r]*/, '') : docElement.text());
|
|
|
}
|
|
|
break;
|
|
|
case 'abstract':
|
|
|
@@ -224,8 +225,9 @@ const parseDocElement = (docElement, domElement, cssClassPrefix, topic, activeFr
|
|
|
case undefined:
|
|
|
if (/^<\!\[cdata.*/i.test(docElement.toString())) {
|
|
|
if (docElement.text().trim()) {
|
|
|
+ let firstInDiv = domElement.name() === 'div' && domElement.childNodes().length === 0;
|
|
|
domElement = domElement.node('text');
|
|
|
- domElement.replace(docElement.text());
|
|
|
+ domElement.replace(firstInDiv ? docElement.text().replace(/^[\n\r]*/, '') : docElement.text());
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
@@ -234,6 +236,10 @@ const parseDocElement = (docElement, domElement, cssClassPrefix, topic, activeFr
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ if (isHidden(docElement)) {
|
|
|
+ domElement.attr({ 'style': 'display:none;' });
|
|
|
+ }
|
|
|
+
|
|
|
if (extractorUtils.hasAttributes(docElement, 'id')) {
|
|
|
let fragmentId = docElement.attr('id') && docElement.attr('id').value();
|
|
|
let newFragment = new DocFragment(fragmentId, domElement);
|
|
|
@@ -304,5 +310,6 @@ const parseTopics = (parseResults, cssClassPrefix) => new Promise((resolve, reje
|
|
|
});
|
|
|
|
|
|
module.exports = {
|
|
|
- parseTopics: parseTopics
|
|
|
+ parseTopics: parseTopics,
|
|
|
+ isHidden: isHidden
|
|
|
};
|