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
+ + + + + +