From 39318169e0b50551db511851829f9337c5fa6313 Mon Sep 17 00:00:00 2001 From: glenda Date: Sun, 15 Nov 2020 15:13:27 +0000 Subject: Import site to git --- apps/duckduckgo/HOWTO | 20 ++++++++++++++++++++ apps/duckduckgo/app.rc | 30 ++++++++++++++++++++++++++++++ apps/duckduckgo/footer.inc.sample | 3 +++ 3 files changed, 53 insertions(+) create mode 100644 apps/duckduckgo/HOWTO create mode 100755 apps/duckduckgo/app.rc create mode 100644 apps/duckduckgo/footer.inc.sample (limited to 'apps/duckduckgo') diff --git a/apps/duckduckgo/HOWTO b/apps/duckduckgo/HOWTO new file mode 100644 index 0000000..8bb952c --- /dev/null +++ b/apps/duckduckgo/HOWTO @@ -0,0 +1,20 @@ +The default path for site search is /_search/. Assuming you want to keep +that default, you could enable site search like so: + + +mkdir -p /www/werc/sites/MYSITE/_search/_werc/ +echo 'conf_enable_duckduckgo' > /www/werc/sites/MYSITE/_search/_werc/config +mkdir -p /www/werc/sites/MYSITE/_werc/lib/ +cp /www/werc/apps/duckduckgo/footer.inc.sample /www/werc/sites/MYSITE/_werc/lib/footer.inc + +Searches will POST to /_search/ and from there get redirected to Duck Duck +Go with a site:$SERVER_NAME prefix. To have the search path URL be some- +thing different, you'll have to edit line 23 of app.rc to point to the new +path. + +TODO: +* Make it automatically work no matter which directory the app is enabled in. +* OR make the search path a configuration option. +* Provide a template for non-footer deployment +* Enable the search path itself to serve a search form to GET requests + diff --git a/apps/duckduckgo/app.rc b/apps/duckduckgo/app.rc new file mode 100755 index 0000000..72dd0ec --- /dev/null +++ b/apps/duckduckgo/app.rc @@ -0,0 +1,30 @@ +fn conf_enable_duckduckgo { + enable_duckduckgo=yes + conf_enable_app duckduckgo + pageTitle='Site Search' +} + + +fn duckduckgo_init { + get_post_args q + if (! ~ $#q 0) { + redirect_string = 'https://duckduckgo.com/?q=site:'$SERVER_NAME^'+'^$"q + http_redirect $redirect_string '302 Found' + } + if not { + handler_body_main='duckduckgo_body' + } +} + +fn duckduckgo_body { + echo ' +

Site search

+

using DuckDuckGo

+
+ + + +
' + +} + diff --git a/apps/duckduckgo/footer.inc.sample b/apps/duckduckgo/footer.inc.sample new file mode 100644 index 0000000..4dd671d --- /dev/null +++ b/apps/duckduckgo/footer.inc.sample @@ -0,0 +1,3 @@ +
Powered by werc
+ +
-- cgit v1.2.3