diff --git a/server/core/Reader/BookConverter/ConvertSites.js b/server/core/Reader/BookConverter/ConvertSites.js
index 96e756cf..5b9a608d 100644
--- a/server/core/Reader/BookConverter/ConvertSites.js
+++ b/server/core/Reader/BookConverter/ConvertSites.js
@@ -12,7 +12,10 @@ const sitesFilter = {
converter: 'cutter',
begin: ``,
end: ``,
- }
+ },
+ 'flibusta.is': {
+ converter: 'flibusta'
+ },
};
class ConvertSites extends ConvertHtml {
@@ -54,11 +57,11 @@ class ConvertSites extends ConvertHtml {
if (m)
title = m[1];
- return `
${title.trim()}`;
+ return title.trim();
}
cutter(text, opts) {
- const title = this.getTitle(text);
+ const title = `${this.getTitle(text)}`;
const l = text.indexOf(opts.begin) + opts.begin.length;
const r = text.indexOf(opts.end);
if (l < 0 || r < 0 || r <= l)
@@ -66,6 +69,42 @@ class ConvertSites extends ConvertHtml {
return text.substring(l, r) + title;
}
+
+ flibusta(text) {
+ let author = '';
+ let m = text.match(/- ([\s\S]*?)<\/a>
/);
+ if (m)
+ author = m[1];
+
+ let book = this.getTitle(text);
+ book = book.replace(' (fb2) | Флибуста', '');
+
+ const title = `${author}${(author ? ' - ' : '')}${book}`;
+
+ let begin = '';
+ if (text.indexOf(begin) <= 0)
+ begin = '';
+
+ const end = '