Skip to content

Commit b789361

Browse files
authored
Kagi & Brave (#42)
1 parent 336d83c commit b789361

File tree

9 files changed

+107
-10
lines changed

9 files changed

+107
-10
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: searcher
22
Title: Query Search Interfaces
3-
Version: 0.0.7
3+
Version: 0.0.7.2
44
Authors@R: c(
55
person("James", "Balamuta",
66
email = "[email protected]",

NAMESPACE

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export(ask_perplexity)
1616
export(search_bb)
1717
export(search_bing)
1818
export(search_bitbucket)
19+
export(search_brave)
1920
export(search_ddg)
2021
export(search_duckduckgo)
2122
export(search_ecosia)
@@ -24,6 +25,7 @@ export(search_github)
2425
export(search_google)
2526
export(search_grep)
2627
export(search_ixquick)
28+
export(search_kagi)
2729
export(search_qwant)
2830
export(search_rscom)
2931
export(search_rseek)

NEWS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
- Added new vignettes:
2020
- `search-with-ai-assistants.Rmd`: Overview of the AI Searching Techniques
2121
- `managing-ai-prompts.Rmd`: Overview of `searcher`'s AI Prompt Management System
22+
- Added search portals:
23+
- `search_brave()`: Searches on Brave.
24+
([#42](https://github.com/coatless-rpkg/searcher/pull/42))
25+
- `search_kagi()`: Searches on Kagi.
26+
([#42](https://github.com/coatless-rpkg/searcher/pull/42))
2227
- Added searcher logo ([#40](https://github.com/coatless-rpkg/searcher/pull/40))
2328

2429

R/index-sites.R

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ site_index =
5151
site_entry("startpage", "https://startpage.com/do/dsearch?query=", "sp"),
5252
site_entry("ecosia", "https://www.ecosia.org/search?q="),
5353
site_entry("qwant", "https://www.qwant.com/?q="),
54+
site_entry("brave", "https://search.brave.com/search?q="),
55+
site_entry("kagi", "https://kagi.com/search?q="),
5456
site_entry(
5557
"stackoverflow",
5658
"https://stackoverflow.com/search?q=",

R/search-functions.R

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
#' @rdname search_site
1919
#' @export
2020
#' @seealso [search_google()], [search_bing()], [search_duckduckgo()],
21-
#' [search_startpage()], [search_rseek()], [search_qwant()], [search_twitter()],
21+
#' [search_startpage()], [search_rseek()], [search_qwant()],
22+
#' [search_brave()], [search_kagi()], [search_twitter()],
2223
#' [search_rstudio_community()], [search_stackoverflow()],
2324
#' [search_github()], [search_grep()], [search_bitbucket()], and [searcher()]
2425
#' @examples
@@ -43,6 +44,9 @@
4344
#' # Search Qwant
4445
#' search_qwant("Quarto")
4546
#'
47+
#' # Search Brave
48+
#' search_brave("webR")
49+
#'
4650
#' # Search RStudio Community
4751
#' search_rstudio_community("RStudio IDE")
4852
#'
@@ -85,6 +89,8 @@ search_site = function(query,
8589
"sp",
8690
"qwant",
8791
"rseek",
92+
"brave",
93+
"kagi",
8894
"rstudio community",
8995
"rscom",
9096
"twitter",
@@ -119,6 +125,8 @@ search_site = function(query,
119125
sp = search_startpage(query, rlang),
120126
qwant = search_qwant(query, rlang),
121127
rseek = search_rseek(query, rlang),
128+
brave = search_brave(query, rlang),
129+
kagi = search_kagi(query, rlang),
122130
`rstudio community` = , # empty case carried below
123131
rscom = search_rstudio_community(query, rlang),
124132
twitter = search_twitter(query, rlang),
@@ -261,6 +269,23 @@ search_rseek = searcher("rseek")
261269
#' Qwant using: `https://www.qwant.com/?q=<query>`
262270
search_qwant = searcher("qwant")
263271

272+
#' @rdname search_site
273+
#' @export
274+
#' @section Brave Search:
275+
#' The `search_brave()` function searches
276+
#' Brave using: `https://search.brave.com/search?q=<query>&source=web`
277+
search_brave = searcher("brave")
278+
279+
#' @rdname search_site
280+
#' @export
281+
#' @section Kagi Search:
282+
#' The `search_kagi()` function searches
283+
#' Kagi using: `https://kagi.com/search?q=<query>`
284+
#'
285+
#' This is a paid search engine, and you will need to
286+
#' sign up for an account to use it.
287+
search_kagi = searcher("kagi")
288+
264289
########################### End Search Engines
265290

266291

README.Rmd

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ The `search_*()` functions can be used to search a query directly from _R_ on
6363
major search engines, programming help websites, and code repositories. The following search
6464
platforms are supported: [Google](https://www.google.com), [Bing](https://www.bing.com/),
6565
[DuckDuckGo](https://duckduckgo.com/), [Startpage](https://www.startpage.com/en/),
66-
Ecosia, [rseek](https://rseek.org/), Qwant, X (formerly Twitter), [StackOverflow](https://stackoverflow.com/),
66+
Ecosia, [rseek](https://rseek.org/), Qwant, [Brave](https://search.brave.com/),
67+
Kagi, X (formerly Twitter), [StackOverflow](https://stackoverflow.com/),
6768
[RStudio Community](https://community.rstudio.com/search),
6869
[GitHub](https://github.com/search), [grep.app](https://grep.app/),
6970
and [BitBucket](https://bitbucket.org/product/).
@@ -78,6 +79,8 @@ search_bing("R project")
7879
search_ecosia("R project")
7980
search_rseek("R project")
8081
search_qwant("R project")
82+
search_brave("R project")
83+
search_kagi("R project")
8184
search_duckduckgo("R project") # or search_ddg(...)
8285
search_startpage("R project") # or search_sp(...)
8386

@@ -178,6 +181,8 @@ search_bing()
178181
search_ecosia()
179182
search_rseek()
180183
search_qwant()
184+
search_brave()
185+
search_kagi()
181186
search_twitter()
182187
search_grep()
183188
search_duckduckgo() # or search_ddg()

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ repositories. The following search platforms are supported:
5858
[Google](https://www.google.com), [Bing](https://www.bing.com/),
5959
[DuckDuckGo](https://duckduckgo.com/),
6060
[Startpage](https://www.startpage.com/en/), Ecosia,
61-
[rseek](https://rseek.org/), Qwant, X (formerly Twitter),
62-
[StackOverflow](https://stackoverflow.com/), [RStudio
63-
Community](https://community.rstudio.com/search),
61+
[rseek](https://rseek.org/), Qwant, [Brave](https://search.brave.com/),
62+
Kagi, X (formerly Twitter), [StackOverflow](https://stackoverflow.com/),
63+
[RStudio Community](https://community.rstudio.com/search),
6464
[GitHub](https://github.com/search), [grep.app](https://grep.app/), and
6565
[BitBucket](https://bitbucket.org/product/). By default, an appropriate
6666
suffix for each platform that ensures relevant results to *R* is
@@ -74,6 +74,8 @@ search_bing("R project")
7474
search_ecosia("R project")
7575
search_rseek("R project")
7676
search_qwant("R project")
77+
search_brave("R project")
78+
search_kagi("R project")
7779
search_duckduckgo("R project") # or search_ddg(...)
7880
search_startpage("R project") # or search_sp(...)
7981

@@ -177,6 +179,8 @@ search_bing()
177179
search_ecosia()
178180
search_rseek()
179181
search_qwant()
182+
search_brave()
183+
search_kagi()
180184
search_twitter()
181185
search_grep()
182186
search_duckduckgo() # or search_ddg()

man/search_site.Rd

Lines changed: 29 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/testthat/test-search-functions.R

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,35 @@ test_that("Check link generation - rseek", {
8282

8383
})
8484

85+
86+
test_that("Check link generation - Brave", {
87+
88+
expect_identical(
89+
search_brave("toad"),
90+
"https://search.brave.com/search?q=toad%20r%20programming"
91+
)
92+
93+
expect_identical(
94+
search_brave("toad", rlang = FALSE),
95+
"https://search.brave.com/search?q=toad"
96+
)
97+
98+
})
99+
100+
test_that("Check link generation - kagi", {
101+
102+
expect_identical(
103+
search_kagi("toad"),
104+
"https://kagi.com/search?q=toad%20r%20programming"
105+
)
106+
107+
expect_identical(
108+
search_kagi("toad", rlang = FALSE),
109+
"https://kagi.com/search?q=toad"
110+
)
111+
112+
})
113+
85114
test_that("Check link generation - RStudio Community", {
86115

87116
expect_identical(

0 commit comments

Comments
 (0)