SearchHelpPage.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. const he = require('he');
  2. const BasePage = require('./BasePage');
  3. class SearchHelpPage extends BasePage {
  4. constructor(config) {
  5. super(config);
  6. this.id = 'search_help';
  7. this.title = 'Памятка по поиску';
  8. }
  9. async body(req) {
  10. const result = {};
  11. result.link = this.baseLinks(req, true);
  12. const content = `
  13. Формат поискового значения:
  14. <ul>
  15. <li>
  16. без префикса: значение трактуется, как "начинается с"
  17. </li>
  18. <li>
  19. префикс "=": поиск по точному совпадению
  20. </li>
  21. <li>
  22. префикс "*": поиск подстроки в строке
  23. </li>
  24. <li>
  25. префикс "#": поиск подстроки в строке, но только среди значений, начинающихся не с латинского или кириллического символа
  26. </li>
  27. <li>
  28. префикс "~": поиск по регулярному выражению
  29. </li>
  30. <li>
  31. префикс "?": поиск пустых значений или тех, что начинаются с этого символа
  32. </li>
  33. </ul>
  34. `;
  35. const entry = [
  36. this.makeEntry({
  37. id: 'help',
  38. title: this.title,
  39. content: {
  40. '*ATTRS': {type: 'text/html'},
  41. '*TEXT': he.escape(content),
  42. },
  43. link: [
  44. this.downLink({href: '/book/fake-link', type: `application/fb2+zip`})
  45. ],
  46. })
  47. ];
  48. result.entry = entry;
  49. return this.makeBody(result, req);
  50. }
  51. }
  52. module.exports = SearchHelpPage;