Veloman Yunkan
958067d94d
Backend translates the search results page
...
Now the search results page is presented by the backend in the language
controlled by the value of the `userlang` URL query parameter (or, if
the latter is missing, the value of the `Accept-Language:` HTTP header).
Note that the front-end doesn't yet take advantage of this
functionality.
2024-02-01 18:27:54 +04:00
Veloman Yunkan
33a3277400
Search result info as translatable text
...
However it is NOT actually translated by the backend yet
2024-02-01 18:27:33 +04:00
Veloman Yunkan
8f5714be07
Search results page header as translatable text
...
However it is NOT actually translated by the backend yet
2024-02-01 18:27:11 +04:00
Veloman Yunkan
c4fa42f20b
Search results page title as translatable text
...
However it is NOT actually translated by the backend yet
2024-02-01 18:22:36 +04:00
Matthieu Gautier
9166b67c47
Do not allow SearchRendered to work on a delete nameMapper/Library.
...
By moving the nameMapper/library arguments in `getHtml`/`getXml` we avoid
any potential "use after free" of name mapper or library as they are not
stored.
2023-10-05 16:37:22 +02:00
Matthieu Gautier
ead1474ead
Make `SearchRendered` taking a const pointer.
2023-10-05 16:37:22 +02:00
Veloman Yunkan
471c5b89f4
Dropped the 2nd param of urlEncode()
...
`urlEncode(str)` is now equivalent to the previous `urlEncode(str, true)`.
2023-01-25 19:15:12 +04:00
Veloman Yunkan
0bde4d9412
Properly URI-encoded links in search results
...
Special URI symbols occurring in the item path part of the search result
link were NOT encoded, because that would also encode the path separator (/)
symbol. Now that `urlEncode()` never encodes the / symbol, it is safe to
encode all other URI-special symbols in the path.
2023-01-25 19:15:12 +04:00
Veloman Yunkan
60148717e1
Fixed search results for kiwix-desktop
2022-09-26 13:11:25 +04:00
Emmanuel Engelhart
1062bd73a3
It's libkiwix, not kiwixlib
2022-09-11 16:05:25 +02:00
Veloman Yunkan
fd36d11ccf
Search results now use the /content URL scheme
2022-08-11 18:04:05 +04:00
Matthieu Gautier
71e2df7406
Explicit std
...
Removed headers were `using namespace std`.
So we have to be explicit everywhere.
2022-07-02 16:33:32 +02:00
Matthieu Gautier
69931fb347
Remove libzim's wrapper.
...
It is time to remove them. They are deprecated since 10.0.0
2022-07-02 16:33:32 +02:00
Matthieu Gautier
bfcf317f09
Properly set "language" parameter in `opensearch::Query` tag.
2022-06-03 15:46:41 +02:00
Matthieu Gautier
7cb98f7f4e
Make opensearch start parameter 1 indexed.
2022-06-03 15:46:41 +02:00
Matthieu Gautier
e5df5e936f
Render the search result using (opensearch/atom) xml format.
2022-06-03 15:46:41 +02:00
Matthieu Gautier
fbc7656b3f
Use proper argument order when building the SearchRenderer from a Searcher
2022-06-02 17:08:50 +02:00
Matthieu Gautier
b857293cfd
Build the bookSelection query string when we parse the query.
...
We have to reuse the query the user give us to generate the
pagination links.
At search result rendering step we don't have access to the query object.
The best place to know which arguments are used to select books
(and so which arguments to keep in the pagination links) is when we
parse the query to select books.
Fix tests (pagination links) with book selector other than "books.id="
(pattern=jazz&books.query.lang=eng)
2022-06-02 12:37:52 +02:00
Matthieu Gautier
077ceac5a5
Make the search_rendered handle multizim search.
...
This introduce a intermediate mustache object to store information
about the request made by the user.
2022-06-02 12:22:28 +02:00
Matthieu Gautier
aad95e3413
Introduce a results intermediate object in the template rendering.
...
Url in href must not be html encoded. As we already url encode the path, it
is ok to have `'` in the url.
2022-05-23 19:16:14 +02:00
Matthieu Gautier
f0dd34b6db
Introduce buildQueryData helper in SearchRenderer
2022-05-23 19:13:25 +02:00
Matthieu Gautier
bbdde93f49
Introduce a pagination object to render search result.
2022-05-23 19:12:17 +02:00
Matthieu Gautier
cb62da65c3
Raise a exception if something went wrong in the template rendering.
2022-05-23 10:56:39 +02:00
Veloman Yunkan
84c68d4d7b
Search results pagination bugfix
...
Search results pagination is disabled for a single page outcome too.
2022-05-18 12:45:47 +04:00
Matthieu Gautier
422f4c7dd7
Reuse constructor when creating the SearchRenderer with basic constructor.
2022-03-04 17:08:59 +01:00
Matthieu Gautier
609bc24cbe
Small cleanups.
...
- Remove unused `archive`
- Replace tab by spaces
2022-02-25 15:46:13 +01:00
Matthieu Gautier
d9124ed40b
Set the book title only if we have a library.
2022-02-25 15:46:13 +01:00
Matthieu Gautier
921671eb4d
Do not use ostringstream to convert the uuid into string.
...
`zim::Uuid` already have a string convertion operator. Let's use it.
2022-02-25 15:46:13 +01:00
Matthieu Gautier
ec18eb40ea
Readd a `SearchRenderer` constructor without `Library` argument.
...
Adding the library argument breaks the API. It is better to add
another constructor to not have to create another major version.
2022-02-25 15:46:13 +01:00
Tristan Havelick
58be502f3f
add book titles to search results
2022-02-16 12:50:18 +01:00
Matthieu Gautier
fa83a61a54
Move all public *Tools.h in src.
...
This by definition remove all the tool functions from the public API.
2021-07-07 14:43:13 +02:00
Maneesh P M
bcece66960
Add SearchRenderer handles for libzim structures
...
Introduces a new member mp_search that houses the zim::Search object,
adds a new constructor for this purpose. This commit also add an
overload for getHtml that takes start and end integers as arguments
since they are not part of the search object we include.
2021-07-03 14:05:50 +05:30
Maneesh P M
e2f6d91d51
Remove get_readerIndex in favor of get_zimId
...
The function get_readerIndex was used to get the zimId using an ordered
vector of readers. Now we can use get_zimId directly.
2021-05-26 14:45:25 +02:00
manan jethwani
c74b935a9b
added pageLength for search_pagination
2020-08-12 02:08:02 +05:30
Matthieu Gautier
3294508d87
Correctly cast double to int.
...
Ms cl compiler complains about the implicit conversion.
2019-09-10 14:10:40 +02:00
Matthieu Gautier
a13244dc0e
Rename `hasResult` to `hasResults`
2019-09-09 14:43:51 +02:00
Matthieu Gautier
78dbd66522
[HTML Rendering] Do not render page navigation buttons if only one page.
2019-09-09 14:43:51 +02:00
Matthieu Gautier
fdc291b7c2
[HTML Rendering] Do not do division by zero.
...
We must correctly handle the case if resultStart is equal to resultEnd.
2019-09-09 14:43:51 +02:00
Matthieu Gautier
64dfea2547
Move the search html renderer in a different class than the searcher.
...
This is two different functionnalies, we don't need to polute the searcher
api with things to render the html.
2019-08-11 10:19:48 +02:00