[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) [![Signed by](https://img.shields.io/badge/Keybase-Verified-brightgreen.svg)](https://keybase.io/hrbrmstr) ![Signed commit %](https://img.shields.io/badge/Signed_Commits-100%25-lightgrey.svg) [![Linux build Status](https://travis-ci.org/hrbrmstr/longurl.svg?branch=master)](https://travis-ci.org/hrbrmstr/longurl) [![Coverage Status](https://codecov.io/gh/hrbrmstr/longurl/branch/master/graph/badge.svg)](https://codecov.io/gh/hrbrmstr/longurl) [![cran checks](https://cranchecks.info/badges/worst/longurl)](https://cranchecks.info/pkgs/longurl) [![CRAN status](https://www.r-pkg.org/badges/version/longurl)](https://www.r-pkg.org/pkg/longurl) ![Minimal R Version](https://img.shields.io/badge/R%3E%3D-3.6.0-blue.svg) ![License](https://img.shields.io/badge/License-MIT-blue.svg) # longurl Expand Short ‘URLs’ ## Description Tools are provided to expand vectors of short URLs into long ‘URLs’. No ‘API’ services are used, which may mean that this operates more slowly than ‘API’ services do (since they usually cache results of expansions that every user of the service requests). You can setup your own caching layer with the ‘memoise’ package if you wish to have a speedup during single sessions or add larger dependencies, such as ‘Redis’, to gain a longer-term performance boost at the expense of added complexity. ## What’s Inside The Tin The following functions are implemented: - `expand_urls`: Expand a vector of (short) URLs using ## Installation ``` r install.packages("longurl", repos = c("https://cinc.rud.is", "https://cloud.r-project.org/")) # or remotes::install_git("https://git.rud.is/hrbrmstr/longurl.git") # or remotes::install_git("https://git.sr.ht/~hrbrmstr/longurl") # or remotes::install_gitlab("hrbrmstr/longurl") # or remotes::install_github("hrbrmstr/longurl") ``` NOTE: To use the ‘remotes’ install options you will need to have the [{remotes} package](https://github.com/r-lib/remotes) installed. ## Usage ``` r library(longurl) library(magrittr) # current version packageVersion("longurl") ## [1] '0.3.3' ``` ``` r c( "http://t.co/D4C7aWYIiA", "1.usa.gov/1J6GNoW", "ift.tt/1L2Llfr", "bit.ly/1GPr5w5", "http://l.dds.ec/1da152x", "http://l.rud.is/seven", "qrp://not a valid url/" ) -> test_urls expand_urls(test_urls) %>% dplyr::select(orig_url, status_code, expanded_url) %>% knitr::kable() ``` | orig\_url | status\_code | expanded\_url | | :------------------------ | :----------- | :--------------------------------------------------------------------------------------------------------- | | | 200 | | | 1.usa.gov/1J6GNoW | 404 | | | ift.tt/1L2Llfr | 200 | | | bit.ly/1GPr5w5 | 200 | | | | 200 | | | | 404 | | | qrp://not a valid url/ | NA | NA | ## longurl Metrics | Lang | \# Files | (%) | LoC | (%) | Blank lines | (%) | \# Lines | (%) | | :--- | -------: | --: | --: | ---: | ----------: | ---: | -------: | ---: | | R | 4 | 0.8 | 110 | 0.84 | 20 | 0.54 | 51 | 0.65 | | Rmd | 1 | 0.2 | 21 | 0.16 | 17 | 0.46 | 27 | 0.35 | ## 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.