Partially automate maintenance of a modelling project's website
Categories:
This below section renders a vignette article from the ready4 library. You can use the following links to:
- view the vignette on the library website (adds useful hyperlinks to code blocks)
- view the source file from that article, and;
- edit its contents (requires a GitHub account).
Motivation
Manually keeping track of modules libraries, programs, reporting templates and datasets authored by different teams and stored in different locations can be an onerous undertaking. The ready4
library therefore includes tools to allow a modelling project’s maintainers to perform automated searches for model artefacts and to output tabular summaries of these assets in formats suitable for inclusion on a project documentation website.
Implementation
The ready4
library includes tools to allow a modelling project’s maintainers to partially automate searching for and creating summaries of relevant modelling project assets (e.g. tutorials, releases, etc.) that are suitable for inclusion on documentation website pages.
Use
The documentation website maintenance tools in the ready4
library are designed to be used on a docsy documentation website derived from this template repository. An example of a website created from this template is the readyforwhatsnext model project website, for which source code is available here.
The write_to_render_post
is the main ready4
function used specifically for website maintenance tasks. Importantly, the non-CRAN library hugodown needs to be installed to use this function.
write_to_render_post
is designed for help overcome practical challenges of rendering RMD or Rmarkdown files (pareticularly those sourced from an individual module library’s documentation website) to Markdown output in an overall modelling project website. Examples of its use are in this script that is run when updating the readyforwhatsnext project website. The RMD / Rmarkdown files rendered by this example script call other useful functions from the ready4 package, such as:
-
get_libraries_tb
,update_libraries_tb
andprint_packages
for updating details on module libraries (see this example) -
make_modules_tb
andprint_modules
for updating details on individual modules (see this example) -
make_datasets_tb
andprint_data
for updating details on module datasets (see this example) -
get_datasets_tb
,make_dss_tb
andmake_ds_releases_tbl
for updating release statuses of module datasets (see this RMD file and its output) -
make_programs_tbl
for updating details on analysis programs or reporting sub-routines that use model modules (see this RMD file and its associated output as well as this RMD file and its output) -
make_code_releases_tbl
for updating release statuses of module libraries and programs or reporting sub-routines that use model modules (see this RMD file and its output)