diff --git a/.Rbuildignore b/.Rbuildignore index e7f468f3..cd0f8690 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -12,3 +12,5 @@ README.R?md revdep ^pkgdown/* ^_pkgdown\.yml$ +^cran-comments\.md$ +^CRAN-SUBMISSION$ diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 3fb1ac4d..ca92d4c7 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -59,7 +59,7 @@ representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community leaders responsible for enforcement at codeofconduct@rstudio.com. All complaints will be reviewed and investigated promptly and fairly. +reported to the community leaders responsible for enforcement at codeofconduct@posit.co. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. diff --git a/.gitignore b/.gitignore index 21e0d735..587d5740 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,5 @@ .*.Rnb.cached sandbox/ reference +CRAN-SUBMISSION + diff --git a/DESCRIPTION b/DESCRIPTION index c0846288..11fe4cf5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,86 +1,76 @@ -Package: flexdashboard Type: Package +Package: flexdashboard Title: R Markdown Format for Flexible Dashboards -Version: 0.6.1.9000 -Description: Format for converting an R Markdown document to a grid oriented - dashboard. The dashboard flexibly adapts the size of it's components to the - containing web page. +Version: 0.6.2 Authors@R: c( - person("Garrick", "Aden-Buie", role = c("aut", "cre"), - email = "garrick@posit.co", comment = c(ORCID = "0000-0002-7111-0077")), - person("Carson", "Sievert", role = "aut", - email = "carson@rstudio.com", comment = c(ORCID = "0000-0002-4958-2844")), - person("Richard", "Iannone", role = "aut", email = "rich@rstudio.com", - comment = c(ORCID = "0000-0003-3925-190X")), - person("JJ", "Allaire", role = "aut", email = "jj@rstudio.com"), - person("Barbara", "Borges", role = c("aut"), email = "barb.b.ribeiro@gmail.com"), - person(family = "RStudio", role = "cph"), - person(family = "Keen IO", role = c("ctb", "cph"), comment = "Dashboard CSS"), - person("Abdullah", "Almsaeed", role = c("ctb", "cph"), comment = "Dashboard CSS"), - person("Jonas", "Mosbech", role = c("ctb", "cph"), comment = "StickyTableHeaders"), - person("Noel", "Bossart", role = c("ctb", "cph"), comment = "Featherlight"), - person("Lea", "Verou", role = c("ctb", "cph"), comment = "Prism"), - person("Dmitry", "Baranovskiy", role = c("ctb", "cph"), comment = "Raphael.js"), - person(family = "Sencha Labs", role = c("ctb", "cph"), comment = "Raphael.js"), - person("Bojan", "Djuricic", role = c("ctb", "cph"), comment = "JustGage"), - person("Tomas", "Sardyha", role = c("ctb", "cph"), comment = "Sly"), - person("Bryan", "Lewis", role = c("ctb", "cph"), comment = "Examples"), - person("Joshua", "Kunst", role = c("ctb", "cph"), comment = "Examples"), - person("Ryan", "Hafen", role = c("ctb", "cph"), comment = "Examples"), - person("Bob", "Rudis", role = c("ctb", "cph"), comment = "Examples"), - person("Joe", "Cheng", role = c("ctb"), comment = "Examples") + person("Garrick", "Aden-Buie", , "garrick@posit.co", role = c("aut", "cre"), + comment = c(ORCID = "0000-0002-7111-0077")), + person("Carson", "Sievert", , "carson@posit.co", role = "aut", + comment = c(ORCID = "0000-0002-4958-2844")), + person("Richard", "Iannone", , "rich@posit.co", role = "aut", + comment = c(ORCID = "0000-0003-3925-190X")), + person("JJ", "Allaire", , "jj@posit.co", role = "aut"), + person("Barbara", "Borges", , "barb.b.ribeiro@gmail.com", role = "aut"), + person("Posit Software, PBC", role = c("cph", "fnd")), + person(, "Keen IO", role = c("ctb", "cph"), + comment = "Dashboard CSS"), + person("Abdullah", "Almsaeed", role = c("ctb", "cph"), + comment = "Dashboard CSS"), + person("Jonas", "Mosbech", role = c("ctb", "cph"), + comment = "StickyTableHeaders"), + person("Noel", "Bossart", role = c("ctb", "cph"), + comment = "Featherlight"), + person("Lea", "Verou", role = c("ctb", "cph"), + comment = "Prism"), + person("Dmitry", "Baranovskiy", role = c("ctb", "cph"), + comment = "Raphael.js"), + person(, "Sencha Labs", role = c("ctb", "cph"), + comment = "Raphael.js"), + person("Bojan", "Djuricic", role = c("ctb", "cph"), + comment = "JustGage"), + person("Tomas", "Sardyha", role = c("ctb", "cph"), + comment = "Sly"), + person("Bryan", "Lewis", role = c("ctb", "cph"), + comment = "Examples"), + person("Joshua", "Kunst", role = c("ctb", "cph"), + comment = "Examples"), + person("Ryan", "Hafen", role = c("ctb", "cph"), + comment = "Examples"), + person("Bob", "Rudis", role = c("ctb", "cph"), + comment = "Examples"), + person("Joe", "Cheng", role = "ctb", + comment = "Examples") ) -URL: https://pkgs.rstudio.com/flexdashboard/, https://github.com/rstudio/flexdashboard/ +Description: Format for converting an R Markdown document to a grid + oriented dashboard. The dashboard flexibly adapts the size of it's + components to the containing web page. +License: MIT + file LICENSE +URL: https://pkgs.rstudio.com/flexdashboard/, + https://github.com/rstudio/flexdashboard/ BugReports: https://github.com/rstudio/flexdashboard/issues -Encoding: UTF-8 -Depends: R (>= 3.0.2) +Depends: + R (>= 3.0.2) Imports: - grDevices, - tools, - utils, - jsonlite, - htmltools (>= 0.5.1), - knitr (>= 1.30), - htmlwidgets (>= 0.6), - rmarkdown (>= 2.8), - shiny (>= 0.13), - scales, - sass, - bslib (>= 0.2.5) -Suggests: testthat -LazyData: TRUE -License: MIT + file LICENSE -RoxygenNote: 7.2.3 -Config/testthat/edition: 3 -Config/Needs/website: - rstudio/quillt -Config/Needs/deploy: - dplyr, - ggplot2, - DT, - talgalili/d3heatmap, - plotly, - plyr, - biclust, - webshot, - bit, - jcheng5/bubbles, - digest, - hadley/shinySignals, - dygraphs, - quantmod, - forecast, - highcharter, - arules, - treemap, - viridisLite, - leaflet, - metricsgraphics, - rbokeh, - readr, - tidyr, + bslib (>= 0.2.5), + grDevices, + htmltools (>= 0.5.1), + htmlwidgets (>= 0.6), jsonlite, - maptools, - purrr, - maps, - hexbin + knitr (>= 1.30), + rmarkdown (>= 2.8), + sass, + scales, + shiny (>= 0.13), + tools, + utils +Suggests: + testthat +Config/Needs/deploy: dplyr, ggplot2, DT, talgalili/d3heatmap, plotly, + plyr, biclust, webshot, bit, jcheng5/bubbles, digest, + hadley/shinySignals, dygraphs, quantmod, forecast, highcharter, + arules, treemap, viridisLite, leaflet, metricsgraphics, rbokeh, readr, + tidyr, jsonlite, maptools, purrr, maps, hexbin +Config/Needs/website: rstudio/quillt +Config/testthat/edition: 3 +Encoding: UTF-8 +RoxygenNote: 7.2.3 diff --git a/LICENSE b/LICENSE index 99373a69..805fd184 100644 --- a/LICENSE +++ b/LICENSE @@ -1,2 +1,2 @@ -YEAR: 2008-2016 -COPYRIGHT HOLDER: RStudio; Keen IO; Abdullah Almsaeed; Jonas Mosbech; Noel Bossart; Lea Verou; Dmitry Baranovskiy; Sencha Labs; Bojan Djuricic; Bryan Lewis; Carson Sievert; Joshua Kunst; Ryan Hafen; Bob Rudis +YEAR: 2008-2023 +COPYRIGHT HOLDER: Posit Software, PBC; flexdashboard authors; Keen IO; Abdullah Almsaeed; Jonas Mosbech; Noel Bossart; Lea Verou; Dmitry Baranovskiy; Sencha Labs; Bojan Djuricic; Bryan Lewis; Carson Sievert; Joshua Kunst; Ryan Hafen; Bob Rudis diff --git a/NEWS.md b/NEWS.md index 78f48d75..e41ec764 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,10 +1,14 @@ -# flexdashboard 0.6.1.9000 +# flexdashboard 0.6.2 -* Fixed #411: Improved support for Bootstrap 5 to ensure correct handling of the active dashboard page. (#418) +## New features + +* flexdashboard now supports icons for navigation dropdown menus. Pages are created with level-1 headings and can be added to a dropdown menu with the `data-navmenu` attribute. You can now also assign an icon to this dropdown menu by providing a `data-navmenu-icon` attribute, using the same icon selections as described in [Page Icons](https://pkgs.rstudio.com/flexdashboard/articles/using.html#page-icons). (#419) * Improved support for page selection in navigation dropdown menus in Bootstrap 5. (#421) -* flexdashboard now supports icons for navigation dropdown menus. Pages are created with level-1 headings and can be added to a dropdown menu with the `data-navmenu` attribute. You can now also assign an icon to this dropdown menu by providing a `data-navmenu-icon` attribute, using the same icon selections as described in [Page Icons](https://pkgs.rstudio.com/flexdashboard/articles/using.html#page-icons). (#419) +## Minor improvements and fixes + +* Fixed #411: Improved support for Bootstrap 5 to ensure correct handling of the active dashboard page. (#418) * Fixed #234: Use the correct social sharing link for Facebook. @@ -21,13 +25,13 @@ This release adds integration with the new [`{bslib}` package](https://rstudio.g ### Possibly breaking changes * The `smart` argument was removed from `flexdashboard::flex_dashboard` since it was removed in rmarkdown 2.2 (relatedly, we now require rmarkdown 2.2 or higher). (#301) -* The `window.FlexDashboard.themeColor` JavaScript object property is no longer available. Resolving of theming accent colors should now be done server-side via `{bslib}`'s [dynamic theming tools](https://rstudio.github.io/bslib/articles/custom-components.html). (#305) +* The `window.FlexDashboard.themeColor` JavaScript object property is no longer available. Resolving of theming accent colors should now be done server-side via `{bslib}`'s [dynamic theming tools](https://rstudio.github.io/bslib/articles/custom-components.html). (#305) ### Improvements & fixes -* Close #343: Fix an issue with order of dependencies with `shiny_prerendered` following previous changes in rmarkdown - rstudio/rmarkdown#2064. (#344) +* Close #343: Fix an issue with order of dependencies with `shiny_prerendered` following previous changes in rmarkdown - rstudio/rmarkdown#2064. (#344) -* Closed #315, #321, and #286: `DT::datatable()` now fills its container correctly inside of `flexdashboard::flex_dashboard()`. (#322) +* Closed #315, #321, and #286: `DT::datatable()` now fills its container correctly inside of `flexdashboard::flex_dashboard()`. (#322) * Closed #310: An `.active` class may now be added to a particular `.tabset` tab to control which tab is shown by default. (#311) @@ -37,7 +41,7 @@ This release adds integration with the new [`{bslib}` package](https://rstudio.g * Closed #300: When a custom `{bslib}` theme is provided to `flex_dashboard`, `gauge()` and `viewBox()` now generate default styles to match it. (#301, #305) -* Closed #227: Fixed a bug with `source_code: embed` producing errors because code wasn't being escaped before being included in HTML. (#228, thanks @cderv) +* Closed #227: Fixed a bug with `source_code: embed` producing errors because code wasn't being escaped before being included in HTML. (#228, thanks @cderv) * Added padding to the top of the sidebar. (#294) diff --git a/R/staticimports.R b/R/staticimports.R index b81b6e12..23020823 100644 --- a/R/staticimports.R +++ b/R/staticimports.R @@ -30,9 +30,19 @@ get_package_version <- function(pkg) { is_installed <- function(pkg, version = NULL) { installed <- isNamespaceLoaded(pkg) || nzchar(system_file_cached(package = pkg)) + if (is.null(version)) { return(installed) } + + if (!is.character(version) && !inherits(version, "numeric_version")) { + # Avoid https://bugs.r-project.org/show_bug.cgi?id=18548 + alert <- if (identical(Sys.getenv("TESTTHAT"), "true")) stop else warning + alert("`version` must be a character string or a `package_version` or `numeric_version` object.") + + version <- numeric_version(sprintf("%0.9g", version)) + } + installed && isTRUE(get_package_version(pkg) >= version) } diff --git a/README.Rmd b/README.Rmd index 8a003626..2fc4af69 100644 --- a/README.Rmd +++ b/README.Rmd @@ -25,7 +25,7 @@ The goal of **flexdashboard** is to make it easy to create interactive dashboard * [Storyboard](https://pkgs.rstudio.com/flexdashboard/articles/using.html#storyboards-1) layouts for presenting sequences of visualizations and related commentary. -* Optionally use [Shiny](https://shiny.rstudio.com) to drive visualizations dynamically. +* Optionally use [Shiny](https://shiny.posit.co/) to drive visualizations dynamically. * Optionally use [bslib](https://rstudio.github.io/bslib/) to easily [customize main colors, fonts, and more](https://pkgs.rstudio.com/flexdashboard/articles/theme.html). @@ -33,7 +33,7 @@ Learn more about **flexdashboard**: ## Examples -example flexdashboard with d3 heatmap  example flexdashboard using ggplotly  example flexdashboard using Shiny +example flexdashboard with d3 heatmap  example flexdashboard using ggplotly  example flexdashboard using Shiny View more examples [here](https://pkgs.rstudio.com/flexdashboard/articles/examples.html). diff --git a/README.md b/README.md index c06367d2..6e9b1236 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ dashboards for R, using R Markdown. layouts for presenting sequences of visualizations and related commentary. -- Optionally use [Shiny](https://shiny.rstudio.com) to drive +- Optionally use [Shiny](https://shiny.posit.co/) to drive visualizations dynamically. - Optionally use [bslib](https://rstudio.github.io/bslib/) to easily @@ -41,7 +41,7 @@ Learn more about **flexdashboard**: ## Examples -example flexdashboard with d3 heatmap  example flexdashboard using ggplotly  example flexdashboard using Shiny +example flexdashboard with d3 heatmap  example flexdashboard using ggplotly  example flexdashboard using Shiny View more examples [here](https://pkgs.rstudio.com/flexdashboard/articles/examples.html). diff --git a/cran-comments.md b/cran-comments.md new file mode 100644 index 00000000..3831f75e --- /dev/null +++ b/cran-comments.md @@ -0,0 +1,18 @@ +## R CMD check results + +0 errors | 0 warnings | 0 note + +New Maintainer: Garrick Aden-Buie + + New maintainer: + Garrick Aden-Buie + Old maintainer(s): + Carson Sievert + +## revdepcheck results + +We checked 14 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. + + * We saw 0 new problems + * We failed to check 0 packages + diff --git a/inst/examples/crandash/rsconnect/documents/crandash.Rmd/beta.rstudioconnect.com/jjallaire/crandash.dcf b/inst/examples/crandash/rsconnect/documents/crandash.Rmd/beta.rstudioconnect.com/jjallaire/crandash.dcf deleted file mode 100644 index 0cfd8bd0..00000000 --- a/inst/examples/crandash/rsconnect/documents/crandash.Rmd/beta.rstudioconnect.com/jjallaire/crandash.dcf +++ /dev/null @@ -1,9 +0,0 @@ -name: crandash -account: jjallaire -server: beta.rstudioconnect.com -appId: 626 -bundleId: 1096 -url: https://beta.rstudioconnect.com/jjallaire/crandash/ -when: 1458046277.21566 -asMultiple: FALSE -asStatic: FALSE diff --git a/inst/examples/crandash/rsconnect/documents/crandash.Rmd/shinyapps.io/jjallaire/crandash.dcf b/inst/examples/crandash/rsconnect/documents/crandash.Rmd/shinyapps.io/jjallaire/crandash.dcf deleted file mode 100644 index 6b1d699e..00000000 --- a/inst/examples/crandash/rsconnect/documents/crandash.Rmd/shinyapps.io/jjallaire/crandash.dcf +++ /dev/null @@ -1,9 +0,0 @@ -name: crandash -account: jjallaire -server: shinyapps.io -appId: 88502 -bundleId: 395436 -url: https://jjallaire.shinyapps.io/crandash/ -when: 1458001793.62157 -asMultiple: FALSE -asStatic: FALSE diff --git a/inst/examples/crandash/rsconnect/documents/crandash.Rmd/shinyapps.io/jjallaire/shiny-crandash.dcf b/inst/examples/crandash/rsconnect/documents/crandash.Rmd/shinyapps.io/jjallaire/shiny-crandash.dcf deleted file mode 100644 index 11ad68c2..00000000 --- a/inst/examples/crandash/rsconnect/documents/crandash.Rmd/shinyapps.io/jjallaire/shiny-crandash.dcf +++ /dev/null @@ -1,9 +0,0 @@ -name: shiny-crandash -account: jjallaire -server: shinyapps.io -appId: 88503 -bundleId: 395716 -url: https://jjallaire.shinyapps.io/shiny-crandash/ -when: 1458046405.68677 -asMultiple: FALSE -asStatic: FALSE diff --git a/man/flexdashboard-package.Rd b/man/flexdashboard-package.Rd index 0ac24eca..affa8835 100644 --- a/man/flexdashboard-package.Rd +++ b/man/flexdashboard-package.Rd @@ -33,15 +33,15 @@ Useful links: Authors: \itemize{ - \item Carson Sievert \email{carson@rstudio.com} (\href{https://orcid.org/0000-0002-4958-2844}{ORCID}) - \item Richard Iannone \email{rich@rstudio.com} (\href{https://orcid.org/0000-0003-3925-190X}{ORCID}) - \item JJ Allaire \email{jj@rstudio.com} + \item Carson Sievert \email{carson@posit.co} (\href{https://orcid.org/0000-0002-4958-2844}{ORCID}) + \item Richard Iannone \email{rich@posit.co} (\href{https://orcid.org/0000-0003-3925-190X}{ORCID}) + \item JJ Allaire \email{jj@posit.co} \item Barbara Borges \email{barb.b.ribeiro@gmail.com} } Other contributors: \itemize{ - \item RStudio [copyright holder] + \item Posit Software, PBC [copyright holder, funder] \item Keen IO (Dashboard CSS) [contributor, copyright holder] \item Abdullah Almsaeed (Dashboard CSS) [contributor, copyright holder] \item Jonas Mosbech (StickyTableHeaders) [contributor, copyright holder] diff --git a/revdep/cran.md b/revdep/cran.md index 7aa57f6d..b4f1213e 100644 --- a/revdep/cran.md +++ b/revdep/cran.md @@ -1,6 +1,6 @@ ## revdepcheck results -We checked 10 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. +We checked 14 reverse dependencies, comparing R CMD check results across CRAN and dev versions of this package. * We saw 0 new problems * We failed to check 0 packages diff --git a/vignettes/using.Rmd b/vignettes/using.Rmd index ee4e25cc..a755992f 100755 --- a/vignettes/using.Rmd +++ b/vignettes/using.Rmd @@ -12,13 +12,13 @@ library(quillt) You can use flexdashboard to publish groups of related data visualizations as a dashboard. A wide variety of components can be included in flexdashboard layouts, including: -1. Interactive JavaScript data visualizations based on [htmlwidgets](https://www.htmlwidgets.org). +1. Interactive JavaScript data visualizations based on [htmlwidgets](https://www.htmlwidgets.org). 2. R graphical output including base, lattice, and grid graphics. 3. Tabular data (with optional sorting, filtering, and paging). -4. Value boxes for highlighting important summary data. +4. Value boxes for highlighting important summary data. 5. Gauges for displaying values on a meter within a specified range. @@ -28,7 +28,7 @@ Flexible options for [component layout](#layout) are available and dashboards wi There are also several ways to add interactivity to flexdashboards. You can use [htmlwidgets](#html-widgets) to add client-side JavaScript interactivity (data tips, panning, zooming, etc.) and [Shiny](shiny.html) to build fully custom interactions in R. -## Layout +## Layout ### Orientation @@ -109,7 +109,7 @@ For example, the following layout includes 3 charts and requests that the page s ### Tabsets -If you have several components you'd like to display within a row or column then rather than attempting to fit them all on screen at the same time you can lay them out as a tabset. This is especially appropriate when one component is primary (i.e. should be seen by all readers) and the others provide secondary information that might be of interest to only some readers. +If you have several components you'd like to display within a row or column then rather than attempting to fit them all on screen at the same time you can lay them out as a tabset. This is especially appropriate when one component is primary (i.e. should be seen by all readers) and the others provide secondary information that might be of interest to only some readers. ![](images/tabsets.png){.screenshot width=824 height=57} @@ -195,7 +195,7 @@ Available htmlwidgets include: 4. [rbokeh](https://hafen.github.io/rbokeh), an interface to Bokeh, a powerful declarative Bokeh framework for creating web-based plots. -5. [Highcharter](https://jkunst.com/highcharter/), a rich R interface to the popular Highcharts JavaScript graphics library. +5. [Highcharter](https://jkunst.com/highcharter/), a rich R interface to the popular Highcharts JavaScript graphics library. 6. [visNetwork](https://dataknowledge.github.io/visNetwork), an interface to the network visualization capabilities of the vis.js library. @@ -208,15 +208,15 @@ You include htmlwidgets in an R Markdown document just like you include R plots. Note that one disadvantage of htmlwidgets is that they embed their data directly in their host web page, so may encounter performance problems for larger datasets. For larger dataset sizes the use of standard R graphics (described below) may be preferable. -### R Graphics +### R Graphics -You can use any chart created with standard R graphics (base, lattice, grid, etc.) with flexdashboard. +You can use any chart created with standard R graphics (base, lattice, grid, etc.) with flexdashboard. Within dynamic ([Shiny](shiny.html)) dashboards these charts are automatically sized to fit within their dashboard containers so long as they are wrapped within a call to [renderPlot](https://shiny.rstudio.com/reference/shiny/latest/renderPlot.html). Within static dashboards standard R graphics are also scaled (with aspect ratios preserved so there is no stretching or distortion). However, since these charts are PNG images it's not possible for them to seamlessly fill the bounds of their container. The following section provides tips on how to get the best possible fit for a given graphic. -#### Figure Scaling +#### Figure Scaling When creating static (non-Shiny) dashboards containing standard R graphics it's critical to define knitr `fig.width` and `fig.height` values as close as possible to what they'll actually be on the page. This enables them to fit into their layout container as closely as possible when the dashboard is laid out. @@ -226,7 +226,7 @@ Here's an example of a row based layout that includes 3 charts from R base graph -We've specified an explicit `fig.height` and `fig.width` for each chart so that their rendered size fits their flex container as closely as possible. Note that the ideal values for these dimensions typically need to be determined by experimentation. +We've specified an explicit `fig.height` and `fig.width` for each chart so that their rendered size fits their flex container as closely as possible. Note that the ideal values for these dimensions typically need to be determined by experimentation. ### Tabular Data @@ -265,7 +265,7 @@ To include a DataTable you use the `DT::datatable` function:
-Note that we specified the `bPaginate = FALSE` option. This is appropriate for smaller datasets where scrolling provides a comfortable way of navigating through the data. +Note that we specified the `bPaginate = FALSE` option. This is appropriate for smaller datasets where scrolling provides a comfortable way of navigating through the data. If you have a large dataset where you want to enable pagination, you should be sure to specify the `pageLength` option to show more than the default 10 rows of your dataset per page: @@ -320,7 +320,7 @@ You can specify icons from three different icon sets: 3. [Bootstrap Glyphicons](https://getbootstrap.com/components/#glyphicons) -When referring to an icon you should use its full name including the icon set prefix (e.g. "fa-github", "ion-social-twitter", "glyphicon-time", etc.). +When referring to an icon you should use its full name including the icon set prefix (e.g. "fa-github", "ion-social-twitter", "glyphicon-time", etc.). #### Shiny @@ -346,7 +346,7 @@ There are a few things to note about this example: 2. You can specify an optional `symbol` to be displayed alongside the value (in the example "%" is used to denote a percentage). -3. You can specify a set of custom color `sectors` using the `gaugeSectors` function. By default the current theme's "success" color (typically green) is used for the gauge color. The `sectors` option enables you to specify a set of three value ranges ("success", "warning", and "danger") which cause the gauge's color to change based on its value. +3. You can specify a set of custom color `sectors` using the `gaugeSectors` function. By default the current theme's "success" color (typically green) is used for the gauge color. The `sectors` option enables you to specify a set of three value ranges ("success", "warning", and "danger") which cause the gauge's color to change based on its value. #### Linking @@ -518,9 +518,9 @@ Note that in this example both pages use the default "columns" orientation. It i
-### Page Navigation +### Page Navigation -By default each page you define is given its own top level tab on the navigation bar. However, if you have a large number of pages (more than 5) you might want to organize your pages into menus on the navigation bar. +By default each page you define is given its own top level tab on the navigation bar. However, if you have a large number of pages (more than 5) you might want to organize your pages into menus on the navigation bar. To specify that a page should be accessed via a navigation bar menu you use the `data-navmenu` attribute. For example, the following dashboard has 4 pages, 2 of which are located on "Menu A" and two of which are located on "Menu B": @@ -563,7 +563,7 @@ When referring to an icon you should use its full name including the icon set pr ## Storyboards -[![](images/htmlwidgets-showcase-storyboard.png){.screenshot .screenshot-right width=275 height=203}](https://beta.rstudioconnect.com/jjallaire/htmlwidgets-showcase-storyboard/) +[![](images/htmlwidgets-showcase-storyboard.png){.screenshot .screenshot-right width=275 height=203}](https://testing-apps.shinyapps.io/flexdashboard-storyboard/) Storyboards are an alternative to the row and column based layout schemes described above that are well suited to presenting a sequence of data visualizations and related commentary. @@ -575,18 +575,18 @@ To create a storyboard layout you do the following: 2. Include a set of level 3 (`###`) dashboard components. Each component will be allocated its own frame in the storyboard, with the section title used as the navigation caption. -The basics of creating storyboards are explained below. For a more complete example, see the [HTML Widgets Showcase](https://beta.rstudioconnect.com/jjallaire/htmlwidgets-showcase-storyboard/) storyboard. +The basics of creating storyboards are explained below. For a more complete example, see the [HTML Widgets Showcase](https://testing-apps.shinyapps.io/flexdashboard-storyboard/) storyboard. The following code creates a storyboard with 3 frames:
-Note that the level 3 section titles (e.g. "Frame 1") will be used as navigation captions. These captions should provide a one or two sentence summary of the frame, so will typically be longer than illustrated here. +Note that the level 3 section titles (e.g. "Frame 1") will be used as navigation captions. These captions should provide a one or two sentence summary of the frame, so will typically be longer than illustrated here. ### Storyboard Pages -You can layout one or more pages of a dashboard as storyboards and then use traditional row and column layout on the other pages. To do this, you exclude the `storyboard: true` option and instead add the `{.storyboard}` class to pages you want laid out as storyboards. +You can layout one or more pages of a dashboard as storyboards and then use traditional row and column layout on the other pages. To do this, you exclude the `storyboard: true` option and instead add the `{.storyboard}` class to pages you want laid out as storyboards. For example, the following dashboard includes a storyboard on the first page ("Analysis") as well as another page ("Details") that uses conventional layout: @@ -608,15 +608,15 @@ The flexdashboard layout system adapts itself intelligently for display on mobil ### Medium Screens -The layout of dashboard components for medium sized mobile screens (e.g. tablets) is the same as for larger desktop screens (any screen with width greater than 768 pixels is considered a medium screen). +The layout of dashboard components for medium sized mobile screens (e.g. tablets) is the same as for larger desktop screens (any screen with width greater than 768 pixels is considered a medium screen). Rows and columns are allocated using the default figure sizes and respect the relative proportions established via the use of `data-width`attributes. The only exception are [sidebars](shiny.html#input-sidebar), which are reduced to 220 pixels wide whenever the screen is less than 993 pixels wide. ### Small Screens -![](images/mobile-phone.png){.screenshot .screenshot-right width=187 height=332} +![](images/mobile-phone.png){.screenshot .screenshot-right width=187 height=332} -For mobile phones (any screen less than or equal to 768 pixels wide) flexdashboard uses special layout behavior. Since these screens don't generally have the width to show multiple side-by-side columns, all dashboard components are "flattened" into one single column layout. +For mobile phones (any screen less than or equal to 768 pixels wide) flexdashboard uses special layout behavior. Since these screens don't generally have the width to show multiple side-by-side columns, all dashboard components are "flattened" into one single column layout. In addition, some flexdashboard components have special behavior to adapt themselves to smaller mobile screens: @@ -644,7 +644,7 @@ It's also possible to create a mobile-specific version of a given dashboard comp A variety of themes are available to modify the base appearance of flexdashboard. Available themes include: -- default +- default - cosmo - bootstrap - cerulean @@ -657,7 +657,7 @@ A variety of themes are available to modify the base appearance of flexdashboard - paper - sandstone - simplex -- yeti +- yeti The "cosmo" theme is used when "default" is specified. These themes are all based on the themes available in the [R Markdown](https://rmarkdown.rstudio.com) package (which are in turn based on [Bootswatch](https://bootswatch.com/) themes). @@ -666,7 +666,7 @@ Use the `theme` option to specify an alternate theme:
-If you are looking for a theme that embeds well inside another content frame (e.g. one that doesn't use such a strong color for the navigation bar) then the "bootstrap" theme is a good choice. +If you are looking for a theme that embeds well inside another content frame (e.g. one that doesn't use such a strong color for the navigation bar) then the "bootstrap" theme is a good choice. ### CSS Styles @@ -679,7 +679,7 @@ Note that the base CSS styles are defined both the active [Bootswatch](https://b #### Navigation Bar Colors -You can use CSS to customize the colors used within the navigation bar of each theme. If you do this, realize that themes define colors for many elements and states, so you should be careful to override all of the required elements. +You can use CSS to customize the colors used within the navigation bar of each theme. If you do this, realize that themes define colors for many elements and states, so you should be careful to override all of the required elements. The navigation bar for flexdashboard uses the `navbar-inverse` class for each of its themes. Here is the `navabar-inverse` CSS for the default "cosmo" theme used by flexdashboard: