Улучшение формирования оглавления

This commit is contained in:
Book Pauk
2020-12-19 00:20:11 +07:00
parent 455aba7f4f
commit b358b340b4

View File

@@ -146,25 +146,36 @@ class ContentsPage extends ContentsPageProps {
await this.$nextTick(); await this.$nextTick();
const pc = parsed.contents; const pc = parsed.contents;
const ims = parsed.images;
const newpc = []; const newpc = [];
//преобразуем все, кроме первого, разделы body в title-subtitle if (pc.length) {//если есть оглавление
let curSubtitles = []; //преобразуем все, кроме первого, разделы body в title-subtitle
let prevBodyIndex = -1; let curSubtitles = [];
for (let i = 0; i < pc.length; i++) { let prevBodyIndex = -1;
const cont = pc[i]; for (let i = 0; i < pc.length; i++) {
if (prevBodyIndex != cont.bodyIndex) const cont = pc[i];
curSubtitles = []; if (prevBodyIndex != cont.bodyIndex)
curSubtitles = [];
prevBodyIndex = cont.bodyIndex; prevBodyIndex = cont.bodyIndex;
if (cont.bodyIndex > 1) { if (cont.bodyIndex > 1) {
if (cont.inset < 1) { if (cont.inset < 1) {
newpc.push(Object.assign({}, cont, {subtitles: curSubtitles})); newpc.push(Object.assign({}, cont, {subtitles: curSubtitles}));
} else {
curSubtitles.push(Object.assign({}, cont, {inset: cont.inset - 1}));
}
} else { } else {
curSubtitles.push(Object.assign({}, cont, {inset: cont.inset - 1})); newpc.push(cont);
}
}
} else {//попробуем вытащить из images
for (let i = 0; i < ims.length; i++) {
const image = ims[i];
if (image.alt) {
newpc.push({paraIndex: image.paraIndex, title: image.alt, inset: 1, bodyIndex: 0, subtitles: []});
} }
} else {
newpc.push(cont);
} }
} }
@@ -213,7 +224,6 @@ class ContentsPage extends ContentsPageProps {
//формируем newImages //формируем newImages
const newImages = []; const newImages = [];
const ims = parsed.images;
for (i = 0; i < ims.length; i++) { for (i = 0; i < ims.length; i++) {
const image = ims[i]; const image = ims[i];
const bin = parsed.binary[image.id]; const bin = parsed.binary[image.id];