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 released version from CRAN
install.packages("pkgdown")
# Install development version from GitHub
# install.packages("pak")
pak::pak("r-lib/pkgdown")

Usage

Get started with usethis:

# Run once to configure your package to use and deploy pkgdown
usethis::use_pkgdown_github_pages()
# Preview your site locally before publishing
pkgdown::build_site()

This adds the necessary components and sets up GitHub Actions[^1] for automatic site building when deploying. Your README.md becomes the homepage, documentation in man/ generates a function reference, and vignettes will be rendered into articles/.

pkgdown 2.0.0 and Bootstrap 5

pkgdown 2.0.0 includes an upgrade from Bootstrap 3 to Bootstrap 5, which is accompanied by a whole bunch of minor UI improvements. If you’ve heavily customised your site, there’s a small chance that this will break your site, so everyone needs to explicitly opt-in to the upgrade by adding the following to _pkgdown.yml:

template:
  bootstrap: 5

Then learn about the many new ways to customise your site in vignette("customise").

In the wild

At last count, pkgdown is used by over 12,000 packages. Here are a few examples:

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.

[^1]: If you don’t use GitHub, you can use usethis::use_pkgdown() + pkgdown::build_site() to create a website.

Copy Link

Version

Install

install.packages('pkgdown')

Monthly Downloads

184,471

Version

2.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Hadley Wickham

Last Published

July 6th, 2024

Functions in pkgdown (2.1.0)

fig_settings

Get current settings for figures
build_site_github_pages

Build site for GitHub pages
build_tutorials

Build tutorials section
in_pkgdown

Determine if code is executed by pkgdown
init_site

Initialise site infrastructure
check_pkgdown

Check _pkgdown.yml
clean_site

Clean site
index

Index
deploy_site_github

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

Build and deploy a site locally
pkgdown_print

Print object in pkgdown output
preview_page

Preview a local pkgdown page in the browser
test-dont

Test case: don't
template_navbar

Generate YAML templates
pkgdown-package

pkgdown: Make Static HTML Documentation for a Package
test-long-lines

Test case: long-lines
rd2html

Translate an Rd string to its HTML output
test-tables

Test case: tables
render_page

Render page with template
test-links

Test case: links
test-figures

Test case: figures
test-lists

Test case: lists
test-verbatim

Test case: preformatted blocks & syntax highlighting
preview_site

Open site in browser
test-crayon

Test case: crayon
test-params

Test case: params
test-sexpr-title

Test case: "sexpr"
test-output-styles

Test case: output styles
build_favicons

Initialise favicons from package logo
build_search

Build search index
build_news

Build news section
as_pkgdown

Generate pkgdown data structure
build_reference

Build reference section
build_articles

Build articles section
build_site

Build a complete pkgdown website
autolink_html

Automatically link references and articles in an HTML page
build_redirects

Build redirects
build_home

Build home section