From ff5dd27618a0ae423f664ec925cb4ec6fad814a1 Mon Sep 17 00:00:00 2001 From: Michal Vanko Date: Wed, 1 Apr 2026 22:14:29 +0200 Subject: [PATCH] feat: add Pi agent blog post, AI tooling, and SVG support Add new blog post documenting a week using the Pi CLI agent for 100% agentic development. Include AI agent configuration with custom prompts and skills to streamline content creation workflow. - Publish "Week with my-pi-agent" article with Pi logo and screenshot assets - Add .pi/ configuration with new-blog-post prompt and review-article skill - Create AGENTS.md with comprehensive project documentation for AI assistants - Fix SVG rendering to skip unsupported dimension extraction in markdown filter - Update picture generator to handle SVG files with simple img tag - Update syntect dependency to 5.3.0 with default-fancy features - Swap featured segment from older post to new Pi agent article --- .pi/prompts/new-blog-post.md | 59 ++++++ .pi/skills/review-article/SKILL.md | 98 +++++++++ AGENTS.md | 193 ++++++++++++++++++ Cargo.toml | 2 +- ...2-02-28-error-handling-with-either-type.md | 1 - .../blog/2026-04-01-week-with-my-pi-agent.md | 91 +++++++++ src/filters/markdown.rs | 13 ++ .../picture_markup_generator.rs | 16 +- static/images/uploads/pi-logo.svg | 22 ++ static/images/uploads/pi-screenshot.png | Bin 0 -> 74532 bytes styles/output.css | 45 ++++ 11 files changed, 537 insertions(+), 3 deletions(-) create mode 100644 .pi/prompts/new-blog-post.md create mode 100644 .pi/skills/review-article/SKILL.md create mode 100644 AGENTS.md create mode 100644 _posts/blog/2026-04-01-week-with-my-pi-agent.md create mode 100644 static/images/uploads/pi-logo.svg create mode 100644 static/images/uploads/pi-screenshot.png diff --git a/.pi/prompts/new-blog-post.md b/.pi/prompts/new-blog-post.md new file mode 100644 index 0000000..aa20071 --- /dev/null +++ b/.pi/prompts/new-blog-post.md @@ -0,0 +1,59 @@ +--- +description: Create a new blog post with today's date and proper front matter. Takes a title/topic as argument. +--- +Create a new blog post file for this project. + +**Input:** $@ - The title/topic for the blog post + +--- + +## Instructions + +1. Generate a URL-friendly slug from the title: + - Lowercase + - Replace spaces and special characters with hyphens + - Remove consecutive hyphens + - Strip leading/trailing hyphens + +2. Create the file at `_posts/blog/YYYY-MM-DD-{slug}.md` where YYYY-MM-DD is today's date + +3. Use this front matter template: + +```yaml +--- +layout: blog +title: {Original Title} +segments: + - blog +published: false +date: {YYYY-MM-DD}T12:00:00.000Z +thumbnail: +tags: + - News +--- + +## {First section heading} + +{Leave space for content} +``` + +4. **Important:** The date in the filename (YYYY-MM-DD) MUST match the date in the front matter's `date` field + +5. Confirm the file was created with the full path + +## Available Segments +- `blog` (default) +- `featured` +- `broadcasts` +- `cookbook` + +## Common Tags +- News +- Development +- Programming +- Rust +- JavaScript +- TypeScript +- Keyboards +- Tutorial +- Personal diff --git a/.pi/skills/review-article/SKILL.md b/.pi/skills/review-article/SKILL.md new file mode 100644 index 0000000..bc0d8d9 --- /dev/null +++ b/.pi/skills/review-article/SKILL.md @@ -0,0 +1,98 @@ +--- +name: review-article +description: Review blog posts for authenticity, structure, clarity, and improvements while preserving the author's unique voice. Provides suggestions only - no edits. +--- + +# Article Review Assistant + +You are a thoughtful editorial reviewer who helps the author improve their blog posts while preserving their authentic voice and personal style. + +## Author's Voice Profile + +Based on analysis of previous writing, the author's style includes: + +- **Personal & conversational tone** - Uses first person ("I", "I've"), shares personal experiences and stories +- **Authentic storytelling** - Often starts with personal context before diving into technical content +- **Strategic emphasis** - Uses **bold** for key concepts and _italics_ for subtle emphasis +- **Practical examples** - Includes code snippets, real-world scenarios, actionable takeaways +- **Honest vulnerability** - Shares struggles, mistakes, and learning moments openly +- **Structured flow** - Uses headers, lists, blockquotes, and code blocks effectively +- **Conversational closings** - Often ends with summaries, personal reflections, or invites reader engagement + +## Review Process + +**Input:** Path to a markdown blog post file. + +1. **Read the article** - Understand the full content, message, and intent +2. **Analyze against voice profile** - Check for authenticity and consistency +3. **Identify improvement opportunities** - Structure, clarity, emphasis, spelling +4. **Provide actionable suggestions** - Specific, not vague + +--- + +## Review Output Format + +### 📋 Article Summary +Brief 1-2 sentence summary of what the article is about and its main message. + +### ✅ Strengths +What's working well in this article (authentic moments, great explanations, effective structure). + +### 🎯 Topic & Story Fit +- Does the topic align with the author's typical subjects (development, personal projects, tutorials, tech insights)? +- Does the narrative flow naturally? +- Any disconnects between the opening story and the main content? + +### 📝 Structure Suggestions +Specific recommendations for: +- Header hierarchy and organization +- Paragraph flow and transitions +- Section ordering or grouping +- Opening hook effectiveness +- Closing impact + +### 💡 Emphasis Opportunities +Suggest specific places where **bold** or _italics_ could strengthen the message: +- Key concepts that deserve highlighting +- Important takeaways readers should remember +- Subtle points that could use gentle emphasis + +### 🔍 Spelling & Grammar +List any typos, grammatical issues, or awkward phrasings found (quote the exact text). + +### 🎨 Clarity Improvements +- Sentences or paragraphs that could be clearer +- Technical terms that need brief explanation +- Jargon that might alienate readers +- Places where an example would help + +### ⚠️ Authenticity Check +- Any moments that feel inauthentic or forced? +- Does the voice stay consistent throughout? +- Are there places where the author's personality could shine through more? + +### 📌 Suggested Improvements (Without Changing Core Concept) +Numbered list of specific, actionable suggestions that: +- Enhance clarity without altering meaning +- Strengthen the narrative without changing the story +- Improve flow without losing the personal touch + +--- + +## Important Guidelines + +- **NEVER make edits** - Only provide suggestions +- **Preserve the author's voice** - Don't suggest changes that would make it sound generic +- **Be specific** - Quote exact text when suggesting changes +- **Explain why** - Give reasoning for each suggestion +- **Respect the core message** - Never suggest changes that alter the main concept or story +- **Celebrate authenticity** - Highlight moments where the author's genuine voice shines +- **Consider the audience** - The blog appears to target developers and tech-curious readers + +## What NOT to Suggest + +- Removing personal anecdotes or stories +- Making the tone more "professional" or formal +- Generic corporate language +- Changes that would alter the fundamental message +- Rewriting in a different voice diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..c16680b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,193 @@ +# AGENTS.md + +## Project Overview + +Personal website and blog hosted at https://michalvanko.dev. A static site generator (SSG) built with Rust using the Axum web framework. During development, content is served via HTTP with SSR; for production, the site is exported to static HTML files using wget crawling. + +**Technology Stack:** +- **Backend:** Rust, Axum web framework, Tokio async runtime +- **Templating:** Askama (compile-time template engine) +- **Styling:** Tailwind CSS v4 +- **Content:** Markdown with YAML front matter (gray_matter), parsed with pulldown-cmark +- **CMS:** Decap CMS (formerly Netlify CMS) for content management +- **Build Tool:** Just (command runner, similar to make) +- **Deployment:** Caddy reverse proxy, rsync to remote server + +## Architecture + +### Directory Structure + +``` +├── src/ # Rust source code (~40 files, ~2090 lines) +│ ├── main.rs # Entry point, sets up Axum server with static file serving +│ ├── router.rs # Route definitions and HTTP layer +│ ├── pages/ # Page handlers (index, blog, portfolio, etc.) +│ ├── blog_posts/ # Blog post model and metadata +│ ├── projects/ # Project model and featured projects +│ ├── components/ # Reusable UI components (site_header) +│ ├── filters/ # Askama template filters (markdown, date, truncate) +│ ├── post_utils/ # Post parsing, listing, segments, tags +│ ├── picture_generator/ # Responsive image generation (multiple sizes/formats) +│ └── feed.rs # RSS feed generation +├── templates/ # Askama HTML templates +│ ├── base.html # Base template with head, header, footer +│ ├── components/ # Reusable template partials +│ ├── sections/ # Page section templates +│ └── icons/ # SVG icon sprite +├── styles/ +│ ├── input.css # Tailwind source with custom theme +│ └── output.css # Generated CSS (gitignored) +├── static/ # Static assets served directly +│ ├── images/ # Site images +│ ├── fonts/ # Custom web fonts (Baloo2) +│ ├── svg/ # SVG icons +│ └── resources/ # Decap CMS config +├── _posts/blog/ # Blog posts (Markdown with front matter) +├── _projects/ # Showcase projects (Markdown with front matter) +├── _pages/ # Static pages (portfolio.md) +├── generated_images/ # Auto-generated responsive images (gitignored) +├── dist/ # SSG output folder (gitignored) +└── target/ # Rust build artifacts (gitignored) +``` + +### Key Entry Points + +- `src/main.rs` - Server startup, static file routing, livereload (debug only) +- `src/router.rs` - All route definitions, maps URLs to page handlers +- `src/pages/index.rs` - Homepage, demonstrates async data loading pattern + +### Data Flow + +1. **Content Loading:** Markdown files in `_posts/`, `_projects/`, `_pages/` are parsed at runtime +2. **Front Matter:** YAML metadata extracted via `gray_matter` crate +3. **Template Rendering:** Askama templates receive structs with data +4. **Image Generation:** Images auto-generated in multiple sizes on first request +5. **SSG Export:** `wget` crawls running server, saves HTML to `dist/` + +## Code Conventions + +### Rust Patterns + +- **Module Organization:** Each domain has a `mod.rs` with submodules +- **Async Handlers:** Page handlers use `async fn` returning `Result` +- **Template Structs:** Each page has a corresponding `#[derive(Template)]` struct +- **Error Handling:** Uses `anyhow` for errors, `StatusCode` for HTTP responses +- **Parallel Loading:** `tokio::try_join!` for concurrent data fetching + +### Template Patterns + +- **Inheritance:** Templates extend `base.html` using `{% block content %}` +- **Includes:** Reusable partials via `{% include "component.html" %}` +- **Filters:** Custom filters in `src/filters/` (e.g., `{{ content|markdown }}`) +- **Configuration:** `askama.toml` sets template directory and whitespace handling + +### Naming Conventions + +- **Files:** snake_case for Rust files, kebab-case for templates +- **Routes:** kebab-case URLs (`/blog`, `/showcase/m-logo-svg`) +- **Front Matter:** snake_case fields in YAML + +### Configuration Files + +| File | Purpose | +|------|---------| +| `Cargo.toml` | Rust dependencies, package metadata | +| `askama.toml` | Template directory config | +| `.prettierrc` | JS/JSON formatting (trailing commas, 2-space, single quotes) | +| `.nvmrc` | Node.js version: `lts/*` | +| `.npmrc` | npm config: `engine-strict=true` | +| `justfile` | Build commands and deployment scripts | +| `renovate.json` | Dependency update automation | +| `static/resources/config.yml` | Decap CMS configuration | + +## Setup Requirements + +### Prerequisites + +- **Rust:** Stable toolchain (uses edition 2021) +- **Node.js:** LTS version (for Tailwind CSS, Decap CMS) +- **Just:** Command runner (`cargo install just` or system package) +- **cargo-watch:** For development hot reload (`cargo install cargo-watch`) + +### Environment Variables + +- `PORT` - Server port (default: 3080) +- `RUST_LOG` - Logging level (default: `axum_server=debug,tower_http=debug`) +- `TARGET` - Build target mode (used in `just prod`) + +### Development Setup + +```bash +# Install dependencies +npm install + +# Run development server (starts all services in parallel) +just dev +# This runs: server_dev, tailwind watch, decap_server + +# Or run individually: +just server_dev # Rust server with hot reload +just tailwind # CSS watch mode +just decap_server # Local CMS backend +``` + +### Common Commands + +```bash +just test # Run Rust tests +just test_watch # Run tests with watch mode +just prod # Run server in release mode +just export # Generate static site to dist/ +just deploy # rsync dist/ to remote server +``` + +## Important Files + +### Configuration + +- `Cargo.toml` - Rust dependencies (axum, askama, pulldown-cmark, etc.) +- `justfile` - All build/dev/deploy commands +- `static/resources/config.yml` - Decap CMS collections and fields +- `styles/input.css` - Tailwind theme customization (colors, fonts, spacing) + +### CI/CD + +- `.gitea/workflows/test.yaml` - Runs `cargo test` on push/PR +- `.gitea/workflows/release.yaml` - Builds release, runs SSG export, uploads `dist/` artifact + +### Content Structure + +- `_posts/blog/` - Blog posts with YAML front matter (title, segments, published, date, thumbnail, tags) +- `_projects/` - Showcase projects (title, displayed, cover_image, link, classification, tags, featured) +- `_pages/portfolio.md` - Portfolio page content (work history, education) + +### Key Dependencies + +**Rust:** +- `axum` - Web framework +- `askama` - Compile-time templates +- `pulldown-cmark` - Markdown parsing +- `gray_matter` - YAML front matter extraction +- `tokio` - Async runtime +- `tower-http` - HTTP middleware (tracing, static files) +- `tower-livereload` - Development hot reload +- `image` - Image processing for responsive images +- `syntect` - Syntax highlighting + +**Node.js:** +- `tailwindcss` v4 - CSS framework +- `@tailwindcss/cli` - Tailwind CLI + +## Notes for Agents + +1. **Template Changes:** Askama templates are compiled into Rust code. After template changes, the project recompiles automatically with `cargo-watch`. + +2. **Adding Routes:** Add handler in `src/pages/`, register in `src/router.rs`, create template in `templates/`. + +3. **Content Model:** All content uses YAML front matter. See `static/resources/config.yml` for field definitions. + +4. **Image Handling:** Images are auto-generated in multiple sizes. The `picture_generator` module creates responsive `` elements. + +5. **Debug vs Release:** Debug builds include livereload. Release builds are optimized for production. + +6. **SSG Process:** The static site is generated by running the server and crawling with `wget`. All linked content must be discoverable from the homepage. diff --git a/Cargo.toml b/Cargo.toml index 8610319..2854fe6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter"] } image = "0.25.6" anyhow = "1.0.86" rayon = "1.10.0" -syntect = "5.2.0" +syntect = { version = "5.3.0", default-features = false, features = ["default-fancy"] } indoc = "2.0.5" askama_escape = "0.15.0" mime_guess = "2.0.5" diff --git a/_posts/blog/2022-02-28-error-handling-with-either-type.md b/_posts/blog/2022-02-28-error-handling-with-either-type.md index 831f782..1e677ad 100644 --- a/_posts/blog/2022-02-28-error-handling-with-either-type.md +++ b/_posts/blog/2022-02-28-error-handling-with-either-type.md @@ -3,7 +3,6 @@ layout: blog title: Error handling with Either segments: - blog - - featured published: true date: 2022-02-28T11:30:54.195Z tags: diff --git a/_posts/blog/2026-04-01-week-with-my-pi-agent.md b/_posts/blog/2026-04-01-week-with-my-pi-agent.md new file mode 100644 index 0000000..a6e2c05 --- /dev/null +++ b/_posts/blog/2026-04-01-week-with-my-pi-agent.md @@ -0,0 +1,91 @@ +--- +layout: blog +title: Week with my-pi-agent +segments: + - blog + - featured +published: true +date: 2026-04-01T12:00:00.000Z +thumbnail: /images/uploads/pi-logo.svg +tags: + - News + - AI + - Agents + - Development +--- + +Last week I've set a goal for myself to go 100% without writing a single line of code manually. I've been trying agentic workflows for a year now. My first agentic tool I've tried was [aider](https://aider.chat/) and it was pretty cool experience at that time. For the last few months I've been using [OpenCode](https://opencode.ai/) but I haven't been able to let it control 100% of my results. Mainly because it hasn't been able to earn my trust. I've been watching different tools for a long time and decided that it was time to try out something minimal. Something that I can make work for me. Make it work with my workflows and tools I use during work. + +## Meet Pi + + +
+ Pi agent logo +
+ +[Pi](https://pi.dev) is a **bare bones CLI agent** similar to Claude Code, Codex CLI and OpenCode. +Pi itself is very simple. It might be a turnoff for anyone who wants to just download and start using it. You have to spend some time tinkering it. +There is a lot of [packages](https://pi.dev/packages), that can bring the functionality of other CLIs to Pi. +The community around Pi is very fresh and thriving. We are still in the early adopters era of agentic programming. I'd consider every **package as a potential threat** and **cautiously review** them before installing. + +I discovered Pi when [OpenClaw](https://openclaw.ai/) was released. I was curious about what is powering _OpenClaw_. Back then I wasn't really interested in Pi. +But after few weeks with [OpenCode](https://opencode.ai/), I wasn't feeling like the tool is working with my workflow. +After trying out Pi I got hooked immediately when I prompted it to generate a custom plugin that is customized to my workflow and environment. +I use a nerdish Desktop environment: +- [Fedora Linux](https://fedoraproject.org/) +- [Noctalia shell](https://noctalia.dev/) +- [Niri Window manager](https://niri-wm.github.io/niri/) (special kind of tiling window manager) +- [fish](https://fishshell.com/) as a shell +- [ZelliJ](https://zellij.dev/) as a terminal multiplexer + +I don't know anyone who uses the same tools I do. + +Other agentic CLIs are like taxi cars, you hop-in, you can tell the driver where you want to go. But it is out of your hands how you get there. You are often restricted in the capabilities of the CLI. +The features you leverage right now can be pulled out whenever the author of the CLI consider them not useful. With Pi you can **inspect every single line of code**. Why, and what gets executed and when. +With Pi, you build your own ride. Do you need to just get some mail from post office? You build a bicycle. Do you need a team of X "engineers", feel free to burn your tokens however you like - build an airplane. +Want to go the to moon? Build yourself a rocketship. There are no limits. + +With no other CLI agent I was ever **motivated to create my own plugins, commands, workflows**. I was always trying to just search for stuff that "just works", but it never worked for me. + +First plugin I've created was that I wanted to have a [`/commit` command](https://github.com/michalvankodev/my-pi-agent/blob/main/agent/extensions/commit.ts). + +- This command should not do `git commit` for me. +- It should just generate a commit message and open an editor in a new _ZelliJ_ pane. +- I can not only review but edit if I am not satisfied with the output. I can even cancel the commit if I opt to. + +One, two prompts and voilà - I have my first custom plugin. Nothing ground-breaking but it is working just how I like it. + +![My Pi says Hi!](/images/uploads/pi-screenshot.png 'My Pi says Hi!') + +## What works for me + +In my experience a simple approach turned out to have the best results considering getting stuff done, cheaper and reliable. +I've tried to set up interactive sub-agents that talk between each other and I was stunned for a moment. +After few minutes the output of 4 agents working together was very little and I almost ran out of available tokens. +Then I continued with just one main agent and it was able to finish whole task much quicker. +The main workflow for me (for backend tasks) is: +1. Prompt agent with what are we going to do. "Gather information about existing code". Write a specification file and split work into tasks. +We are going to update the specification after each task gets done. +2. [`/clarify`](https://github.com/michalvankodev/my-pi-agent/blob/main/agent/prompts/clarify.md) This is the **most powerful prompt** in my workflow. It asks agent to ask clarifying questions. This prevents the agent to invent wheels that already exists or rail off from what we want to accomplish. +3. Start working on tasks one by one + +When the context-window gets too big, there is a decision to make. With `/tree` command you can traverse your conversation to a point (after the 2nd step for example) where the agent has enough context about all the tasks that you can continue without starting with fresh context window. Or you can create a `/new` session and prompt it to gather information about the tasks with the link to the spec. + +`/tree` is very useful feature. I use it to fork my current session into multiple new ones and you can parallelize your work (I don't recommend it every time). + +Two other features I use constantly: + - Steering - When you see the agent doing something you want to immediately fix, you steer it. Your message + arrives as soon as the current tool call finishes. + - Follow up - When you want to tell the agent something or request additional work, you follow up. That + message gets queued after the agent completes all pending work, instead of waiting for your next prompt. + +There's still more to learn. This is just the experience I've had with Pi during the last week. + +For front-end task I'd choose a different workflow. I'd incorporate `agent-browser` into the loop. Having constant feedback loop is very powerful and allows the agent to run for longer time (do more without constant supervision) + +Another very good use experience I had was with debugging memory issues. This is a task that if you don't do very often during development, but from time to time it happens that unexpected errors happen due to different resource availability on production systems. I've said to the agent what happens and what I think was the issue (I was way way off). +It created multiple testing scenario applications in `/tmp` directory to just test off hypothesis. +He dug out every single call and investigated deep hierarchy of code deep down to every single dependency in the chain. +We haven't been able to find the issue there. So I've used [`heaptrack`](https://github.com/KDE/heaptrack) to provide actual information about the memory allocations and then I just passed the output to the agent. It just came out with the actual issue and provided fix in few seconds. + +It is able to create `bash` commands and execute them in a loop until it discovers significant information. It does so at such velocity that I have to admit I can't imagine now working without it. Once you experience this kind of boost it's unthinkable to go back. diff --git a/src/filters/markdown.rs b/src/filters/markdown.rs index a32cb5c..3792ee9 100644 --- a/src/filters/markdown.rs +++ b/src/filters/markdown.rs @@ -64,6 +64,19 @@ pub fn parse_markdown( ); } + // Handle SVG files - don't try to get dimensions (image crate doesn't support SVG) + if dest_url.to_lowercase().ends_with(".svg") { + return Event::Html( + formatdoc!( + r#"
+ {title} +
+ "# + ) + .into(), + ); + } + let dev_only_img_path = Path::new("static/").join(dest_url.strip_prefix("/").unwrap_or(&dest_url)); diff --git a/src/picture_generator/picture_markup_generator.rs b/src/picture_generator/picture_markup_generator.rs index 1af6546..66f694e 100644 --- a/src/picture_generator/picture_markup_generator.rs +++ b/src/picture_generator/picture_markup_generator.rs @@ -23,13 +23,27 @@ pub fn generate_picture_markup( class_name: Option<&str>, ) -> Result { let orig_path = Path::new(orig_img_path); - let exported_formats = get_export_formats(orig_path); let class_attr = if let Some(class) = class_name { format!(r#"class="{class}""#) } else { "".to_string() }; + // Handle SVG files - return simple img tag with provided dimensions for display sizing + if orig_img_path.to_lowercase().ends_with(".svg") { + return Ok(formatdoc!( + r#"{alt_text}"# + )); + } + + let exported_formats = get_export_formats(orig_path); + // Here the resolution is already correct if exported_formats.is_empty() { return Ok(formatdoc!( diff --git a/static/images/uploads/pi-logo.svg b/static/images/uploads/pi-logo.svg new file mode 100644 index 0000000..ed14b63 --- /dev/null +++ b/static/images/uploads/pi-logo.svg @@ -0,0 +1,22 @@ + + + + + + + diff --git a/static/images/uploads/pi-screenshot.png b/static/images/uploads/pi-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5943107fcdc7124ef6577dc22604a04b82d16cf1 GIT binary patch literal 74532 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 z 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 literal 0 HcmV?d00001 diff --git a/styles/output.css b/styles/output.css index fa64377..bcf33a6 100644 --- a/styles/output.css +++ b/styles/output.css @@ -29,6 +29,7 @@ --color-slate-600: oklch(44.6% 0.043 257.281); --color-slate-800: oklch(27.9% 0.041 260.031); --color-slate-950: oklch(12.9% 0.042 264.695); + --color-black: #000; --color-white: #fff; --spacing: 0.25rem; --text-sm: 0.875rem; @@ -290,6 +291,9 @@ .m-10 { margin: calc(var(--spacing) * 10); } + .mx-0 { + margin-inline: calc(var(--spacing) * 0); + } .mx-0\.5 { margin-inline: calc(var(--spacing) * 0.5); } @@ -389,6 +393,9 @@ .h-\[240px\] { height: 240px; } + .h-\[280px\] { + height: 280px; + } .h-\[320px\] { height: 320px; } @@ -425,6 +432,9 @@ .max-w-\[32rem\] { max-width: 32rem; } + .max-w-\[280px\] { + max-width: 280px; + } .max-w-\[392px\] { max-width: 392px; } @@ -437,12 +447,25 @@ .flex-1 { flex: 1; } + .flex-shrink { + flex-shrink: 1; + } .shrink-0 { flex-shrink: 0; } + .flex-grow { + flex-grow: 1; + } .grow { flex-grow: 1; } + .border-collapse { + border-collapse: collapse; + } + .-translate-y-1 { + --tw-translate-y: calc(var(--spacing) * -1); + translate: var(--tw-translate-x) var(--tw-translate-y); + } .-translate-y-1\.5 { --tw-translate-y: calc(var(--spacing) * -1.5); translate: var(--tw-translate-x) var(--tw-translate-y); @@ -450,6 +473,9 @@ .transform { transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,); } + .resize { + resize: both; + } .break-inside-avoid { break-inside: avoid; } @@ -543,6 +569,9 @@ .border-slate-300 { border-color: var(--color-slate-300); } + .bg-black { + background-color: var(--color-black); + } .bg-blue-50 { background-color: var(--color-blue-50); } @@ -564,6 +593,9 @@ .object-cover { object-fit: cover; } + .p-0 { + padding: calc(var(--spacing) * 0); + } .p-0\.5 { padding: calc(var(--spacing) * 0.5); } @@ -693,6 +725,13 @@ .no-underline { text-decoration-line: none; } + .underline { + text-decoration-line: underline; + } + .outline { + outline-style: var(--tw-outline-style); + outline-width: 1px; + } .blur { --tw-blur: blur(8px); filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,); @@ -1649,6 +1688,11 @@ article a { syntax: "*"; inherits: false; } +@property --tw-outline-style { + syntax: "*"; + inherits: false; + initial-value: solid; +} @property --tw-blur { syntax: "*"; inherits: false; @@ -1791,6 +1835,7 @@ article a { --tw-border-style: solid; --tw-leading: initial; --tw-font-weight: initial; + --tw-outline-style: solid; --tw-blur: initial; --tw-brightness: initial; --tw-contrast: initial;