|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | +- **Custom outline support** with `outline-code` parameter in `clean-cnam-template()` |
| 12 | + - Pass `none` (default) for standard outline |
| 13 | + - Pass `false` to disable outline completely |
| 14 | + - Pass custom outline code (e.g., `outline(title: "Table des matières", depth: 2)`) for customization |
| 15 | +- **Documentation examples** for outline customization in README.md |
| 16 | +- **Usage comments** in main.typ demonstrating all outline options |
| 17 | + |
| 18 | +### Changed |
| 19 | +- **Enhanced flexibility** of title page generation to support custom outline configurations |
| 20 | + |
| 21 | +## [1.0.0] - 2024-09-15 |
| 22 | + |
| 23 | +### Added |
| 24 | + |
| 25 | +#### Core Template System |
| 26 | +- **Modular template architecture** with organized library structure in `lib/` directory |
| 27 | +- **CNAM branding integration** with official colors and styling |
| 28 | +- **Main configuration function** `clean-cnam-template()` for easy document setup |
| 29 | +- **Centralized package entrypoint** in `lib.typ` for clean imports |
| 30 | + |
| 31 | +#### Document Configuration |
| 32 | +- **Flexible document configuration** with support for: |
| 33 | + - Title, subtitle, author, and affiliation |
| 34 | + - Custom logo support (CNAM logo included) |
| 35 | + - Configurable primary colors and theming |
| 36 | + - Class/course information and date management |
| 37 | + - Multi-language support (French default) |
| 38 | + |
| 39 | +#### Font Management |
| 40 | +- **Centralized font configuration system** with `fonts.typ` module |
| 41 | +- **Configurable font families** for body text and code blocks |
| 42 | +- **Default font support** for "New Computer Modern Math" and "Zed Plex Mono" |
| 43 | +- **Consistent font application** across all components |
| 44 | + |
| 45 | +#### Enhanced Code Blocks |
| 46 | +- **Advanced code component** with comprehensive features: |
| 47 | + - Syntax highlighting for multiple programming languages |
| 48 | + - Optional line numbering with customizable alignment |
| 49 | + - Filename display support |
| 50 | + - Language label badges |
| 51 | + - Customizable styling (colors, spacing, borders) |
| 52 | + - Line range selection for partial code display |
| 53 | + - Label support for line referencing |
| 54 | + |
| 55 | +#### UI Components |
| 56 | +- **Styled blockquote component** with customizable colors and borders |
| 57 | +- **Flexible content blocks** (`my-block`) with configurable styling |
| 58 | +- **Professional layout system** with decorative elements |
| 59 | +- **Context-aware page headers** with smart header management |
| 60 | + |
| 61 | +#### Mathematical Environments |
| 62 | +- **Mathematical definition blocks** with red styling and numbering |
| 63 | +- **Example blocks** with blue styling and consistent formatting |
| 64 | +- **Theorem blocks** with purple styling and proper numbering |
| 65 | +- **Integration with great-theorems package** for enhanced mathematical typesetting |
| 66 | +- **Dependent numbering system** for mathematical environments |
| 67 | + |
| 68 | +#### Utility Functions |
| 69 | +- **Vector arrows utility** (`ar()`) for mathematical expressions |
| 70 | +- **Icon sizing utility** (`icon()`) for proper icon display |
| 71 | +- **French date formatting** (`date-format()`) for localized dates |
| 72 | + |
| 73 | +#### Color System |
| 74 | +- **Predefined color palette** with CNAM branding colors |
| 75 | +- **Semantic color naming** with descriptive names: |
| 76 | + - `theorem-color` for theorem blocks |
| 77 | + - `example-color` for example blocks |
| 78 | + - `definition-color` for definition blocks |
| 79 | +- **Color word highlighting** for automatic text coloring |
| 80 | + |
| 81 | +#### Layout and Styling |
| 82 | +- **Professional document layout** with responsive design |
| 83 | +- **Decorative page elements** for enhanced visual appeal |
| 84 | +- **Title page generation** with CNAM branding |
| 85 | +- **Consistent spacing and typography** throughout the document |
| 86 | + |
| 87 | +#### Project Structure |
| 88 | +- **Organized module system** with logical separation: |
| 89 | + - `config.typ` - Main configuration and document setup |
| 90 | + - `fonts.typ` - Font management and configuration |
| 91 | + - `components.typ` - UI components (blockquote, blocks, code) |
| 92 | + - `headers.typ` - Header management logic |
| 93 | + - `layout.typ` - Document layout and styling |
| 94 | + - `utils.typ` - Utility functions |
| 95 | + - `colors.typ` - Color definitions |
| 96 | + - `math.typ` - Mathematical environments |
| 97 | +- **Template directory** with example usage |
| 98 | +- **Asset management** for logos and static resources |
| 99 | + |
| 100 | +#### Development Features |
| 101 | +- **MIT License** for open-source usage |
| 102 | +- **Comprehensive documentation** with usage examples |
| 103 | +- **Package configuration** with proper metadata and exclusions |
| 104 | +- **Git integration** with appropriate ignore patterns |
| 105 | + |
| 106 | +### Technical Details |
| 107 | + |
| 108 | +#### Dependencies |
| 109 | +- **Typst 1.0.0+** minimum version requirement |
| 110 | +- **great-theorems 0.1.2** for mathematical environments |
| 111 | +- **headcount 0.1.0** for numbering systems |
| 112 | + |
| 113 | +#### Code Quality |
| 114 | +- **Consistent naming conventions** using kebab-case for functions |
| 115 | +- **Comprehensive documentation** with JSDoc-style comments |
| 116 | +- **Modular design** eliminating circular dependencies |
| 117 | +- **Clean import structure** with optimized exports |
| 118 | + |
| 119 | +#### Package Information |
| 120 | +- **Package name**: clean-cnam-template |
| 121 | +- **Version**: 1.0.0 |
| 122 | +- **Author**: Tom Planche |
| 123 | +- **Repository**: https://github.com/TomPlanche/clean-cnam-template |
| 124 | +- **Keywords**: template, cnam, academic, document, styling |
| 125 | +- **Categories**: template, academic |
| 126 | + |
| 127 | +[1.0.0]: https://github.com/TomPlanche/clean-cnam-template/releases/tag/v1.0.0 |
0 commit comments