Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add complementary writing guidelines #75

Open
avallecam opened this issue Nov 22, 2023 · 1 comment
Open

add complementary writing guidelines #75

avallecam opened this issue Nov 22, 2023 · 1 comment
Labels
alpha-stage To do before upgrade life cycle to alpha documentation Improvements or additions to documentation early-task Part of the Early Task Roadmap priority to-all-tasks To apply in all repos after solved in early-task upcoming-training To prioritize

Comments

@avallecam
Copy link
Member

avallecam commented Nov 22, 2023

In:

### Writing guidelines

For Workbench novice users:

  • Follow the steps to create a new lesson locally.
  • Build the new lesson with sandpaper::build_lesson().
  • If you have any issues with this, report back for support.

Add in the Developers:

  • Render lesson with sandpaper::build_lesson(). This will open an HTML tab in your browser to review. This HTML format is how the website is going to look online (without the epiverse-trace {varnish} epiverse theme or tracelac theme).
  • Create a new episode:
    • run sandpaper::create_episode_rmd(title, add) or
    • make a copy of the file or callouts in episodes/template.Rmd
  • Read about How to edit the workbench.
  • Do not include code lines to install packages like install.packages() or pak::pak() inside an episode file. We rely on {renv} via {sandpaper} to keep a stable package version to render the website and automatic workflows to notify of any unexpected changes.
  • Read about how to add new entries to the glossary to expand on definitions.
  • Cite papers as links [author et al., year](link) since this format does not supports bib files.
  • Read about how to add footnotes using a syntax like [^1]
  • Read about the core workbench style guides for figures, divs, and line length.
  • Read issues labelled with to-keep read new features we want to keep in this repo.
  • When creating your PR, resolve conflicts locally using git rebase. This:
    • Allows running GH-actions to evaluate if the contribution passes all the validation checks.
    • Facilitates PR review (ref)
  • Use {lintr} addin to "Lint current file" from Rstudio or other editors.
    • This prefer portable paths with file.path() for developer and here() for learner view.
    • This prefer withr::local_options() instead of options()
  • For self-created figures we prefer a .png format, which is more appropriate to be displayed in modern web browsers. Any original figure in any other format, should be kept in that original format.
  • try to make review branches episode specific. This may imply a request for reviewers to remove non-to-review episodes in config.yaml file
  • Use full package review guidelines to collect feedback in whole episodes before and after a material trial.
  • To print DiagrammeR and visNetwork outputs use webshot package. Examples and details in use {webshot} package to print {Diagrammer} and {visNetwork} outputs #98

Add in the Maintainers:

Update the renv.lock and activate.R files locally with the workbench

renv::status(lockfile = "renv/profiles/lesson-requirements/renv.lock")
?renv::status # find solutions to status
renv::install() # this may react to uninstalled packages, install and try again
renv::snapshot(lockfile = "renv/profiles/lesson-requirements/renv.lock")
renv::status(lockfile = "renv/profiles/lesson-requirements/renv.lock") # expect no issues
sandpaper::build_lesson() # confirm everything its ok

If a renv or any automatic update generates an unexpected change in any R outputs, then we should use that same PR to make the corresponding correction.

Add to general installation

pak::pak("epiverse-trace/varnish@epiversetheme")
pak::pak("epiverse-trace/sandpaper@patch-renv-github-bug")

How to refer to local files within episodes? Here are examples of how we redirect to:

@avallecam avallecam added documentation Improvements or additions to documentation alpha-stage To do before upgrade life cycle to alpha labels Dec 17, 2023
@avallecam
Copy link
Member Author

@amanda-minter @Degoot-AM I'm updating here some extra writing guidelines to include later in the CONTRIBUTING file. If you have any questions or additional suggestions, please share them here.

@avallecam avallecam added early-task Part of the Early Task Roadmap to-all-tasks To apply in all repos after solved in early-task and removed early-task Part of the Early Task Roadmap labels Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
alpha-stage To do before upgrade life cycle to alpha documentation Improvements or additions to documentation early-task Part of the Early Task Roadmap priority to-all-tasks To apply in all repos after solved in early-task upcoming-training To prioritize
Projects
Status: Todo
Development

No branches or pull requests

1 participant