SearchHelpPage.js 1.7 KB

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