Learn R Programming

⚠️There's a newer version (2.1.2) of this package.Take me there.

pkgdown

pkgdown is designed to make it quick and easy to build a website for your package. You can see pkgdown in action at https://pkgdown.r-lib.org: this is the output of pkgdown applied to the latest version of pkgdown. Learn more in vignette("pkgdown") or ?build_site.

Installation

# Install release version from CRAN
install.packages("pkgdown")

# Install development version from GitHub
devtools::install_github("r-lib/pkgdown")

Usage

Run pkgdown from the package directory each time you release your package:

pkgdown::build_site()

This will generate a docs/ directory. The home page will be generated from your package’s README.md, and a function reference will be generated from the documentation in the man/ directory. If you are using GitHub, the easiest way to make this your package website is to check into git, then go to settings for your repo and make sure that the GitHub pages source is set to “master branch /docs folder”. Be sure to update the URL on your github repository homepage so others can easily navigate to your new site.

To customise your site, create _pkgdown.yml and modify it as described in the documentation. You can also use pkgdown/_pkgdown.yml if you need other files to customise your site.

The package includes an RStudio add-in that you can bind to a keyboard shortcut. I recommend Cmd + Shift + W: it uses Cmd + Shift, like all other package development shortcuts, it replaces a rarely used command (close all tabs), and the W is a mnemonic for website.

In the wild

At last count, pkgdown is used by over 4,500 packages.

Here are a few examples created by contributors to pkgdown:

  • bayesplot [source]: plotting functions for posterior analysis, model checking, and MCMC diagnostics.

  • valr [source]: read and manipulate genome intervals and signals.

  • mkin [source]: calculation routines based on the FOCUS Kinetics Report

  • NMF [source]: a framework to perform non-negative matrix factorization (NMF).

Comparing the source and output of these sites is a great way to learn new pkgdown techniques.

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.

Copy Link

Version

Install

install.packages('pkgdown')

Monthly Downloads

175,712

Version

1.4.1

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Hadley Wickham

Last Published

September 15th, 2019

Functions in pkgdown (1.4.1)

build_home

Build home section
clean_site

Clean site
build_tutorials

Build tutorials section
build_site

Build a complete pkgdown website
build_reference

Build reference section
build_favicons

Create favicons from package logo
build_articles

Build articles section
preview_site

Open site in browser
deploy_site_github

Deploy a pkgdown site on Travis-CI to Github Pages
build_news

Build news section
autolink_html

Automatic link references and articles in an HTML package
as_pkgdown

Generate pkgdown data structure
test-dont

Test case: don't
rd2html

Translate an Rd string to its HTML output
test-figures

Test case: figures
in_pkgdown

Determine if code is executed by pkgdown
test-params

Test case: params
test-output-styles

Test case: output styles
reexports

Objects exported from other packages
render_page

Render page with template
template_navbar

Generate YAML templates
test-crayon

Test case: crayon
pkgdown-package

pkgdown: Make Static HTML Documentation for a Package
init_site

Initialise site infrastructure
test-verbatim

Test case: verbatim blocks
test-links

Test case: links
test-lists

Test case: lists