312f2cb560
Moved handle_catalog_v2*() methods into a new file
2021-06-08 20:37:00 +04:00
fa42cbc48f
Pagination info in /catalog/v2/entries
2021-06-08 20:37:00 +04:00
f1797993af
Reused InternalServer::search_catalog()
2021-06-08 20:37:00 +04:00
f886c8c07b
Root url is normalized once in the constructor
2021-06-08 20:37:00 +04:00
9ca6bd006f
/catalog/v2/categories goes through OPDSDumper too
2021-06-08 20:37:00 +04:00
cdacc0caf1
/catalog/v2/entries going through OPDSDumper
...
OPDSDumper sensed threats to its job security, so it lobbied to be
involved in handling the /catalog/v2 endpoints, too.
2021-06-08 20:37:00 +04:00
dfad1c3815
/catalog/v2/searchdescription.xml
2021-06-08 20:37:00 +04:00
07252a127a
/catalog/v2/entries is also a search endpoint
2021-06-08 20:37:00 +04:00
b60e3ffb26
RequestContext::get_optional_param()
2021-06-08 20:37:00 +04:00
70d42aec98
A small simplification
2021-06-08 20:37:00 +04:00
4aa3c792aa
Extracted get_search_filter()
2021-06-08 20:37:00 +04:00
208dece7e3
Reordered several statements
...
Reordered several statements so that the next couple of commits are a
little simpler.
2021-06-08 20:37:00 +04:00
19b59fd72f
Serving /catalog/v2/entries
...
/catalog/v2/entries is intended to play the combined role of
/catalog/root.xml and /catalog/search of the old OPDS API. Currently,
the latter role is not yet implemented.
Implementation note: instead of tweaking and reusing
`OPDSDumper::dumpOPDSFeed()`, the generation of the OPDS feed is done via `mustache`
and a new template `static/catalog_v2_entries.xml`.
2021-06-08 20:37:00 +04:00
92c2de8d46
Enter InternalServer::m_library_id
...
The new field is intended to serve as a seed for generating semi-stable
OPDS feed ids that only need to change when the library is updated.
2021-06-08 20:37:00 +04:00
feeb9f206e
/catalog/v2/* XMLs are OPDS 1.2
2021-06-08 20:37:00 +04:00
a1520ce7f1
Fixing the xenial build
...
Under Ubuntu 16.04/xenial, ccache seems to have issues with multiline
raw string literals used inside macros.
2021-06-08 20:37:00 +04:00
2e53b51696
Serving /catalog/v2/categories
2021-06-08 20:37:00 +04:00
b259afa408
Library::getBooksCategories()
...
Note: no unit test added
2021-06-08 20:37:00 +04:00
3c3cf08a1a
Serving /catalog/v2/root.xml
...
Note: This commit somewhat relaxes validation of non variable
`<updated>` elements in the OPDS feed - the contents of any `<updated>`
element is replaced with the YYYY-MM-DDThh:mm:ssZ placeholder.
2021-06-08 16:03:43 +04:00
54b78eaf56
Moved gen_date_str() to tools/otherTools.cpp
2021-06-08 16:03:43 +04:00
1e0ff1fbb0
Fixed the double colon in OPDS date string
2021-06-08 16:03:43 +04:00
5b272ac49c
Fixed handling of /catalogBLABLA/root.xml & alike
...
Also removed an unneeded namespace qualifier.
2021-06-08 16:03:43 +04:00
0a3d293ae0
Broke Server.404 with /catalogBLABLABLA/root.xml
...
The new negative test-point demonstrates that Kiwix server doesn't
distinguish /catalogBLABLABLA from /catalog.
2021-06-08 16:03:43 +04:00
86ef2e2199
Merge pull request #550 from kiwix/remove-bintray
...
Remove Bintray badge
2021-06-07 16:01:37 +02:00
a0332e7599
Remove Bintray badge
2021-06-07 15:55:19 +02:00
2ef488816c
Merge pull request #534 from kiwix/filter_library
...
Add filters to kiwix-serve welcome page
2021-06-07 15:46:37 +02:00
1ccafe2d97
minor changes in fadeout effect
2021-06-07 15:38:31 +02:00
d6c62b3cd3
corrected spinner and fadeout effect
2021-06-07 15:37:20 +02:00
f39c558d2a
added fade out
2021-06-07 15:37:20 +02:00
5b46ad5934
added spinned
2021-06-07 15:37:20 +02:00
49dbd0aa52
fixed reset filters link
2021-06-07 15:37:20 +02:00
179f0faeb1
added minor features
2021-06-07 15:37:20 +02:00
bb92f26b60
added filter functionality
2021-06-07 15:37:20 +02:00
3a4e8303a0
Merge pull request #541 from kiwix/adding_dynamic_and_subset_loading
...
Dynamic and subset loading of catalogue in kiwix-serve
2021-06-07 15:35:13 +02:00
063bb8cd65
added dynamic and subset loading of zim-files in kiwix-serve
2021-06-01 19:33:42 +05:30
b54e5ab969
Merge pull request #543 from kiwix/add-libmicrohttpd-compilation-hint
...
Add libmicrohttpd compilation hint
2021-05-30 15:51:40 +02:00
2632a21d24
Move Repology to wiki
2021-05-30 15:46:45 +02:00
5c97b1fff9
gtest is need for testing
2021-05-30 15:43:21 +02:00
4f7175ad59
Libkiwix, not Kiwix library
2021-05-30 15:42:28 +02:00
f4b8d0c303
Add libmicrohttpd compilation hint
2021-05-30 15:35:40 +02:00
188694f2a1
Merge pull request #510 from kiwix/add_function_zimId
2021-05-26 15:15:13 +02:00
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
c35f6f9142
Add get_zimId
method to Result
...
get_zimId method allows the user to get the uuid of the archive from
which a result is retrieved directly from the search result itself.
2021-05-26 14:45:25 +02:00
7f0d3004c9
Merge pull request #505 from kiwix/suggestion_snippets
2021-05-26 11:04:52 +02:00
5567d8ca49
Replace std::vector<std::string> with SuggestionItem
...
Each sugestions used to be stored as vector of strings to hold various values
such as title, path etc inside them. With this commit, we use the new
dedicated class `SuggestionItem` to do the same.
2021-05-26 10:53:39 +02:00
5315034afe
Introduce SuggestionItem
class
...
This is a helper class that allows to create and manage individual
suggestion item and their data.
2021-05-26 10:53:00 +02:00
3288cd80e5
Render suggestion snippet properly
...
To render the snippets properly, we need to use the _renderItem property
of the autocomple ui.
2021-05-26 10:53:00 +02:00
56434de79e
Set label to title snippet if present
...
With openzim/libzim#545 we now support snippet generation of titles
which can be used as the display label on the ui for highlighted titles
via the "label" field.
The old version used plain title which is still available in the value
field.
2021-05-26 10:52:58 +02:00
e9ba151e6f
Merge pull request #539 from kiwix/fix_windows_build
...
Avoid windows header to define min/max macros.
2021-05-26 09:52:43 +02:00
5f83944699
Avoid windows header to define min/max macros.
...
PR #507 use std::min.
But on windows, the header define min and max macros and so the
compilation is broken.
Add `-DNOMINMAX` define to avoid that.
2021-05-26 09:20:17 +02:00