Newer
Older
gradle-lectures / README.md
# Gradle build infrastructure for lectures

Gradle infrastructure to build Information Science lectures based on Nigel’s LaTeX lecture classes.

Features:
* multiple configurable document targets: slides, handout, notes, examples
* dynamic targets for building PDF images from PlantUML, SVG, R
* builds separate working preview and final published PDFs with lecture numbers (the latter include the lecture number in the file name)

This repository serves as both the canonical source for the Gradle files and as an example of how to set things up.

## Setting up a new set of lectures

1. Create a top level `lectures` directory.
1. If you’re using Git, copy `.gitignore` into `lectures`.
2. Create a sub-directory for each lecture, e.g., `01_lecture`, `02_lecture`, …. **The prefix numbering is important.**
3. Copy `build.gradle.kts` and `settings.gradle.kts` into `lectures`.
4. Create an empty `settings.gradle.kts` in `01_lecture`, `02_lecture`, etc.
5. Copy `lecture.gradle.kts` into `01_lecture`, `02_lecture`, etc.
6. Edit each `lecture.gradle.kts` to configure targets and images.

## Standard lecture directory tree

```sh
lectures
    lecture1
        images
        pdfs
    lecture2
    ...
```