Skip to content

Commit ff84ac9

Browse files
authored
Add search_twitter() (#30)
* Add search_twitter() * - Reformat unit tests - Add unit tests for twitter * Update site references... * Roll out a new release note. * Ensure we mention it on the readme page. * Clarify search heading * Update CRAN comments
1 parent 9b3b928 commit ff84ac9

File tree

13 files changed

+180
-88
lines changed

13 files changed

+180
-88
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Authors@R: c(
99
)
1010
)
1111
Description: Provides a search interface to look up terms
12-
on 'Google', 'Bing', 'DuckDuckGo', 'Startpage', 'StackOverflow',
12+
on 'Google', 'Bing', 'DuckDuckGo', 'Startpage', 'Twitter', 'StackOverflow',
1313
'RStudio Community', 'GitHub', and 'BitBucket'. Upon searching, a browser
1414
window will open with the aforementioned search results.
1515
URL: https://github.com/r-assist/searcher

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ export(search_so)
1616
export(search_sp)
1717
export(search_stackoverflow)
1818
export(search_startpage)
19+
export(search_twitter)
1920
export(searcher)

NEWS.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
## Features
44

5-
- Allow RStudio's Viewer pane to display search results.
6-
- Note: This feature requires a patch per [rstudio/rstudio#2252](https://github.com/rstudio/rstudio/issues/2252).
7-
([#21](https://github.com/r-assist/searcher/issues/21),
8-
[#22](https://github.com/r-assist/searcher/pull/22))
5+
- Added search portal:
6+
- `search_twitter()`: Searches on [Twitter](https://twitter.com/search).
7+
([#19](https://github.com/r-assist/searcher/issues/19),
8+
[#30](https://github.com/r-assist/searcher/pull/30))
99
- Added ability to set default package actions.
1010
([#7](https://github.com/r-assist/searcher/issues/7),
1111
[#20](https://github.com/r-assist/searcher/pull/20))
@@ -16,11 +16,15 @@
1616
[sandbox issue](https://github.com/rstudio/rstudio/issues/2252) is resolved.
1717
- `searcher.default_keyword`: Suffix keyword to focus search results
1818
between either `"base"` or `"tidyverse"`. Default is `"base"`.
19+
- Added option to launch RStudio's Viewer pane to display search results.
20+
- Note: This feature requires a patch per [rstudio/rstudio#2252](https://github.com/rstudio/rstudio/issues/2252).
21+
([#21](https://github.com/r-assist/searcher/issues/21),
22+
[#22](https://github.com/r-assist/searcher/pull/22))
1923

20-
## Changes
24+
## Breaking Changes
2125

22-
- Function factory or a closure approach is now used to create
23-
search portal functions through `searcher()`.
26+
- Function factory or a closure approach-based approach is now used to create
27+
search portal functions `search_*()` through `searcher()`.
2428
- `searcher()` function has lost the ability to specify `rlang` to address
2529
an unevaluated promise issue.
2630

R/index-sites.R

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ site_index =
7171
"https://bitbucket.com/search?q=",
7272
"bb",
7373
keyword_entry("lang:r")
74+
),
75+
site_entry(
76+
"twitter",
77+
"https://twitter.com/search?q=",
78+
keywords = keyword_entry("%23rstats", "%23rstats %23tidyverse") # %23 is #
7479
)
7580
)
7681

R/search-functions.R

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#'
66
#' @param site Name of site to search on. Supported options:
77
#' `"google"` (default), `"bing"`, `"duckduckgo"`, `"startpage"`,
8-
#' `"stackoverflow"`, `"rstudio community"`, `"github"`, and
9-
#' `"bitbucket"`.
8+
#' `"rstudio community"`, `"twitter"`,`"stackoverflow"`,
9+
#' `"github"`, and `"bitbucket"`.
1010
#' @param query Contents of string to search. Default is the error message.
1111
#' @param rlang Search for results written in R. Default is `TRUE`
1212
#'
@@ -15,8 +15,9 @@
1515
#' @rdname search_site
1616
#' @export
1717
#' @seealso [search_google()], [search_bing()], [search_duckduckgo()],
18-
#' [search_startpage()], [search_stackoverflow()], [search_rstudio_community()],
19-
#' [search_github()], [search_bitbucket()], and [searcher()]
18+
#' [search_startpage()], [search_twitter()], [search_rstudio_community()],
19+
#' [search_stackoverflow()], [search_github()], [search_bitbucket()],
20+
#' and [searcher()]
2021
#' @examples
2122
#' # Search in a generic way
2223
#' search_site("r-project", "google")
@@ -31,17 +32,20 @@
3132
#' search_duckduckgo("R language")
3233
#'
3334
#' # Search startpage
34-
#' search_startpage("RStudio IDE")
35+
#' search_startpage("VS Code")
36+
#'
37+
#' # Search RStudio Community
38+
#' search_rstudio_community("RStudio IDE")
39+
#'
40+
#' # Search Twitter
41+
#' search_twitter("searcher")
3542
#'
3643
#' # Search StackOverflow for Convolutions in the r tag
3744
#' search_stackoverflow("convolutions")
3845
#'
3946
#' # Search all languages on StackOverflow for convolutions
4047
#' search_stackoverflow("convolutions", rlang = FALSE)
4148
#'
42-
#' # Search RStudio Community
43-
#' search_rstudio_community("RStudio IDE")
44-
#'
4549
#' # Search GitHub Issues for bivariate normal in the language:r
4650
#' search_github("bivariate normal")
4751
#'
@@ -64,10 +68,11 @@ search_site = function(query,
6468
"ddg",
6569
"startpage",
6670
"sp",
67-
"stackoverflow",
68-
"so",
6971
"rstudio community",
7072
"rscom",
73+
"twitter",
74+
"stackoverflow",
75+
"so",
7176
"github",
7277
"gh",
7378
"bitbucket",
@@ -85,10 +90,11 @@ search_site = function(query,
8590
ddg = search_duckduckgo(query, rlang),
8691
startpage = , # empty case carried below
8792
sp = search_startpage(query, rlang),
88-
stackoverflow = , # empty case carried below
89-
so = search_stackoverflow(query, rlang),
9093
`rstudio community` = , # empty case carried below
9194
rscom = search_rstudio_community(query, rlang),
95+
twitter = search_twitter(query, rlang),
96+
stackoverflow = , # empty case carried below
97+
so = search_stackoverflow(query, rlang),
9298
github = , # empty case carried below
9399
gh = search_github(query, rlang),
94100
bitbucket = , # empty case carried below
@@ -199,21 +205,6 @@ search_sp = search_startpage
199205

200206
########################### Start Search Development Community Websites
201207

202-
#' @rdname search_site
203-
#' @export
204-
#' @section StackOverflow Search:
205-
#' The `search_stackoverflow()` and `search_so()` functions both search
206-
#' [StackOverflow](https://stackoverflow.com) using:
207-
#' \code{https://stackoverflow.com/search?q=\%5Br\%5D+<query>}
208-
#'
209-
#' For additional details regarding [StackOverflow](https://stackoverflow.com)'s
210-
#' search interface please see:
211-
#' \url{https://stackoverflow.com/help/advanced-search-parameters-jobs}
212-
search_stackoverflow = searcher("so")
213-
214-
#' @rdname search_site
215-
#' @export
216-
search_so = search_stackoverflow
217208

218209
#' @rdname search_site
219210
#' @export
@@ -231,6 +222,34 @@ search_rstudio_community = searcher("rscom")
231222
#' @export
232223
search_rscom = search_rstudio_community
233224

225+
#' @rdname search_site
226+
#' @export
227+
#' @section Twitter Search:
228+
#' The `search_twitter()` functions search
229+
#' [Twitter](https://twitter.com/) using:
230+
#' \code{https://twitter.com/search?q=<query>}
231+
#'
232+
#' For additional details regarding [Twitter](https://twitter.com/)'s
233+
#' search interface please see:
234+
#' \url{https://help.twitter.com/en/using-twitter/twitter-advanced-search}
235+
search_twitter = searcher("twitter")
236+
237+
#' @rdname search_site
238+
#' @export
239+
#' @section StackOverflow Search:
240+
#' The `search_stackoverflow()` and `search_so()` functions both search
241+
#' [StackOverflow](https://stackoverflow.com) using:
242+
#' \code{https://stackoverflow.com/search?q=\%5Br\%5D+<query>}
243+
#'
244+
#' For additional details regarding [StackOverflow](https://stackoverflow.com)'s
245+
#' search interface please see:
246+
#' \url{https://stackoverflow.com/help/advanced-search-parameters-jobs}
247+
search_stackoverflow = searcher("so")
248+
249+
#' @rdname search_site
250+
#' @export
251+
search_so = search_stackoverflow
252+
234253
########################### End Search Development Community Websites
235254

236255
########################### Start Search Code Repos

README.Rmd

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ The `search_*()` functions can be used to search a query directly from _R_ on
6464
major search engines, programming help websites, and code repositories. The following search
6565
platforms are supported: [Google](https://google.com), [Bing](https://www.bing.com/),
6666
[DuckDuckGo](https://duckduckgo.com/), [Startpage](https://www.startpage.com/en/),
67-
[StackOverflow](https://stackoverflow.com/search),
67+
[Twitter](https://twitter.com/search), [StackOverflow](https://stackoverflow.com/search),
6868
[RStudio Community](https://community.rstudio.com/search),
6969
[GitHub](https://github.com/search), and [BitBucket](https://bitbucket.com/search).
7070
By default, an appropriate suffix for each platform that ensures relevant
@@ -78,6 +78,10 @@ search_bing("R project")
7878
search_duckduckgo("R project") # or search_ddg(...)
7979
search_startpage("R project") # or search_sp(...)
8080

81+
# Searching Twitter to find out about machine learning for R and in general
82+
search_twitter("machine learning")
83+
search_twitter("machine learning", rlang = FALSE)
84+
8185
# Searching for linear regression questions for R and in general
8286
search_stackoverflow("linear regression")
8387
search_stackoverflow("linear regression", rlang = FALSE) # or search_so(...)
@@ -129,6 +133,7 @@ the last error message as the search query on the desired search portal.
129133
```r
130134
search_google()
131135
search_bing()
136+
search_twitter()
132137
search_duckduckgo() # or search_ddg()
133138
search_startpage() # or search_sp()
134139
search_stackoverflow() # or search_so()

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ repositories. The following search platforms are supported:
6060
[Google](https://google.com), [Bing](https://www.bing.com/),
6161
[DuckDuckGo](https://duckduckgo.com/),
6262
[Startpage](https://www.startpage.com/en/),
63+
[Twitter](https://twitter.com/search),
6364
[StackOverflow](https://stackoverflow.com/search), [RStudio
6465
Community](https://community.rstudio.com/search),
6566
[GitHub](https://github.com/search), and
@@ -75,6 +76,10 @@ search_bing("R project")
7576
search_duckduckgo("R project") # or search_ddg(...)
7677
search_startpage("R project") # or search_sp(...)
7778

79+
# Searching Twitter to find out about machine learning for R and in general
80+
search_twitter("machine learning")
81+
search_twitter("machine learning", rlang = FALSE)
82+
7883
# Searching for linear regression questions for R and in general
7984
search_stackoverflow("linear regression")
8085
search_stackoverflow("linear regression", rlang = FALSE) # or search_so(...)
@@ -127,6 +132,7 @@ search portal.
127132
``` r
128133
search_google()
129134
search_bing()
135+
search_twitter()
130136
search_duckduckgo() # or search_ddg()
131137
search_startpage() # or search_sp()
132138
search_stackoverflow() # or search_so()

cran-comments.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## Test environments
22

3-
- local OS X install, R 3.6.0
4-
- ubuntu 14.04 (on travis-ci), R 3.6.0
3+
- local OS X install, R 3.6.2
4+
- ubuntu 16.04 (with GitHub Actions), R 3.6.2
55
- win-builder (devel and release)
66

77
## R CMD check results

man/search_site.Rd

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

0 commit comments

Comments
 (0)