3001 Commits

Author SHA1 Message Date
Veloman Yunkan
25e03ce597 Support for catalog-only mode 2025-09-08 18:39:48 +04:00
Veloman Yunkan
8a3c4c92e0 Enhanced test library.xml with an entry not backed by a ZIM file
The test data was modified so that support for catalog only mode
of kiwix-serve can be properly tested.

The effect of this change in the test data on the library_server unit
test demonstrates that although the new entry does not appear in the
catalog (for example, no catalog_v2_entries* test cases were affected)
the category and language of this ghost entry slipped into the
observable output.
2025-09-08 18:39:48 +04:00
Kelson
95fc478e37
Merge pull request #1213 from kiwix/anchorage_2025.08.15
Viewer detects & tracks intrapage navigation too
2025-09-08 13:51:03 +02:00
Veloman Yunkan
26253ebf8f Viewer iframe location is checked every 0.1s
The only way to detect change of the iframe location performed via
`History.pushState()` or `History.replaceState()` is to constantly
monitor it, since those methods don't trigger any events.
2025-09-08 12:51:10 +04:00
Veloman Yunkan
34c6a3bfab Viewer detects & tracks intrapage navigation too
Clicking intrapage links (of the form <a href="#anchor">) inside the
viewer iframe is detected by the viewer and reflected in the URL in the
address bar.

The solution only works if following the link is performed by the
browser as a default action. It doesn't work if the changed URL in the
address bar after clicking a link is a result of `History.pushState()`
or `History.replaceState()` being called by javascript code installed as
an event handled on the link (which is the case in single page
applications).
2025-09-01 16:37:38 +04:00
Veloman Yunkan
5c1f8de891
Merge pull request #1212 from kiwix/viewer_chaperon_mode
Viewer chaperon mode
2025-09-01 13:22:33 +04:00
Veloman Yunkan
334ca0295e Viewer chaperon mode
Viewer now rewrites internal links so that opening them in a new
tab/window keeps the viewer around. Thus the viewer acts as a chaperon
for the users preventing them from finding themselves out of the
viewer's supervision. Of course there are ways to circumvent such
oversight, however it has always been the case with chaperons in all
cultures in all epochs.
2025-09-01 12:31:41 +04:00
Kelson
e2186cfb7b
Merge pull request #1215 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2025-08-29 20:25:25 +02:00
translatewiki.net
a4985c62c7
Localisation updates from https://translatewiki.net. 2025-08-28 14:09:22 +02:00
Veloman Yunkan
2f9deb0eaa
Merge pull request #1197 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2025-08-15 12:22:03 +04:00
Veloman Yunkan
b8d975068e Updated/regenerated static/skin/languages.js 2025-08-15 12:00:10 +04:00
translatewiki.net
222327586e
Localisation updates from https://translatewiki.net. 2025-08-14 14:07:56 +02:00
Kelson
699cbccf38
Merge pull request #1209 from kiwix/focal-to-jammy-ci
Use Ubuntu 22.04 in place of 20.04 for CI
2025-06-22 20:54:17 +02:00
Emmanuel Engelhart
fdc3a715c4
Use macOS 14 in place of macOS 13 for the CI 2025-06-22 20:15:05 +02:00
Emmanuel Engelhart
3bfcc5108f
Use Ubuntu 22.04 in place of 20.04 for CI 2025-06-22 20:09:39 +02:00
Kelson
6225b4608a
Merge pull request #1208 from kiwix/allow-popups-to-escape-sandbox
Popups are allowed to escape the browser sandbox
2025-06-15 19:44:42 +02:00
Veloman Yunkan
0bc9a25179 Popups are allowed to escape the browser sandbox
... so that Chrome doesn't block attempts to open PDF links in a new
tab/window.
2025-06-15 19:07:48 +04:00
Kelson
9433f7cef9
Merge pull request #1207 from kiwix/remove-ubuntu-20.04-ci-cd
Stop publishing on Ubuntu 20.04 PPA
2025-06-13 10:58:02 +02:00
Emmanuel Engelhart
eba66a391f
Stop publishing on Ubuntu 20.04 PPA 2025-06-13 10:40:20 +02:00
Kelson
fa6c93950c
Merge pull request #1202 from kiwix/print-css
First kiwix-serve print.css
2025-06-13 10:21:33 +02:00
Emmanuel Engelhart
850e330461
First kiwix-serve print.css 2025-06-13 10:21:00 +02:00
Kelson
eccb8db7b7
Merge pull request #1205 from kiwix/default-white-background-iframe
Default (real) white background for kiwix-serve iframe/body
2025-06-10 16:55:13 +02:00
Emmanuel Engelhart
33bb0141c0
Default white background for kiwix-serve iframe/body 2025-06-10 16:45:36 +02:00
Kelson
b3b4064ad6
Merge pull request #1204 from kiwix/fix-book-title-js-encoding
Stop HTML encoding by mustache.js
2025-06-09 16:31:29 +02:00
Emmanuel Engelhart
2fdd2066cd Avoid ZIM title double HTML encoding 2025-06-09 16:30:29 +02:00
Emmanuel Engelhart
4dfcfbe1fa Stop HTML encoding by mustache.js 2025-06-09 16:30:29 +02:00
Kelson
e912f0520e
Merge pull request #1201 from kiwix/default-kiwix-serve-iframe-background
Default kiwix serve iframe background
2025-06-09 13:33:49 +02:00
Emmanuel Engelhart
c4ced73f7c Update cacheid for kiwix.css 2025-06-08 09:35:21 +02:00
Emmanuel Engelhart
c244d95a94 Add kiwix-serve homepage background color 2025-06-08 09:35:21 +02:00
Emmanuel Engelhart
04d301d024 Add default iframe background color 2025-06-08 09:35:21 +02:00
Kelson
e415958ae9
Merge pull request #1203 from kiwix/fix-readme-ci-badge
Fix Readme CI badge
2025-06-08 09:33:08 +02:00
Emmanuel Engelhart
f9b8789723
Fix Readme CI badge 2025-06-08 09:15:16 +02:00
Veloman Yunkan
fe806396f9
Merge pull request #1185 from aditii2712/overflow-fix
Fix Search Bar Placeholder Text Overflow.
2025-06-02 12:07:18 +04:00
aditii2712
5729b6540c Fixing placeholder text in search bar input field. 2025-06-02 11:56:40 +04:00
Kelson
33c83eec4b
Merge pull request #1196 from kiwix/nicer_internal_server_error_page
Nicer Internal Server Error page
2025-05-22 20:41:49 +02:00
Veloman Yunkan
be69584637 Additional error info on the HTTP 500 error page
Additional error info (text of the exception thrown by low level C++
code) is shown inside a text box of the same style as used for the
advice on the 404 error page (we either need to change the name of the
CSS style, or introduce a separate style for this piece of information).
2025-05-22 15:29:09 +04:00
Veloman Yunkan
2ba29f76e1 Nicer Internal Server Error page
Updated the Internal Server Error page to match the 404 (Content Not
Found) error page.
2025-05-22 15:29:05 +04:00
Kelson
222e4396c7
Merge pull request #1195 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2025-05-19 14:26:47 +02:00
translatewiki.net
4c480952d1
Localisation updates from https://translatewiki.net. 2025-05-19 14:07:14 +02:00
Kelson
79479788f9
Merge pull request #1178 from kiwix/nicer_error_pages
Nicer 404 error and external link blocker pages
2025-05-17 13:56:46 +02:00
Veloman Yunkan
3cd1f7854a Fully translated external link blocker page 2025-05-14 21:40:23 +04:00
Veloman Yunkan
58a211d01d Renamed a parameter in external link blocker template 2025-05-14 21:37:52 +04:00
Veloman Yunkan
07fc40da5a Translation works on external link blocker
This comes at the cost of broken support for SeaMonkey (due to usage of
import.meta in i18n.js)
2025-05-14 21:36:43 +04:00
Veloman Yunkan
d961447e1e Started translating the external link blocker page
The external link blocker page isn't actually translated since it is not
managed by the viewer. Will port the translation code from the viewer.js
in next commit.
2025-05-14 21:35:29 +04:00
Veloman Yunkan
c9ebeb7b96 New external link blocker page
The page doesn't support translation yet.
2025-05-14 21:34:14 +04:00
Veloman Yunkan
2d73ed31a9 Handling translation in ServerTest.HttpSexy404HtmlError
The failing test point in the ServerTest.Http404HtmlError unit-test
has been superseded by the enhanced ServerTest.HttpSexy404HtmlError
unit-test, resulting in a clean test-suite.
2025-05-14 21:30:05 +04:00
Veloman Yunkan
6a0349e575 Preparing ServerTest.HttpSexy404HtmlError for translation 2025-05-14 21:30:02 +04:00
Veloman Yunkan
6d80edc04a Translated the advice on the new 404 error page
Translation of the multi-line/multi-paragraph advice is done under the
assumption that its structure  (5 paragraphs, two of which serve as
entries in a bulleted list) can be preserved in the translations by
proper phrasing, i.e. the advice must be translated as a whole rather
than each of its sentences (which act as units of translation) separately.
2025-05-14 21:27:56 +04:00
Veloman Yunkan
b3a33747f0 More simple translations on the new 404 error page 2025-05-14 21:25:59 +04:00
Veloman Yunkan
f47490e1bc Started translation of the new 404 error page
- Enabled translation on the new 404 error page
- Translated its title & heading

This commit also fixes the failure of the ServerTest.UserLanguageControl
unit-test.

The only remaining failing test case is ServerTest.Http404HtmlError
(only for url=/ROOT%23%3F/content/zimfile/invalid-article?userlang=test).
2025-05-14 21:23:34 +04:00