Build

Build a syllabus

load_semester_db()

Load schedule for semester from database

generate_assignments()

Generate assignments from database

build_pdf_files()

Build PDF versions of assignments.

Maintenance

Maintain a syllabus.

update_latex_styles()

Update LaTeX style files

update_pdfs()

Update all files that are out of date

update_pdf_digests()

Generates and stores digests for all source and output files.

prune_pdf_digests()

Delete stored digests for specified source files

clean_assignment_files()

Clean up assignment riles.

Text formatting

Text formatting functions

format_month() format_wday()

Formatting parts of dates

format_class_date() format_class_day_date()

Format a date

format_date_range() format_day_date_range()

Format a range of dates

format_page_range()

Format a Range of Pages

format_textbook_reading_item() format_handout_reading_item() format_web_reading_item() format_youtube_reading_item()

Format a Reading Item

format_textbook_reading() format_handout_reading() format_web_reading() format_youtube_reading()

Format a Collection of Reading Items

format_date_by_cal_id() format_date_by_class_num() format_date_by_key() format_day_date_by_cal_id() format_day_date_by_class_num() format_day_date_by_key()

Look Up and Format a Date

format_date_range_by_cal_id() format_date_range_by_class_num() format_date_range_by_key() format_date_range_by_event_id()

Look up and format a range of dates

add_period()

Add a Period If Necessary

append_newline_if_needed()

Make sure a string ends with a newline.

concat_with_nl()

Concatenate strings as separate lines of text.

escape_dollar()

Escape "\$" for LaTeX

make_reading_page()

Make a Reading Assignment Page

sanitize_date_range()

Create a date range from a list of dates

Data manipulation

Access and modify semester data

col_replace()

Search and replace all columns in a data frame.

col_search()

Search for a pattern in any column of a data frame

col_search_sum()

Count the number of times each column in a data frame matches a pattern.

global_col_search()

Search data frames for a pattern in any column

global_col_search_sum()

Count pattern-matches in each column of data frames

global_replace()

Search and replace all columns in a list of data frames.

global_search()

Search data frames for a pattern in any column.

default_semestr_metadata()

Create default metadata

get_pdf_url()

Get URLs corresponding to generated PDF files.

get_semestr_metadata()

Get the metadata for the currently loaded semester

get_semestr_tz()

Get the time zone for where the course will be taught.

type2col() type2idx() type2prefix() type2base() idx2col() idx2type() col2idx() col2type() base2type()

Metadata Name Conversion Functions

pull_env()

Expose contents of an environment in the current environment

item_mod()

Determine the modification type of calendar entry from its calendar id.

item_type()

Determine the type of calendar entry from its calendar id.

add_key_prefix()

Add prefixes to keys.

File manipulation

Manage files

get_pdf_url()

Get URLs corresponding to generated PDF files.

grab_header()

Extract metadata from an RMD file.

pdf_filename()

Extract the local PDF filename corresponding to an URL.

pdf_digest_if_exists()

Calculate digest for pdf file

update_pdf_dir()

Rebuild changed files in a subdirectory of "content"

update_pdf_file_digests()

Update digests for PDF files

Helper functions

Miscellaneous helper functions

build_pdf_from_rmd()

Build a PDF from an RMarkdown source file

build_pdf_output_format()

Build an RMarkdown output format for PDF files.

init_schedule()

FUNCTION_TITLE (TODO)

make_rmd_output_format()

Make an RMD output format

prepare_schedule()

Prepare schedule from database

is_mt_or_na()

Extends is.na to report TRUE if the object has length zero.

schedule_strip_finals()

FUNCTION_TITLE (TODO)

strip_key_prefix()

Strip prefixes off keys.