A auto-generating searchable table for ITN courses. The collection of information about the courses is programmatically queried from GitHub and processed..
ITN_course_search uses the Github API to gather jhudsl and fhdsl organization repositories, specifically ITN courses, that we have worked on. It renders the table in a markdown-readable format. This repo has workflows that trigger collection building and table rendering once a week.
The table only includes repositories that meet the following criteria:
- Are public
- Have a homepage listed
- Have a description listed
- Have "itn" and "course" as part of the tags (e.g., "itn-course", or "itn" and "course") (
str_detect(topics, "itn")
&str_detect(topics, "course")
) - Aren't template per the tags (
!str_detect(topics, "template ")
-- using a space because we want repos with tags of "templates" if the repo is providing templates)
scripts/query_collection.R
: gathers information (audience, funding, topics, etc.) about ITN courses from their GitHub reposresources/collection.tsv
: where the collection fromquery_collection.R
is stored.scripts/format-tables.R
: functions to wrangle course data and format course tableindex.Rmd
: drives building each course specific html page and the overall course tablechunks/*Rmd
orchunks/#.md
: chunks that we'll borrow usingottrpal::borrow_chapter
(from thebase_ottr:dev
container specified inconfig_automation.yml
) and fill in {SPECIFIC INFO} for course (following the example of our cheatsheets repo). Because of this approach, a chunk will only inherit specific information if we pass it as a tag replacement. In other words, not every piece of information in each row/about a specific course will be available to the chunks, only the information we specify as a tag replacement).- about:
aboutCourse.md
with "{COURSE_DESCRIPTION}", "{COURSE_CATEGORY}", and "{COURSE_LAUNCH}" to be provided/replaced - audience:
audienceCourse.Rmd
with "{FOR_SLIDE_LINK}" and "{COURSE_AUDIENCE}" to be provided/replaced - format:
formatFullCourse.Rmd
with "{BOOKDOWN_LINK}", "{GITHUB_LINK}", "{COURSERA_LINK}", and "{LEANPUB_LINK}" to be filled in - funding:
fundingFullCourse.Rmd
with "{hutch_funded}" to be filled in - LOs:
loCourse.Rmd
with "{LO_SLIDE_LINK}" to be provided/replaced - concepts discussed:
conceptsCourse.Rmd
with "{CONCEPTS_SLIDE_LINK}" tag to be provided/replaced - pre-requisites:
prereqsCourse.Rmd
with "{PREREQ_SLIDE_LINK}" and "{GITHUB_LINK}" tags to be provided/replaced
- about:
*_template.Rmd
: the template for driving course specific pages.single_course_template.Rmd
: layout for building general course pagesai_course_template.Rmd
: layout for AI for Decision Makers course page
*_coursePage.html
: the output course specific html pages