The token should appear as a string with about 40 random alphanumeric
characters that start with ghp_. Copy the string from
GitHub before running the code below. You will be prompted to enter the
diff --git a/docs/articles/github-repo.html b/docs/articles/github-repo.html
index 2c1fff2..5889879 100644
--- a/docs/articles/github-repo.html
+++ b/docs/articles/github-repo.html
@@ -15,8 +15,8 @@
-
-
+
+
It checks to see if the GitHub repository you are trying to create
+already exists. If it does exist, it will result in an error.
+
It tries to initialize a GitHub repository on your computer. If that
+repository already exists in the path argument, it will
+result in an error. No repository will have been created on GitHub.
+
It will then create the local Git repository, add a code of conduct
+(via add_code_of_conduct()), add a .gitignore
+file (via add_gitignore()), and then git add
+and git commit those files before git push-ing
+those files to GitHub.
+
Finally it will create a README.Rmd file in the
+repository for you to edit.
Using Kyber requires more configuration than most R packages since
+Kyber functions automate processes on GitHub that you would normally do
+by hand.
+
First, make sure that you have googlesheets4 installed
+and that you have authorized your computer to read from Google Sheets.
+Run the following to test your configuration settings:
create github-clinic files (days before GitHub Clinic
+in Call 2)
+
create github team and add usernames (day before Clinic, when we
+have all usernames)
+
create agenda documents before each Cohort Call
+
+
For creating the GitHub Team and adding usernames, Kyber requires you
+to set up a GitHub Personal Access Token with scopes for
+repo and admin:org. See the GitHub
+PAT documentation for more information about how to generate your
+PAT. You can create your PAT with
+usethis::create_github_token() with their defaults, plus
+admin:org. Please make sure that you do not share your PAT
+or commit it to a Git repository, since anyone with your PAT can act as
+you on GitHub.
+
+
Create GitHub repo
+
+
+library(kyber)
+library(rmarkdown)
+library(tibble)
+library(fs)
+
+repo_name<-"2021-ilm-rotj"
+
+# This will open a README.Rmd for you to edit
+repo_path<-create_repo(repo_name)
+
+# Then render the README.Rmd to README.md
+render(path(repo_path, "README.Rmd"))
+
+# We still need to work out the next part of the workflow and the extent to
+# which it should be automated, but I imagine something like:
+#
+# 1. Move README.Rmd out of this repository to another repository that perhaps
+# only contains README.Rmds.
+# 2. Git add, commit, and push in the repo that only contains README.Rmds.
+# 3. Git add, commit, and push in this repository.
+
+
+
GitHub Clinic - Generate Markdown Files for Each Participant
+
+
Clone the Cohort Repo to RStudio, then run the following code.
+Detailed instructions of what this looks like:
+
+
Open RStudio, and create a new script (temporary, you’ll deleted it
+but it’s a nicer place to work)
+
Copy the following into the script, then delete the examples “Erin,
+Julie”. You’ll keep the _demo.md, which is what you’ll demo
+live.
+
Go to the ParticipantsList, and copy the 2 first and last
+columns
+
Back in RStudio, put your cursor inside the “tribble” parentheses,
+then, in the Addin menu in the top of RStudio, select “Paste as
+Tribble”!
+
Then, double-check the column headers - they are likely not
+first and last as is written in the
+kyber::short_names call. The easiest thing is to update the
+column names in the kyber::short_names code before running
+(for example:
+kyber::short_names(cohort$First.Name, cohort$Last.Name)
+
+
+
library(stringr)
+library(datapasta)# install.packages("datapasta")
+library(kyber)## remotes::install_github("openscapes/kyber")
+library(here)
+library(fs)
+
+## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet!
+cohort<-c(tibble::tribble(
+~first, ~last,
+"_demo", "",
+"Erin", "Robinson",
+"Julie", "Lowndes"
+)
+)
+
+## create .md files for each Champion
+kyber::short_names(cohort$first, cohort$last)|>
+create_github_clinic(here())
+
+## copy trailhead image into parent folder
+trailhead_png<-system.file("kyber-templates",
+"horst-champions-trailhead.png", package ="kyber")
+fs::file_copy(trailhead_png, here())
+
You’ll now have .md files for each participant in the cohort! Any
+duplicate names with have a _LastInitial. Check by clicking
+into the github-clinic folder and opening a file.
+
Now, commit and push the Markdown files in the
+github-clinic folder plus the
+`horst-champions-trailhead.png in the top-level folder to GitHub.com.
+Don’t push the .gitignore or .rproj since they’re not relevant for the
+Clinic. (You can do Command-A to select all files and then unclick those
+2 you don’t want).
+
+
+
Create GitHub team, add usernames
+
+
+
Open RStudio, and create a new script (temporary, you’ll deleted it
+but it’s a nicer place to work)
+
Paste the following in it and review the code. You may already have
+a GitHub PAT set; there is more information at the top of the README
+about it.
+
Run this code first as-is with the example usernames in the
+members variable to check -
+
Check that the example usernames were added in the Cohort GitHub: go
+to github.com/openscapes/cohort-name > Settings > Collaborators
+and Teams
+
If the team was created with the username and appears in the repo,
+woohoo!
+
Open the ParticipantsList and copy the GitHub username column,
+including the header.
+
In RStudio, put your cursor after members <- and use
+the datapasta Addin > Paste As Tribble to paste the
+usernames into the members variable, deleting the previous
+example user.
+
After pasting in the R script, rename the header as “username” (no
+spaces or asterices)
+
Run the following code again and check that everyone was added!
+
Finally, in the ParticipantList, highlight all usernames we’ve added
+in green. This helps us know who else to add during the live clinic
+session.
+
+
+## First make sure you have a GitHub PAT set. If you need one, here's what you'd do:
+# usethis::create_github_token() ## use their defaults plus `admin:org`
+# Sys.setenv(GITHUB_PAT = "ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270")
+
+library(kyber)
+library(rmarkdown)
+library(tibble)
+library(fs)
+library(datapasta)
+
+## create naming for GitHub - do this once!
+repo_name<-"2022-nasa-champions"
+team_name<-paste0(repo_name, "-cohort")
+create_team(team_name, maintainers ="jules32", org ="openscapes")
+
+## create member variable - do this twice (first as test!)
+## this is where you'll use datapasta and run everything below
+members<-tibble::tribble(
+~username,
+"eeholmes"
+)
+
+add_team_members(team_name, members =members$username, org ="openscapes")
+add_repo_to_team(repo_name, team_name, org ="openscapes")
+
Yay! Now all to do is to highlight the usernames in green in the
+ParticpantList for our bookkeeping!
Then, to move this to a Google Doc and fine-tune formatting, follow
+these notes (as of July 14, 2022):
+
+
In RStudio, Knit (or PreviewHTML) the resulting
+agenda.md and copy-paste the result into a Google Doc
+(example: 03_CallAgenda [ 2022-noaa-afsc ]. You might need to to expand
+the knitted preview into the browser to get it to copy/paste correctly
+into Google Docs
+
Move Google Doc to Openscapes Workspace folder
+Openscapes_CohortCalls [ year-cohort-name ].
+
Select all (cmd-A) and change font to Open Sans
+
Make p1 opening text 9 point font (the text above horizontal line
+& Call title)
+
Make Header 1 font 18, bold; update heading 1 to match (see
+screenshot below; Stef notes “update heading to match” has not been
+working in these docs)
+
Make Header 2 font 14, bold; update heading 2 to match
+
Select all (cmd-A), then:
+
+
“add space” then “remove space after paragraph”
+throughout to make spacing a little more cozy (yes seems odd to do and
+undo, but it works)
+
“add space” then “remove space before paragraph”
+throughout to make spacing a little more cozy
+
+
+
Review doc and fix any further font weirdness
+
Add page numbers
+
+
How to “update heading 1 to match”: (Stef notes this
+has not been working in these docs) In Google Doc, to update a text
+style (headings, normal text, with font type, size etc), highlight a
+section with the style you want, click the styles dropdown shown in the
+screenshot, and select e.g. “Update Heading 1 to match”. Double check
+the doc because we’ve noticed it missed some in an agenda.
diff --git a/docs/reference/add_team_to_repo.html b/docs/reference/add_team_to_repo.html
index 61f0903..06ef005 100644
--- a/docs/reference/add_team_to_repo.html
+++ b/docs/reference/add_team_to_repo.html
@@ -1,5 +1,5 @@
-Add a GitHub Team to a Repository — add_team_to_repo • kyberAdd a GitHub Team to a Repository — add_team_to_repo • kyber
@@ -19,17 +19,7 @@
diff --git a/docs/reference/create_team.html b/docs/reference/create_team.html
index cb3a17a..b260023 100644
--- a/docs/reference/create_team.html
+++ b/docs/reference/create_team.html
@@ -1,5 +1,5 @@
-Create a Team on GitHub for an Organization — create_team • kyberCreate a Team on GitHub for an Organization — create_team • kyber
@@ -19,17 +19,7 @@
diff --git a/docs/reference/kyber_file.html b/docs/reference/kyber_file.html
index 98f09a6..80b84c7 100644
--- a/docs/reference/kyber_file.html
+++ b/docs/reference/kyber_file.html
@@ -1,6 +1,6 @@
Get the paths to files installed with kyber — kyber_file • kyberGet the paths to files installed with kyber — kyber_file • kyberOptions for creating an agenda in Markdown — md_agenda • kyberOptions for creating an agenda in Markdown — md_agenda • kyber
@@ -19,17 +19,7 @@
diff --git a/docs/reference/short_names.html b/docs/reference/short_names.html
index d998a80..2a1016e 100644
--- a/docs/reference/short_names.html
+++ b/docs/reference/short_names.html
@@ -1,5 +1,5 @@
-Make unique combinations of first and last names — short_names • kyberMake unique combinations of first and last names — short_names • kyber
@@ -19,17 +19,7 @@
diff --git a/docs/search.json b/docs/search.json
index 156587e..9c38068 100644
--- a/docs/search.json
+++ b/docs/search.json
@@ -1 +1 @@
-[{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Configuring Google Sheets and GitHub for Kyber","text":"main purpose Kyber automate common tasks need done start Openscapes Champions Cohort. level automation requires authorize computer Google Sheets GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-google-sheets","dir":"Articles","previous_headings":"","what":"Configuring Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"Kyber interacts Google Sheets via googlesheets4 package. package makes easy authorize computer Kyber can access Google Sheets programmatically. Run following code configure googlesheets4: function redirect web browser can log Google account. authorized googlesheets4, can confirm configured correctly running following: detailed information, see gs4_auth() documentation googlesheets4 authorization troubleshooting documentation.","code":"library(googlesheets4) gs4_auth() gs4_user() #> Logged in to googlesheets4 as your-name@email.com."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"troubelshooting-google-sheets","dir":"Articles","previous_headings":"Configuring Google Sheets","what":"Troubelshooting Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"authorized computer use googlesheets4 may see following error: success troubleshooting error following method. First, try reading Google Sheet R: see following prompt: Enter 0 press Enter key. computer’s browser launch load Google’s authorization page. Reauthorize account via web browser see following message R console:","code":"The googlesheets4 package is requesting access to your Google account. Select a pre-authorised account or enter '0' to obtain a new token. Press Esc/Ctrl + C to cancel. 1: username@email.com Selection: 1 Auto-refreshing stale OAuth token. Error in `gargle_abort_request_failed()`: ! Client error: (403) PERMISSION_DENIED ... library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/sheet-url...\" read_sheet(cohort_registry_url) Selection: Waiting for authentication in browser... Press Esc/Ctrl + C to abort Authentication complete."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git-and-github","dir":"Articles","previous_headings":"","what":"Configuring Git and GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"One main purposes Kyber automate processes people normally “hand.” authorizing Kyber GitHub account, allowing Kyber act “” GitHub. 🚨 word caution: take care using Kyber functions interact GitHub. Kyber designed delete things GitHub Kyber, however determined use Kyber make big mess. going write code functions use Kyber, try avoid using Kyber within code designed iterate execute multiple commands. includes loops, mapping functions like sapply() purrr::map().","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring Git","title":"Configuring Google Sheets and GitHub for Kyber","text":"Make sure Git installed computer. need install Git can find instructions specific operating system online Git documentation GitHub guide.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-github","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"get started configuring GitHub, first make sure GitHub account logged . Take note GitHub username choose email address use sign GitHub. installing Git, make sure install Gert package, Kyber uses interact Git. freshly installed Git, use Gert set GitHub username email address locally following code: Confirm configuration set correctly running: Now configured GitHub username email address Git, need use GitHub generate token Kyber use connect GitHub account. Keeping token private extremely important, since anyone token can act GitHub. ’s need save token however, just need copy paste R console . Run code , open web browser page GitHub appropriate settings token already selected. execute code , scroll bottom page click green “Generate token” button. token appear string 40 random alphanumeric characters start ghp_. Copy string GitHub running code . prompted enter token R console: Paste token R console press Enter, see: can check make sure credentials set running: Everything now configured start using Kyber.","code":"library(gert) git_config_global_set(\"user.name\", \"[your GitHub username]\") git_config_global_set(\"user.email\", \"[the email you used to sign up for GitHub]\") git_config_global() library(usethis) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\"), description = paste0(\"kyber-\", Sys.Date()) ) #> • Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store #> It is also a great idea to store this token in any password-management software that you use #> • Open URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow,admin:org&description=kyber-2023-03-26' library(gitcreds) gitcreds_set() ? Enter password or token: -> Adding new credentials... -> Removing credentials from cache... -> Done. gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"configure-github","dir":"Articles","previous_headings":"","what":"Configure GitHub","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Make sure computer configured according instructions vignette(\"configuration\"). Run following code see GitHub credentials set : credentials detected get result like:","code":"library(gitcreds) gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"creating-the-repository","dir":"Articles","previous_headings":"","what":"Creating the Repository","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Champions Cohort GitHub repository. name repository match corresponding cohort_name Cohort Registry. init_repo()","code":""},{"path":[]},{"path":"https://openscapes.github.io/kyber/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Sean Kross. Author, maintainer. Julia Lowndes. Author.","code":""},{"path":"https://openscapes.github.io/kyber/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Kross S, Lowndes J (2023). kyber: Set Learning Cohorts GitHub. R package version 0.1.0, https://openscapes.github.io/kyber/.","code":"@Manual{, title = {kyber: Set Up Learning Cohorts on GitHub}, author = {Sean Kross and Julia Lowndes}, year = {2023}, note = {R package version 0.1.0}, url = {https://openscapes.github.io/kyber/}, }"},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Set Up Learning Cohorts on GitHub","text":"can install Kyber using remotes package:","code":"remotes::install_github(\"openscapes/kyber@main\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Set Up Learning Cohorts on GitHub","text":"Kyber contains tools setting learning cohorts GitHub, purpose-built Openscapes Champions Program. init_repo() initializes local git repository new GitHub repository README.Rmd, code conduct, gitignore. create_github_clinic() creates files need teaching GitHub clinic. create_team() creates new team GitHub. add_team_members() adds members team GitHub based GitHub usernames. add_team_to_repo() adds team GitHub repository. call_agenda() creates agenda documents individual Cohort Call.","code":""},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"configuration","dir":"","previous_headings":"Quick Cohort Setup","what":"Configuration","title":"Set Up Learning Cohorts on GitHub","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/index.html","id":"example-workflow","dir":"","previous_headings":"","what":"Example Workflow","title":"Set Up Learning Cohorts on GitHub","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-repo","dir":"","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Set Up Learning Cohorts on GitHub","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/index.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Set Up Learning Cohorts on GitHub","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-team-add-usernames","dir":"","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Set Up Learning Cohorts on GitHub","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"agendas","dir":"","previous_headings":"Example Workflow","what":"Agendas","title":"Set Up Learning Cohorts on GitHub","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a Code of Conduct to a directory. — add_code_of_conduct","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"Add Code Conduct directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"","code":"add_code_of_conduct(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"path path directory code conduct file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":null,"dir":"Reference","previous_headings":"","what":"Add .gitignore to a directory. — add_gitignore","title":"Add .gitignore to a directory. — add_gitignore","text":"Add .gitignore directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add .gitignore to a directory. — add_gitignore","text":"","code":"add_gitignore(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add .gitignore to a directory. — add_gitignore","text":"path path directory git ignore file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — add_repo_to_team","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"if (FALSE) { kyber::add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — add_team_members","title":"Add GitHub Users to a Team — add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"if (FALSE) { kyber::add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Team to a Repository — add_team_to_repo","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"Add GitHub Team Repository","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"add_team_to_repo(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"if (FALSE) { kyber::add_team_to_repo(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Call Agenda — call_agenda","title":"Create a Call Agenda — call_agenda","text":"Create Call Agenda","code":""},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Call Agenda — call_agenda","text":"","code":"call_agenda( registry_url, cohort_id, call_number, cohort_sheet = \"cohort_metadata\", call_sheet = \"call_metadata\", website = paste0(\"https://openscapes.github.io/\", cohort_id), output_format = md_agenda(), output_file = \"agenda.md\" )"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Call Agenda — call_agenda","text":"registry_url URL cohort registry. cohort_id ID cohort. call_number call number agenda. cohort_sheet sheet registry cohort information. call_sheet sheet registry information individual calls. website website cohort. output_format output format agenda. output_file name output file file extension.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — create_github_clinic","title":"Create GitHub Clinic Files — create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"if (FALSE) { create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a README.Rmd from a Kyber Template — create_readme","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Create README.Rmd Kyber Template","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"create_readme( file = \"README.Rmd\", template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"file File name draft template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Valid values template argument include \"openscapes-cohort-readme\".","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"if (FALSE) { kyber::create_readme() }"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a GitHub repository with a README.Rmd — create_repo","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Create GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"create_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"name name repository. org GitHub organization repository. path path directory repository created. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"if (FALSE) { kyber::create_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — create_team","title":"Create a Team on GitHub for an Organization — create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"if (FALSE) { # One maintainer kyber::create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":null,"dir":"Reference","previous_headings":"","what":"Readme Formatting — formatting","title":"Readme Formatting — formatting","text":"Functions help format yaml data nicely Readme templates.","code":""},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Readme Formatting — formatting","text":"","code":"ky_fmt_wiki_link(link) ky_fmt_schedule(schedule)"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Readme Formatting — formatting","text":"link url online wiki. schedule list data frames combined, row-wise.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Initialize a GitHub repository with a README.Rmd — init_repo","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Initialize GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"init_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"name name GitHub repository. org GitHub organization repository. path path directory repository initialized. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"if (FALSE) { kyber::init_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — ky_add_repo_to_team","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"ky_add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"if (FALSE) { kyber::ky_add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — ky_add_team_members","title":"Add GitHub Users to a Team — ky_add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"ky_add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — ky_add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"if (FALSE) { kyber::ky_add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — ky_create_github_clinic","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"ky_create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"if (FALSE) { ky_create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — ky_create_team","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"ky_create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"if (FALSE) { # One maintainer kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — ky_short_names","title":"Make unique combinations of first and last names — ky_short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"ky_short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — ky_short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") ky_short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the paths to files installed with kyber — kyber_file","title":"Get the paths to files installed with kyber — kyber_file","text":"function allows quickly access files installed kyber.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(path = NULL)"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the paths to files installed with kyber — kyber_file","text":"path name file. argument provided example files listed.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the paths to files installed with kyber — kyber_file","text":"vector file paths","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(\"_opening.Rmd\") #> [1] \"/private/var/folders/ts/5shj53q914d1fbdsk1hz2dfr0000gn/T/RtmpY1qQCn/temp_libpath3ae13e27138/kyber/agendas/_opening.Rmd\""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Options for creating an agenda in Markdown — md_agenda","title":"Options for creating an agenda in Markdown — md_agenda","text":"Options creating agenda Markdown","code":""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Options for creating an agenda in Markdown — md_agenda","text":"","code":"md_agenda()"},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Options for creating an agenda in Markdown — md_agenda","text":"list options.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::%>% details.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pipe operator — %>%","text":"lhs value magrittr placeholder. rhs function call using magrittr semantics.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pipe operator — %>%","text":"result calling rhs(lhs).","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — short_names","title":"Make unique combinations of first and last names — short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — short_names","text":"","code":"short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"}]
+[{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Configuring Google Sheets and GitHub for Kyber","text":"main purpose Kyber automate common tasks need done start Openscapes Champions Cohort. level automation requires authorize computer Google Sheets GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-google-sheets","dir":"Articles","previous_headings":"","what":"Configuring Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"Kyber interacts Google Sheets via googlesheets4 package. package makes easy authorize computer Kyber can access Google Sheets programmatically. Run following code configure googlesheets4: function redirect web browser can log Google account. authorized googlesheets4, can confirm configured correctly running following: detailed information, see gs4_auth() documentation googlesheets4 authorization troubleshooting documentation.","code":"library(googlesheets4) gs4_auth() gs4_user() #> Logged in to googlesheets4 as your-name@email.com."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"troubelshooting-google-sheets","dir":"Articles","previous_headings":"Configuring Google Sheets","what":"Troubelshooting Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"authorized computer use googlesheets4 may see following error: success troubleshooting error following method. First, try reading Google Sheet R: see following prompt: Enter 0 press Enter key. computer’s browser launch load Google’s authorization page. Reauthorize account via web browser see following message R console:","code":"The googlesheets4 package is requesting access to your Google account. Select a pre-authorised account or enter '0' to obtain a new token. Press Esc/Ctrl + C to cancel. 1: username@email.com Selection: 1 Auto-refreshing stale OAuth token. Error in `gargle_abort_request_failed()`: ! Client error: (403) PERMISSION_DENIED ... library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/sheet-url...\" read_sheet(cohort_registry_url) Selection: Waiting for authentication in browser... Press Esc/Ctrl + C to abort Authentication complete."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git-and-github","dir":"Articles","previous_headings":"","what":"Configuring Git and GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"One main purposes Kyber automate processes people normally “hand.” authorizing Kyber GitHub account, allowing Kyber act “” GitHub. 🚨 word caution: take care using Kyber functions interact GitHub. Kyber designed delete things GitHub Kyber, however determined use Kyber make big mess. going write code functions use Kyber, try avoid using Kyber within code designed iterate execute multiple commands. includes loops, mapping functions like sapply() purrr::map().","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring Git","title":"Configuring Google Sheets and GitHub for Kyber","text":"Make sure Git installed computer. need install Git can find instructions specific operating system online Git documentation GitHub guide.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-github","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"get started configuring GitHub, first make sure GitHub account logged . Take note GitHub username choose email address use sign GitHub. installing Git, make sure install Gert package, Kyber uses interact Git. freshly installed Git, use Gert set GitHub username email address locally following code: Confirm configuration set correctly running: Now configured GitHub username email address Git, need use GitHub generate token Kyber use connect GitHub account. Keeping token private extremely important, since anyone token can act GitHub. ’s need save token however, just need copy paste R console . Run code , open web browser page GitHub appropriate settings token already selected. execute code , scroll bottom page click green “Generate token” button. token appear string 40 random alphanumeric characters start ghp_. Copy string GitHub running code . prompted enter token R console: Paste token R console press Enter, see: can check make sure credentials set running: Everything now configured start using Kyber.","code":"library(gert) git_config_global_set(\"user.name\", \"[your GitHub username]\") git_config_global_set(\"user.email\", \"[the email you used to sign up for GitHub]\") git_config_global() library(usethis) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\"), description = paste0(\"kyber-\", Sys.Date()) ) #> • Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store #> It is also a great idea to store this token in any password-management software that you use #> • Open URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow,admin:org&description=kyber-2023-03-28' library(gitcreds) gitcreds_set() ? Enter password or token: -> Adding new credentials... -> Removing credentials from cache... -> Done. gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"configure-github","dir":"Articles","previous_headings":"","what":"Configure GitHub","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Make sure computer configured according instructions vignette(\"configuration\"). Run following code see GitHub credentials set : credentials detected get result like:","code":"library(gitcreds) gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"creating-the-repository","dir":"Articles","previous_headings":"","what":"Creating the Repository","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Champions Cohort GitHub repository. name repository match corresponding cohort_name Cohort Registry. init_repo() function code following: checks see GitHub repository trying create already exists. exist, result error. tries initialize GitHub repository computer. repository already exists path argument, result error. repository created GitHub. create local Git repository, add code conduct (via add_code_of_conduct()), add .gitignore file (via add_gitignore()), git add git commit files git push-ing files GitHub. Finally create README.Rmd file repository edit.","code":"library(kyber) repo_name <- \"2021-ilm-rotj\" repo_path <- init_repo(repo_name)"},{"path":[]},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"configuration","dir":"Articles","previous_headings":"","what":"Configuration","title":"Quick Start Guide","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"example-workflow","dir":"Articles","previous_headings":"","what":"Example Workflow","title":"Quick Start Guide","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"create-github-repo","dir":"Articles","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Quick Start Guide","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"Articles","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Quick Start Guide","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"create-github-team-add-usernames","dir":"Articles","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Quick Start Guide","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"agendas","dir":"Articles","previous_headings":"Example Workflow","what":"Agendas","title":"Quick Start Guide","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Sean Kross. Author, maintainer. Julia Lowndes. Author.","code":""},{"path":"https://openscapes.github.io/kyber/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Kross S, Lowndes J (2023). kyber: Set Learning Cohorts GitHub. R package version 0.1.0, https://openscapes.github.io/kyber/.","code":"@Manual{, title = {kyber: Set Up Learning Cohorts on GitHub}, author = {Sean Kross and Julia Lowndes}, year = {2023}, note = {R package version 0.1.0}, url = {https://openscapes.github.io/kyber/}, }"},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Set Up Learning Cohorts on GitHub","text":"can install Kyber using remotes package:","code":"remotes::install_github(\"openscapes/kyber@main\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Set Up Learning Cohorts on GitHub","text":"Kyber contains tools setting learning cohorts GitHub, purpose-built Openscapes Champions Program. init_repo() initializes local git repository new GitHub repository README.Rmd, code conduct, gitignore. create_github_clinic() creates files need teaching GitHub clinic. create_team() creates new team GitHub. add_team_members() adds members team GitHub based GitHub usernames. add_team_to_repo() adds team GitHub repository. call_agenda() creates agenda documents individual Cohort Call.","code":""},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"configuration","dir":"","previous_headings":"Quick Cohort Setup","what":"Configuration","title":"Set Up Learning Cohorts on GitHub","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/index.html","id":"example-workflow","dir":"","previous_headings":"","what":"Example Workflow","title":"Set Up Learning Cohorts on GitHub","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-repo","dir":"","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Set Up Learning Cohorts on GitHub","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/index.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Set Up Learning Cohorts on GitHub","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-team-add-usernames","dir":"","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Set Up Learning Cohorts on GitHub","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"agendas","dir":"","previous_headings":"Example Workflow","what":"Agendas","title":"Set Up Learning Cohorts on GitHub","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a Code of Conduct to a directory. — add_code_of_conduct","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"Add Code Conduct directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"","code":"add_code_of_conduct(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"path path directory code conduct file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":null,"dir":"Reference","previous_headings":"","what":"Add .gitignore to a directory. — add_gitignore","title":"Add .gitignore to a directory. — add_gitignore","text":"Add .gitignore directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add .gitignore to a directory. — add_gitignore","text":"","code":"add_gitignore(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add .gitignore to a directory. — add_gitignore","text":"path path directory git ignore file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — add_repo_to_team","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"if (FALSE) { kyber::add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — add_team_members","title":"Add GitHub Users to a Team — add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"if (FALSE) { kyber::add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Team to a Repository — add_team_to_repo","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"Add GitHub Team Repository","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"add_team_to_repo(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"if (FALSE) { kyber::add_team_to_repo(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Call Agenda — call_agenda","title":"Create a Call Agenda — call_agenda","text":"Create Call Agenda","code":""},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Call Agenda — call_agenda","text":"","code":"call_agenda( registry_url, cohort_id, call_number, cohort_sheet = \"cohort_metadata\", call_sheet = \"call_metadata\", website = paste0(\"https://openscapes.github.io/\", cohort_id), output_format = md_agenda(), output_file = \"agenda.md\" )"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Call Agenda — call_agenda","text":"registry_url URL cohort registry. cohort_id ID cohort. call_number call number agenda. cohort_sheet sheet registry cohort information. call_sheet sheet registry information individual calls. website website cohort. output_format output format agenda. output_file name output file file extension.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — create_github_clinic","title":"Create GitHub Clinic Files — create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"if (FALSE) { create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a README.Rmd from a Kyber Template — create_readme","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Create README.Rmd Kyber Template","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"create_readme( file = \"README.Rmd\", template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"file File name draft template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Valid values template argument include \"openscapes-cohort-readme\".","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"if (FALSE) { kyber::create_readme() }"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a GitHub repository with a README.Rmd — create_repo","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Create GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"create_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"name name repository. org GitHub organization repository. path path directory repository created. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"if (FALSE) { kyber::create_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — create_team","title":"Create a Team on GitHub for an Organization — create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"if (FALSE) { # One maintainer kyber::create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":null,"dir":"Reference","previous_headings":"","what":"Readme Formatting — formatting","title":"Readme Formatting — formatting","text":"Functions help format yaml data nicely Readme templates.","code":""},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Readme Formatting — formatting","text":"","code":"ky_fmt_wiki_link(link) ky_fmt_schedule(schedule)"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Readme Formatting — formatting","text":"link url online wiki. schedule list data frames combined, row-wise.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Initialize a GitHub repository with a README.Rmd — init_repo","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Initialize GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"init_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"name name GitHub repository. org GitHub organization repository. path path directory repository initialized. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"if (FALSE) { kyber::init_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — ky_add_repo_to_team","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"ky_add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"if (FALSE) { kyber::ky_add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — ky_add_team_members","title":"Add GitHub Users to a Team — ky_add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"ky_add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — ky_add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"if (FALSE) { kyber::ky_add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — ky_create_github_clinic","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"ky_create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"if (FALSE) { ky_create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — ky_create_team","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"ky_create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"if (FALSE) { # One maintainer kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — ky_short_names","title":"Make unique combinations of first and last names — ky_short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"ky_short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — ky_short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") ky_short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the paths to files installed with kyber — kyber_file","title":"Get the paths to files installed with kyber — kyber_file","text":"function allows quickly access files installed kyber.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(path = NULL)"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the paths to files installed with kyber — kyber_file","text":"path name file. argument provided example files listed.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the paths to files installed with kyber — kyber_file","text":"vector file paths","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(\"_opening.Rmd\") #> [1] \"/private/var/folders/9_/y_6t0md54wd9kwp3kjddpdr40000gp/T/RtmpBbGvFw/temp_libpathd2e02bb873c3/kyber/agendas/_opening.Rmd\""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Options for creating an agenda in Markdown — md_agenda","title":"Options for creating an agenda in Markdown — md_agenda","text":"Options creating agenda Markdown","code":""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Options for creating an agenda in Markdown — md_agenda","text":"","code":"md_agenda()"},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Options for creating an agenda in Markdown — md_agenda","text":"list options.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::%>% details.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pipe operator — %>%","text":"lhs value magrittr placeholder. rhs function call using magrittr semantics.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pipe operator — %>%","text":"result calling rhs(lhs).","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — short_names","title":"Make unique combinations of first and last names — short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — short_names","text":"","code":"short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"}]
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index 7cfd15a..16abf1e 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -18,6 +18,9 @@
https://openscapes.github.io/kyber/articles/kyber.html
+
+ https://openscapes.github.io/kyber/articles/quick-cohort-setup.html
+ https://openscapes.github.io/kyber/authors.html
diff --git a/vignettes/github-repo.Rmd b/vignettes/github-repo.Rmd
index daaac57..1dc59ad 100644
--- a/vignettes/github-repo.Rmd
+++ b/vignettes/github-repo.Rmd
@@ -62,6 +62,4 @@ repo_name <- "2021-ilm-rotj"
repo_path <- init_repo(repo_name)
```
-
-
[cr]: https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=695033382
\ No newline at end of file
diff --git a/vignettes/quick-cohort-setup.Rmd b/vignettes/quick-cohort-setup.Rmd
new file mode 100644
index 0000000..798af4b
--- /dev/null
+++ b/vignettes/quick-cohort-setup.Rmd
@@ -0,0 +1,199 @@
+---
+title: "Quick Start Guide"
+description: >
+ Learn how to create a cohort-specific GitHub repository with Kyber.
+output: rmarkdown::html_vignette
+vignette: >
+ %\VignetteIndexEntry{Creating a Cohort-Specific GitHub Repository with Kyber}
+ %\VignetteEngine{knitr::rmarkdown}
+ %\VignetteEncoding{UTF-8}
+---
+
+```{r, include = FALSE}
+knitr::opts_chunk$set(
+ collapse = TRUE,
+ comment = "#>"
+)
+```
+
+### Configuration
+
+Using Kyber requires more configuration than most R packages since Kyber
+functions automate processes on GitHub that you would normally do by hand.
+
+First, make sure that you have `googlesheets4` installed and that you have
+authorized your computer to read from Google Sheets. Run the following to
+test your configuration settings:
+
+``` r
+library(googlesheets4)
+
+cohort_registry_url <- "https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/"
+
+read_sheet(cohort_registry_url, sheet = "test-sheet")
+```
+
+``` r
+library(usethis)
+library(gitcreds)
+
+create_github_token(
+ scopes = c("repo", "user", "gist", "workflow", "admin:org")
+)
+
+gitcreds_set()
+```
+
+## Example Workflow
+
+This workflow often happens in 4 separate stages:
+
+1. create the repo and readme (pre-cohort)
+2. create `github-clinic` files (days before GitHub Clinic in Call 2)
+3. create github team and add usernames (day before Clinic, when we
+ have all usernames)
+4. create agenda documents before each Cohort Call
+
+For creating the GitHub Team and adding usernames, Kyber requires you to
+set up a GitHub Personal Access Token with scopes for **repo** and
+**admin:org**. See the [GitHub PAT
+documentation](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
+for more information about how to generate your PAT. You can create your PAT with `usethis::create_github_token()` with their defaults, plus `admin:org`.
+Please make sure
+that you do not share your PAT or commit it to a Git repository, since
+anyone with your PAT can act as you on GitHub.
+
+### Create GitHub repo
+
+``` r
+library(kyber)
+library(rmarkdown)
+library(tibble)
+library(fs)
+
+repo_name <- "2021-ilm-rotj"
+
+# This will open a README.Rmd for you to edit
+repo_path <- create_repo(repo_name)
+
+# Then render the README.Rmd to README.md
+render(path(repo_path, "README.Rmd"))
+
+# We still need to work out the next part of the workflow and the extent to
+# which it should be automated, but I imagine something like:
+#
+# 1. Move README.Rmd out of this repository to another repository that perhaps
+# only contains README.Rmds.
+# 2. Git add, commit, and push in the repo that only contains README.Rmds.
+# 3. Git add, commit, and push in this repository.
+```
+
+### GitHub Clinic - Generate Markdown Files for Each Participant
+
+Clone the Cohort Repo to RStudio, then run the following code. Detailed instructions of what this looks like:
+
+1. Open RStudio, and create a new script (temporary, you'll deleted it but it's a nicer place to work)
+1. Copy the following into the script, then delete the examples "Erin, Julie". You'll keep the `_demo.md`, which is what you'll demo live.
+2. Go to the ParticipantsList, and copy the 2 first and last columns
+3. Back in RStudio, put your cursor inside the "tribble" parentheses, then, in the Addin menu in the top of RStudio, select "Paste as Tribble"!
+4. Then, double-check the column headers - they are likely not `first` and `last` as is written in the `kyber::short_names` call. The easiest thing is to update the column names in the `kyber::short_names` code before running (for example: `kyber::short_names(cohort$First.Name, cohort$Last.Name)`
+
+
+```
+library(stringr)
+library(datapasta) # install.packages("datapasta")
+library(kyber) ## remotes::install_github("openscapes/kyber")
+library(here)
+library(fs)
+
+## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet!
+cohort <- c(tibble::tribble(
+ ~first, ~last,
+ "_demo", "",
+ "Erin", "Robinson",
+ "Julie", "Lowndes"
+ )
+)
+
+## create .md files for each Champion
+kyber::short_names(cohort$first, cohort$last) |>
+ create_github_clinic(here())
+
+## copy trailhead image into parent folder
+trailhead_png <- system.file("kyber-templates",
+ "horst-champions-trailhead.png", package = "kyber")
+fs::file_copy(trailhead_png, here())
+```
+
+You'll now have .md files for each participant in the cohort! Any duplicate names with have a `_LastInitial`. Check by clicking into the `github-clinic` folder and opening a file.
+
+**Now**, commit and push the Markdown files in the `github-clinic` folder plus the `horst-champions-trailhead.png in the top-level folder to GitHub.com. Don't push the .gitignore or .rproj since they're not relevant for the Clinic. (You can do Command-A to select all files and then unclick those 2 you don't want).
+
+
+### Create GitHub team, add usernames
+
+1. Open RStudio, and create a new script (temporary, you'll deleted it but it's a nicer place to work)
+1. Paste the following in it and review the code. You may already have a GitHub PAT set; there is more information at the top of the README about it.
+1. Run this code first as-is with the example usernames in the `members` variable to check -
+1. Check that the example usernames were added in the Cohort GitHub: go to github.com/openscapes/cohort-name > Settings > Collaborators and Teams
+1. If the team was created with the username and appears in the repo, woohoo!
+1. Open the ParticipantsList and copy the GitHub username column, including the header.
+3. In RStudio, put your cursor after `members <-` and use the `datapasta` Addin > Paste As Tribble to paste the usernames into the `members` variable, deleting the previous example user.
+2. After pasting in the R script, rename the header as "username" (no spaces or asterices)
+5. Run the following code again and check that everyone was added!
+6. Finally, in the ParticipantList, highlight all usernames we've added in green. This helps us know who else to add during the live clinic session.
+
+``` r
+## First make sure you have a GitHub PAT set. If you need one, here's what you'd do:
+# usethis::create_github_token() ## use their defaults plus `admin:org`
+# Sys.setenv(GITHUB_PAT = "ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270")
+
+library(kyber)
+library(rmarkdown)
+library(tibble)
+library(fs)
+library(datapasta)
+
+## create naming for GitHub - do this once!
+repo_name <- "2022-nasa-champions"
+team_name <- paste0(repo_name, "-cohort")
+create_team(team_name, maintainers = "jules32", org = "openscapes")
+
+## create member variable - do this twice (first as test!)
+## this is where you'll use datapasta and run everything below
+members <- tibble::tribble(
+ ~username,
+ "eeholmes"
+ )
+
+add_team_members(team_name, members = members$username, org = "openscapes")
+add_repo_to_team(repo_name, team_name, org = "openscapes")
+```
+
+Yay! Now all to do is to highlight the usernames in green in the ParticpantList for our bookkeeping!
+
+
+### Agendas
+
+ kyber::call_agenda(
+ registry_url = "https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997",
+ cohort_id = "2022-nasa-champions",
+ call_number = 3)
+
+Then, to move this to a Google Doc and fine-tune formatting, follow these notes (as of July 14, 2022):
+
+- In RStudio, Knit (or PreviewHTML) the resulting `agenda.md` and copy-paste the result into a Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. You might need to to expand the knitted preview into the browser to get it to copy/paste correctly into Google Docs
+- Move Google Doc to Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ].
+- Select all (cmd-A) and change font to Open Sans
+- Make p1 opening text 9 point font (the text above horizontal line & Call title)
+- Make Header 1 font 18, bold; update heading 1 to match (see screenshot below; Stef notes "update heading to match" has not been working in these docs)
+- Make Header 2 font 14, bold; update heading 2 to match
+- Select all (cmd-A), then:
+ - "add space" then "remove space **after** paragraph" throughout to make spacing a little more cozy (yes seems odd to do and undo, but it works)
+ - "add space" then "remove space **before** paragraph" throughout to make spacing a little more cozy
+- Review doc and fix any further font weirdness
+- Add page numbers
+
+**How to "update heading 1 to match"**: (Stef notes this has not been working in these docs) In Google Doc, to update a text style (headings, normal text, with font type, size etc), highlight a section with the style you want, click the styles dropdown shown in the screenshot, and select e.g. "Update Heading 1 to match". Double check the doc because we've noticed it missed some in an agenda.
+
+
From 94dfd059df8fe8448e475386858035477824962d Mon Sep 17 00:00:00 2001
From: seankross
Date: Sat, 22 Apr 2023 19:19:51 -0700
Subject: [PATCH 2/2] rearranging navbar
---
_pkgdown.yml | 3 +++
docs/404.html | 4 ++--
docs/LICENSE-text.html | 2 +-
docs/articles/configuration.html | 6 +++---
docs/articles/github-repo.html | 4 ++--
docs/articles/index.html | 2 +-
docs/articles/kyber.html | 4 ++--
docs/articles/quick-cohort-setup.html | 8 ++++----
docs/authors.html | 2 +-
docs/deps/data-deps.txt | 4 ++--
docs/index.html | 11 +++++------
docs/pkgdown.yml | 2 +-
docs/reference/add_code_of_conduct.html | 2 +-
docs/reference/add_gitignore.html | 2 +-
docs/reference/add_team_members.html | 2 +-
docs/reference/add_team_to_repo.html | 2 +-
docs/reference/call_agenda.html | 2 +-
docs/reference/create_github_clinic.html | 2 +-
docs/reference/create_readme.html | 2 +-
docs/reference/create_team.html | 2 +-
docs/reference/index.html | 2 +-
docs/reference/init_repo.html | 2 +-
docs/reference/kyber_file.html | 4 ++--
docs/reference/md_agenda.html | 2 +-
docs/reference/pipe.html | 2 +-
docs/reference/short_names.html | 2 +-
docs/search.json | 2 +-
27 files changed, 43 insertions(+), 41 deletions(-)
diff --git a/_pkgdown.yml b/_pkgdown.yml
index 30709c9..ea41392 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -5,3 +5,6 @@ navbar:
left:
- text: "Quick Cohort Setup"
href: articles/quick-cohort-setup.html
+ - text: "Reference"
+ href: reference/index.html
+
diff --git a/docs/404.html b/docs/404.html
index dda39e6..ba82771 100644
--- a/docs/404.html
+++ b/docs/404.html
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html
index 19bcd25..fba0819 100644
--- a/docs/LICENSE-text.html
+++ b/docs/LICENSE-text.html
@@ -1,5 +1,5 @@
-License • kyberLicense • kyber
diff --git a/docs/articles/configuration.html b/docs/articles/configuration.html
index 0ffd27a..92fde4e 100644
--- a/docs/articles/configuration.html
+++ b/docs/articles/configuration.html
@@ -15,8 +15,8 @@
-
-
+
+
Configuring GitHub)
#> • Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store#> It is also a great idea to store this token in any password-management software that you use
-#> • Open URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow,admin:org&description=kyber-2023-03-28'
+#> • Open URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow,admin:org&description=kyber-2023-04-22'
The token should appear as a string with about 40 random alphanumeric
characters that start with ghp_. Copy the string from
GitHub before running the code below. You will be prompted to enter the
diff --git a/docs/articles/github-repo.html b/docs/articles/github-repo.html
index 5889879..4574f0b 100644
--- a/docs/articles/github-repo.html
+++ b/docs/articles/github-repo.html
@@ -15,8 +15,8 @@
-
-
+
+
You’ll now have .md files for each participant in the cohort! Any
duplicate names with have a _LastInitial. Check by clicking
into the github-clinic folder and opening a file.
GitHub Cli
## create .md files for each Championkyber::short_names(cohort$first, cohort$last)|>
-create_github_clinic(here())
+create_github_clinic(here())## copy trailhead image into parent foldertrailhead_png<-system.file("kyber-templates", "horst-champions-trailhead.png", package ="kyber")
-fs::file_copy(trailhead_png, here())
+fs::file_copy(trailhead_png, here())
You’ll now have .md files for each participant in the cohort! Any duplicate names with have a _LastInitial. Check by clicking into the github-clinic folder and opening a file.
Now, commit and push the Markdown files in the github-clinic folder plus the `horst-champions-trailhead.png in the top-level folder to GitHub.com. Don’t push the .gitignore or .rproj since they’re not relevant for the Clinic. (You can do Command-A to select all files and then unclick those 2 you don’t want).
@@ -291,7 +290,7 @@
Developers
Dev status
-
+
diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml
index 13b3e82..50e15a0 100644
--- a/docs/pkgdown.yml
+++ b/docs/pkgdown.yml
@@ -6,7 +6,7 @@ articles:
github-repo: github-repo.html
kyber: kyber.html
quick-cohort-setup: quick-cohort-setup.html
-last_built: 2023-03-28T16:16Z
+last_built: 2023-04-23T02:18Z
urls:
reference: https://openscapes.github.io/kyber/reference
article: https://openscapes.github.io/kyber/articles
diff --git a/docs/reference/add_code_of_conduct.html b/docs/reference/add_code_of_conduct.html
index ee95132..de5e707 100644
--- a/docs/reference/add_code_of_conduct.html
+++ b/docs/reference/add_code_of_conduct.html
@@ -1,5 +1,5 @@
-Add a Code of Conduct to a directory. — add_code_of_conduct • kyberAdd a Code of Conduct to a directory. — add_code_of_conduct • kyber
diff --git a/docs/reference/add_gitignore.html b/docs/reference/add_gitignore.html
index 2ffd6b7..ccc5c61 100644
--- a/docs/reference/add_gitignore.html
+++ b/docs/reference/add_gitignore.html
@@ -1,5 +1,5 @@
-Add .gitignore to a directory. — add_gitignore • kyberAdd .gitignore to a directory. — add_gitignore • kyber
diff --git a/docs/reference/add_team_members.html b/docs/reference/add_team_members.html
index b884912..d5e09f2 100644
--- a/docs/reference/add_team_members.html
+++ b/docs/reference/add_team_members.html
@@ -1,5 +1,5 @@
-Add GitHub Users to a Team — add_team_members • kyberAdd GitHub Users to a Team — add_team_members • kyber
diff --git a/docs/reference/add_team_to_repo.html b/docs/reference/add_team_to_repo.html
index 06ef005..dfa7c42 100644
--- a/docs/reference/add_team_to_repo.html
+++ b/docs/reference/add_team_to_repo.html
@@ -1,5 +1,5 @@
-Add a GitHub Team to a Repository — add_team_to_repo • kyberAdd a GitHub Team to a Repository — add_team_to_repo • kyber
diff --git a/docs/reference/call_agenda.html b/docs/reference/call_agenda.html
index 2355fe7..2e23361 100644
--- a/docs/reference/call_agenda.html
+++ b/docs/reference/call_agenda.html
@@ -1,5 +1,5 @@
-Create a Call Agenda — call_agenda • kyberCreate a Call Agenda — call_agenda • kyber
diff --git a/docs/reference/create_github_clinic.html b/docs/reference/create_github_clinic.html
index 6ccb226..6a6212f 100644
--- a/docs/reference/create_github_clinic.html
+++ b/docs/reference/create_github_clinic.html
@@ -1,5 +1,5 @@
-Create GitHub Clinic Files — create_github_clinic • kyberCreate GitHub Clinic Files — create_github_clinic • kyber
diff --git a/docs/reference/create_readme.html b/docs/reference/create_readme.html
index d4e248b..78d9927 100644
--- a/docs/reference/create_readme.html
+++ b/docs/reference/create_readme.html
@@ -1,5 +1,5 @@
-Create a README.Rmd from a Kyber Template — create_readme • kyberCreate a README.Rmd from a Kyber Template — create_readme • kyber
diff --git a/docs/reference/create_team.html b/docs/reference/create_team.html
index b260023..f9c5b60 100644
--- a/docs/reference/create_team.html
+++ b/docs/reference/create_team.html
@@ -1,5 +1,5 @@
-Create a Team on GitHub for an Organization — create_team • kyberCreate a Team on GitHub for an Organization — create_team • kyber
diff --git a/docs/reference/index.html b/docs/reference/index.html
index 11cb01e..1ae3be8 100644
--- a/docs/reference/index.html
+++ b/docs/reference/index.html
@@ -1,5 +1,5 @@
-Function reference • kyberFunction reference • kyber
diff --git a/docs/reference/init_repo.html b/docs/reference/init_repo.html
index 9acb124..db95cf1 100644
--- a/docs/reference/init_repo.html
+++ b/docs/reference/init_repo.html
@@ -1,5 +1,5 @@
-Initialize a GitHub repository with a README.Rmd — init_repo • kyberInitialize a GitHub repository with a README.Rmd — init_repo • kyber
diff --git a/docs/reference/kyber_file.html b/docs/reference/kyber_file.html
index 80b84c7..c2fb931 100644
--- a/docs/reference/kyber_file.html
+++ b/docs/reference/kyber_file.html
@@ -1,6 +1,6 @@
Get the paths to files installed with kyber — kyber_file • kyberGet the paths to files installed with kyber — kyber_file • kyberOptions for creating an agenda in Markdown — md_agenda • kyberOptions for creating an agenda in Markdown — md_agenda • kyber
diff --git a/docs/reference/pipe.html b/docs/reference/pipe.html
index d120e90..2d04e0e 100644
--- a/docs/reference/pipe.html
+++ b/docs/reference/pipe.html
@@ -1,5 +1,5 @@
-Pipe operator — %>% • kyberPipe operator — %>% • kyber
diff --git a/docs/reference/short_names.html b/docs/reference/short_names.html
index 2a1016e..78f877d 100644
--- a/docs/reference/short_names.html
+++ b/docs/reference/short_names.html
@@ -1,5 +1,5 @@
-Make unique combinations of first and last names — short_names • kyberMake unique combinations of first and last names — short_names • kyber
diff --git a/docs/search.json b/docs/search.json
index 9c38068..47726c2 100644
--- a/docs/search.json
+++ b/docs/search.json
@@ -1 +1 @@
-[{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Configuring Google Sheets and GitHub for Kyber","text":"main purpose Kyber automate common tasks need done start Openscapes Champions Cohort. level automation requires authorize computer Google Sheets GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-google-sheets","dir":"Articles","previous_headings":"","what":"Configuring Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"Kyber interacts Google Sheets via googlesheets4 package. package makes easy authorize computer Kyber can access Google Sheets programmatically. Run following code configure googlesheets4: function redirect web browser can log Google account. authorized googlesheets4, can confirm configured correctly running following: detailed information, see gs4_auth() documentation googlesheets4 authorization troubleshooting documentation.","code":"library(googlesheets4) gs4_auth() gs4_user() #> Logged in to googlesheets4 as your-name@email.com."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"troubelshooting-google-sheets","dir":"Articles","previous_headings":"Configuring Google Sheets","what":"Troubelshooting Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"authorized computer use googlesheets4 may see following error: success troubleshooting error following method. First, try reading Google Sheet R: see following prompt: Enter 0 press Enter key. computer’s browser launch load Google’s authorization page. Reauthorize account via web browser see following message R console:","code":"The googlesheets4 package is requesting access to your Google account. Select a pre-authorised account or enter '0' to obtain a new token. Press Esc/Ctrl + C to cancel. 1: username@email.com Selection: 1 Auto-refreshing stale OAuth token. Error in `gargle_abort_request_failed()`: ! Client error: (403) PERMISSION_DENIED ... library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/sheet-url...\" read_sheet(cohort_registry_url) Selection: Waiting for authentication in browser... Press Esc/Ctrl + C to abort Authentication complete."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git-and-github","dir":"Articles","previous_headings":"","what":"Configuring Git and GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"One main purposes Kyber automate processes people normally “hand.” authorizing Kyber GitHub account, allowing Kyber act “” GitHub. 🚨 word caution: take care using Kyber functions interact GitHub. Kyber designed delete things GitHub Kyber, however determined use Kyber make big mess. going write code functions use Kyber, try avoid using Kyber within code designed iterate execute multiple commands. includes loops, mapping functions like sapply() purrr::map().","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring Git","title":"Configuring Google Sheets and GitHub for Kyber","text":"Make sure Git installed computer. need install Git can find instructions specific operating system online Git documentation GitHub guide.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-github","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"get started configuring GitHub, first make sure GitHub account logged . Take note GitHub username choose email address use sign GitHub. installing Git, make sure install Gert package, Kyber uses interact Git. freshly installed Git, use Gert set GitHub username email address locally following code: Confirm configuration set correctly running: Now configured GitHub username email address Git, need use GitHub generate token Kyber use connect GitHub account. Keeping token private extremely important, since anyone token can act GitHub. ’s need save token however, just need copy paste R console . Run code , open web browser page GitHub appropriate settings token already selected. execute code , scroll bottom page click green “Generate token” button. token appear string 40 random alphanumeric characters start ghp_. Copy string GitHub running code . prompted enter token R console: Paste token R console press Enter, see: can check make sure credentials set running: Everything now configured start using Kyber.","code":"library(gert) git_config_global_set(\"user.name\", \"[your GitHub username]\") git_config_global_set(\"user.email\", \"[the email you used to sign up for GitHub]\") git_config_global() library(usethis) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\"), description = paste0(\"kyber-\", Sys.Date()) ) #> • Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store #> It is also a great idea to store this token in any password-management software that you use #> • Open URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow,admin:org&description=kyber-2023-03-28' library(gitcreds) gitcreds_set() ? Enter password or token: -> Adding new credentials... -> Removing credentials from cache... -> Done. gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"configure-github","dir":"Articles","previous_headings":"","what":"Configure GitHub","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Make sure computer configured according instructions vignette(\"configuration\"). Run following code see GitHub credentials set : credentials detected get result like:","code":"library(gitcreds) gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"creating-the-repository","dir":"Articles","previous_headings":"","what":"Creating the Repository","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Champions Cohort GitHub repository. name repository match corresponding cohort_name Cohort Registry. init_repo() function code following: checks see GitHub repository trying create already exists. exist, result error. tries initialize GitHub repository computer. repository already exists path argument, result error. repository created GitHub. create local Git repository, add code conduct (via add_code_of_conduct()), add .gitignore file (via add_gitignore()), git add git commit files git push-ing files GitHub. Finally create README.Rmd file repository edit.","code":"library(kyber) repo_name <- \"2021-ilm-rotj\" repo_path <- init_repo(repo_name)"},{"path":[]},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"configuration","dir":"Articles","previous_headings":"","what":"Configuration","title":"Quick Start Guide","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"example-workflow","dir":"Articles","previous_headings":"","what":"Example Workflow","title":"Quick Start Guide","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"create-github-repo","dir":"Articles","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Quick Start Guide","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"Articles","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Quick Start Guide","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"create-github-team-add-usernames","dir":"Articles","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Quick Start Guide","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"agendas","dir":"Articles","previous_headings":"Example Workflow","what":"Agendas","title":"Quick Start Guide","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Sean Kross. Author, maintainer. Julia Lowndes. Author.","code":""},{"path":"https://openscapes.github.io/kyber/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Kross S, Lowndes J (2023). kyber: Set Learning Cohorts GitHub. R package version 0.1.0, https://openscapes.github.io/kyber/.","code":"@Manual{, title = {kyber: Set Up Learning Cohorts on GitHub}, author = {Sean Kross and Julia Lowndes}, year = {2023}, note = {R package version 0.1.0}, url = {https://openscapes.github.io/kyber/}, }"},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Set Up Learning Cohorts on GitHub","text":"can install Kyber using remotes package:","code":"remotes::install_github(\"openscapes/kyber@main\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Set Up Learning Cohorts on GitHub","text":"Kyber contains tools setting learning cohorts GitHub, purpose-built Openscapes Champions Program. init_repo() initializes local git repository new GitHub repository README.Rmd, code conduct, gitignore. create_github_clinic() creates files need teaching GitHub clinic. create_team() creates new team GitHub. add_team_members() adds members team GitHub based GitHub usernames. add_team_to_repo() adds team GitHub repository. call_agenda() creates agenda documents individual Cohort Call.","code":""},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"configuration","dir":"","previous_headings":"Quick Cohort Setup","what":"Configuration","title":"Set Up Learning Cohorts on GitHub","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/index.html","id":"example-workflow","dir":"","previous_headings":"","what":"Example Workflow","title":"Set Up Learning Cohorts on GitHub","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-repo","dir":"","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Set Up Learning Cohorts on GitHub","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/index.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Set Up Learning Cohorts on GitHub","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-team-add-usernames","dir":"","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Set Up Learning Cohorts on GitHub","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"agendas","dir":"","previous_headings":"Example Workflow","what":"Agendas","title":"Set Up Learning Cohorts on GitHub","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a Code of Conduct to a directory. — add_code_of_conduct","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"Add Code Conduct directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"","code":"add_code_of_conduct(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"path path directory code conduct file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":null,"dir":"Reference","previous_headings":"","what":"Add .gitignore to a directory. — add_gitignore","title":"Add .gitignore to a directory. — add_gitignore","text":"Add .gitignore directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add .gitignore to a directory. — add_gitignore","text":"","code":"add_gitignore(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add .gitignore to a directory. — add_gitignore","text":"path path directory git ignore file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — add_repo_to_team","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"if (FALSE) { kyber::add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — add_team_members","title":"Add GitHub Users to a Team — add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"if (FALSE) { kyber::add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Team to a Repository — add_team_to_repo","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"Add GitHub Team Repository","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"add_team_to_repo(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"if (FALSE) { kyber::add_team_to_repo(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Call Agenda — call_agenda","title":"Create a Call Agenda — call_agenda","text":"Create Call Agenda","code":""},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Call Agenda — call_agenda","text":"","code":"call_agenda( registry_url, cohort_id, call_number, cohort_sheet = \"cohort_metadata\", call_sheet = \"call_metadata\", website = paste0(\"https://openscapes.github.io/\", cohort_id), output_format = md_agenda(), output_file = \"agenda.md\" )"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Call Agenda — call_agenda","text":"registry_url URL cohort registry. cohort_id ID cohort. call_number call number agenda. cohort_sheet sheet registry cohort information. call_sheet sheet registry information individual calls. website website cohort. output_format output format agenda. output_file name output file file extension.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — create_github_clinic","title":"Create GitHub Clinic Files — create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"if (FALSE) { create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a README.Rmd from a Kyber Template — create_readme","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Create README.Rmd Kyber Template","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"create_readme( file = \"README.Rmd\", template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"file File name draft template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Valid values template argument include \"openscapes-cohort-readme\".","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"if (FALSE) { kyber::create_readme() }"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a GitHub repository with a README.Rmd — create_repo","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Create GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"create_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"name name repository. org GitHub organization repository. path path directory repository created. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"if (FALSE) { kyber::create_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — create_team","title":"Create a Team on GitHub for an Organization — create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"if (FALSE) { # One maintainer kyber::create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":null,"dir":"Reference","previous_headings":"","what":"Readme Formatting — formatting","title":"Readme Formatting — formatting","text":"Functions help format yaml data nicely Readme templates.","code":""},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Readme Formatting — formatting","text":"","code":"ky_fmt_wiki_link(link) ky_fmt_schedule(schedule)"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Readme Formatting — formatting","text":"link url online wiki. schedule list data frames combined, row-wise.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Initialize a GitHub repository with a README.Rmd — init_repo","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Initialize GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"init_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"name name GitHub repository. org GitHub organization repository. path path directory repository initialized. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"if (FALSE) { kyber::init_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — ky_add_repo_to_team","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"ky_add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"if (FALSE) { kyber::ky_add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — ky_add_team_members","title":"Add GitHub Users to a Team — ky_add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"ky_add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — ky_add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"if (FALSE) { kyber::ky_add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — ky_create_github_clinic","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"ky_create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"if (FALSE) { ky_create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — ky_create_team","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"ky_create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"if (FALSE) { # One maintainer kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — ky_short_names","title":"Make unique combinations of first and last names — ky_short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"ky_short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — ky_short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") ky_short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the paths to files installed with kyber — kyber_file","title":"Get the paths to files installed with kyber — kyber_file","text":"function allows quickly access files installed kyber.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(path = NULL)"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the paths to files installed with kyber — kyber_file","text":"path name file. argument provided example files listed.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the paths to files installed with kyber — kyber_file","text":"vector file paths","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(\"_opening.Rmd\") #> [1] \"/private/var/folders/9_/y_6t0md54wd9kwp3kjddpdr40000gp/T/RtmpBbGvFw/temp_libpathd2e02bb873c3/kyber/agendas/_opening.Rmd\""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Options for creating an agenda in Markdown — md_agenda","title":"Options for creating an agenda in Markdown — md_agenda","text":"Options creating agenda Markdown","code":""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Options for creating an agenda in Markdown — md_agenda","text":"","code":"md_agenda()"},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Options for creating an agenda in Markdown — md_agenda","text":"list options.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::%>% details.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pipe operator — %>%","text":"lhs value magrittr placeholder. rhs function call using magrittr semantics.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pipe operator — %>%","text":"result calling rhs(lhs).","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — short_names","title":"Make unique combinations of first and last names — short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — short_names","text":"","code":"short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"}]
+[{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"introduction","dir":"Articles","previous_headings":"","what":"Introduction","title":"Configuring Google Sheets and GitHub for Kyber","text":"main purpose Kyber automate common tasks need done start Openscapes Champions Cohort. level automation requires authorize computer Google Sheets GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-google-sheets","dir":"Articles","previous_headings":"","what":"Configuring Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"Kyber interacts Google Sheets via googlesheets4 package. package makes easy authorize computer Kyber can access Google Sheets programmatically. Run following code configure googlesheets4: function redirect web browser can log Google account. authorized googlesheets4, can confirm configured correctly running following: detailed information, see gs4_auth() documentation googlesheets4 authorization troubleshooting documentation.","code":"library(googlesheets4) gs4_auth() gs4_user() #> Logged in to googlesheets4 as your-name@email.com."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"troubelshooting-google-sheets","dir":"Articles","previous_headings":"Configuring Google Sheets","what":"Troubelshooting Google Sheets","title":"Configuring Google Sheets and GitHub for Kyber","text":"authorized computer use googlesheets4 may see following error: success troubleshooting error following method. First, try reading Google Sheet R: see following prompt: Enter 0 press Enter key. computer’s browser launch load Google’s authorization page. Reauthorize account via web browser see following message R console:","code":"The googlesheets4 package is requesting access to your Google account. Select a pre-authorised account or enter '0' to obtain a new token. Press Esc/Ctrl + C to cancel. 1: username@email.com Selection: 1 Auto-refreshing stale OAuth token. Error in `gargle_abort_request_failed()`: ! Client error: (403) PERMISSION_DENIED ... library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/sheet-url...\" read_sheet(cohort_registry_url) Selection: Waiting for authentication in browser... Press Esc/Ctrl + C to abort Authentication complete."},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git-and-github","dir":"Articles","previous_headings":"","what":"Configuring Git and GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"One main purposes Kyber automate processes people normally “hand.” authorizing Kyber GitHub account, allowing Kyber act “” GitHub. 🚨 word caution: take care using Kyber functions interact GitHub. Kyber designed delete things GitHub Kyber, however determined use Kyber make big mess. going write code functions use Kyber, try avoid using Kyber within code designed iterate execute multiple commands. includes loops, mapping functions like sapply() purrr::map().","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-git","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring Git","title":"Configuring Google Sheets and GitHub for Kyber","text":"Make sure Git installed computer. need install Git can find instructions specific operating system online Git documentation GitHub guide.","code":""},{"path":"https://openscapes.github.io/kyber/articles/configuration.html","id":"configuring-github","dir":"Articles","previous_headings":"Configuring Git and GitHub","what":"Configuring GitHub","title":"Configuring Google Sheets and GitHub for Kyber","text":"get started configuring GitHub, first make sure GitHub account logged . Take note GitHub username choose email address use sign GitHub. installing Git, make sure install Gert package, Kyber uses interact Git. freshly installed Git, use Gert set GitHub username email address locally following code: Confirm configuration set correctly running: Now configured GitHub username email address Git, need use GitHub generate token Kyber use connect GitHub account. Keeping token private extremely important, since anyone token can act GitHub. ’s need save token however, just need copy paste R console . Run code , open web browser page GitHub appropriate settings token already selected. execute code , scroll bottom page click green “Generate token” button. token appear string 40 random alphanumeric characters start ghp_. Copy string GitHub running code . prompted enter token R console: Paste token R console press Enter, see: can check make sure credentials set running: Everything now configured start using Kyber.","code":"library(gert) git_config_global_set(\"user.name\", \"[your GitHub username]\") git_config_global_set(\"user.email\", \"[the email you used to sign up for GitHub]\") git_config_global() library(usethis) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\"), description = paste0(\"kyber-\", Sys.Date()) ) #> • Call `gitcreds::gitcreds_set()` to register this token in the local Git credential store #> It is also a great idea to store this token in any password-management software that you use #> • Open URL 'https://github.com/settings/tokens/new?scopes=repo,user,gist,workflow,admin:org&description=kyber-2023-04-22' library(gitcreds) gitcreds_set() ? Enter password or token: -> Adding new credentials... -> Removing credentials from cache... -> Done. gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"configure-github","dir":"Articles","previous_headings":"","what":"Configure GitHub","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Make sure computer configured according instructions vignette(\"configuration\"). Run following code see GitHub credentials set : credentials detected get result like:","code":"library(gitcreds) gitcreds_get() protocol: https host : github.com username: PersonalAccessToken password: <-- hidden -->"},{"path":"https://openscapes.github.io/kyber/articles/github-repo.html","id":"creating-the-repository","dir":"Articles","previous_headings":"","what":"Creating the Repository","title":"Creating a Cohort-Specific GitHub Repository with Kyber","text":"Champions Cohort GitHub repository. name repository match corresponding cohort_name Cohort Registry. init_repo() function code following: checks see GitHub repository trying create already exists. exist, result error. tries initialize GitHub repository computer. repository already exists path argument, result error. repository created GitHub. create local Git repository, add code conduct (via add_code_of_conduct()), add .gitignore file (via add_gitignore()), git add git commit files git push-ing files GitHub. Finally create README.Rmd file repository edit.","code":"library(kyber) repo_name <- \"2021-ilm-rotj\" repo_path <- init_repo(repo_name)"},{"path":[]},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"configuration","dir":"Articles","previous_headings":"","what":"Configuration","title":"Quick Start Guide","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"example-workflow","dir":"Articles","previous_headings":"","what":"Example Workflow","title":"Quick Start Guide","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"create-github-repo","dir":"Articles","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Quick Start Guide","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"Articles","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Quick Start Guide","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"create-github-team-add-usernames","dir":"Articles","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Quick Start Guide","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/articles/quick-cohort-setup.html","id":"agendas","dir":"Articles","previous_headings":"Example Workflow","what":"Agendas","title":"Quick Start Guide","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Sean Kross. Author, maintainer. Julia Lowndes. Author.","code":""},{"path":"https://openscapes.github.io/kyber/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Kross S, Lowndes J (2023). kyber: Set Learning Cohorts GitHub. R package version 0.1.0, https://openscapes.github.io/kyber/.","code":"@Manual{, title = {kyber: Set Up Learning Cohorts on GitHub}, author = {Sean Kross and Julia Lowndes}, year = {2023}, note = {R package version 0.1.0}, url = {https://openscapes.github.io/kyber/}, }"},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Set Up Learning Cohorts on GitHub","text":"can install Kyber using remotes package:","code":"remotes::install_github(\"openscapes/kyber@main\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"overview","dir":"","previous_headings":"","what":"Overview","title":"Set Up Learning Cohorts on GitHub","text":"Kyber contains tools setting learning cohorts GitHub, purpose-built Openscapes Champions Program. init_repo() initializes local git repository new GitHub repository README.Rmd, code conduct, gitignore. create_github_clinic() creates files need teaching GitHub clinic. create_team() creates new team GitHub. add_team_members() adds members team GitHub based GitHub usernames. add_team_to_repo() adds team GitHub repository. call_agenda() creates agenda documents individual Cohort Call.","code":""},{"path":[]},{"path":"https://openscapes.github.io/kyber/index.html","id":"configuration","dir":"","previous_headings":"Quick Cohort Setup","what":"Configuration","title":"Set Up Learning Cohorts on GitHub","text":"Using Kyber requires configuration R packages since Kyber functions automate processes GitHub normally hand. First, make sure googlesheets4 installed authorized computer read Google Sheets. Run following test configuration settings:","code":"library(googlesheets4) cohort_registry_url <- \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/\" read_sheet(cohort_registry_url, sheet = \"test-sheet\") library(usethis) library(gitcreds) create_github_token( scopes = c(\"repo\", \"user\", \"gist\", \"workflow\", \"admin:org\") ) gitcreds_set()"},{"path":"https://openscapes.github.io/kyber/index.html","id":"example-workflow","dir":"","previous_headings":"","what":"Example Workflow","title":"Set Up Learning Cohorts on GitHub","text":"workflow often happens 4 separate stages: create repo readme (pre-cohort) create github-clinic files (days GitHub Clinic Call 2) create github team add usernames (day Clinic, usernames) create agenda documents Cohort Call creating GitHub Team adding usernames, Kyber requires set GitHub Personal Access Token scopes repo admin:org. See GitHub PAT documentation information generate PAT. can create PAT usethis::create_github_token() defaults, plus admin:org. Please make sure share PAT commit Git repository, since anyone PAT can act GitHub.","code":""},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-repo","dir":"","previous_headings":"Example Workflow","what":"Create GitHub repo","title":"Set Up Learning Cohorts on GitHub","text":"","code":"library(kyber) library(rmarkdown) library(tibble) library(fs) repo_name <- \"2021-ilm-rotj\" # This will open a README.Rmd for you to edit repo_path <- create_repo(repo_name) # Then render the README.Rmd to README.md render(path(repo_path, \"README.Rmd\")) # We still need to work out the next part of the workflow and the extent to # which it should be automated, but I imagine something like: # # 1. Move README.Rmd out of this repository to another repository that perhaps # only contains README.Rmds. # 2. Git add, commit, and push in the repo that only contains README.Rmds. # 3. Git add, commit, and push in this repository."},{"path":"https://openscapes.github.io/kyber/index.html","id":"github-clinic---generate-markdown-files-for-each-participant","dir":"","previous_headings":"Example Workflow","what":"GitHub Clinic - Generate Markdown Files for Each Participant","title":"Set Up Learning Cohorts on GitHub","text":"Clone Cohort Repo RStudio, run following code. Detailed instructions looks like: Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Copy following script, delete examples “Erin, Julie”. ’ll keep _demo.md, ’ll demo live. Go ParticipantsList, copy 2 first last columns Back RStudio, put cursor inside “tribble” parentheses, , Addin menu top RStudio, select “Paste Tribble”! , double-check column headers - likely first last written kyber::short_names call. easiest thing update column names kyber::short_names code running (example: kyber::short_names(cohort$First.Name, cohort$Last.Name) ’ll now .md files participant cohort! duplicate names _LastInitial. Check clicking github-clinic folder opening file. Now, commit push Markdown files github-clinic folder plus `horst-champions-trailhead.png top-level folder GitHub.com. Don’t push .gitignore .rproj since ’re relevant Clinic. (can Command-select files unclick 2 don’t want).","code":"library(stringr) library(datapasta) # install.packages(\"datapasta\") library(kyber) ## remotes::install_github(\"openscapes/kyber\") library(here) library(fs) ## use `datapasta` addin to vector_tribble these names formatted from the spreadsheet! cohort <- c(tibble::tribble( ~first, ~last, \"_demo\", \"\", \"Erin\", \"Robinson\", \"Julie\", \"Lowndes\" ) ) ## create .md files for each Champion kyber::short_names(cohort$first, cohort$last) |> create_github_clinic(here()) ## copy trailhead image into parent folder trailhead_png <- system.file(\"kyber-templates\", \"horst-champions-trailhead.png\", package = \"kyber\") fs::file_copy(trailhead_png, here())"},{"path":"https://openscapes.github.io/kyber/index.html","id":"create-github-team-add-usernames","dir":"","previous_headings":"Example Workflow","what":"Create GitHub team, add usernames","title":"Set Up Learning Cohorts on GitHub","text":"Open RStudio, create new script (temporary, ’ll deleted ’s nicer place work) Paste following review code. may already GitHub PAT set; information top README . Run code first -example usernames members variable check - Check example usernames added Cohort GitHub: go github.com/openscapes/cohort-name > Settings > Collaborators Teams team created username appears repo, woohoo! Open ParticipantsList copy GitHub username column, including header. RStudio, put cursor members <- use datapasta Addin > Paste Tribble paste usernames members variable, deleting previous example user. pasting R script, rename header “username” (spaces asterices) Run following code check everyone added! Finally, ParticipantList, highlight usernames ’ve added green. helps us know else add live clinic session. Yay! Now highlight usernames green ParticpantList bookkeeping!","code":"## First make sure you have a GitHub PAT set. If you need one, here's what you'd do: # usethis::create_github_token() ## use their defaults plus `admin:org` # Sys.setenv(GITHUB_PAT = \"ghp_0id4zkO4GqSuEsC6Zs22wf34Y0u3270\") library(kyber) library(rmarkdown) library(tibble) library(fs) library(datapasta) ## create naming for GitHub - do this once! repo_name <- \"2022-nasa-champions\" team_name <- paste0(repo_name, \"-cohort\") create_team(team_name, maintainers = \"jules32\", org = \"openscapes\") ## create member variable - do this twice (first as test!) ## this is where you'll use datapasta and run everything below members <- tibble::tribble( ~username, \"eeholmes\" ) add_team_members(team_name, members = members$username, org = \"openscapes\") add_repo_to_team(repo_name, team_name, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/index.html","id":"agendas","dir":"","previous_headings":"Example Workflow","what":"Agendas","title":"Set Up Learning Cohorts on GitHub","text":", move Google Doc fine-tune formatting, follow notes (July 14, 2022): RStudio, Knit (PreviewHTML) resulting agenda.md copy-paste result Google Doc (example: 03_CallAgenda [ 2022-noaa-afsc ]. might need expand knitted preview browser get copy/paste correctly Google Docs Move Google Doc Openscapes Workspace folder Openscapes_CohortCalls [ year-cohort-name ]. Select (cmd-) change font Open Sans Make p1 opening text 9 point font (text horizontal line & Call title) Make Header 1 font 18, bold; update heading 1 match (see screenshot ; Stef notes “update heading match” working docs) Make Header 2 font 14, bold; update heading 2 match “add space” “remove space paragraph” throughout make spacing little cozy (yes seems odd undo, works) “add space” “remove space paragraph” throughout make spacing little cozy Review doc fix font weirdness Add page numbers “update heading 1 match”: (Stef notes working docs) Google Doc, update text style (headings, normal text, font type, size etc), highlight section style want, click styles dropdown shown screenshot, select e.g. “Update Heading 1 match”. Double check doc ’ve noticed missed agenda. Screen Shot 2022-07-14 5 50 28 PM","code":"kyber::call_agenda( registry_url = \"https://docs.google.com/spreadsheets/d/1Ys9KiTXXmZ_laBoCV2QWEm7AcnGSVQaXvm2xpi4XTSc/edit#gid=942365997\", cohort_id = \"2022-nasa-champions\", call_number = 3)"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a Code of Conduct to a directory. — add_code_of_conduct","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"Add Code Conduct directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"","code":"add_code_of_conduct(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_code_of_conduct.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a Code of Conduct to a directory. — add_code_of_conduct","text":"path path directory code conduct file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":null,"dir":"Reference","previous_headings":"","what":"Add .gitignore to a directory. — add_gitignore","title":"Add .gitignore to a directory. — add_gitignore","text":"Add .gitignore directory.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add .gitignore to a directory. — add_gitignore","text":"","code":"add_gitignore(path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/add_gitignore.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add .gitignore to a directory. — add_gitignore","text":"path path directory git ignore file created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — add_repo_to_team","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — add_repo_to_team","text":"","code":"if (FALSE) { kyber::add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — add_team_members","title":"Add GitHub Users to a Team — add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — add_team_members","text":"","code":"if (FALSE) { kyber::add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Team to a Repository — add_team_to_repo","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"Add GitHub Team Repository","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"add_team_to_repo(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/add_team_to_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Team to a Repository — add_team_to_repo","text":"","code":"if (FALSE) { kyber::add_team_to_repo(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Call Agenda — call_agenda","title":"Create a Call Agenda — call_agenda","text":"Create Call Agenda","code":""},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Call Agenda — call_agenda","text":"","code":"call_agenda( registry_url, cohort_id, call_number, cohort_sheet = \"cohort_metadata\", call_sheet = \"call_metadata\", website = paste0(\"https://openscapes.github.io/\", cohort_id), output_format = md_agenda(), output_file = \"agenda.md\" )"},{"path":"https://openscapes.github.io/kyber/reference/call_agenda.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Call Agenda — call_agenda","text":"registry_url URL cohort registry. cohort_id ID cohort. call_number call number agenda. cohort_sheet sheet registry cohort information. call_sheet sheet registry information individual calls. website website cohort. output_format output format agenda. output_file name output file file extension.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — create_github_clinic","title":"Create GitHub Clinic Files — create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — create_github_clinic","text":"","code":"if (FALSE) { create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a README.Rmd from a Kyber Template — create_readme","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Create README.Rmd Kyber Template","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"create_readme( file = \"README.Rmd\", template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"file File name draft template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"Valid values template argument include \"openscapes-cohort-readme\".","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_readme.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a README.Rmd from a Kyber Template — create_readme","text":"","code":"if (FALSE) { kyber::create_readme() }"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a GitHub repository with a README.Rmd — create_repo","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Create GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"create_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"name name repository. org GitHub organization repository. path path directory repository created. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a GitHub repository with a README.Rmd — create_repo","text":"","code":"if (FALSE) { kyber::create_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — create_team","title":"Create a Team on GitHub for an Organization — create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — create_team","text":"","code":"if (FALSE) { # One maintainer kyber::create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":null,"dir":"Reference","previous_headings":"","what":"Readme Formatting — formatting","title":"Readme Formatting — formatting","text":"Functions help format yaml data nicely Readme templates.","code":""},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Readme Formatting — formatting","text":"","code":"ky_fmt_wiki_link(link) ky_fmt_schedule(schedule)"},{"path":"https://openscapes.github.io/kyber/reference/formatting.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Readme Formatting — formatting","text":"link url online wiki. schedule list data frames combined, row-wise.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":null,"dir":"Reference","previous_headings":"","what":"Initialize a GitHub repository with a README.Rmd — init_repo","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Initialize GitHub repository README.Rmd","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"init_repo( name, org = \"openscapes\", path = getwd(), template = \"openscapes-cohort-readme\", edit = TRUE )"},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"name name GitHub repository. org GitHub organization repository. path path directory repository initialized. template Template use basis draft. either full path template directory name template directory within rmarkdown/templates directory package. edit TRUE edit template immediately","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"Valid values template argument include \"openscapes-cohort-readme\", FALSE want create repository README.md.","code":""},{"path":"https://openscapes.github.io/kyber/reference/init_repo.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Initialize a GitHub repository with a README.Rmd — init_repo","text":"","code":"if (FALSE) { kyber::init_repo(\"2021-ilm-rotj\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Add a GitHub Repository to a Team — ky_add_repo_to_team","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"Add GitHub Repository Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"ky_add_repo_to_team(repository, team, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"repository name GitHub repository. team name team. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_repo_to_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add a GitHub Repository to a Team — ky_add_repo_to_team","text":"","code":"if (FALSE) { kyber::ky_add_repo_to_team(\"2021-ilm-rotj\", \"2021-ilm-rotj-team\") }"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":null,"dir":"Reference","previous_headings":"","what":"Add GitHub Users to a Team — ky_add_team_members","title":"Add GitHub Users to a Team — ky_add_team_members","text":"Add GitHub Users Team","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"ky_add_team_members(team, members, org = \"openscapes\")"},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Add GitHub Users to a Team — ky_add_team_members","text":"team name team. members vector GitHub usernames. org GitHub organization owns team repository.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_add_team_members.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Add GitHub Users to a Team — ky_add_team_members","text":"","code":"if (FALSE) { kyber::ky_add_team_members(\"2021-ilm-rotj-team\", members = c(\"erinmr\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":null,"dir":"Reference","previous_headings":"","what":"Create GitHub Clinic Files — ky_create_github_clinic","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"Create GitHub Clinic Files","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"ky_create_github_clinic(names, path = getwd())"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"names vector names markdown files created. .md extension added automatically. path Path directory github-clinic created.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_github_clinic.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create GitHub Clinic Files — ky_create_github_clinic","text":"","code":"if (FALSE) { ky_create_github_clinic(names = c(\"julia\", \"erin\")) file.exists(\"github-clinic\") #> TRUE list.files(\"github-clinic\") #> \"erin.md\" \"julia.md\" }"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":null,"dir":"Reference","previous_headings":"","what":"Create a Team on GitHub for an Organization — ky_create_team","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"Create Team GitHub Organization","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"ky_create_team(name, maintainers, org = \"openscapes\", visible = TRUE)"},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"name name team. maintainers One GitHub usernames team maintainers. org GitHub organization team. visible team visible every member organization?","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_create_team.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Create a Team on GitHub for an Organization — ky_create_team","text":"","code":"if (FALSE) { # One maintainer kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = \"jules32\") # Multiple maintainers kyber::ky_create_team(\"2021-ilm-rotj-team\", maintainers = c(\"jules32\", \"seankross\")) }"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — ky_short_names","title":"Make unique combinations of first and last names — ky_short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"ky_short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — ky_short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/ky_short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — ky_short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") ky_short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") ky_short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") ky_short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":null,"dir":"Reference","previous_headings":"","what":"Get the paths to files installed with kyber — kyber_file","title":"Get the paths to files installed with kyber — kyber_file","text":"function allows quickly access files installed kyber.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(path = NULL)"},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get the paths to files installed with kyber — kyber_file","text":"path name file. argument provided example files listed.","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get the paths to files installed with kyber — kyber_file","text":"vector file paths","code":""},{"path":"https://openscapes.github.io/kyber/reference/kyber_file.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Get the paths to files installed with kyber — kyber_file","text":"","code":"kyber_file(\"_opening.Rmd\") #> [1] \"/private/var/folders/ts/5shj53q914d1fbdsk1hz2dfr0000gn/T/RtmpGYOKFD/temp_libpath19c3155bca14/kyber/agendas/_opening.Rmd\""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":null,"dir":"Reference","previous_headings":"","what":"Options for creating an agenda in Markdown — md_agenda","title":"Options for creating an agenda in Markdown — md_agenda","text":"Options creating agenda Markdown","code":""},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Options for creating an agenda in Markdown — md_agenda","text":"","code":"md_agenda()"},{"path":"https://openscapes.github.io/kyber/reference/md_agenda.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Options for creating an agenda in Markdown — md_agenda","text":"list options.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":null,"dir":"Reference","previous_headings":"","what":"Pipe operator — %>%","title":"Pipe operator — %>%","text":"See magrittr::%>% details.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Pipe operator — %>%","text":"","code":"lhs %>% rhs"},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Pipe operator — %>%","text":"lhs value magrittr placeholder. rhs function call using magrittr semantics.","code":""},{"path":"https://openscapes.github.io/kyber/reference/pipe.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Pipe operator — %>%","text":"result calling rhs(lhs).","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":null,"dir":"Reference","previous_headings":"","what":"Make unique combinations of first and last names — short_names","title":"Make unique combinations of first and last names — short_names","text":"Make unique combinations first last names","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Make unique combinations of first and last names — short_names","text":"","code":"short_names(first, last)"},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Make unique combinations of first and last names — short_names","text":"first vector first names. last vector last names.","code":""},{"path":"https://openscapes.github.io/kyber/reference/short_names.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Make unique combinations of first and last names — short_names","text":"","code":"if (FALSE) { first <- c(\"a\", \"b\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a\" \"b\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"y2\", \"z3\") short_names(first, last) #> \"a_x\" \"a_y\" \"c\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x144\", \"x255\", \"z3\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" first <- c(\"a\", \"a\", \"c\", \"d\", \"d\") last <- c(\"x144\", \"x255\", \"z3\", \"r4\", \"t5\") short_names(first, last) #> \"a_x144\" \"a_x255\" \"c\" \"d_r\" \"d_t\" first <- c(\"a\", \"a\", \"c\") last <- c(\"x1\", \"x1\", \"z3\") short_names(first, last) #> \"a_x1\" \"c\" #> Warning message: #> In ky_short_names(first, last) : #> First and Last pairs are not unique. Returning only unique combinations. }"}]