Create Slug Strings for SEO
Most blogging platforms turn title phrases into slugs for better SEO. Tools are provided to turn phrases into slugs.
The following functions are implemented:
-
slugify_native
: Native R slugify (with the help of stringi) -
slugify
: Slugify a string
install.packages("slugify", repos = c("https://cinc.rud.is", "https://cloud.r-project.org/"))
# or
remotes::install_git("https://git.rud.is/hrbrmstr/slugify.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/slugify")
# or
remotes::install_gitlab("hrbrmstr/slugify")
# or
remotes::install_bitbucket("hrbrmstr/slugify")
# or
remotes::install_github("hrbrmstr/slugify")
NOTE: To use the ‘remotes’ install options you will need to have the {remotes} package installed.
library(slugify)
# current version
packageVersion("slugify")
## [1] '0.2.0'
slugify("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET")
## [1] "new-package-cdccovidview-to-work-with-the-us-cdcs-new-covid-19-trackers-covidview-and-covid-net"
slugify("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET", replacement = "@")
## [1] "new@package@cdccovidview@to@work@with@the@us@cdcs@new@covid19@trackers@covidview@and@covidnet"
slugify("R is great!", remove = "/[Rr]/g")
## [1] "is-geat"
slugify_native("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET")
## [1] "new-package-cdccovidview-to-work-with-the-us-cdcs-new-covid-19-trackers-covidview-and-covid-net"
slugify_native("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET", repl = "@")
## [1] "new@package@cdccovidview@to@work@with@the@us@cdcs@new@covid-19@trackers@covidview@and@covid-net"
microbenchmark::microbenchmark(
slugify_native("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET"),
slugify("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET"),
control = list(warmup = 10)
)
## Unit: microseconds
## expr
## slugify_native("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET")
## slugify("New Package — {cdccovidview} — To Work with the U.S. CDC’s New COVID-19 Trackers: COVIDView and COVID-NET")
## min lq mean median uq max neval
## 294.659 310.4540 376.8535 326.3330 375.5105 1446.752 100
## 274.091 302.8215 439.2495 336.0975 476.3755 1314.823 100
Lang | # Files | (%) | LoC | (%) | Blank lines | (%) | # Lines | (%) |
---|---|---|---|---|---|---|---|---|
R | 6 | 0.86 | 130 | 0.88 | 25 | 0.52 | 32 | 0.48 |
Rmd | 1 | 0.14 | 18 | 0.12 | 23 | 0.48 | 35 | 0.52 |
clock Package Metrics for slugify
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.