From f1e2417f4e921ac35ca3cc4bbdfd10c2c14d6877 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Tue, 4 Jun 2024 10:59:18 +0000 Subject: [PATCH] source commit: 785e2b4150e16d67a5852c22c24f33fc58378a55 --- 01-basics.md | 129 ++++++++++++++++++++++++++++ 03-collaborative-git-centralized.md | 63 ++++++++++++++ 03-collaborative-git-distributed.md | 58 +++++++++++++ CODE_OF_CONDUCT.md | 13 +++ LICENSE.md | 79 +++++++++++++++++ config.yaml | 84 ++++++++++++++++++ index.md | 9 ++ instructor-notes.md | 5 ++ introduction.md | 125 +++++++++++++++++++++++++++ learner-profiles.md | 5 ++ links.md | 10 +++ md5sum.txt | 15 ++++ reference.md | 8 ++ renv.lock | 31 +++++++ setup.md | 54 ++++++++++++ 15 files changed, 688 insertions(+) create mode 100644 01-basics.md create mode 100644 03-collaborative-git-centralized.md create mode 100644 03-collaborative-git-distributed.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 LICENSE.md create mode 100644 config.yaml create mode 100644 index.md create mode 100644 instructor-notes.md create mode 100644 introduction.md create mode 100644 learner-profiles.md create mode 100644 links.md create mode 100644 md5sum.txt create mode 100644 reference.md create mode 100644 renv.lock create mode 100644 setup.md diff --git a/01-basics.md b/01-basics.md new file mode 100644 index 0000000..91d67a4 --- /dev/null +++ b/01-basics.md @@ -0,0 +1,129 @@ +--- +title: Automated Version Control +teaching: 5 +exercises: 0 +--- + +::::::::::::::::::::::::::::::::::::::: objectives + +- Understand the benefits of an automated version control system. +- Understand the basics of how automated version control systems work. + +:::::::::::::::::::::::::::::::::::::::::::::::::: + +:::::::::::::::::::::::::::::::::::::::: questions + +- What is version control and why should I use it? + +:::::::::::::::::::::::::::::::::::::::::::::::::: + +We'll start by exploring how version control can be used +to keep track of what one person did and when. +Even if you aren't collaborating with other people, +automated version control is much better than this situation: + +!["notFinal.doc" by Jorge Cham, ](fig/phd101212s.png){alt='Comic: a PhD student sends "FINAL.doc" to their supervisor, but after several increasingly intense and frustrating rounds of comments and revisions they end up with a file named "FINAL_rev.22.comments49.corrections.10.#@$%WHYDIDCOMETOGRADSCHOOL????.doc"'} + +We've all been in this situation before: it seems unnecessary to have +multiple nearly-identical versions of the same document. Some word +processors let us deal with this a little better, such as Microsoft +Word's +[Track Changes](https://support.office.com/en-us/article/Track-changes-in-Word-197ba630-0f5f-4a8e-9a77-3712475e806a), +Google Docs' [version history](https://support.google.com/docs/answer/190843?hl=en), or +LibreOffice's [Recording and Displaying Changes](https://help.libreoffice.org/Common/Recording_and_Displaying_Changes). + +Version control systems start with a base version of the document and +then record changes you make each step of the way. You can +think of it as a recording of your progress: you can rewind to start at the base +document and play back each change you made, eventually arriving at your +more recent version. + +![](fig/play-changes.svg){alt='Changes Are Saved Sequentially'} + +Once you think of changes as separate from the document itself, you +can then think about "playing back" different sets of changes on the base document, ultimately +resulting in different versions of that document. For example, two users can make independent +sets of changes on the same document. + +![](fig/versions.svg){alt='Different Versions Can be Saved'} + +Unless multiple users make changes to the same section of the document - a +[conflict](../learners/reference.md#conflict) - you can +incorporate two sets of changes into the same base document. + +![](fig/merge.svg){alt='Multiple Versions Can be Merged'} + +A version control system is a tool that keeps track of these changes for us, +effectively creating different versions of our files. It allows us to decide +which changes will be made to the next version (each record of these changes is +called a [commit](../learners/reference.md#commit)), and keeps useful metadata +about them. The complete history of commits for a particular project and their +metadata make up a [repository](../learners/reference.md#repository). +Repositories can be kept in sync across different computers, facilitating +collaboration among different people. + +::::::::::::::::::::::::::::::::::::::::: callout + +## The Long History of Version Control Systems + +Automated version control systems are nothing new. +Tools like [RCS](https://en.wikipedia.org/wiki/Revision_Control_System), [CVS](https://en.wikipedia.org/wiki/Concurrent_Versions_System), or [Subversion](https://en.wikipedia.org/wiki/Apache_Subversion) have been around since the early 1980s and are used by +many large companies. +However, many of these are now considered legacy systems (i.e., outdated) due to various +limitations in their capabilities. +More modern systems, such as Git and [Mercurial](https://swcarpentry.github.io/hg-novice/), +are *distributed*, meaning that they do not need a centralized server to host the repository. +These modern systems also include powerful merging tools that make it possible for +multiple authors to work on +the same files concurrently. + + +:::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::: challenge + +## Paper Writing + +- Imagine you drafted an excellent paragraph for a paper you are writing, but later ruin + it. How would you retrieve the *excellent* version of your conclusion? Is it even possible? + +- Imagine you have 5 co-authors. How would you manage the changes and comments + they make to your paper? If you use LibreOffice Writer or Microsoft Word, what happens if + you accept changes made using the `Track Changes` option? Do you have a + history of those changes? + +::::::::::::::: solution + +## Solution + +- Recovering the excellent version is only possible if you created a copy + of the old version of the paper. The danger of losing good versions + often leads to the problematic workflow illustrated in the PhD Comics + cartoon at the top of this page. + +- Collaborative writing with traditional word processors is cumbersome. + Either every collaborator has to work on a document sequentially + (slowing down the process of writing), or you have to send out a + version to all collaborators and manually merge their comments into + your document. The 'track changes' or 'record changes' option can + highlight changes for you and simplifies merging, but as soon as you + accept changes you will lose their history. You will then no longer + know who suggested that change, why it was suggested, or when it was + merged into the rest of the document. Even online word processors like + Google Docs or Microsoft Office Online do not fully resolve these + problems. + + + +::::::::::::::::::::::::: + +:::::::::::::::::::::::::::::::::::::::::::::::::: + +:::::::::::::::::::::::::::::::::::::::: keypoints + +- Version control is like an unlimited 'undo'. +- Version control also allows many people to work in parallel. + +:::::::::::::::::::::::::::::::::::::::::::::::::: + + diff --git a/03-collaborative-git-centralized.md b/03-collaborative-git-centralized.md new file mode 100644 index 0000000..d6f5d06 --- /dev/null +++ b/03-collaborative-git-centralized.md @@ -0,0 +1,63 @@ + +--- +title: Collaborative Version Control - Centralized +teaching: 50 +exercises: 60 +--- + +:::::::::::::::::::::::::::::::::::::::: questions + +- How can I use version control to collaborate with internal collaborators? + +:::::::::::::::::::::::::::::::::::::::::::::::::: + + +::::::::::::::::::::::::::::::::::::::: objectives + +- Understand the basics of collaborative version control with git and Github +- Understand the centralized workflow + +:::::::::::::::::::::::::::::::::::::::::::::::::: + +::: instructor +Teaching is done as a pair of instructors. +Instructor A acts as the owner of the repository, instructor B as a collaborator (internal or external). + +First we show the centralized workflow all in the browser using Github: + +* instructor A creates an issue (for example create ‘sum’ function) +* instructor B picks up the issue +* Instructor B creates a new branch (good to do this explicitly) +* Instructor B does some reviewable changes (a simple ‘sum’ function) +* Instructor B opens a new pull request. +* Instructor A reviews and approves the PR. +* Instructor B merges the pull request. +* Use Github repo’s insights -> network to visualize what just happened + +::: + +::::::::::::::::::::::::::::::::::::::: challenge + +#### Exercise: Working as a project collaborator (in pairs): +- PERSON A: Create an issue in the repository +- PERSON B: Clone this repository to your system +- PERSON B: Create a new branch +- PERSON B: Make the changes requested in the issue +- PERSON B: Push the changes to the remote repository on GitHub +- PERSON B: Submit a Pull Request, refer to the issue (e.g. "Closes #1") +- PERSON A: Review the Pull Request +- PERSON B: Address the comments +- PERSON A: Approve the Pull Request +- PERSON B: Merge the Pull Request +:::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::: solution + +:::::::::::::::::::::::::::::::::::::::::::::::::: + + +:::::::::::::::::::::::::::::::::::::::: keypoints +* Git and Github are superpowerful, not just for version control, but as tools for collaborative development +* Do code reviews and be constructive in them! +* Use centralized flow for internal collaborations +:::::::::::::::::::::::::::::::::::::::::::::::::: diff --git a/03-collaborative-git-distributed.md b/03-collaborative-git-distributed.md new file mode 100644 index 0000000..fc8fc6f --- /dev/null +++ b/03-collaborative-git-distributed.md @@ -0,0 +1,58 @@ + +--- +title: Collaborative Version Control - Distributed +teaching: 10 +exercises: 60 +--- + +:::::::::::::::::::::::::::::::::::::::: questions + +- How can I use version control to collaborate with external collaborators? + +:::::::::::::::::::::::::::::::::::::::::::::::::: + + +::::::::::::::::::::::::::::::::::::::: objectives + +- Understand distributed workflow and when to use it + +:::::::::::::::::::::::::::::::::::::::::::::::::: + +::: instructor +Teaching is done as a pair of instructors. +Instructor A acts as the owner of the repository, instructor B as a collaborator (internal or external). + +Now we show distributed workflow. All in the browser using Github: + +* Instructor A removes instructor B +* Instructor B now submits an issue +* Instructor A responds to issue asking instructor B to pick it up +* Instructor B forks repo, does some changes, and submits PR +* Instructor A reviews the changes +* Instructor B implements the changes +* Instructor A merges the pull request +* Use Github repo’s insights -> network to visualize what just happened +::: + +::::::::::::::::::::::::::::::::::::::: challenge + +### Exercise: Working as an external contributor (in pairs) + +- PERSON A: Create an issue in Person B's repository +- PERSON A: Fork the repository to their own (= Person A's) account +- PERSON A: Clone the repository, make changes, push them back to the fork +- PERSON A: Submit a Pull Request from the fork to the original repository +- PERSON B: Make a change in the original repository in the same place as person A's proposed changes +- PERSON A: Solve the merge conflict in the Pull Request +- PERSON B: Review/Approve the Pull Request +- PERSON B: merge the Pull Request +:::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::::: solution + +:::::::::::::::::::::::::::::::::::::::::::::::::: + + +:::::::::::::::::::::::::::::::::::::::: keypoints +* Use distributed flow for external collaborations +:::::::::::::::::::::::::::::::::::::::::::::::::: diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..f19b804 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,13 @@ +--- +title: "Contributor Code of Conduct" +--- + +As contributors and maintainers of this project, +we pledge to follow the [The Carpentries Code of Conduct][coc]. + +Instances of abusive, harassing, or otherwise unacceptable behavior +may be reported by following our [reporting guidelines][coc-reporting]. + + +[coc-reporting]: https://docs.carpentries.org/topic_folders/policies/incident-reporting.html +[coc]: https://docs.carpentries.org/topic_folders/policies/code-of-conduct.html diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..7632871 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,79 @@ +--- +title: "Licenses" +--- + +## Instructional Material + +All Carpentries (Software Carpentry, Data Carpentry, and Library Carpentry) +instructional material is made available under the [Creative Commons +Attribution license][cc-by-human]. The following is a human-readable summary of +(and not a substitute for) the [full legal text of the CC BY 4.0 +license][cc-by-legal]. + +You are free: + +- to **Share**---copy and redistribute the material in any medium or format +- to **Adapt**---remix, transform, and build upon the material + +for any purpose, even commercially. + +The licensor cannot revoke these freedoms as long as you follow the license +terms. + +Under the following terms: + +- **Attribution**---You must give appropriate credit (mentioning that your work + is derived from work that is Copyright (c) The Carpentries and, where + practical, linking to ), provide a [link to the + license][cc-by-human], and indicate if changes were made. You may do so in + any reasonable manner, but not in any way that suggests the licensor endorses + you or your use. + +- **No additional restrictions**---You may not apply legal terms or + technological measures that legally restrict others from doing anything the + license permits. With the understanding that: + +Notices: + +* You do not have to comply with the license for elements of the material in + the public domain or where your use is permitted by an applicable exception + or limitation. +* No warranties are given. The license may not give you all of the permissions + necessary for your intended use. For example, other rights such as publicity, + privacy, or moral rights may limit how you use the material. + +## Software + +Except where otherwise noted, the example programs and other software provided +by The Carpentries are made available under the [OSI][osi]-approved [MIT +license][mit-license]. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +## Trademark + +"The Carpentries", "Software Carpentry", "Data Carpentry", and "Library +Carpentry" and their respective logos are registered trademarks of [Community +Initiatives][ci]. + +[cc-by-human]: https://creativecommons.org/licenses/by/4.0/ +[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode +[mit-license]: https://opensource.org/licenses/mit-license.html +[ci]: https://communityin.org/ +[osi]: https://opensource.org diff --git a/config.yaml b/config.yaml new file mode 100644 index 0000000..dac0b3b --- /dev/null +++ b/config.yaml @@ -0,0 +1,84 @@ +#------------------------------------------------------------ +# Values for this lesson. +#------------------------------------------------------------ + +# Which carpentry is this (swc, dc, lc, or cp)? +# swc: Software Carpentry +# dc: Data Carpentry +# lc: Library Carpentry +# cp: Carpentries (to use for instructor training for instance) +# incubator: The Carpentries Incubator +carpentry: 'incubator' + +# Overall title for pages. +title: 'Collaborative version control with Git and GitHub' + +# Date the lesson was created (YYYY-MM-DD, this is empty by default) +created: ~ + +# Comma-separated list of keywords for the lesson +keywords: 'Git, GitHub, software, lesson, collaboration, The Carpentries, escience' + +# Life cycle stage of the lesson +# possible values: pre-alpha, alpha, beta, stable +life_cycle: 'pre-alpha' + +# License of the lesson +license: 'CC-BY 4.0' + +# Link to the source repository for this lesson +source: 'https://github.com/esciencecenter-digital-skills/git-lesson' + +# Default branch of your lesson +branch: 'main' + +# Who to contact if there are any issues +contact: 'training@esciencecenter.nl' + +# Navigation ------------------------------------------------ +# +# Use the following menu items to specify the order of +# individual pages in each dropdown section. Leave blank to +# include all pages in the folder. +# +# Example ------------- +# +# episodes: +# - introduction.md +# - first-steps.md +# +# learners: +# - setup.md +# +# instructors: +# - instructor-notes.md +# +# profiles: +# - one-learner.md +# - another-learner.md + +# Order of episodes in your lesson + +episodes: +- introduction.md +- 01-basics.md +- 03-collaborative-git-centralized.md +- 03-collaborative-git-distributed.md + +# Information for Learners +learners: + +# Information for Instructors +instructors: + +# Learner Profiles +profiles: + +# Customisation --------------------------------------------- +# +# This space below is where custom yaml items (e.g. pinning +# sandpaper and varnish versions) should live + + +url: 'https://esciencecenter-digital-skills.github.io/git-lesson' +lang: en \ No newline at end of file diff --git a/index.md b/index.md new file mode 100644 index 0000000..af66276 --- /dev/null +++ b/index.md @@ -0,0 +1,9 @@ +--- +site: sandpaper::sandpaper_site +--- + +This is a new lesson built with [The Carpentries Workbench][workbench]. + + +[workbench]: https://carpentries.github.io/sandpaper-docs + diff --git a/instructor-notes.md b/instructor-notes.md new file mode 100644 index 0000000..d9a67aa --- /dev/null +++ b/instructor-notes.md @@ -0,0 +1,5 @@ +--- +title: 'Instructor Notes' +--- + +This is a placeholder file. Please add content here. diff --git a/introduction.md b/introduction.md new file mode 100644 index 0000000..d14b25e --- /dev/null +++ b/introduction.md @@ -0,0 +1,125 @@ +--- +title: "Using RMarkdown" +teaching: 10 +exercises: 2 +--- + +:::::::::::::::::::::::::::::::::::::: questions + +- How do you write a lesson using R Markdown and `{sandpaper}`? + +:::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::: objectives + +- Explain how to use markdown with the new lesson template +- Demonstrate how to include pieces of code, figures, and nested challenge blocks + +:::::::::::::::::::::::::::::::::::::::::::::::: + +## Introduction + +This is a lesson created via The Carpentries Workbench. It is written in +[Pandoc-flavored Markdown](https://pandoc.org/MANUAL.txt) for static files and +[R Markdown][r-markdown] for dynamic files that can render code into output. +Please refer to the [Introduction to The Carpentries +Workbench](https://carpentries.github.io/sandpaper-docs/) for full documentation. + +What you need to know is that there are three sections required for a valid +Carpentries lesson template: + + 1. `questions` are displayed at the beginning of the episode to prime the + learner for the content. + 2. `objectives` are the learning objectives for an episode displayed with + the questions. + 3. `keypoints` are displayed at the end of the episode to reinforce the + objectives. + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: instructor + +Inline instructor notes can help inform instructors of timing challenges +associated with the lessons. They appear in the "Instructor View" + +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +::::::::::::::::::::::::::::::::::::: challenge + +## Challenge 1: Can you do it? + +What is the output of this command? + +```r +paste("This", "new", "lesson", "looks", "good") +``` + +:::::::::::::::::::::::: solution + +## Output + +```output +[1] "This new lesson looks good" +``` + +::::::::::::::::::::::::::::::::: + + +## Challenge 2: how do you nest solutions within challenge blocks? + +:::::::::::::::::::::::: solution + +You can add a line with at least three colons and a `solution` tag. + +::::::::::::::::::::::::::::::::: +:::::::::::::::::::::::::::::::::::::::::::::::: + +## Figures + +You can also include figures generated from R Markdown: + +```{r pyramid, fig.alt = "pie chart illusion of a pyramid", fig.cap = "Sun arise each and every morning"} +pie( + c(Sky = 78, "Sunny side of pyramid" = 17, "Shady side of pyramid" = 5), + init.angle = 315, + col = c("deepskyblue", "yellow", "yellow3"), + border = FALSE +) +``` + +Or you can use standard markdown for static figures with the following syntax: + +`![optional caption that appears below the figure](figure url){alt='alt text for +accessibility purposes'}` + +![You belong in The Carpentries!](https://raw.githubusercontent.com/carpentries/logo/master/Badge_Carpentries.svg){alt='Blue Carpentries hex person logo with no text.'} + +::::::::::::::::::::::::::::::::::::: callout + +Callout sections can highlight information. + +They are sometimes used to emphasise particularly important points +but are also used in some lessons to present "asides": +content that is not central to the narrative of the lesson, +e.g. by providing the answer to a commonly-asked question. + +:::::::::::::::::::::::::::::::::::::::::::::::: + + +## Math + +One of our episodes contains $\LaTeX$ equations when describing how to create +dynamic reports with {knitr}, so we now use mathjax to describe this: + +`$\alpha = \dfrac{1}{(1 - \beta)^2}$` becomes: $\alpha = \dfrac{1}{(1 - \beta)^2}$ + +Cool, right? + +::::::::::::::::::::::::::::::::::::: keypoints + +- Use `.md` files for episodes when you want static content +- Use `.Rmd` files for episodes when you need to generate output +- Run `sandpaper::check_lesson()` to identify any issues with your lesson +- Run `sandpaper::build_lesson()` to preview your lesson locally + +:::::::::::::::::::::::::::::::::::::::::::::::: + +[r-markdown]: https://rmarkdown.rstudio.com/ diff --git a/learner-profiles.md b/learner-profiles.md new file mode 100644 index 0000000..434e335 --- /dev/null +++ b/learner-profiles.md @@ -0,0 +1,5 @@ +--- +title: FIXME +--- + +This is a placeholder file. Please add content here. diff --git a/links.md b/links.md new file mode 100644 index 0000000..4c5cd2f --- /dev/null +++ b/links.md @@ -0,0 +1,10 @@ + + +[pandoc]: https://pandoc.org/MANUAL.html +[r-markdown]: https://rmarkdown.rstudio.com/ +[rstudio]: https://www.rstudio.com/ +[carpentries-workbench]: https://carpentries.github.io/sandpaper-docs/ + diff --git a/md5sum.txt b/md5sum.txt new file mode 100644 index 0000000..02e01f6 --- /dev/null +++ b/md5sum.txt @@ -0,0 +1,15 @@ +"file" "checksum" "built" "date" +"CODE_OF_CONDUCT.md" "c93c83c630db2fe2462240bf72552548" "site/built/CODE_OF_CONDUCT.md" "2024-03-27" +"LICENSE.md" "b24ebbb41b14ca25cf6b8216dda83e5f" "site/built/LICENSE.md" "2024-03-27" +"config.yaml" "c40790a9155995acc0f772eb74dad3e2" "site/built/config.yaml" "2024-03-28" +"index.md" "a02c9c785ed98ddd84fe3d34ddb12fcd" "site/built/index.md" "2024-03-27" +"links.md" "8184cf4149eafbf03ce8da8ff0778c14" "site/built/links.md" "2024-03-27" +"episodes/introduction.md" "6370d5592eae179125841d442e98df54" "site/built/introduction.md" "2024-03-27" +"episodes/01-basics.md" "a13034f7710cef398adb66aa0b2cb3b6" "site/built/01-basics.md" "2024-03-27" +"episodes/03-collaborative-git-centralized.md" "156cf1fded0910da4ca2a5170897371e" "site/built/03-collaborative-git-centralized.md" "2024-03-28" +"episodes/03-collaborative-git-distributed.md" "2861ab29a93c8623c11ffabb37815f84" "site/built/03-collaborative-git-distributed.md" "2024-03-28" +"instructors/instructor-notes.md" "cae72b6712578d74a49fea7513099f8c" "site/built/instructor-notes.md" "2024-03-27" +"learners/reference.md" "1c7cc4e229304d9806a13f69ca1b8ba4" "site/built/reference.md" "2024-03-27" +"learners/setup.md" "5456593e4a75491955ac4a252c05fbc9" "site/built/setup.md" "2024-03-27" +"profiles/learner-profiles.md" "60b93493cf1da06dfd63255d73854461" "site/built/learner-profiles.md" "2024-03-27" +"renv/profiles/lesson-requirements/renv.lock" "37630b3185c03a5b12929894525442a0" "site/built/renv.lock" "2024-06-04" diff --git a/reference.md b/reference.md new file mode 100644 index 0000000..ba26b9f --- /dev/null +++ b/reference.md @@ -0,0 +1,8 @@ +--- +title: 'Reference' +--- + +## Glossary + +This is a placeholder file. Please add content here. + diff --git a/renv.lock b/renv.lock new file mode 100644 index 0000000..3e6e153 --- /dev/null +++ b/renv.lock @@ -0,0 +1,31 @@ +{ + "R": { + "Version": "4.4.0", + "Repositories": [ + { + "Name": "carpentries", + "URL": "https://carpentries.r-universe.dev" + }, + { + "Name": "carpentries_archive", + "URL": "https://carpentries.github.io/drat" + }, + { + "Name": "CRAN", + "URL": "https://cran.rstudio.com" + } + ] + }, + "Packages": { + "renv": { + "Package": "renv", + "Version": "1.0.7", + "Source": "Repository", + "Repository": "CRAN", + "Requirements": [ + "utils" + ], + "Hash": "397b7b2a265bc5a7a06852524dabae20" + } + } +} diff --git a/setup.md b/setup.md new file mode 100644 index 0000000..4244a31 --- /dev/null +++ b/setup.md @@ -0,0 +1,54 @@ +--- +title: Setup +--- + +FIXME: Setup instructions live in this document. Please specify the tools and +the data sets the Learner needs to have installed. + +## Data Sets + + +Download the [data zip file](https://example.com/FIXME) and unzip it to your Desktop + +## Software Setup + +::::::::::::::::::::::::::::::::::::::: discussion + +### Details + +Setup for different systems can be presented in dropdown menus via a `spoiler` +tag. They will join to this discussion block, so you can give a general overview +of the software used in this lesson here and fill out the individual operating +systems (and potentially add more, e.g. online setup) in the solutions blocks. + +::::::::::::::::::::::::::::::::::::::::::::::::::: + +:::::::::::::::: spoiler + +### Windows + +Use PuTTY + +:::::::::::::::::::::::: + +:::::::::::::::: spoiler + +### MacOS + +Use Terminal.app + +:::::::::::::::::::::::: + + +:::::::::::::::: spoiler + +### Linux + +Use Terminal + +:::::::::::::::::::::::: +