diff --git a/.github/workflows/pretext-cli.yml b/.github/workflows/pretext-cli.yml
new file mode 100644
index 0000000..36d6849
--- /dev/null
+++ b/.github/workflows/pretext-cli.yml
@@ -0,0 +1,117 @@
+# This file was automatically generated with PreTeXt 2.33.2.
+# If you modify this file, PreTeXt will no longer automatically update it.
+#
+# This workflow file can be used to automatically build a project and create
+# an artifact for deployment. It can also be used to deploy the project to
+# GitHub Pages or Cloudflare Pages.
+#
+# The workflow is triggered on pull requests or can be run manually. You can uncomment
+# the `push` event to have it run on pushes to the main branch as well.
+name: PreTeXt-CLI Actions
+on:
+ # Runs on pull requests
+ pull_request:
+ branches: ["*"]
+ ## Runs on pushes to main
+ #push:
+ # branches: ["main"]
+ # Runs on demand
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ container: oscarlevin/pretext-full
+
+ steps:
+ - name: Checkout source
+ uses: actions/checkout@v4
+
+ - name: install deps
+ run: pip install -r requirements.txt
+
+ - name: set up node
+ uses: actions/setup-node@v4
+ with:
+ node-version: '22'
+
+ - name: install local ptx files
+ run: pretext --version
+
+ - name: build deploy targets
+ run: |
+ version="$(pretext --version)"
+ major="$(echo $version | cut -d '.' -f 1)"
+ minor="$(echo $version | cut -d '.' -f 2)"
+ if [ "$major" -ge 2 -a "$minor" -ge 5 ]; then
+ echo "PreTeXt version is 2.5 or greater; using new build command"
+ pretext build --deploys
+ else
+ echo "PreTeXt version is less than 2.5, using old build command"
+ pretext build
+ fi
+ - name: stage deployment
+ run: pretext deploy --stage-only
+
+ - name: Bundle output/stage as artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: deploy
+ path: output/stage
+
+ deploy-cloudflare:
+ runs-on: ubuntu-latest
+ needs: build
+ if: vars.CLOUDFLARE_PROJECT_NAME != ''
+ permissions:
+ contents: read
+ deployments: write
+
+ steps:
+ - name: Download artifact
+ uses: actions/download-artifact@v4
+ with:
+ name: deploy
+ path: deploy
+ - name: Create 404.html
+ run: echo "404 page not found" >> deploy/404.html
+ - name: Publish to Cloudflare
+ uses: cloudflare/pages-action@v1
+ with:
+ apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
+ accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
+ projectName: ${{ vars.CLOUDFLARE_PROJECT_NAME }}
+ gitHubToken: ${{ secrets.GITHUB_TOKEN }}
+ branch: ${{ github.head_ref || github.ref_name }}
+ directory: deploy
+
+ deploy-ghpages:
+ runs-on: ubuntu-latest
+ needs: build
+ if: vars.PTX_ENABLE_DEPLOY_GHPAGES == 'yes' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
+ permissions:
+ contents: read
+ pages: write
+ id-token: write
+ concurrency:
+ group: "page"
+ cancel-in-progress: false
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ steps:
+ - name: Download website artifact
+ uses: actions/download-artifact@v4
+ with:
+ name: deploy
+ path: deploy
+ - name: Setup GitHub Pages
+ id: check
+ uses: actions/configure-pages@v4
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: deploy
+ - name: Deploy to Github Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.github/workflows/pretext-deploy.yml b/.github/workflows/pretext-deploy.yml
new file mode 100644
index 0000000..5a539f1
--- /dev/null
+++ b/.github/workflows/pretext-deploy.yml
@@ -0,0 +1,68 @@
+# This file was automatically generated with PreTeXt 2.33.2.
+# If you modify this file, PreTeXt will no longer automatically update it.
+#
+
+name: Build and Deploy
+on:
+ # Currently, this workflow only runs when manually selected (the `workflow_dispatch` event).
+ # If you would like it to run on other events, uncomment some of the lines below.
+
+ # # Runs on pull requests
+ # pull_request:
+ # branches: ["*"]
+
+ # # Runs on pushes to main
+ # push:
+ # branches: ["main"]
+
+ # # Runs every day at 00:00 UTC
+ # schedule:
+ # - cron: '0 0 * * *'
+
+ # Runs on demand
+ workflow_dispatch:
+
+permissions:
+ contents: write
+
+jobs:
+ build-and-deploy:
+ runs-on: ubuntu-latest
+ container: oscarlevin/pretext-full
+
+ steps:
+ - name: Checkout source
+ uses: actions/checkout@v4
+
+ - name: set up node
+ uses: actions/setup-node@v4
+ with:
+ node-version: '22'
+
+ - name: add gh-cli
+ run: |
+ apt-get update
+ apt-get install gh jq -y
+
+ - name: setup git config
+ run: |
+ git config --global --add safe.directory $(pwd)
+ git config user.name "${{ github.actor }} via GitHub Actions"
+ git config user.email "${{ github.actor }}@github_actions.no_reply"
+
+ - name: install deps
+ run: pip install -r requirements.txt --break-system-packages
+
+ - name: install local ptx files
+ run: pretext --version
+
+ - name: build deploy targets
+ run: pretext build --deploys
+
+ - name: run deploy
+ run: pretext deploy --no-push
+
+ - name: push gh-pages branch
+ run: git push origin gh-pages --force
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/README.md b/README.md
index 706f068..3ee722e 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,107 @@
-# PreTeXt Codespace
+# My PreTeXt Course
-Use this template repository to quickly start a new [PreTeXt](https://pretextbook.org) project entirely in the cloud, using GitHub Codespaces.
+This README was generated by running `pretext new course`. You should feel free to edit this to describe your project.
## Instructions
-Look for the green button at the very top right of this page. The button should say `Use this template` (if not make sure you are logged in to GitHub).
-
-Click on the button and select "Create a new repository". On the next page, give your project a name, select public or private (this can be changed later), and click the "Create repository from template" button.
+The course template includes a single PreTeXt "book" that contains (as chapters) different course documents you might want to share with students. What is included is determined by the `main.ptx` file in the `source` folder. The starts of files for a syllabus, weekly notes, activities (worksheets), handouts, and homework are also included.
-You now have a GitHub repository saved in your account. You can come back to that page any time you want to work on your project (note the URL or else find it in the list of your repositories when you log in to GitHub).
+You can build the course using
-To start work on your project, go to the green button at the top of *your* repository's page, which will say `<> Code`.
+```bash
+pretext build course
+```
-1. Click on this button.
-2. Click on the tab that says "Codespaces."
-3. Click "Create codespace on main."
+and view it with
-This will open a new tab with a browser version of VS Code including everything set up to start working. (When you first create a codespace for a project, it may take 5-10 minutes; when you restart a codespace it will be much faster). The first thing you should do is create a new PreTeXT project.
+```bash
+pretext view course
+```
-### Creating a New Project
+Also included is the start of a slide deck. This is a single file in the `source/slides` folder. You could use this for all the slides in a course (as a single slideshow), or create separate slideshows. In that case, you might want to build those separate ones with something like,
-1. Open the command palette by hitting `Ctrl+Shift+P` (or `F1`) and start typing "pretext new". You will see a command titled "PreTeXt: New Project".
-2. Hit `Enter` and select what sort of project you would like to create.
-3. Select the current suggested folder for the location of your project.
+```bash
+pretext build slides -i source/slides/chapter2.ptx
+```
-The window should reload and you will have your project there. This readme will be gone, but you will get a new one with some new hints.
+### Creating a landing page for multiple targets
-Next time you want to work on your book, return to your newly created repository, go to the green `<> Code` button, and select the codespace you previously created. If you don't see that codespace (perhaps you deleted it to save space), you can always create a new codespace.
+Build the entire course with:
+
+```bash
+pretext build --deploys
+```
+
+This will build both the course "book" and the slide deck. You can create a landing page with links to each of these automatically with the command,
+
+```bash
+pretext deploy --stage-only
+```
+
+and then view the results with,
+
+```bash
+pretext view -d
+```
+
+If you then run
+
+```bash
+pretext deploy
+```
+
+everything will be pushed to github pages.
+
+---
+
+Below you will find some advice for working with PreTeXt, including help with using the [PreTeXt Codespace](https://github.com/PreTeXtBook/pretext-codespace) online editor through GitHub if you don't want to install the required software on your own computer.
+
+## Learning PreTeXt
+
+See the [PreTeXt documentation](https://pretextbook.org/documentation.html) for links to a variety of resources.
+
+We also recommend browsing through the [annotated sample article](https://pretextbook.org/examples/sample-article/annotated) and [annotated sample book](https://pretextbook.org/examples/sample-book/annotated/) if you want to find examples and see the PreTeXt source for those examples quickly.
+
+## Using GitHub Codespaces
+
+GitHub Codespaces are a way to set up your whole authoring system entirely in your browser. In case you are not already reading this inside a codespace, you can create one specifically designed for authoring in PreTeXt by using [this template](https://github.com/PreTeXtBook/pretext-codespace).
+
+### Important: how to save your files
+
+The most important thing to remember when authoring in a codespace is that you are making all your edits on a *virtual machine* off in some remote server farm. This means there is an extra step to save your files. You can save files in the editor (in your browser), but this just saves them to that virtual machine. To make sure you can access these files, even if the virtual machine goes away, you need to sync them to github.com. This is done by *committing* your changes and then *pushing* those commits (or "syncing" them). You might see a warning when you restart your codespace that you have "uncommitted changes" -- make sure you commit them when you are done working.
+
+### Troubleshooting: Latex-images and pdfs
+
+We have tried to keep the codespace small (so it starts up quickly and doesn't eat through your monthly storage allotment), so we do not include a full TeXLive distribution. We have tried to include most packages and fonts you are likely to need to generate images using `
+ This is the introduction to the activity.
+
+ This is the first exercise.
+
+ This is the introduction to the activity.
+
+ This is the first exercise.
+
+ A first paragraph with some space for notes below it.
+
+
+ This is the first homework exercise.
+
+
+ This is the first homework exercise.
+
+ The following notes are intended to remind you what we covered each week.
+ They are not a substitute for attending class and not a substitute for reading the textbook.
+
+ This is an outline of the topics we covered in the first week of class.
+
+
+
+
+
+
+
+
+
+
+ This is the syllabus for
+ Andy Eisenberg,
+ TBD
+
+ TR 11:40 am - 1:20 pm, Gladfelter L024
+
+ Sec 1: M 12:00 pm - 12:50 pm, Wachman 9
+
+ Sec 2: W 12:00 pm - 12:50 pm, Wachman 15
+
+ Sec 3: F 11:00 am - 11:50 am, Wachman 408
+
+ Sec 4: F 1:00 pm - 1:50 pm, Wachman 408
+
+ course description from catalog
+
+ list of prerequisites
+
+
+
+
++
+