You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
3 years ago | |
---|---|---|
.github/workflows | 3 years ago | |
R | 3 years ago | |
data-raw | 3 years ago | |
inst | 3 years ago | |
man | 3 years ago | |
tests | 3 years ago | |
.Rbuildignore | 3 years ago | |
.codecov.yml | 3 years ago | |
.gitignore | 3 years ago | |
.travis.yml | 3 years ago | |
CONDUCT.md | 3 years ago | |
DESCRIPTION | 3 years ago | |
LICENSE | 3 years ago | |
LICENSE.md | 3 years ago | |
NAMESPACE | 3 years ago | |
NEWS.md | 3 years ago | |
README.Rmd | 3 years ago | |
README.md | 3 years ago | |
slugify.Rproj | 3 years ago |
README.md
slugify
Create Slug Strings for SEO
Description
Most blogging platforms turn title phrases into slugs for better SEO. Tools are provided to turn phrases into slugs.
What’s Inside The Tin
The following functions are implemented:
-
slugify_native
: Native R slugify (with the help of stringi) -
slugify
: Slugify a string
Installation
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.
Usage
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
slugify Metrics
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
Code of Conduct
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.