lmu-osc / introduction-to-renv

Walkthrough tutorial on setting up and using renv
https://lmu-osc.github.io/introduction-to-renv/
Creative Commons Attribution Share Alike 4.0 International
1 stars 0 forks source link

Site design #4

Closed NeuroShepherd closed 6 months ago

NeuroShepherd commented 7 months ago

Hey @MalikaIhle, I've made a rough format for this tutorial using the parameters available in Quarto websites. I haven't done any sort of color schemes/branding yet, but want to get feedback on the features I've implemented so far. Some instructions on how to check everything out on your computer:

  1. Clone the repo
  2. Get and checkout this branch, site_design with the code git checkout -b site_design origin/site_design
  3. Start a preview of the website with quarto preview

Let me know what you do/don't like, and if there are other Quarto features you want me to implement!

NeuroShepherd commented 7 months ago

@FlorianPargent ^same for you in case you have time to provide input on the site structure!

Broader context: we'd like to convert the existing tutorials to Quarto at some point, and apply consistent structuring/branding to all of them. The formatting we create for the {renv} tutorial will ideally be applicable across all of the tutorials.

MalikaIhle commented 7 months ago

After cloning and moving to the branch I get this in the console:

and this in the terminal when trying quarto preview: PS C:\Users\Malika.Ihle\Documents_Malika_LMU\RStudio-projects\introduction-to-renv> quarto preview A new release of Deno is available: 1.28.2 → 1.41.3 Run deno upgrade to install it. Preparing to preview [1/7] about.qmd

Unable to locate an installed version of R. Install R from https://cloud.r-project.org/

So in the console I said yes, in installed lots of stuff, then said:

Error: Error installing package 'xfun':

I'm flexible tomorrow besides 10am if you want to do it with me through screen sharing?

NeuroShepherd commented 7 months ago

@MalikaIhle the {rmarkdown} package depends on {xfun} so a failure to install those would explain why the pages won't render. Can you try updating your RTools to the 4.3.x version, and then running renv::restore()? Oh, and you'll likely need to update your R version too.

(This kind of troubleshooting could be really good content for the tutorial and any kind of cheat sheets we make...)

MalikaIhle commented 7 months ago

it worked with RTools 4.3 indeed (not 4.4) and I could then render. I will look into it tomorrow.

FlorianPargent commented 7 months ago

I also noticed some odd renv behavior that might be relevant for the tutorial:

I cloned the repo, switched the branch and used renv::restore() to install the packages from the lockfile. Package installation was successfull without warnings or errors. However, when I then tried renv::status() to check if everything is fine I get the following:

> renv::status()
The following package(s) are in an inconsistent state:

 package     installed recorded used
 askpass     y         y        n   
 brew        y         y        n   
 brio        y         y        n   
 callr       y         y        n   
 clipr       y         y        n   
 commonmark  y         y        n   
 cpp11       y         y        n   
 crayon      y         y        n   
 credentials y         y        n   
 curl        y         y        n   
 desc        y         y        n   
 devtools    y         y        n   
 diffobj     y         y        n   
 downlit     y         y        n   
 ellipsis    y         y        n   
 fansi       y         y        n   
 gert        y         y        n   
 gh          y         y        n   
 gitcreds    y         y        n   
 htmlwidgets y         y        n   
 httpuv      y         y        n   
 httr        y         y        n   
 httr2       y         y        n   
 ini         y         y        n   
 later       y         y        n   
 miniUI      y         y        n   
 openssl     y         y        n   
 pillar      y         y        n   
 pkgbuild    y         y        n   
 pkgconfig   y         y        n   
 pkgdown     y         y        n   
 pkgload     y         y        n   
 praise      y         y        n   
 prettyunits y         y        n   
 processx    y         y        n   
 profvis     y         y        n   
 promises    y         y        n   
 ps          y         y        n   
 purrr       y         y        n   
 ragg        y         y        n   
 rcmdcheck   y         y        n   
 Rcpp        y         y        n   
 rematch2    y         y        n   
 remotes     y         y        n   
 roxygen2    y         y        n   
 rprojroot   y         y        n   
 rstudioapi  y         y        n   
 rversions   y         y        n   
 sessioninfo y         y        n   
 shiny       y         y        n   
 sourcetools y         y        n   
 sys         y         y        n   
 systemfonts y         y        n   
 testthat    y         y        n   
 textshaping y         y        n   
 tibble      y         y        n   
 urlchecker  y         y        n   
 usethis     y         y        n   
 utf8        y         y        n   
 waldo       y         y        n   
 whisker     y         y        n   
 withr       y         y        n   
 xml2        y         y        n   
 xopen       y         y        n   
 xtable      y         y        n   
 zip         y         y        n   

See ?renv::status() for advice on resolving these issues.

Do you know why that is? I guess the package installation installs more dependencies than renv can itself detect within the project. So it claims that the following packages are not used. quarto preview works as expected so I do not think there are any real problems with my state of renv.

NeuroShepherd commented 7 months ago

@FlorianPargent it looks like these packages are "unused" because I'm using {devtools} (which I included in the snapshot), and these appear to be dependencies.

I use {devtools} interactively and in some testing scripts that I don't commit to the git repo. So I would say this all expected behavior.

pak::pkg_deps("devtools")$ref
#> ℹ Loading metadata database
#> ✔ Loading metadata database ... done
#> 
#>  [1] "R6"          "Rcpp"        "askpass"     "base64enc"   "brew"       
#>  [6] "brio"        "bslib"       "cachem"      "callr"       "cli"        
#> [11] "clipr"       "commonmark"  "crayon"      "credentials" "curl"       
#> [16] "desc"        "devtools"    "diffobj"     "digest"      "downlit"    
#> [21] "ellipsis"    "evaluate"    "fansi"       "fastmap"     "fontawesome"
#> [26] "fs"          "gert"        "gh"          "gitcreds"    "glue"       
#> [31] "highr"       "htmltools"   "htmlwidgets" "httpuv"      "httr"       
#> [36] "httr2"       "ini"         "jquerylib"   "jsonlite"    "knitr"      
#> [41] "later"       "lifecycle"   "magrittr"    "memoise"     "mime"       
#> [46] "miniUI"      "openssl"     "pillar"      "pkgbuild"    "pkgconfig"  
#> [51] "pkgdown"     "pkgload"     "praise"      "prettyunits" "processx"   
#> [56] "profvis"     "promises"    "ps"          "purrr"       "ragg"       
#> [61] "rappdirs"    "rcmdcheck"   "rematch2"    "remotes"     "rlang"      
#> [66] "rmarkdown"   "roxygen2"    "rprojroot"   "rstudioapi"  "rversions"  
#> [71] "sass"        "sessioninfo" "shiny"       "sourcetools" "stringi"    
#> [76] "stringr"     "sys"         "systemfonts" "testthat"    "textshaping"
#> [81] "tibble"      "tinytex"     "urlchecker"  "usethis"     "utf8"       
#> [86] "vctrs"       "waldo"       "whisker"     "withr"       "xfun"       
#> [91] "xml2"        "xopen"       "xtable"      "yaml"        "zip"

Created on 2024-04-25 with reprex v2.1.0

FlorianPargent commented 7 months ago

Got it. The result might confuse some users who might expect that when they restore another project and everything works that renv::status() should also say that everything is fine.

NeuroShepherd commented 7 months ago

I don't think the intent is to have the tutorial participants clone this repo, but rather a separate example repo (which will just consist of a couple of files to keep everything simple.)

MalikaIhle commented 7 months ago

In terms of format:

I like the edit this page and report an issue buttons - we've used those in the past; I'm not sure what is the difference with the github button on top right with 'source code' and 'report a bug'. Do we need both? if they are msotly similar, I think the language edit this page and report an issue is clearer and would only keep those.

The home heart button could link to the github resource page once we have it, i.e. to the other tutorials in the series, I guess.

The Coyprights 2024: what does this mean? We usually have our tutorials on a Creative Commons Attribution-ShareAlike 4.0 International License. What do you reckon?

The official name in english for LMU is LMU Munich. In German it is Ludwig-Maximilans-Univesitaet Muenchen - but LMU Muenchen is not used officially as far as I understand.

I dont have a strong opinion on this, but in this one https://lmu-osc.github.io/Simulations-for-Advanced-Power-Analyses/ we didn't put a top bar, we had the 'about' being the first paragaph of the first page, and had the search bar in the left column menu. Do you know if when there is more than a screen length of content, we always see the top bar, and the copyright line? Does that take too much space when on a small laptop with split screen (imagine the rstudio open on the other half of the screen). If that is not a problem, then again, I don't have a strong opinion on that aestethic in itself.

FlorianPargent commented 7 months ago

I do not have any strong opinions on the format. I personally like the top bar, but I can also live without it. The top bar and the footer are not always visible and disappear when scrolling up or down, see for example here: https://florianpargent.github.io/Quarto_LMU_OSC/apa7_manuscript.html

MalikaIhle commented 7 months ago

Thanks for the example! then I don't see any problem with a top bar and footer.

NeuroShepherd commented 6 months ago

The Coyprights 2024: what does this mean? We usually have our tutorials on a Creative Commons Attribution-ShareAlike 4.0 International License. What do you reckon?

We are the creators of this content and thus would be the copyright holders (or, rather, LMU Munich is the copyright holder because we have created the content as part of our work for them.) Copyright holders can choose an appropriate license for how they want others to use, reproduce, build on, etc. the content. So a copyright and license should both generally be included.