Collection of course notes from the ICE (Information, Communications and Electronics) engineering program at the University of Trento. https://ice-notes.zarantonello.dev
  • Typst 97.4%
  • Astro 1.2%
  • TypeScript 1.1%
  • CSS 0.2%
  • Dockerfile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate [bot] ddfefef302
All checks were successful
release.yaml / Generate next release tag (push) Successful in 12s
chore(deps): update dependency cetz to v0.5.3 (#1128)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cetz](https://github.com/cetz-package/cetz) | patch | `0.5.2` → `0.5.3` |

---

### Release Notes

<details>
<summary>cetz-package/cetz (cetz)</summary>

### [`v0.5.3`](https://github.com/cetz-package/cetz/blob/HEAD/CHANGES.md#053)

[Compare Source](https://github.com/cetz-package/cetz/compare/v0.5.2...v0.5.3)

- Fixed mark `inset:` style getting applied twice ([#&#8203;1099](https://github.com/cetz-package/cetz/issues/1099))
- Fixes `matrix.diag` function typo
- Added a new `make-ctx` function for creating a new canvas context without a canvas
- Fixed a bug with hobby and boolean rejecting two component vectors
- Line elements now generate named anchors for their points (`pt-n`, where n is the zero based point index)
- Added a new `clip` element for clipping paths

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xODEuNSIsInVwZGF0ZWRJblZlciI6IjQ0LjE4MS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
2026-10-26 05:14:54 +00:00
.agents/skills feat: revise gal (#1126) 2026-10-25 16:48:53 +00:00
.devcontainer ci(deps): update ci dependencies (#1129) 2026-10-26 03:24:15 +00:00
.forgejo ci(deps): update ci dependencies (#1129) 2026-10-26 03:24:15 +00:00
.vscode feat: revise gal (#1126) 2026-10-25 16:48:53 +00:00
kubernetes chore(deps): update git.zarantonello.dev/university/notes docker tag to v3.18.0 (#1130) 2026-10-26 03:25:32 +00:00
patches feat: render full typst files (#1000) 2026-09-17 09:52:30 +00:00
public chore(deps): update dependency prettier-plugin-astro to v1 (#990) 2026-09-12 14:41:07 +00:00
src chore(deps): update dependency cetz to v0.5.3 (#1128) 2026-10-26 05:14:54 +00:00
.dockerignore chore: remove prettier (#1125) 2026-10-25 16:45:27 +00:00
.gitignore feat: setup project (#1) 2025-09-13 10:01:14 +00:00
.releaserc.json feat: enable forgejo releases (#939) 2026-08-28 10:41:00 +00:00
.renovaterc.jsonc feat: render full typst files (#1000) 2026-09-17 09:52:30 +00:00
.yamllint.yml feat: add more OGA lessons (#786) 2026-06-25 13:20:40 +00:00
AGENTS.md feat: render full typst files (#1000) 2026-09-17 09:52:30 +00:00
astro.config.ts feat: use typst frames in analisi 2 (#1093) 2026-10-15 22:42:38 +00:00
biome.jsonc chore: remove prettier (#1125) 2026-10-25 16:45:27 +00:00
Caddyfile chore: use pnpm ci image (#950) 2026-08-30 10:37:36 +00:00
ci.Dockerfile ci(deps): update ci dependencies (#1121) 2026-10-25 03:30:22 +00:00
Dockerfile ci(deps): update ci dependencies (#1129) 2026-10-26 03:24:15 +00:00
LICENSE feat: setup project (#1) 2025-09-13 10:01:14 +00:00
package.json chore: remove prettier (#1125) 2026-10-25 16:45:27 +00:00
pnpm-lock.yaml chore: remove prettier (#1125) 2026-10-25 16:45:27 +00:00
pnpm-workspace.yaml feat: render full typst files (#1000) 2026-09-17 09:52:30 +00:00
README.md feat: add embedded lessons (#1011) 2026-09-19 12:57:51 +00:00
tsconfig.json feat(analisi-2): big review (#543) 2026-04-09 09:21:15 +00:00

ICE Notes

Welcome to my collection of course notes from the ICE (Information, Communications and Electronics) engineering program at the University of Trento. I'm currently in my second year, documenting my academic journey as I progress through various courses.

These notes serve multiple purposes:

  • Personal reference for exam preparation and concept review
  • Knowledge sharing with fellow students
  • Community resource for anyone interested in the topics covered

Project structure

src/
├── content/
│   └── docs/
│       ├── _templates/         # Shared Typst helpers (never rendered as notes)
│       │   └── starlight.typ
│       └── [course]/           # One folder per course
│           ├── course.json     # Course metadata
│           ├── images/         # Images used by the notes
│           └── YYYY-MM-DD.typ  # Note content
├── pages/
│   ├── index.astro             # Homepage with course listings
│   └── [course]/
│       ├── index.astro         # Course page with the list of lessons
│       └── [date].astro        # Rendered lesson
├── components/                 # Reusable UI components
├── styles/                     # Global styles
└── fonts/                      # Fonts used by the rendered math

Notes format

Notes are written in Typst (.typ), not Markdown. A shared _templates/starlight.typ module provides the setup show rule (math polyfills and Starlight overrides) plus the note/tip/caution/danger helpers. Each note starts with an import and a metadata block, for example:

#import("../_templates/starlight.typ") as starlight

#show: starlight.setup

#metadata((
  lang: "it",
  title: "Segnali, tecnologie di implementazione e booleani",
  description: "...",
  prev: false,
))

The custom typst content loader in src/content.config.ts compiles every .typ file to HTML with the typst CLI at build time (and on file changes in dev mode). Math follows Typst syntax: inline math is $x$, display math is $ x $ (spaces around the expression).

Contributing

I welcome contributions! If you find errors, have suggestions for improvements, or would like to new features to the website, please help out.

If you want to upstream your changes:

  1. Request Access:
  2. Make Changes: Fork the repository and create a new branch.
  3. Submit Corrections: Push your changes and open a pull request.

Language policy

Most of the initial courses are taught in Italian, while later courses transition to English. I keep the notes in their original language to preserve technical accuracy and avoid translation errors.

Development environment

For a consistent development experience, this project includes a devcontainer setup. You can open the project in VS Code or Zed to automatically get all required dependencies configured.

Alternatively, follow the manual installation steps below.

Prerequisites

  • Node.js
  • pnpm
  • Typst (v0.15+, required to compile the notes; already included in the devcontainer and CI images)

Installation

  1. Clone the repository

    git clone https://git.zarantonello.dev/university/notes
    cd notes
    
  2. Install dependencies

    pnpm install
    
  3. Start the development server

    pnpm dev
    
  4. Open your browser and visit http://localhost:4321 to view the site locally.

Available scripts

Command Description
pnpm dev Start development server with hot reload
pnpm build Build production site
pnpm check Type-check with Astro's built-in checker
pnpm lint:check Run Biome linter
pnpm lint:fix Auto-fix linting issues
pnpm format:check Check code formatting
pnpm format:fix Auto-fix formatting issues
pnpm clean Remove build artifacts

AI

Content is human-written and AI-reviewed. Review skills are located in .agents/skills/:

  • document-content-review: factual/logical errors
  • document-grammar-review: grammar, spelling, style
  • document-description: frontmatter title/description generation

License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Feel free to share and adapt these notes for non-commercial purposes, provided you give appropriate credit and license your contributions under identical terms.