diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index 8d6ab4f8..bc890feb 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -1271,8 +1271,14 @@ class TextPage { if (note) { if (orig) {//show dialog this.noteId = noteId; - const pad = (note.para.length > 1 ? 20 : 0); - this.noteHtml = note.para.map(p => `

${p}

`).join(''); + this.noteHtml = note.xml + .replace(/

/g, '

') + .replace(//g, '
').replace(/<\/stanza>/g, '') + .replace(//g, '

').replace(/<\/v>/g, '

') + .replace(//g, '').replace(/<\/emphasis>/g, '') + .replace(//g, '
').replace(/<\/text-author>/g, '') + ; + this.noteDialogVisible = true; } else {//go to orig this.goToOrigNote(noteId); @@ -1335,3 +1341,10 @@ export default vueComponent(TextPage); } + \ No newline at end of file diff --git a/client/components/Reader/share/BookParser.js b/client/components/Reader/share/BookParser.js index 54f6236d..79c28749 100644 --- a/client/components/Reader/share/BookParser.js +++ b/client/components/Reader/share/BookParser.js @@ -94,6 +94,7 @@ export default class BookParser { let inNote = false; let noteId = ''; let inNotesBody = false; + const noteTags = new Set(['p', 'poem', 'stanza', 'v', 'text-author', 'emphasis']); //оглавление this.contents = []; @@ -429,7 +430,7 @@ export default class BookParser { } note.noteParaIndex = paraIndex; - note.para = []; + note.xml = ''; noteId = id; } @@ -447,12 +448,8 @@ export default class BookParser { inPara = true; isFirstTitlePara = false; - if (inNotesBody && noteId) { - if (!inTitle) { - this.notes[noteId].para.push(''); - } else { - growParagraph(``, 0); - } + if (inTitle && inNotesBody && noteId) { + growParagraph(``, 0); } } } @@ -487,6 +484,10 @@ export default class BookParser { bold = true; space += 1; } + + if (!inTitle && inNotesBody && noteId && noteTags.has(tag)) { + this.notes[noteId].xml += `<${tag}>`; + } } }; @@ -551,6 +552,10 @@ export default class BookParser { bold = false; space -= 1; } + + if (!inTitle && inNotesBody && noteId && noteTags.has(tag)) { + this.notes[noteId].xml += ``; + } } let i = path.lastIndexOf(tag); @@ -637,10 +642,8 @@ export default class BookParser { else growParagraph(' ', 1); - if (!inTitle && inPara && inNotesBody && noteId) { - const p = this.notes[noteId].para; - if (p.length) - p[p.length - 1] = p[p.length - 1] + text; + if (!inTitle && inNotesBody && noteId) { + this.notes[noteId].xml += text; } } }; diff --git a/client/components/Reader/versionHistory.js b/client/components/Reader/versionHistory.js index d236b44b..7fe222c4 100644 --- a/client/components/Reader/versionHistory.js +++ b/client/components/Reader/versionHistory.js @@ -1,6 +1,6 @@ export const versionHistory = [ { - version: '1.2.1', + version: '1.2.2', releaseDate: '2024-07-28', showUntil: '2024-08-04', content: diff --git a/package.json b/package.json index 5a44327e..675358b7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "liberama", - "version": "1.2.1", + "version": "1.2.2", "author": "Book Pauk ", "license": "CC0-1.0", "repository": "bookpauk/liberama",