The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
shinyseo is a small helper package for Shiny apps that
need social and search metadata.
It builds one shiny::tags$head() fragment
containing:
descriptionThe package accepts either a YAML file path or a named list.
If you only need the short contract: there is one exported function,
social_meta(). It returns a shiny::tags$head()
fragment that belongs in the UI of a Shiny app.
When you call social_meta(), the package:
social_meta(meta):
meta may be a YAML path or a named listtitle, description, url, and
image are requiredmeta is a character string, it is read with
yaml::read_yaml()schema = FALSE disables JSON-LD outputschema keeps JSON-LD enabledMinimal configuration:
title: "Example app"
description: "A short app description."
url: "https://example.no"
image: "https://example.no/share.png"Common extras:
| Field | What it does |
|---|---|
locale |
Sets Open Graph locale and schema language default |
robots |
Controls the robots meta tag |
twitter_card |
Sets the Twitter card type |
site_name |
Sets og:site_name |
twitter_site |
Sets twitter:site |
twitter_creator |
Sets twitter:creator |
image_alt |
Sets og:image:alt |
twitter_image_alt |
Sets twitter:image:alt |
bing_site_verification |
Sets Bing verification |
google_site_verification |
Sets Google Search Console verification |
yandex_site_verification |
Sets Yandex Webmaster verification |
baidu_site_verification |
Sets Baidu Webmaster verification |
naver_site_verification |
Sets Naver Webmaster verification |
facebook_domain_verification |
Sets Facebook domain verification |
pinterest_domain_verification |
Sets Pinterest domain verification |
schema |
Set to FALSE to disable JSON-LD |
If you want shared defaults across several apps, you can set these in
.Renviron and let app-level YAML override them when
needed:
SHINYSEO_BING_SITE_VERIFICATIONSHINYSEO_TWITTER_SITESHINYSEO_TWITTER_CREATORUse .Renviron for values that are shared across many
apps on the same machine or deployment:
SHINYSEO_BING_SITE_VERIFICATIONSHINYSEO_TWITTER_SITESHINYSEO_TWITTER_CREATORKeep per-app values in each app’s meta.yml:
titledescriptionurlimagelocale if one app differs from the shared defaultsite_name if one app needs a different display
nametwitter_site or twitter_creator if one app
should override the shared defaultbing_site_verification if one app needs a different
Bing tokenSHINYSEO_GOOGLE_ANALYTICS_MEASUREMENT_ID is not used by
shinyseo itself. If you use GA4, keep that in your server
or deployment config instead of in meta.yml.
library(shiny)
library(shinyseo)
ui <- fluidPage(
social_meta("meta.yml"),
h1("My app")
)
server <- function(input, output, session) {}
shinyApp(ui, server)You can also pass a list directly:
social_meta(list(
title = "Example app",
description = "A short app description.",
url = "https://example.no",
image = "https://example.no/share.png"
))The long-form package docs live in vignettes:
If the package is installed, you can also open them with
browseVignettes("shinyseo").
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.