Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
3f4019d
add missing .xbb
Wim3000 Feb 6, 2025
99eae4c
add workflow (test)
Wim3000 Feb 7, 2025
e9eeffc
with -d ...
Wim3000 Feb 7, 2025
c299a04
serve calculus1
Wim3000 Feb 7, 2025
f454731
semi-fix expandable
Wim3000 Feb 7, 2025
d785f80
dubious \item
Wim3000 Feb 7, 2025
e2904c2
add more xourses to action
Wim3000 Feb 7, 2025
df21b0d
some fixes
Wim3000 Feb 9, 2025
1c27685
extra small fixes
Wim3000 Feb 9, 2025
79733d4
comment 'shader': fails with the selected driver `pgfsys-dvisvgm4ht.d…
Wim3000 Feb 9, 2025
9afb5b6
serve calculus*.tex
Wim3000 Feb 10, 2025
cf42404
compile all ...
Wim3000 Feb 10, 2025
c92354d
HACK: \[ ... \] does not work ... ?
Wim3000 Feb 10, 2025
540ee14
missing \begin{itemize}
Wim3000 Feb 10, 2025
3280297
no PDF's for now ....
Wim3000 Feb 10, 2025
fc2fa3e
typo
Wim3000 Feb 10, 2025
78a5415
HACK: \[ ... \] does not work ... ?
Wim3000 Feb 10, 2025
7529416
fix missing \fullwidth
Wim3000 Feb 10, 2025
7f8ac60
fixed front cover (though I'm not sure)
bartsnapp Feb 10, 2025
6ada256
fixed typo
bartsnapp Feb 10, 2025
39b07aa
add .xbb
Wim3000 Feb 10, 2025
3a25be6
Merge branch 'luadeploysp25' into luadeploysp25
bartsnapp Feb 10, 2025
a795044
Merge pull request #1027 from wiobber/luadeploysp25
bartsnapp Feb 10, 2025
45eb306
Update serve-ximera.yml
bartsnapp Feb 10, 2025
0693af0
Update serve-ximera.yml
bartsnapp Feb 10, 2025
2c76ba4
added config
bartsnapp Feb 11, 2025
04b7241
test parallel
Wim3000 Feb 11, 2025
5e313d8
fix numbering restarts (HACK)
Wim3000 Feb 11, 2025
c0855f2
use variables
Wim3000 Feb 11, 2025
8dd2afd
vars do not (yet) work: need to be passed into container!
Wim3000 Feb 11, 2025
3282c42
Merge pull request #1 from wiobber/luadeployparallel
wiobber Feb 11, 2025
ac9051a
fix serve force (HACK)
Wim3000 Feb 11, 2025
89df2e0
compile calculus*.txt
Wim3000 Feb 11, 2025
37ad400
compile everything
Wim3000 Feb 11, 2025
c0233c6
update luaxake-bake etc
Wim3000 Feb 12, 2025
03e6f54
HACK \d
Wim3000 Feb 12, 2025
dea81e1
HACK: missing file ?
Wim3000 Feb 12, 2025
d7a8a4f
ignore \title-but-no-\maketitle
Wim3000 Feb 12, 2025
0b772eb
HACK: more missing files
Wim3000 Feb 12, 2025
7d9187f
implement \exerciseCollection
Wim3000 Feb 12, 2025
cb6bad3
rename theCover.tex to theCover_pdf.tex
Wim3000 Feb 12, 2025
a9e3a27
MORE MISSING/CORRUPT files moved away (to .XM_IGNORE)
Wim3000 Feb 12, 2025
2b54963
test: only calculus1
Wim3000 Feb 12, 2025
5bf473a
test: all calculus*
Wim3000 Feb 12, 2025
67cf401
skip some more remainders1172 files
Wim3000 Feb 12, 2025
2f148ef
compile all; -j 8
Wim3000 Feb 12, 2025
ed04c36
fix Curv1.eps
Wim3000 Feb 12, 2025
8460218
Merge pull request #2 from wiobber/luadeploywim
wiobber Feb 12, 2025
3a1e790
Merge pull request #1028 from wiobber/luadeploysp25
wiobber Feb 12, 2025
d562d43
Update to v2.7.0
Wim3000 Jun 13, 2025
e7620b4
remove .ximera_local
Wim3000 Jun 13, 2025
2b76dc0
add and run only testxourse
Wim3000 Jun 13, 2025
3eb2475
typo
Wim3000 Jun 13, 2025
5319369
trivial change to small course
bartsnapp Jun 18, 2025
bc6da2e
update to v2.7.2 (but use latest)
wiobber Jul 24, 2025
48b8f68
update
wiobber Jul 24, 2025
8aee72a
test
wiobber Jul 24, 2025
7cdf6b2
test (fix frost again)
wiobber Jul 25, 2025
8b69f95
test xerxes
wiobber Aug 4, 2025
c1e52b3
fix(?)
wiobber Aug 7, 2025
fdb1ff4
fix(?)
wiobber Aug 7, 2025
c7ea2e5
compile more
wiobber Aug 7, 2025
9677e8f
compile all (html)
wiobber Aug 7, 2025
5de3660
publish to xerxes (via serve-ximera)
wiobber Aug 7, 2025
5ea0065
action: serve to BOTH osu and xerxes
wiobber Aug 13, 2025
c124674
recompile (only calc1)
wiobber Aug 21, 2025
90a48cd
compile list-of-xourses
wiobber Aug 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
File renamed without changes.
40 changes: 40 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "Ximera Dev Container",
// "image": "ghcr.io/ximeraproject/xake2024:latest",
"dockerComposeFile": ["docker-compose.yml"],
"service": "app",
"workspaceFolder": "/code",
"forwardPorts": [2080], // Port to access the web server
"portsAttributes": {
"2080": {
"label": "Web Server",
"onAutoForward": "notify",
"requireLocalPort": true
}
},
// "portsAttributes": {
// "2000": {
// "label": "XimeraServer",
// "onAutoForward": "openBrowserOnce"
// }
// },
// "otherPortsAttributes": {
// "onAutoForward": "ignore",
// },
// "remoteEnv": {
// "DEV_MODE": "true"
// },
// "remoteUser": "vscode",
// "postStartCommand": "echo 'Ximera DevContainer started!'",
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"james-yu.latex-workshop",
// "ritwickdey.liveserver",
"spencerwmiles.vscode-task-buttons"
]
}
}
}
13 changes: 13 additions & 0 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
services:
app:
image: ghcr.io/ximeraproject/ximeralatex:v2.7.2
# image: ghcr.io/ximeraproject/ximeralatex:v2.7.2-full
volumes:
# This is where VS Code should expect to find your project's source code and the value of "workspaceFolder" in .devcontainer/devcontainer.json
- ..:/code:cached
command: /bin/sh -c "while sleep 1000; do :; done" # run forever
network_mode: service:ximeraserver
ximeraserver:
image: registry.gitlab.kuleuven.be/wet/ximera/ximeradocker:2.3_b
ports:
- "2080:2000" # Expose Ximera on port 2080
136 changes: 136 additions & 0 deletions .github/workflows/serve-ximera.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: Ximera Workflow

on:
push:

env:
XM_COMPILE_SEQUENCE: html
XM_TO_PROCESS: "testxourse.tex calculus1.tex calculus2.tex calculus3.tex calculusA2.tex calculusE.tex calculus1TextbookBySection" # [a-z]*/exercises/exerciseList.tex"
# XM_TO_PROCESS: "testxourse.tex calculus1.tex"
# XM_TO_PROCESS: "."

jobs:
build-ximera:
name: Build and preview Ximera Courses
runs-on: ubuntu-latest


permissions:
actions: read
contents: read
packages: write

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # full

- name: Setup cache
uses: actions/cache@v4
with:
path: |
**/*.html
**/*.pdf
**/*.svg
**/*.aux
**/*.xref
**/*.toc
!xmPictures/**
!.git/**
!.github/**
key: ximera-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
ximera-${{ github.ref_name }}-
ximera-


- name: Build and publish Ximera courses
env:
GPG_KEY: ${{ secrets.GPG_KEY }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
# XIMERA_URL: ${{ vars.XIMERA_URL }}
XIMERA_URL: "https://xerxes.ximera.org/"
# XIMERA_NAME: ${{ vars.XIMERA_NAME }}${{ github.ref_name }}
XIMERA_NAME: "calculus*preview"
XM_JOBS: 5
run: |
ls -alrt
./xmScripts/xmlatex ghaction -j 5 $XM_TO_PROCESS -f -s --compile html || echo NOK
git log --oneline --graph --decorate --all -n 10
echo "✅ Published to $XIMERA_URL$XIMERA_NAME " >> $GITHUB_STEP_SUMMARY

- name: Setup ximera serve cache (only .git)
id: serve-cache
uses: actions/cache/save@v4
with:
path: |
xmScripts/**
.git/**
key: ximeraSERVE-${{ github.ref_name }}-${{ github.sha }}


publish-production:
name: Publish Production (ximera.osu.edu)
needs: build-ximera # Waits for the build job to complete
runs-on: ubuntu-latest
environment: production
steps:


- name: Restore ximera serve cache (only .git)
id: serve-cache-restore
uses: actions/cache/restore@v4
with:
fail-on-cache-miss: true
path: |
xmScripts/**
.git/**
key: ximeraSERVE-${{ github.ref_name }}-${{ github.sha }}

- name: Serve
env:
GPG_KEY: ${{ secrets.GPG_KEY }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
XIMERA_URL: ${{ vars.XIMERA_URL }}
XIMERA_NAME: ${{ vars.XIMERA_NAME }}
run: |
git log --oneline --graph --decorate --all -n 10
./xmScripts/xmlatex name
./xmScripts/xmlatex serve -t $XM_TO_PROCESS
echo "✅ Published to $XIMERA_URL$XIMERA_NAME " >> $GITHUB_STEP_SUMMARY

publish-xerxes:
name: Publish to xerxes.ximera.org
needs: build-ximera # Waits for the build job to complete
runs-on: ubuntu-latest
environment: production
steps:


- name: Restore ximera serve cache (only .git)
id: serve-cache-restore
uses: actions/cache/restore@v4
with:
fail-on-cache-miss: true
path: |
xmScripts/**
.git/**
key: ximeraSERVE-${{ github.ref_name }}-${{ github.sha }}

- name: Serve
env:
GPG_KEY: ${{ secrets.GPG_KEY }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
# XIMERA_URL: ${{ vars.XIMERA_URL }}
# XIMERA_NAME: ${{ vars.XIMERA_NAME }}
XIMERA_URL: "https://xerxes.ximera.org/"
XIMERA_NAME: "calculus"
run: |
git log --oneline --graph --decorate --all -n 10
./xmScripts/xmlatex name
./xmScripts/xmlatex serve -t $XM_TO_PROCESS
echo "✅ Published to $XIMERA_URL$XIMERA_NAME " >> $GITHUB_STEP_SUMMARY



1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ xmPictures/**
!xmPictures/**/*.svg
!xmPictures/**/*.pdf
!xmPictures/**/*.png
!xmPictures/**/*.tex
## Note: capital JPG/PDF/PNG should NOT be used ...
!xmPictures/**/*.JPG
!xmPictures/**/*.SVG
Expand Down
95 changes: 47 additions & 48 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
"alignment": "right",
"task": "HTML",
"description": "Create HTML of the current file.",
"tooltip": "Compile a HTML from the current file."
"tooltip": "Compile (and publish) HTML \nfrom the current file."
},
{
"label": "SERVE",
Expand Down Expand Up @@ -91,52 +91,51 @@
"description": "Remove all generated files",
"problemMatcher": [],
},

{
"label": "Bake",
"alignment": "right",
"task": "Bake",
"description": "Bake this project (make .html files).",
"tooltip": "Bake this project."
},
{
"task": "Bake pdf",
"label": "Bake PDF's (with answers)",
"description": "Make PDF's.",
"problemMatcher": [],
},
{
"task": "Bake pdf (force rebuild)",
"label": "Force (re-)Bake PDF's (with answers)",
"description": "Make PDF's.",
"problemMatcher": [],
},
{
"task": "Bake handout",
"label": "Bake handout PDF's (without answers)",
"description": "Make handout PDF's.",
"problemMatcher": [],
},
{
"task": "Bake handout (fore rebuild)",
"label": "Force (re-)Bake handout PDF's (without answers)",
"description": "Make handout PDF's.",
"problemMatcher": [],
},
{
"label": "Frost",
"alignment": "right",
"task": "Frost",
"description": "Frost this project.",
"tooltip": "Frost this project."
},
{
"label": "Serve",
"alignment": "right",
"task": "Serve",
"description": "Serve this project.",
"tooltip": "Serve this project."
},
// {
// "label": "Bake",
// "alignment": "right",
// "task": "Bake",
// "description": "Bake this project (make .html files).",
// "tooltip": "Bake this project."
// },
// {
// "task": "Bake pdf",
// "label": "Bake PDF's (with answers)",
// "description": "Make PDF's.",
// "problemMatcher": [],
// },
// {
// "task": "Bake pdf (force rebuild)",
// "label": "Force (re-)Bake PDF's (with answers)",
// "description": "Make PDF's.",
// "problemMatcher": [],
// },
// {
// "task": "Bake handout",
// "label": "Bake handout PDF's (without answers)",
// "description": "Make handout PDF's.",
// "problemMatcher": [],
// },
// {
// "task": "Bake handout (fore rebuild)",
// "label": "Force (re-)Bake handout PDF's (without answers)",
// "description": "Make handout PDF's.",
// "problemMatcher": [],
// },
// {
// "label": "Frost",
// "alignment": "right",
// "task": "Frost",
// "description": "Frost this project.",
// "tooltip": "Frost this project."
// },
// {
// "label": "Serve",
// "alignment": "right",
// "task": "Serve",
// "description": "Serve this project.",
// "tooltip": "Serve this project."
// },
{
"task": "Update DevEnv",
"label": "Update the build environment",
Expand All @@ -146,7 +145,7 @@
{
"task": "Generate GPG key",
"label": "Generate a (new) GPG key",
"description": "First add your name/email to config.txt",
"description": "It will be stored in .xmKeyfile. First edit config.txt if not-for-testing-only.",
"problemMatcher": [],
},
],
Expand Down
9 changes: 6 additions & 3 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"label": "PDF",
"args": [
"bake",
"-s",
"--force",
"--compile pdf",
"${relativeFile}"
Expand All @@ -21,16 +22,16 @@
{
"label": "HTML",
"args": [
"bake",
"ghaction",
"--force",
"--compile draft.html",
"--compile html",
"${relativeFile}"
],
},
{
"label": "SERVE",
"args": [
"all"
"ghaction",
],
},
{
Expand Down Expand Up @@ -68,13 +69,15 @@
"label": "Bake PDF",
"args": [
"bake",
"-d",
"--compile pdf",
],
},
{
"label": "Bake PDF (force rebuild)",
"args": [
"bake",
"-d",
"-f",
"--compile pdf",
],
Expand Down
2 changes: 1 addition & 1 deletion antiderivatives/digInBasicAntiderivatives.tex
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ \section{Differential equations}
\end{question}
\begin{remark}
We can directly check that any function $f(x)=Ce^x$ is a solution to our differential equation $f'(x)=f(x)$. Could there be any others? It turns out that these are the \textit{only} solutions. But showing that we didn't miss any is a bit tricky.
\begin{expandable}
\begin{expandable}{explanation}{}
\begin{explanation}
Well, suppose we have some mysterious function $f$ and all we know is that $f'(x)=f(x)$. Let's define a new function $g(x)=f(x)/e^x$. Since our denominator is never 0, the quotient rule tells us that
\[
Expand Down
2 changes: 1 addition & 1 deletion calculus2TextbookBySection/Template.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}
%%BADBAD%% \documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}

\input{../preamble.tex}

Expand Down
2 changes: 1 addition & 1 deletion calculus2TextbookBySection/remainders1172.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}
%%BADBAD*% \documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}

\input{../preamble.tex}

Expand Down
2 changes: 1 addition & 1 deletion calculus2TextbookBySection/remaindersAltSeries1172.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}
%%BADBAD%% \documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}

\input{../preamble.tex}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
\documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}
%%BADBAD%% \documentclass[10pt,twocolumn,twoside,wordchoicegiven]{xourse}

\input{../preamble.tex}

Expand Down
Loading
Loading