diff --git a/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue b/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue
index b17fcd05..b42d119c 100644
--- a/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue
+++ b/client/components/Reader/LoaderPage/PasteTextPage/PasteTextPage.vue
@@ -26,6 +26,7 @@ import Component from 'vue-class-component';
import Window from '../../../share/Window.vue';
import _ from 'lodash';
+import * as utils from '../../../../share/utils';
export default @Component({
components: {
@@ -42,7 +43,7 @@ class PasteTextPage extends Vue {
this.$refs.textArea.focus();
}
- getNonEmptyLine(text, count) {
+ getNonEmptyLine3words(text, count) {
let result = '';
const lines = text.split("\n");
let i = 0;
@@ -56,21 +57,23 @@ class PasteTextPage extends Vue {
}
i++;
}
- return result;
+
+ result = result.trim().split(' ');
+ return result.slice(0, 3).join(' ');
}
calcTitle(event) {
if (this.bookTitle == '') {
let text = event.clipboardData.getData('text');
- this.bookTitle = _.compact([
- this.getNonEmptyLine(text, 1),
- this.getNonEmptyLine(text, 2)
+ this.bookTitle = `Из буфера обмена ${utils.formatDate(new Date(), 'noDate')}: ` + _.compact([
+ this.getNonEmptyLine3words(text, 1),
+ this.getNonEmptyLine3words(text, 2)
]).join(' - ');
}
}
loadBuffer() {
- this.$emit('load-buffer', {buffer: `
${this.bookTitle}${this.$refs.textArea.value}`});
+ this.$emit('load-buffer', {buffer: `${this.bookTitle}${this.$refs.textArea.value}`});
this.close();
}
diff --git a/client/components/Reader/versionHistory.js b/client/components/Reader/versionHistory.js
index a8a251dc..48269565 100644
--- a/client/components/Reader/versionHistory.js
+++ b/client/components/Reader/versionHistory.js
@@ -9,6 +9,7 @@ export const versionHistory = [
исправлен баг - не распознавались некоторые книги формата fb2 в кодировке utf8
добавлены новые варианты анимации перелистывания
улучшены прогрессбары
+ исправления недочетов
`
},
diff --git a/client/share/utils.js b/client/share/utils.js
index 612610ce..1469fbc1 100644
--- a/client/share/utils.js
+++ b/client/share/utils.js
@@ -41,6 +41,8 @@ export function formatDate(d, format) {
`${d.getHours().toString().padStart(2, '0')}:${d.getMinutes().toString().padStart(2, '0')}`;
case 'coDate':
return `${d.getFullYear()}-${(d.getMonth() + 1).toString().padStart(2, '0')}-${d.getDate().toString().padStart(2, '0')}`;
+ case 'noDate':
+ return `${d.getDate().toString().padStart(2, '0')}.${(d.getMonth() + 1).toString().padStart(2, '0')}.${d.getFullYear()}`;
}
}
diff --git a/server/core/BookConverter/ConvertHtml.js b/server/core/BookConverter/ConvertHtml.js
index 26c097fc..e47e23ea 100644
--- a/server/core/BookConverter/ConvertHtml.js
+++ b/server/core/BookConverter/ConvertHtml.js
@@ -28,7 +28,7 @@ class ConvertHtml extends ConvertBase {
} else {
isText = opts.isText;
}
- const {cutTitle} = opts;
+ let {cutTitle} = opts;
let titleInfo = {};
let desc = {_n: 'description', 'title-info': titleInfo};
@@ -123,8 +123,11 @@ class ConvertHtml extends ConvertBase {
}
}
- if (tag == 'title')
+ if (tag == 'title' || tag == 'cut-title') {
inTitle = true;
+ if (tag == 'cut-title')
+ cutTitle = true;
+ }
if (tag == 'fb2-image') {
inImage = true;
@@ -153,7 +156,7 @@ class ConvertHtml extends ConvertBase {
}
}
- if (tag == 'title')
+ if (tag == 'title' || tag == 'cut-title')
inTitle = false;
if (tag == 'fb2-image')