diff --git a/static/resources_list.txt b/static/resources_list.txt index 702918fc..15d0624d 100644 --- a/static/resources_list.txt +++ b/static/resources_list.txt @@ -2,6 +2,7 @@ skin/caret.png skin/bittorrent.png skin/magnet.png skin/404.svg +skin/blocklink.svg skin/feed.svg skin/langSelector.svg skin/download.png diff --git a/static/skin/blocklink.svg b/static/skin/blocklink.svg new file mode 100644 index 00000000..03e306af --- /dev/null +++ b/static/skin/blocklink.svg @@ -0,0 +1 @@ + diff --git a/static/skin/error.css b/static/skin/error.css index 8db79f71..efdaa732 100644 --- a/static/skin/error.css +++ b/static/skin/error.css @@ -62,6 +62,12 @@ header, .intro { word-break: break-all; } +.intro a, .intro a:active, .intro a:visited { + color: #00b4e4; + text-decoration: none; + word-break: break-all; +} + .advice { width: 80%; margin: auto; diff --git a/static/templates/captured_external.html b/static/templates/captured_external.html index e3dc8655..54e1f972 100644 --- a/static/templates/captured_external.html +++ b/static/templates/captured_external.html @@ -1,14 +1,27 @@ - - - - External link blocked - - -

External link blocked

-

This instance of Kiwix protects you from accidentally going to external (out-of ZIM) links.

-

If you intend to go to such locations, please click the link below.

-

Go to {{ source }}

-
Powered by Kiwix
- + + + + + External Link Detected + + + +
+ Caution! +
+
+

External Link Detected

+

You are about to leave Kiwix's ZIM reader to go online to

+

{{ source }}

+
+
+

The link you're trying to access is not part of your offline package and requires an internet connection.

+

If you can go online, you can attempt to open the link.

+

You can otherwise return to your ZIM's offline content by using your browser's back button.

+
+ diff --git a/test/server.cpp b/test/server.cpp index bdfd9f4d..fd6486a6 100644 --- a/test/server.cpp +++ b/test/server.cpp @@ -59,7 +59,7 @@ const ResourceCollection resources200Compressible{ { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/autoComplete/css/autoComplete.css" }, { STATIC_CONTENT, "/ROOT%23%3F/skin/autoComplete/css/autoComplete.css?cacheid=f2d376c4" }, { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/error.css" }, - { STATIC_CONTENT, "/ROOT%23%3F/skin/error.css?cacheid=c49d1586" }, + { STATIC_CONTENT, "/ROOT%23%3F/skin/error.css?cacheid=b3fa90cf" }, { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/i18n.js" }, { STATIC_CONTENT, "/ROOT%23%3F/skin/i18n.js?cacheid=071abc9a" }, { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/index.css" }, @@ -114,6 +114,8 @@ const ResourceCollection resources200Uncompressible{ { STATIC_CONTENT, "/ROOT%23%3F/skin/bittorrent.png?cacheid=4f5c6882" }, { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/blank.html" }, { STATIC_CONTENT, "/ROOT%23%3F/skin/blank.html?cacheid=6b1fa032" }, + { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/blocklink.svg" }, + { STATIC_CONTENT, "/ROOT%23%3F/skin/blocklink.svg?cacheid=bd56b116" }, { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/caret.png" }, { STATIC_CONTENT, "/ROOT%23%3F/skin/caret.png?cacheid=22b942b4" }, { DYNAMIC_CONTENT, "/ROOT%23%3F/skin/download.png" }, @@ -345,9 +347,15 @@ R"EXPECTEDRESULT( - window.KIWIX_RESPONSE_TEMPLATE = "<!DOCTYPE html>\n<html>\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n <title>{{PAGE_TITLE}}</title>\n <link type="text/css" href="{{root}}/skin/error.css?cacheid=c49d1586" rel="Stylesheet" />\n{{#KIWIX_RESPONSE_DATA}} <script>\n window.KIWIX_RESPONSE_TEMPLATE = "{{KIWIX_RESPONSE_TEMPLATE}}";\n window.KIWIX_RESPONSE_DATA = {{{KIWIX_RESPONSE_DATA}}};\n </script>{{/KIWIX_RESPONSE_DATA}}\n </head>\n <body>\n <header>\n <img src="{{root}}/skin/404.svg?cacheid=b6d648af"\n alt="{{404_img_text}}"\n aria-label="{{404_img_text}}"\n title="{{404_img_text}}">\n </header>\n <section class="intro">\n <h1>{{PAGE_HEADING}}</h1>\n <p>{{path_was_not_found_msg}}</p>\n <p><code>{{url_path}}</code></p>\n </section>\n <section class="advice">\n <p>{{advice.p1}}</p>\n <p class="list-intro">{{advice.p2}}</p>\n <ul>\n <li>{{advice.p3}}</li>\n <li>{{advice.p4}}</li>\n </ul>\n <p>{{advice.p5}}</p>\n </section>\n </body>\n</html>\n"; +R"EXPECTEDRESULT( + window.KIWIX_RESPONSE_TEMPLATE = "<!DOCTYPE html>\n<html>\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />\n <title>{{PAGE_TITLE}}</title>\n <link type="text/css" href="{{root}}/skin/error.css?cacheid=b3fa90cf" rel="Stylesheet" />\n{{#KIWIX_RESPONSE_DATA}} <script>\n window.KIWIX_RESPONSE_TEMPLATE = "{{KIWIX_RESPONSE_TEMPLATE}}";\n window.KIWIX_RESPONSE_DATA = {{{KIWIX_RESPONSE_DATA}}};\n </script>{{/KIWIX_RESPONSE_DATA}}\n </head>\n <body>\n <header>\n <img src="{{root}}/skin/404.svg?cacheid=b6d648af"\n alt="{{404_img_text}}"\n aria-label="{{404_img_text}}"\n title="{{404_img_text}}">\n </header>\n <section class="intro">\n <h1>{{PAGE_HEADING}}</h1>\n <p>{{path_was_not_found_msg}}</p>\n <p><code>{{url_path}}</code></p>\n </section>\n <section class="advice">\n <p>{{advice.p1}}</p>\n <p class="list-intro">{{advice.p2}}</p>\n <ul>\n <li>{{advice.p3}}</li>\n <li>{{advice.p4}}</li>\n </ul>\n <p>{{advice.p5}}</p>\n </section>\n </body>\n</html>\n"; + )RAWSTRINGLITERAL" + t[0] + R"RAWSTRINGLITERAL( - +