Package 'govdown'

Title: GOV.UK Style Templates for R Markdown
Description: A suite of custom R Markdown formats and templates for authoring web pages styled with the GOV.UK Design System.
Authors: Crown Copyright 2019 [cph], Duncan Garmonsway [aut, cre]
Maintainer: Duncan Garmonsway <[email protected]>
License: MIT + file LICENSE
Version: 0.10.1
Built: 2024-07-05 03:16:02 UTC
Source: https://github.com/ukgovdatascience/govdown

Help Index


GOV.UK style HTML template

Description

A template for rendering R Markdown documents as HTML using the GOV.UK Design System. Can be used for single documents or for websites. font: "sans-serif" favicon: "custom" logo: "images/govdown-logo-white-on-transparent.svg" logo_url: "index.html" logo_text: "govdown" page_title: "page_title" title: "title" phase: alpha feedback_url: "https://github.com/ukgovdatascience/govdown/issues"

Usage

govdown_document(
  keep_md = FALSE,
  font = c("sans-serif", "new-transport"),
  favicon = c("none", "custom", "govuk"),
  logo = FALSE,
  logo_url = "",
  logo_text = "Logo text",
  page_title = "Page title",
  title = "Title",
  phase = c("none", "alpha", "beta"),
  feedback_url = "404.html",
  google_analytics = NULL,
  ...
)

Arguments

keep_md

logical, whether to keep the intermediate .md file after rendering.

font

one of "sans-serif" (default) or "new-transport". New Transport must be when the document or website is published on the GOV.UK domain, otherwise it must not be used.

favicon

one of "govuk" (default) or "custom". For websites only, not standalone documents. If "custom" then image files in the directory "favicon/" will be used. The filenames are:

  • ⁠apple-touch-icon-152x152.png⁠

  • ⁠apple-touch-icon-167x167.png⁠

  • ⁠apple-touch-icon-180x180.png⁠

  • apple-touch-icon.png

  • favicon.ico

  • mask-icon.svg

See system.file("rmarkdown/resources/favicon-custom.html", package = "govdown") for how the icons are used. See system.file("rmarkdown/resources/assets/images", package = "govdown") for the default images. All the files are required.

FALSE (default) or a path to an image file.

logo_url

URL to follow when the logo is clicked.

logo_text

Text to place beside the logo.

page_title

Text to go inside the ⁠<title>⁠ tags, used in browser toolbars, when making bookmarks and in search engine results.

title

Text to appear in the main part of the bar at the top of every page.

phase

one of "none" (default), "alpha" or "beta" to put an alpha or beta banner indicating the maturity of the service (if it is a service).

feedback_url

URL for feedback, given in the phase banner when phase is "alpha" or "beta".

google_analytics

Google Analytics ID for monitoring traffic to the website.

...

passed on to rmarkdown::html_document_base(), used by Shiny and rmarkdown::run().

Details

To configure a standalone document, use the yaml at the top of the .Rmd file.

---
output:
  govdown::govdown_document:
    font: "sans-serif"
    favicon: "custom"
    logo: "images/logo.svg"
    logo_url: "https://ukgovdatascience.github.io/govdown/"
    logo_text: "logo_text"
    page_title: "page_title"
    title: "title"
    phase: alpha
    feedback_url: "https://github.com/ukgovdatascience/govdown/issues"
    google_analytics: "UA-12345678-90"
---

To configure a website, use a ⁠_site.yml⁠ file instead.

output_dir: docs # to host on GitHub pages
navbar:
  - text: "Home"
    href: index.html
  - text: "Tech docs"
    href: tech-docs.html
  - text: "News"
    href: NEWS.html
output:
  govdown::govdown_document:
    font: "sans-serif"
    favicon: "custom"
    logo: "images/govdown-logo-white-on-transparent.svg"
    logo_url: "index.html"
    logo_text: "govdown"
    page_title: "page_title"
    title: "title"
    phase: alpha
    feedback_url: "https://github.com/ukgovdatascience/govdown/issues"
    google_analytics: "UA-45097885-11"

Value

R Markdown output format to pass to rmarkdown::render()

Examples

## Not run: 
  # Requires pandoc version 2+
  input_rmd <- system.file("extdata/input.Rmd", package = "govdown")
  x <- rmarkdown::render(input_rmd, govdown_document())
  y <- rmarkdown::render(input_rmd, govdown_document(phase = "alpha"))
  utils::browseURL(x)
  utils::browseURL(y)

## End(Not run)

Remove bootstrap css from crosstalk components

Description

If your page renders weirdly, it might be because a crosstalk component like crosstalk::filter_select() is injecting unexpected css into your page, which happens because they try to use the Bootstrap css library by default. The unstrap() function prevents that from happening.

Usage

unstrap(x)

Arguments

x

a crosstalk component, such as crosstalk::filter_select()

Value

The component x but with any "boostrap" dependency removed from its html_dependencies attribute.

Examples

# The fs object will inject css into your page.
if (requireNamespace("crosstalk", quietly = TRUE)) {
  df <- crosstalk::SharedData$new(mtcars)

  fs <- crosstalk::filter_select(
      id = "myselector",
      label = "select something",
      sharedData = df,
      group = ~cyl
    )

  # The fs_nobootstrap object won't inject css into your page.
  fs_nobootstrap <- unstrap(fs)
}