From efe42c9bbefaccd48e63d4e200b3c2e7b7e472b6 Mon Sep 17 00:00:00 2001 From: Nikhil Tanwar <2002nikhiltanwar@gmail.com> Date: Sun, 10 Jul 2022 14:59:40 +0530 Subject: [PATCH] Add widget endpoint Adds an endpoint /widget to provide kiwix serve widget. --- src/server/internalServer.cpp | 8 +++++ src/server/internalServer.h | 1 + static/resources_list.txt | 2 ++ static/skin/widget.js | 1 + static/templates/widget.html | 64 +++++++++++++++++++++++++++++++++++ 5 files changed, 76 insertions(+) create mode 100644 static/skin/widget.js create mode 100644 static/templates/widget.html diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index 43411260f..7127658e9 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -577,6 +577,9 @@ std::unique_ptr InternalServer::handle_request(const RequestContext& r if (isEndpointUrl(url, "catch")) return handle_catch(request); + if (isEndpointUrl(url, "widget")) + return handle_widget(request); + std::string contentUrl = m_root + "/content" + url; const std::string query = request.get_query(); if ( ! query.empty() ) @@ -866,6 +869,11 @@ std::unique_ptr InternalServer::handle_random(const RequestContext& re } } +std::unique_ptr InternalServer::handle_widget(const RequestContext& request) +{ + return ContentResponse::build(*this, RESOURCE::templates::widget_html, get_default_data(), "text/html; charset=utf-8", true); +} + std::unique_ptr InternalServer::handle_captured_external(const RequestContext& request) { std::string source = ""; diff --git a/src/server/internalServer.h b/src/server/internalServer.h index 82574378c..f49b58189 100644 --- a/src/server/internalServer.h +++ b/src/server/internalServer.h @@ -143,6 +143,7 @@ class InternalServer { std::unique_ptr handle_content(const RequestContext& request); std::unique_ptr handle_raw(const RequestContext& request); std::unique_ptr handle_locally_customized_resource(const RequestContext& request); + std::unique_ptr handle_widget(const RequestContext& request); std::vector search_catalog(const RequestContext& request, kiwix::OPDSDumper& opdsDumper); diff --git a/static/resources_list.txt b/static/resources_list.txt index 653fadd2f..79ec99a58 100644 --- a/static/resources_list.txt +++ b/static/resources_list.txt @@ -9,6 +9,7 @@ skin/iso6391To3.js skin/isotope.pkgd.min.js skin/index.js skin/autoComplete.min.js +skin/widget.js skin/taskbar.css skin/index.css skin/fonts/Poppins.ttf @@ -20,6 +21,7 @@ templates/search_result.xml templates/error.html templates/error.xml templates/index.html +templates/widget.html templates/suggestion.json templates/head_taskbar.html templates/taskbar_part.html diff --git a/static/skin/widget.js b/static/skin/widget.js new file mode 100644 index 000000000..c92066c58 --- /dev/null +++ b/static/skin/widget.js @@ -0,0 +1 @@ +// To be updated \ No newline at end of file diff --git a/static/templates/widget.html b/static/templates/widget.html new file mode 100644 index 000000000..545e4fa44 --- /dev/null +++ b/static/templates/widget.html @@ -0,0 +1,64 @@ + + + + + + Welcome to Kiwix Server + + + + + + + + +
+
+
+ +
+
+ +
+
+
+ + + +
+
+
+
+

+
+
+
+
+
Powered by Kiwix
+ + +