---
title: "r2social R package: Seamlessly include social sharing and connect buttons on a shiny app or rmarkdown"
author: "Obinna N. Obianom (pseudonym: William Hane)"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{r2social R package: Seamlessly include social sharing and connect buttons on a shiny app or rmarkdown}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---


## The goal of this new R package is to provide functions that allow the inclusion of share and connect buttons on any page. This has been tested in Rmarkdown documents as well as on simply Shiny applications. See the examples folder of this package.

Constitutes the following features:
  
  - [x] profile cards with links
      
  - [x] Share link buttons alone
      
  - [x] Connect buttons alone
      
  - [x] Hyperlink buttons alone

![](https://r2social.obi.obianom.com/r2social2.gif)

### Installation and Library Attachment

The r2social package is available on CRAN and can be installed as shown below

`install.packages(r2social)`

Attach library 

`library(r2social)`

### Use

The r2social can be used within the R Markdown document or in Shiny applications as shown below


#### Include the scripts and stylesheets for Rmarkdown

`r2social.scripts()`

## Feature 2: Profile card with social links

### Shiny application

```
ui <- fluidPage(

profileDisplay1(list(
  a = list(
    name = "Obi Obianom",
    title = "Senior Scientist",
    image = "https://r2social.obi.obianom.com/misc/team3.jpg",
    social = list(
      list(name = "x",
           link = "https://x.com/R2Rpkg"),
      list(name = "linkedin",
           link = "https://linkedin.com/oobianom"),
      list(name = "website",
           link = "https://obianom.com"),
      list(name = "youtube",
           link = "https://youtube.com/R2Rpkg")
    )
  ),
  b = list(
    name = "William Hane",
    title = "Core Developer",
    image = "https://r2social.obi.obianom.com/misc/team1.jpg",
    social = list(list(name = "youtube",
                       link = "https://youtube.com/R2Rpkg"))
  )
))


)

```

### Rmarkdown application

```

profileDisplay1(list(
  a = list(
    name = "Obi Obianom",
    title = "Senior Scientist",
    image = "https://r2social.obi.obianom.com/misc/team2.jpg",
    social = list(
      list(name = "x",
           link = "https://x.com/R2Rpkg"),
      list(name = "linkedin",
           link = "https://linkedin.com/oobianom"),
      list(name = "website",
           link = "https://obianom.com"),
      list(name = "youtube",
           link = "https://youtube.com/R2Rpkg")
    )
  ),
  b = list(
    name = "William Hane",
    title = "Core Developer",
    image = "https://r2social.obi.obianom.com/misc/team4.jpg",
    social = list(list(name = "youtube",
                       link = "https://youtube.com/R2Rpkg"))
  )
))

```

## Feature 1: Add social links on the sides

### Shiny application

```

#ex 1 - to share various links
ui <- fluidPage(
  r2social.scripts(),
  shareButton(link = "https://rpkg.net", position = "left"),
  shareButton(link = "https://shinyappstore.com", position = "inline"),
  shareButton(link = "https://shinyappstore.com", plain = T, position = "inline"), #plain style
  shareButton(link = "https://obianom.com", position = "right")
)

#ex 2 - to link your page to specific domain online
ui <- fluidPage(
  r2social.scripts(),
  # to my personal website
  connectButton(link = "https://obianom.com", position = "inline",link.out = FALSE, visit.us = TRUE),

  # to my Twitter/X page
  connectButton(link = "https://x.com/R2Rpkg", position = "inline",link.out = FALSE, x = TRUE)
)


```

### Rmarkdown document

```

library(r2social)

r2social.scripts()
shareButton(link = "https://rpkg.net", position = "left")
shareButton(link = "https://shinyappstore.com", position = "inline")
shareButton(link = "https://obianom.com", position = "right")

```


## Full examples and documentation

 + https://r2social.obi.obianom.com
