From a3bf53f36f717c2fd3b68b0e0837359f852dfbe2 Mon Sep 17 00:00:00 2001 From: James J Balamuta Date: Sat, 3 Feb 2024 22:05:09 -0800 Subject: [PATCH] Add search_qwant() --- NAMESPACE | 1 + NEWS.md | 6 ++++-- R/index-sites.R | 1 + R/search-functions.R | 18 +++++++++++++++--- README.Rmd | 4 +++- man/search_site.Rd | 20 ++++++++++++++++---- man/searcher.Rd | 4 ++-- 7 files changed, 42 insertions(+), 12 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 5f26607..42a948c 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -11,6 +11,7 @@ export(search_github) export(search_google) export(search_grep) export(search_ixquick) +export(search_qwant) export(search_rscom) export(search_rseek) export(search_rstudio_community) diff --git a/NEWS.md b/NEWS.md index 24531e6..9a3dab9 100644 --- a/NEWS.md +++ b/NEWS.md @@ -2,11 +2,13 @@ ## Features -- Added search portal: +- Added search portals: - `search_grep()`: Searches on grep.app. ([#35](https://github.com/r-assist/searcher/issues/35), [#37](https://github.com/r-assist/searcher/pull/37)) - + - `search_qwant()`: Searches on Qwant. + ([#36](https://github.com/r-assist/searcher/issues/36), + [#38](https://github.com/r-assist/searcher/pull/38)) # searcher 0.0.6 diff --git a/R/index-sites.R b/R/index-sites.R index fcbaf3c..72f1840 100644 --- a/R/index-sites.R +++ b/R/index-sites.R @@ -50,6 +50,7 @@ site_index = site_entry("duckduckgo", "https://duckduckgo.com/?q=", "ddg"), site_entry("startpage", "https://startpage.com/do/dsearch?query=", "sp"), site_entry("ecosia", "https://www.ecosia.org/search?q="), + site_entry("qwant", "https://www.qwant.com/?q="), site_entry( "stackoverflow", "https://stackoverflow.com/search?q=", diff --git a/R/search-functions.R b/R/search-functions.R index 31f8f94..d6c0146 100644 --- a/R/search-functions.R +++ b/R/search-functions.R @@ -5,8 +5,8 @@ #' #' @param site Name of site to search on. Supported options: #' `"google"` (default), `"bing"`, `"duckduckgo"`, `"startpage"`, -#' `"rstudio community"`, `"twitter"`,`"stackoverflow"`, -#' `"github"`, and `"bitbucket"`. +#' `"qwant"`,`"rstudio community"`, `"twitter"`,`"stackoverflow"`, +#' `"github"`, `"grep"`, and `"bitbucket"`. #' @param query Contents of string to search. Default is the error message. #' @param rlang Search for results written in R. Default is `TRUE` #' @@ -15,7 +15,7 @@ #' @rdname search_site #' @export #' @seealso [search_google()], [search_bing()], [search_duckduckgo()], -#' [search_startpage()], [search_rseek()], [search_twitter()], +#' [search_startpage()], [search_rseek()], [search_qwant()], [search_twitter()], #' [search_rstudio_community()], [search_stackoverflow()], #' [search_github()], [search_grep()], [search_bitbucket()], and [searcher()] #' @examples @@ -37,6 +37,9 @@ #' # Search Rseek #' search_rseek("searcher") #' +#' # Search Qwant +#' search_qwant("Quarto") +#' #' # Search RStudio Community #' search_rstudio_community("RStudio IDE") #' @@ -77,6 +80,7 @@ search_site = function(query, "ddg", "startpage", "sp", + "qwant", "rseek", "rstudio community", "rscom", @@ -101,6 +105,7 @@ search_site = function(query, ddg = search_duckduckgo(query, rlang), startpage = , # empty case carried below sp = search_startpage(query, rlang), + qwant = search_qwant(query, rlang), rseek = search_rseek(query, rlang), `rstudio community` = , # empty case carried below rscom = search_rstudio_community(query, rlang), @@ -232,6 +237,13 @@ search_ecosia = searcher("ecosia") #' `https://rseek.org/?q=` search_rseek = searcher("rseek") +#' @rdname search_site +#' @export +#' @section Qwant Search: +#' The `search_qwant()` function searches +#' [Qwant](https://qwant.com) using: `https://www.qwant.com/?q=` +search_qwant = searcher("qwant") + ########################### End Search Engines diff --git a/README.Rmd b/README.Rmd index 883e1bc..f7532f8 100644 --- a/README.Rmd +++ b/README.Rmd @@ -64,7 +64,7 @@ The `search_*()` functions can be used to search a query directly from _R_ on major search engines, programming help websites, and code repositories. The following search platforms are supported: [Google](https://www.google.com), [Bing](https://www.bing.com/), [DuckDuckGo](https://duckduckgo.com/), [Startpage](https://www.startpage.com/en/), -Ecosia, [rseek](https://rseek.org/), [Twitter](https://twitter.com/search), [StackOverflow](https://stackoverflow.com/search), +Ecosia, [rseek](https://rseek.org/), [Qwant](https://qwant.com/), [Twitter](https://twitter.com/search), [StackOverflow](https://stackoverflow.com/search), [RStudio Community](https://community.rstudio.com/search), [GitHub](https://github.com/search), [grep.app](https://grep.app/), and [BitBucket](https://bitbucket.org/product/). @@ -78,6 +78,7 @@ search_google("R project") search_bing("R project") search_ecosia("R project") search_rseek("R project") +search_qwant("R project") search_duckduckgo("R project") # or search_ddg(...) search_startpage("R project") # or search_sp(...) @@ -141,6 +142,7 @@ search_google() search_bing() search_ecosia() search_rseek() +search_qwant() search_twitter() search_grep() search_duckduckgo() # or search_ddg() diff --git a/man/search_site.Rd b/man/search_site.Rd index 5811ea0..ef40802 100644 --- a/man/search_site.Rd +++ b/man/search_site.Rd @@ -11,6 +11,7 @@ \alias{search_sp} \alias{search_ecosia} \alias{search_rseek} +\alias{search_qwant} \alias{search_rstudio_community} \alias{search_rscom} \alias{search_twitter} @@ -25,7 +26,7 @@ \usage{ search_site( query, - site = c("google", "bing", "duckduckgo", "ddg", "startpage", "sp", "rseek", + site = c("google", "bing", "duckduckgo", "ddg", "startpage", "sp", "qwant", "rseek", "rstudio community", "rscom", "twitter", "stackoverflow", "so", "github", "gh", "grep", "bitbucket", "bb"), rlang = TRUE @@ -49,6 +50,8 @@ search_ecosia(query = geterrmessage(), rlang = TRUE) search_rseek(query = geterrmessage(), rlang = TRUE) +search_qwant(query = geterrmessage(), rlang = TRUE) + search_rstudio_community(query = geterrmessage(), rlang = TRUE) search_rscom(query = geterrmessage(), rlang = TRUE) @@ -74,8 +77,8 @@ search_bb(query = geterrmessage(), rlang = TRUE) \item{site}{Name of site to search on. Supported options: \code{"google"} (default), \code{"bing"}, \code{"duckduckgo"}, \code{"startpage"}, -\code{"rstudio community"}, \code{"twitter"},\code{"stackoverflow"}, -\code{"github"}, and \code{"bitbucket"}.} +\code{"qwant"},\code{"rstudio community"}, \code{"twitter"},\code{"stackoverflow"}, +\code{"github"}, \code{"grep"}, and \code{"bitbucket"}.} \item{rlang}{Search for results written in R. Default is \code{TRUE}} } @@ -135,6 +138,12 @@ The \code{search_rseek()} function searches \href{https://rseek.org}{Rseek} usin \verb{https://rseek.org/?q=} } +\section{Qwant Search}{ + +The \code{search_qwant()} function searches +\href{https://qwant.com}{Qwant} using: \verb{https://www.qwant.com/?q=} +} + \section{RStudio Community Search}{ The \code{search_rstudio_community()} and \code{search_rscom()} functions both search @@ -217,6 +226,9 @@ search_startpage("VS Code") # Search Rseek search_rseek("searcher") +# Search Qwant +search_qwant("Quarto") + # Search RStudio Community search_rstudio_community("RStudio IDE") @@ -252,7 +264,7 @@ options(error = search_google) } \seealso{ \code{\link[=search_google]{search_google()}}, \code{\link[=search_bing]{search_bing()}}, \code{\link[=search_duckduckgo]{search_duckduckgo()}}, -\code{\link[=search_startpage]{search_startpage()}}, \code{\link[=search_rseek]{search_rseek()}}, \code{\link[=search_twitter]{search_twitter()}}, +\code{\link[=search_startpage]{search_startpage()}}, \code{\link[=search_rseek]{search_rseek()}}, \code{\link[=search_qwant]{search_qwant()}}, \code{\link[=search_twitter]{search_twitter()}}, \code{\link[=search_rstudio_community]{search_rstudio_community()}}, \code{\link[=search_stackoverflow]{search_stackoverflow()}}, \code{\link[=search_github]{search_github()}}, \code{\link[=search_grep]{search_grep()}}, \code{\link[=search_bitbucket]{search_bitbucket()}}, and \code{\link[=searcher]{searcher()}} } diff --git a/man/searcher.Rd b/man/searcher.Rd index 02f1654..827d2f4 100644 --- a/man/searcher.Rd +++ b/man/searcher.Rd @@ -9,8 +9,8 @@ searcher(site, keyword = getOption("searcher.default_keyword")) \arguments{ \item{site}{Name of site to search on. Supported options: \code{"google"} (default), \code{"bing"}, \code{"duckduckgo"}, \code{"startpage"}, -\code{"rstudio community"}, \code{"twitter"},\code{"stackoverflow"}, -\code{"github"}, and \code{"bitbucket"}.} +\code{"qwant"},\code{"rstudio community"}, \code{"twitter"},\code{"stackoverflow"}, +\code{"github"}, \code{"grep"}, and \code{"bitbucket"}.} \item{keyword}{Opt to search under different default terms.} }