From 4db443eca6fc5de820c72acb722a85b3212d73bc Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Tue, 22 Feb 2022 22:42:15 +0400 Subject: [PATCH] Embryo of iframe-based viewer --- src/server/internalServer.cpp | 11 +++++--- static/resources_list.txt | 2 ++ static/skin/blank.html | 11 ++++++++ static/viewer.html | 50 +++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 static/skin/blank.html create mode 100644 static/viewer.html diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index f194c9252..f154ed47d 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -553,7 +553,7 @@ std::unique_ptr InternalServer::handle_request(const RequestContext& r if (url == "/" ) return build_homepage(request); - if (isEndpointUrl(url, "skin")) + if (isEndpointUrl(url, "viewer") || isEndpointUrl(url, "skin")) return handle_skin(request); if (isEndpointUrl(url, "content")) @@ -720,12 +720,17 @@ std::unique_ptr InternalServer::handle_skin(const RequestContext& requ printf("** running handle_skin\n"); } - auto resourceName = request.get_url().substr(1); + const bool isRequestForViewer = request.get_url() == "/viewer"; + auto resourceName = isRequestForViewer + ? "viewer.html" + : request.get_url().substr(1); try { auto response = ContentResponse::build( *this, getResource(resourceName), - getMimeTypeForFile(resourceName)); + getMimeTypeForFile(resourceName), + /*isHomePage=*/false, + /*raw=*/true); response->set_cacheable(); return std::move(response); } catch (const ResourceNotFound& e) { diff --git a/static/resources_list.txt b/static/resources_list.txt index 653fadd2f..dcdf7755e 100644 --- a/static/resources_list.txt +++ b/static/resources_list.txt @@ -15,6 +15,8 @@ skin/fonts/Poppins.ttf skin/fonts/Roboto.ttf skin/block_external.js skin/search_results.css +skin/blank.html +viewer.html templates/search_result.html templates/search_result.xml templates/error.html diff --git a/static/skin/blank.html b/static/skin/blank.html new file mode 100644 index 000000000..8256d9c1d --- /dev/null +++ b/static/skin/blank.html @@ -0,0 +1,11 @@ + + + + + Blank page + + + + + + diff --git a/static/viewer.html b/static/viewer.html new file mode 100644 index 000000000..ea50fecfe --- /dev/null +++ b/static/viewer.html @@ -0,0 +1,50 @@ + + + + + ZIM Viewer + + + + +
Taskbar
+ + + + + +