-
Notifications
You must be signed in to change notification settings - Fork 1.1k
ricopallazzo-uni-theme:0.1.0 #5175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| # Changelog | ||
|
|
||
| All notable changes to this project will be documented in this file. | ||
|
|
||
| The format is based on *Keep a Changelog* and this project adheres to Semantic Versioning. | ||
|
|
||
| ## [0.1.0] - 2026-06-26 | ||
|
|
||
| ### Added | ||
|
|
||
| * Initial public release. | ||
| * Modern presentation theme built on Touying. | ||
| * Automatic title slide. | ||
| * Automatic section outline slides. | ||
| * Multiple progress indicator styles: | ||
|
|
||
| * Slide | ||
| * Section | ||
| * Slide-by-section | ||
| * Mini slides | ||
| * Customizable color themes. | ||
| * Branded header and footer. | ||
| * Alert box component. | ||
| * Configurable logos and presentation metadata. | ||
| * Automatic slide numbering. | ||
| * Configurable outline prefixes. | ||
| * Public Typst package interface through `lib.typ`. | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| MIT License | ||
|
|
||
| Copyright (c) 2026 RicoPallazzo | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,196 @@ | ||
| # Ricopallazzo UNI Theme | ||
|
|
||
| A modern, customizable presentation theme for **Typst** built on top of **Touying**. It provides a polished academic presentation layout with automatic section slides, progress indicators, branded headers and footers, and configurable color themes. | ||
|
|
||
| > **Status:** Initial release (v0.1.0) | ||
|
|
||
| --- | ||
|
|
||
| ## Features | ||
|
|
||
| * Modern title slide | ||
| * Automatic section overview slides | ||
| * Branded header and footer | ||
| * Multiple progress indicator styles | ||
| * Configurable color themes | ||
| * Custom alert boxes | ||
| * Automatic slide numbering | ||
| * Fully compatible with Touying | ||
| * Designed for academic and technical presentations | ||
|
|
||
| --- | ||
|
|
||
| ## Installation | ||
|
|
||
| Once published on Typst Universe: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can assume that the package is already published, otherwise people wouldn't be able to read this version of the README. |
||
|
|
||
| ```typst | ||
| #import "@preview/ricopallazzo-uni-theme:0.1.0": * | ||
| ``` | ||
|
|
||
| For local development : | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a bit redundant with the later section, I would advise removing this first instance and only keep the later, to first give users the information they need, and then give more information to potential contributors if needed. |
||
|
|
||
| ```typst | ||
| #import "@local/ricopallazzo-uni-theme:0.1.0": * | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## Quick Start | ||
|
|
||
| ```typst | ||
| #import "@preview/touying:0.7.4": * | ||
| #import "@preview/ricopallazzo-uni-theme:0.1.0": * | ||
|
|
||
| #show: ricopallazzo-uni-theme.with( | ||
| aspect-ratio: "presentation-16-9", | ||
| title: "My Presentation", | ||
| short_title: "Presentation", | ||
| author: "Alberto Bertoncini", | ||
| institute: "University of Milan", | ||
| theme: "blue", | ||
| logo: "../assets/logo_RGB_negative_circle.png", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Passing a string literal won't work in most cases. You should use |
||
| logo_name: "../assets/logo_coutour_name.png" | ||
| ) | ||
|
|
||
| #title-slide() | ||
|
|
||
| = Introduction | ||
|
|
||
| == Motivation | ||
|
|
||
| Hello, world! | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## Configuration | ||
|
|
||
| The theme can be customized through the following parameters. | ||
|
|
||
| | Parameter | Description | Default | | ||
| | -------------- | ----------------------------------- | --------------------- | | ||
| | `theme` | Color theme | `"blue"` | | ||
| | `aspect-ratio` | Presentation aspect ratio | `"16-9"` | | ||
| | `title` | Presentation title | — | | ||
| | `short_title` | Short title displayed in the footer | — | | ||
| | `author` | Author name | — | | ||
| | `institute` | Institution | — | | ||
| | `logo` | Header logo | `assets/logo_RGB.png` | | ||
| | `logo_name` | Title slide logo | `assets/logo_RGB.png` | | ||
| | `date` | Display today's date | `true` | | ||
| | `progress` | Progress indicator style | `"slide"` | | ||
| | `prefix` | Outline bullet style | `"numbering"` | | ||
|
|
||
| --- | ||
|
|
||
| ## Progress Indicators | ||
|
|
||
| Four progress visualization modes are available: | ||
|
|
||
| * `slide` | ||
| * `section` | ||
| * `slide-by-section` | ||
| * `mini` | ||
|
|
||
| Example: | ||
|
|
||
| ```typst | ||
| #show: ricopallazzo-uni-theme.with( | ||
| progress: "slide-by-section", | ||
| ) | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## Color Themes | ||
|
|
||
| Themes are defined in | ||
|
|
||
| ```text | ||
| src/themes_colors.typ | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This won't be easy to access from Typst Universe, where the README is the only file being displayed. I would advise listing the available colors directly here, or at least linking to the file so that it can be easily opened: Themes are defined in [`src/themes_colors.typ`](src/themes_colors.typ). |
||
| ``` | ||
|
|
||
| and selected with | ||
|
|
||
| ```typst | ||
| theme: "orange" | ||
| ``` | ||
|
|
||
| Adding a new theme only requires defining a new color palette. | ||
|
|
||
| --- | ||
|
|
||
| ## Alert Boxes | ||
|
|
||
| The package provides a customizable alert component. | ||
|
|
||
| ```typst | ||
| #alert-box[ | ||
| Important message. | ||
| ] | ||
| ``` | ||
|
|
||
| It also supports custom colors and gradients. | ||
|
|
||
| --- | ||
|
|
||
| ## Package Structure | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This section is not really relevant to users. I would advise removing it entirely, moving it to a "Development" or "Contributing" section at the end of the README, or to a dedicated |
||
|
|
||
| ``` | ||
| ricopallazzo-uni-theme/ | ||
| ├── assets/ | ||
| │ └── ... | ||
| ├── src/ | ||
| │ ├── theme.typ | ||
| │ ├── exports.typ | ||
| │ └── themes_colors.typ | ||
| ├── CHANGELOG.md | ||
| ├── LICENSE | ||
| ├── README.md | ||
| ├── lib.typ | ||
| └── typst.toml | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## Public API | ||
|
|
||
| The package exports: | ||
|
|
||
| * `ricopallazzo-uni-theme` | ||
| * `title-slide` | ||
| * `alert-box` | ||
|
|
||
| All implementation details remain internal to the package. | ||
|
|
||
| --- | ||
|
|
||
| ## Local Development | ||
|
|
||
| Clone the repository and install it as a local Typst package: | ||
|
|
||
| ``` | ||
| ~/.local/share/typst/packages/local/ | ||
| └── ricopallazzo-uni-theme/ | ||
| └── 0.1.0/ | ||
| ``` | ||
|
|
||
| Then import it with | ||
|
|
||
| ```typst | ||
| #import "@local/ricopallazzo-uni-theme:0.1.0": * | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| ## License | ||
|
|
||
| This project is released under the MIT License. | ||
|
|
||
| --- | ||
|
|
||
| ## Acknowledgements | ||
|
|
||
| This package is built on top of the excellent **Touying** presentation framework and follows the Typst package conventions. | ||
|
|
||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Regarding the assets:
|
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Once you will have fixed the |
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This file is not linked to from your README: it will be quite hard to discover for people browsing Typst Universe. Can you either remove it (along with the rest of the |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| #import "@preview/touying:0.7.4": * | ||
| #import "../src/theme.typ": * | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It is generally appreciated to use |
||
|
|
||
| #show: ricopallazzo-uni-theme.with(aspect-ratio: "presentation-16-9", | ||
| theme: "orange", | ||
| title: "Test Title", | ||
| short_title: "Short Test Title", | ||
| author: "Alberto Bertoncini", | ||
| institute: "UNIMI", | ||
| logo: "assets/logo_RGB_negative_circle.png", | ||
| logo_name: "assets/logo_coutour_name.png", | ||
| progress: "slide-by-section", | ||
| prefix: "triangle") | ||
|
|
||
| #title-slide() | ||
|
|
||
| = First section | ||
| == First Slide | ||
| #lorem(100) | ||
|
|
||
| == Second Slide | ||
| #lorem(300) | ||
|
|
||
| = Second Section | ||
|
|
||
| == First slide | ||
|
|
||
| == Second Slide | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| #import "src/theme.typ": * | ||
|
|
||
| #let ricopallazzo-uni-theme = ricopallazzo-uni-theme | ||
| #let alert-box = alert_box | ||
| #let title-slide = title-slide | ||
|
Comment on lines
+3
to
+5
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The first and last #import "src/theme.typ": ricopallazzo-uni-theme, alert-box, title-slide |
||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. From a quick look, this file doesn't seem to be used anywhere. Can you remove it please? |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| #import "core.typ": ( | ||
| alert, | ||
| alternatives, | ||
| alternatives-cases, | ||
| alternatives-fn, | ||
| alternatives-match, | ||
| appendix, | ||
| effect, | ||
| empty-slide, | ||
| from-wp, | ||
| get-first, | ||
| get-last, | ||
| handout-only, | ||
| item-by-item, | ||
| item-by-item-fn, | ||
| item-by-item-functions, | ||
| jump, | ||
| lr-navigation, | ||
| meanwhile, | ||
| next-wp, | ||
| not-wp, | ||
| only, | ||
| pause, | ||
| prev-wp, | ||
| slide, | ||
| speaker-note, | ||
| touying-diagram, | ||
| touying-equation, | ||
| touying-fn-wrapper, | ||
| touying-fn-wrapper-raw, | ||
| touying-mitex, | ||
| touying-raw, | ||
| touying-recall, | ||
| touying-reduce, | ||
| touying-reducer, | ||
| touying-set-config, // touying-get-config from configs.typ | ||
| touying-slide, | ||
| touying-slide-wrapper, | ||
| uncover, | ||
| until-wp, | ||
| waypoint, | ||
| ) | ||
| #import "configs.typ": ( | ||
| config-colors, config-common, config-info, config-methods, config-page, | ||
| config-store, default-config, touying-get-config, | ||
| ) | ||
| #import "slides.typ": touying-slides | ||
| #import "utils.typ" | ||
| #import "magic.typ" | ||
| #import "pdfpc.typ" | ||
| #import "components.typ": cols, lazy-h, lazy-layout, lazy-v, side-by-side | ||
| #import "components.typ" | ||
|
|
||
| #import "extern.typ": touying-disable-warnings, touying-enable-warnings |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since you seem ship assets for the Milan University by default, I think it would be worth mentioning here.
By the way, does the template conform to the University guidelines, or is it just re-using the logos?