Skip to contents

This function adds HTML tags to a source to allow pretty printing/viewing. For an example, visit https://rock.opens.science/articles/rock.html.

Usage

prettify_source(
  x,
  heading = NULL,
  headingLevel = 2,
  add_html_tags = TRUE,
  output = NULL,
  outputViewer = "viewer",
  template = "default",
  includeCSS = TRUE,
  preserveSpaces = TRUE,
  includeBootstrap = rock::opts$get("includeBootstrap"),
  preventOverwriting = rock::opts$get(preventOverwriting),
  silent = rock::opts$get(silent)
)

Arguments

x

The source, as imported with load_source() or as a path to a file.

heading

Optionally, a title to include in the output. The title will be prefixed with headingLevel hashes (#), and the codes with headingLevel+1 hashes. If NULL (the default), a heading will be generated that includes the collected codes if those are five or less. If a character value is specified, that will be used. To omit a heading, set to anything that is not NULL or a character vector (e.g. FALSE). If no heading is used, the code prefix will be headingLevel hashes, instead of headingLevel+1 hashes.

headingLevel

The number of hashes to insert before the headings.

add_html_tags

Whether to add HTML tags to the result.

output

Here, a path and filename can be provided where the result will be written. If provided, the result will be returned invisibly.

outputViewer

If showing output, where to show the output: in the console (outputViewer='console') or in the viewer (outputViewer='viewer'), e.g. the RStudio viewer. You'll usually want the latter when outputting HTML, and otherwise the former. Set to FALSE to not output anything to the console or the viewer.

template

The template to load; either the name of one of the ROCK templates (currently, only 'default' is available), or the path and filename of a CSS file.

includeCSS

Whether to include the ROCK CSS in the returned HTML.

preserveSpaces

Whether to preservce spaces (by replacing every second space with  ) or not.

includeBootstrap

Whether to include the default bootstrap CSS.

preventOverwriting

Whether to prevent overwriting of output files.

silent

Whether to provide (FALSE) or suppress (TRUE) more detailed progress updates.

Value

A character vector with the prettified source

Examples

### Get path to example source
examplePath <-
  system.file("extdata", package="rock");

### Get a path to one example file
exampleFile <-
  file.path(examplePath, "example-1.rock");

### Prettify source; if using RStudio, by default the
### prettified source is shown in the viewer. You can
### view the output of this example in the "rock" vignette
### at https://rock.opens.science/articles/rock.html
rock::prettify_source(
  exampleFile
);
#> [1] "This example prints the HTML result in the viewer."     
#> [2] "However, for some reason PkgDown refuses to pretty"     
#> [3] "print the HTML, despite it being a `htmltools::HTML()`" 
#> [4] "result passed to a custom printing function. Therefore,"
#> [5] "you can check the example in the vignette at"           
#> [6] "https://rock.opens.science/articles/rock.html"          
#> [7] "If you happen to know a solution, please let me know!"