If you have any questions or need help, please contact anyone from the Data Science team.
This repo features:
- Presentations the team have delivered
- A website/ blog that the data science team can use to blog and compile other forms of resources
- Guidance on good coding practices, also known as a "style guide"
- Request access from a member of the Data Science team, they need to add you as a contributor. Alternatively, you can fork the repository to your own GitHub account.
- Create an issue for the thing you want to add on GitHub
- Clone the repository (in RStudio, File > New Project > Checkout a project from a version controlled repository). Paste in the URL of this repository, or the forked repository if you have forked it.
- Check out the main branch and check it's up to date in the RStudio Terminal (type
git checkout main && git pull
in terminal) - Check out a new branch (
git checkout -b issue-number
in terminal) - Follow instructions in the {renv} section.
Please note this project uses {renv}. This is a way of managing the different packages that are required for each blogpost and presentation.
- Install the R toolchain RTools to compile some of the packages.
- Install {renv} (
install.packages("renv")
in console) - Run
renv::restore()
in Console to install all the required packages, and ensure that you are on the version of R detailed in therenv.lock
file in the parent directory.
There is a separate renv lockfile for each blogpost/presentation so it will be difficult to render the whole website at once.
To work on an already published blogpost/presentation:
- Run
renv::use(lockfile="/path/to/page/renv.lock")
in Console - Edit the .qmd file that you are working on. To preview your changes, run
quarto preview path/to/page.qmd
in terminal.
- Make the presentation with quarto, and put it in
presentations/
in aYYYY-MM-DD_Talk-title
folder. Your presentation should conform to the SU branding. It should have the filenameindex.qmd
- If your presentation requires any specific packages, capture them with
renv::snapshot("PATH_TO_THE_FOLDER")
and ensure that you include in the top of your .qmd file (after the yaml) the following code chunk, without the hashes (#)
#```
{r lockfile}
#| include: FALSE
renv::use(lockfile = "renv.lock")
#```
- Navigate to the
blogs/posts
folder - Create a folder for your blogpost, following the naming convention
YYYY-MM-DD_title-of-post
- Copy a previous blogpost index.qmd file into your folder and use that as your template
- Write your blogpost. To preview changes, run
quarto preview path/to/index.qmd
in terminal. - If your blogpost requires any specific packages, capture them with
renv::snapshot("PATH_TO_THE_FOLDER")
and ensure that you include in the top of your .qmd file (after the yaml) the following code chunk, without the hashes (#)
#```
{r lockfile}
#| include: FALSE
renv::use(lockfile = "renv.lock")
#```
- Find the
.qmd
file that you wish to edit. For example, if you want to add to the Style Guide page, edit thestyle/style_guide.qmd
file. - If creating a new page, copy an existing
.qmd
file and use that as a template. - If you want to see how it looks before pushing to GitHub, click Render in RStudio. The HTML version of your new post should open in your browser.
- Save your file, then add and commit it (
git add file.qmd
andgit commit -m "Add blog post/presentation about x"
) - Push your content to your branch in GitHub (
git push origin branchname
). - Then, on GitHub, make a pull request to main. Put any member of the Data Science team down as a reviewer. Link your pull request with your issue by typing
Closes #issuenumber
in the comment field of your pull request. - When approved and merged to main, the Quarto page will automatically be rendered thanks to the GitHub action that has been set up.
Thanks goes to these wonderful people (emoji key):
Chris Beeley 📢 📖 |
Craig Parylo 📝 |
Jacqueline Grout 📢 📝 |
Matt Dray 📝 📢 📖 |
Rhian Davies 📝 |
Tom Jemmett 📝 📢 📖 |
YiWen Hon 📝 📢 📖 |
Zoë Turner 📖 |
sallyt-nhs 📢 |
This project follows the all-contributors specification. Contributions of any kind welcome!