SearchHelpPage.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. <li>
  33. префикс "?": поиск пустых значений или тех, что начинаются с этого символа
  34. </li>
  35. </ul>
  36. `;
  37. const entry = [
  38. this.makeEntry({
  39. id: 'help',
  40. title: this.title,
  41. content: {
  42. '*ATTRS': {type: 'text/html'},
  43. '*TEXT': this.escape(content),
  44. },
  45. link: [
  46. this.downLink({href: '/book/fake-link', type: `application/fb2+zip`})
  47. ],
  48. })
  49. ];
  50. result.entry = entry;
  51. return this.makeBody(result, req);
  52. }
  53. }
  54. module.exports = SearchHelpPage;