|
@@ -24,13 +24,18 @@ class BasePage {
|
|
this.showDeleted = false;
|
|
this.showDeleted = false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ escape(s) {
|
|
|
|
+ //костыль для koreader, не понимает hex-экранирование вида '
|
|
|
|
+ return he.escape(s).replace(/'/g, ''').replace(/`/g, '`');
|
|
|
|
+ }
|
|
|
|
+
|
|
makeEntry(entry = {}) {
|
|
makeEntry(entry = {}) {
|
|
if (!entry.id)
|
|
if (!entry.id)
|
|
throw new Error('makeEntry: no id');
|
|
throw new Error('makeEntry: no id');
|
|
if (!entry.title)
|
|
if (!entry.title)
|
|
throw new Error('makeEntry: no title');
|
|
throw new Error('makeEntry: no title');
|
|
|
|
|
|
- entry.title = he.escape(entry.title);
|
|
|
|
|
|
+ entry.title = this.escape(entry.title);
|
|
|
|
|
|
const result = {
|
|
const result = {
|
|
updated: (new Date()).toISOString().substring(0, 19) + 'Z',
|
|
updated: (new Date()).toISOString().substring(0, 19) + 'Z',
|
|
@@ -48,7 +53,7 @@ class BasePage {
|
|
}
|
|
}
|
|
|
|
|
|
makeLink(attrs) {
|
|
makeLink(attrs) {
|
|
- attrs.href = he.escape(attrs.href);
|
|
|
|
|
|
+ attrs.href = this.escape(attrs.href);
|
|
return {'*ATTRS': attrs};
|
|
return {'*ATTRS': attrs};
|
|
}
|
|
}
|
|
|
|
|