Veloman Yunkan
fbd23a8329
Fully internationalized 400, 404 & 500 error pages
2022-04-13 16:40:20 +02:00
Veloman Yunkan
d2c864b010
Internationalized raw-entry-not-found message
2022-04-13 16:40:20 +02:00
Veloman Yunkan
779382642b
Internationalized bad raw access datatype message
2022-04-13 16:40:20 +02:00
Veloman Yunkan
ca7e0fb4a0
Internationalized random article failure message
2022-04-13 16:40:20 +02:00
Veloman Yunkan
1ace16229d
Internationalized search suggestion message
2022-04-13 16:40:20 +02:00
Veloman Yunkan
cb5ae01fd8
Localized "No such book" 404 message for /random
...
However the title and the heading of the 404 page are not localized yet.
2022-04-13 16:40:20 +02:00
Veloman Yunkan
b2526c7a98
Translation of the url-not-found message
2022-04-13 16:40:20 +02:00
Veloman Yunkan
202ec81d8b
URL-not-found message went into i18n JSON resource
...
Yet, the URL-not-found message is not yet fully internationalized
since its usage is hardcoded to English.
2022-04-13 16:40:20 +02:00
Veloman Yunkan
e4a0a029ff
User language control via userlang query param
...
This is a draft commit enabling the testing of the support for
kiwix-serve internationalization.
2022-04-13 16:40:20 +02:00
Veloman Yunkan
507e111f34
i18n data is kept in and generated from JSON files
...
Introduced a new resource compiler script kiwix-compile-i18n that
processes i18n string data stored in JSON files and generates sorted C++
tables of string keys and values for all languages.
2022-04-13 16:40:20 +02:00
Veloman Yunkan
ae1bf39023
Got rid of static/templates/no_search_result.html
...
The "Fulltext search unavailable" error page is now generated using the
static/templates/error.html template. Also added two test cases checking
that error page.
2022-04-06 14:42:29 +02:00
Veloman Yunkan
dbcbdff275
Added an optional CSS link to error.html
2022-04-05 20:49:09 +04:00
Veloman Yunkan
2a20e87341
Got rid of Response::build_500()
...
This change is not tested (mostly due to the difficulties of triggering
an internal server error).
2022-04-04 18:35:20 +02:00
Veloman Yunkan
545d409150
Reused HTTPErrorHtmlResponse in HTTP400HtmlResponse
2022-04-04 18:35:20 +02:00
Veloman Yunkan
89dc9afc28
Renamed 404.html to error.html
...
404.html no longer contains anything specific to the 404 error and will
henceforth serve (with some enhancements) as a general purpose error
page template.
2022-04-04 18:35:20 +02:00
Veloman Yunkan
d8a60db739
Preparing for a single error page template
2022-04-04 18:35:20 +02:00
Matthieu Gautier
2cc4befb12
Correctly display searchpattern in search result page.
...
The `searchPattern` is already "diples encoded".
So we can simply using it without protecting us from script injection.
Fix #723
2022-03-29 14:05:45 +02:00
Matthieu Gautier
b1643e422e
Introduce HTTP400HtmlResponse.
...
HTTP400HtmlResponse is build on the same design than HTTP404HtmlResponse.
2022-03-28 17:35:15 +02:00
Veloman Yunkan
ae60ba806b
Made 404.html error template a little more generic
...
The fact that an info message was moved into C++ code is temporary
since it will be moved to a message resource file soon.
2022-03-28 14:56:40 +02:00
Veloman Yunkan
511261cc81
Testing of "Fulltext search unavailable" page
2022-03-18 15:57:11 +04:00
Veloman Yunkan
e4a4b2f961
Extracted CSS out of no_search_results.html
2022-03-18 15:46:54 +04:00
Veloman Yunkan
c64fce52e7
Made 404 HTML template consistent with the rest
2022-03-18 15:46:01 +04:00
Matthieu Gautier
609bc24cbe
Small cleanups.
...
- Remove unused `archive`
- Replace tab by spaces
2022-02-25 15:46:13 +01:00
Veloman Yunkan
afb556bf64
Added <dc:issued> field to OPDS entries
2022-02-19 11:35:44 +04:00
Tristan Havelick
58be502f3f
add book titles to search results
2022-02-16 12:50:18 +01:00
Nikhil Tanwar
d56e56293b
Only add value in language object if value entry node is 'language'
2022-02-08 19:03:35 +05:30
Nikhil Tanwar
4d996584fa
Add title with full language name
...
This adds title and aria-label attributes with value as the language of book
Provides tooltip on language badges
2022-01-28 22:53:38 +05:30
Kunal Mehta
b94e4b7e3b
Add non-minified version of isotope.pkgd.js
...
Debian wants to have the source files for minified scripts. Otherwise
same rationale as #368 which was for jquery-ui.
I downloaded this from <https://unpkg.com/isotope-layout@3.0.6/dist/isotope.pkgd.js >.
2022-01-27 00:11:04 -08:00
Nikhil Tanwar
f6309bb4c8
Add span in querySelector
...
Earlier querySelector for download button was returning a div, on which we called the getAttribute function hence returning null
This now returns a <span> element which returns the correct link with getAttribute
2022-01-24 19:23:26 +05:30
Emmanuel Engelhart
5a9dbf85ec
Fix title='_' case too #685
2022-01-24 08:35:36 +01:00
Nikhil Tanwar
270773d6ba
Add undefined check for humanFriendlyTitle
...
humanFriendlyTitle() now returns an empty string if title is undefined
which is handled in loadAndDisplayOptions()
2022-01-23 20:33:46 +01:00
Nikhil Tanwar
a8a68c54a2
Remove {root} from book item's link in library
...
The OPDS stream now provides full URL, including the custom root
Appending {root} duplicates the custom root, when given resulting in a broken link
2022-01-14 16:23:52 +01:00
Nikhil Tanwar
0633f68f80
Add new values from wikipedia
...
Added new values. This now covers all iso 639-1 codes from https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
2022-01-11 15:32:06 +01:00
Nikhil Tanwar
2a5db3e7ab
Use iso6391to3.js for language tag value
...
Improves upon the previous method of truncating language to first 2 values which was showing wrong values
2022-01-11 15:31:55 +01:00
Matthieu Gautier
6f1799db9f
Use the new endpoint in the OPDS stream.
2022-01-04 14:16:46 +01:00
Matthieu Gautier
66c40817ee
Fix the OPDS stream to handle custom ROOT prefix
...
As we render the entry's xml in a separated steps, we need to pass the
rootLocation to all the internal rendering.
Testing with and without root is not so easy.
I've simply made all server tests using a ROOT prefix.
We can assume that if the ROOT is present everywhere we need it, it will not
when we don't need. (As long as we don't hardcode "ROOT" in the server.)
2022-01-04 11:15:18 +01:00
Matthieu Gautier
22e5327dcf
Do not create a dummy illustration if library.xml doesn't contain one.
...
Fix #644
2022-01-04 11:12:32 +01:00
renaud gaudin
b1bc883bf5
Fixed #603 : safer scroll bound detection
...
At least on Retina Macbook Pros but most likely on other configurations,
the viewport's sizes is not exactly consistent to integer.
For instance, on a maximized Firefox, document.body.offsetHeight is 1,600.
When looking at the <html> on the inspector, I'd get 1,599.6, so **roughly** the same
but not exactly. Those inconsistencies are present on every level so being too strict
about those is probably not adequate.
This fixes #603 but allowing a 2% margin on the scroll position
to match the _end of screen_ and thus trigger the loading of additional cards.
This means that for the example above, it triggers at 1,568 instead of never reaching 1,600.
2% might be too large but it seems safe considering the potential of various resolutions
we may encounter and I don't see any side effect.
2022-01-03 14:41:19 +00:00
Nikhil Tanwar
aa3bd8560b
Add fallback image if thumbnail metadata is not available in zim
2021-12-29 00:15:34 +05:30
Nikhil Tanwar
9c047844c0
Add fallback if metadata (title, description, language, tags)
...
This provides a workaround the crash happening because of missing metadata.
Language div is set to be hidden if no language data is found
2021-12-29 00:11:57 +05:30
Veloman Yunkan
f7b853373c
Less confusing 404 errors from /random endpoint
...
Before this fix the /random endpoint could return a 404 Not Found page
saying
The requested URL "/random" was not found on this server.
Error cases producing such a result were:
- `/random?content=NON-EXISTING-BOOK` (can happen when a server is
restarted or the library is reloaded and the current book is no longer
available).
- Failure of the libkiwix routine for picking a random article.
Now a proper message is shown for each of those cases.
2021-12-22 17:12:34 +01:00
Emmanuel Engelhart
7f6a6055a9
Fix javascript/DOM quotting bug
2021-12-19 11:27:45 +01:00
Emmanuel Engelhart
ab53e0cff1
Improve kiwix-serve topbar accessibility
2021-12-11 14:56:51 +01:00
renaud gaudin
8d50d5e293
added border-radius to download button
2021-11-16 12:33:05 +00:00
renaud gaudin
d76e670d5b
CSS codefactor fix
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
8f5ffc5ef5
Duplicated ids are not allowed in a HTML doc
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
98f9c57e12
Better use double-quote for HTML attributes
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
db06b6b797
Renave static/home.css to static/index.css
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
513c547d99
Remove shadow around kiwix-serve home language in tile
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
c3d2e01157
Move kiwix-serve home download button at top of the tile
2021-11-16 12:10:15 +00:00
Emmanuel Engelhart
4adad9b281
Make kiwix-serve home tiles clickable
2021-11-16 12:10:15 +00:00
Veloman Yunkan
c0bda426b4
Removed duplication across two mustache templates
...
Deduplicated the mustache templates static/templates/catalog_v2_entries.xml
and static/templates/catalog_v2_complete_entry.xml (the latter was
renamed to static/templates/catalog_v2_entry.xml).
2021-09-09 12:19:22 +04:00
Veloman Yunkan
b3f7556096
Added partial entries feed to the OPDS root feed
2021-09-09 12:19:22 +04:00
Veloman Yunkan
4c657c082e
/catalog/v2/partial_entries OPDS API endpoint
2021-09-09 12:19:22 +04:00
Veloman Yunkan
e773a29f29
Rearranged elements in OPDS entry XML
2021-09-09 12:19:22 +04:00
Veloman Yunkan
e15a0f4338
/catalog/v2/entry/<entry_id> OPDS API endpoint
2021-09-09 12:19:22 +04:00
Veloman Yunkan
12d9b69806
OPDSDumper::dumpOPDSCompleteEntry()
2021-09-09 12:19:22 +04:00
Manan Jethwani
a4c3cad018
fixed books availablity on larger screens and added zoom level support
2021-08-10 21:45:10 +05:30
Manan Jethwani
5e8f3a5505
added use of lang and category api for select boxes on welcome page
2021-08-07 02:39:50 +05:30
Manan Jethwani
fe93035a4c
updated welcome page to support OPDS multiple Icon
2021-08-07 02:35:29 +05:30
Veloman Yunkan
e5168d8b3d
Support for multiple illustrations in OPDS entry
2021-08-05 22:21:13 +04:00
Veloman Yunkan
ab3095745e
Languages OPDS feed includes book counts
2021-08-03 11:32:38 +02:00
Veloman Yunkan
45adda44b3
Got rid of <content> node in languages OPDS entry
2021-08-03 11:32:38 +02:00
Veloman Yunkan
8a4248e48e
Language code in /catalog/v2/languages entries
2021-08-03 11:32:38 +02:00
Veloman Yunkan
5f90f5ee2a
Preliminary version of /catalog/v2/languages
2021-08-03 11:32:38 +02:00
Veloman Yunkan
b2027b397c
List of languages entry in /catalog/v2/root.xml
...
Added a new entry in /catalog/v2/root.xml that points to a
not-yet-existing list of languages navigation feed.
2021-08-03 11:32:38 +02:00
Manan Jethwani
0466b9759c
improved browser lang filter working
2021-07-30 12:57:59 +05:30
Manan Jethwani
15839df594
corrected relative links in preview and icon url
2021-07-24 19:26:22 +05:30
Manan Jethwani
646502f9cf
changed font style for modal
2021-07-13 20:00:43 +05:30
Manan Jethwani
a8a96a99f4
corrected working of magnet link
2021-07-13 00:23:38 +05:30
Manan Jethwani
a517d3b529
added modal for downloading zim file on welcome page
2021-07-12 17:59:26 +05:30
Manan Jethwani
2ed9a50eca
fixed button allignment
2021-07-08 12:33:28 +02:00
Manan Jethwani
bce922ab89
bug fix for loader
2021-07-08 12:33:28 +02:00
Manan Jethwani
ad7a63a471
minor change in UI
2021-07-08 12:33:28 +02:00
Manan Jethwani
6e8200637e
corrected search button in mobile view
2021-07-08 12:33:28 +02:00
Manan Jethwani
cc45c840d1
fixed minor codefactor issue
2021-07-08 12:33:28 +02:00
Manan Jethwani
0590f27fa1
corrected select box and search bar design
2021-07-08 12:33:28 +02:00
Manan Jethwani
dd27c3a873
changed tile background color
2021-07-08 12:33:28 +02:00
Manan Jethwani
736841818d
fixed font and other minor issues in title cards
2021-07-08 12:33:28 +02:00
Manan Jethwani
c1868e22f4
minor codefactor fix
2021-07-08 12:33:28 +02:00
Manan Jethwani
aabfc1d82e
fixed card design
2021-07-08 12:33:28 +02:00
Manan Jethwani
2effb3490e
minoor changes in responsive behaviour
2021-07-08 12:33:28 +02:00
Manan Jethwani
55672b0288
revamped basic layout and cards
2021-07-08 12:33:28 +02:00
Manan Jethwani
3c5d73027d
created separate variable for time delta
2021-06-24 15:41:28 +05:30
Manan Jethwani
d88bdd3ebf
corrected filter on no results
2021-06-23 14:15:22 +05:30
Manan Jethwani
5cfe34a5c2
corrected filter working
2021-06-22 19:36:22 +05:30
Manan Jethwani
ad133bc9a3
added cookies for filter effect
2021-06-21 19:57:52 +05:30
Vertigo
8d39b2c4c1
Added content ZIM home button on 404
2021-06-17 12:51:27 +05:30
Veloman Yunkan
78083f1f4a
Moved OPDS templates under static/templates
2021-06-08 20:37:00 +04:00
Veloman Yunkan
dd60235010
Fixed the self link in the output of /catalog/v2/entries
2021-06-08 20:37:00 +04:00
Veloman Yunkan
e799f2ff1e
OPDSDumper::dumpOPDSFeed() works via mustache
...
This changes the output of `/catalog/search` as follows:
- Entire search query (rather than only the value of the `q` parameter)
is put in the <title> node.
- Search performed with an empty query presents itself as "All zims".
- The feed id remains stable for identical searches on the same
library.
2021-06-08 20:37:00 +04:00
Veloman Yunkan
fa42cbc48f
Pagination info in /catalog/v2/entries
2021-06-08 20:37:00 +04:00
Veloman Yunkan
f886c8c07b
Root url is normalized once in the constructor
2021-06-08 20:37:00 +04:00
Veloman Yunkan
dfad1c3815
/catalog/v2/searchdescription.xml
2021-06-08 20:37:00 +04:00
Veloman Yunkan
07252a127a
/catalog/v2/entries is also a search endpoint
2021-06-08 20:37:00 +04:00
Veloman Yunkan
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
Veloman Yunkan
feeb9f206e
/catalog/v2/* XMLs are OPDS 1.2
2021-06-08 20:37:00 +04:00
Veloman Yunkan
2e53b51696
Serving /catalog/v2/categories
2021-06-08 20:37:00 +04:00
Veloman Yunkan
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
Manan Jethwani
1ccafe2d97
minor changes in fadeout effect
2021-06-07 15:38:31 +02:00