The Skills page (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dark-retro-webpage/llms.txt
Use this file to discover all available pages before exploring further.
/skills) presents the developer’s technical proficiencies as a set of categorized <Win98Window> panels, each containing a list of skills with animated CSS progress bars. The bars fill from left to right on page load using a CSS animation keyed on a custom --progress property. Categories group related technologies so visitors can quickly assess breadth and depth at a glance.
Layout structure
The page renders a two-column grid on large screens (lg:grid-cols-2) that collapses to a single column on smaller viewports. Each column holds one or more <Win98Window> category panels. The overall container is max-w-6xl centered with mx-auto and py-12 vertical padding.
Skill categories
The default skill data is organized into four categories:| Category window title | Skills included |
|---|---|
Frontend.exe | React, TypeScript, CSS / Tailwind |
Backend.exe | Node.js, PostgreSQL, REST APIs |
Tools.exe | Vite, Git, Docker |
Other.exe | Figma, Linux, Accessibility |
name, an optional icon (emoji or SVG), and a numeric level from 0 to 100 representing proficiency.
Skill row and progress bar
Each skill is rendered as a horizontal row: the skill name and icon on the left, the progress bar on the right. The bar uses adiv with a fixed height and an animated width.
.bevel-inset — the inverse of .bevel-window — to create a sunken trough effect. The fill bar uses bg-[#000080] (matching the Win98 title bar blue) with an overlay percentage label in mix-blend-difference white text.
The progress bar width is set via an inline
style prop rather than a Tailwind arbitrary-value class, which keeps the transition smooth and avoids generating hundreds of utility classes at build time.Adding a skill
Skills are defined in acategories array inside the Skills component in assets/main.js. To add a skill to an existing category, push a new object into the relevant category’s skills array:
| Field | Type | Notes |
|---|---|---|
name | string | Displayed beside the icon in font-mono |
icon | string | Emoji or short string rendered before the name |
level | number (0–100) | Controls the width of the progress fill |
Adding a new category
To add an entirely new category panel, append a new object to thecategories array and add the corresponding <Win98Window> to the grid in the component’s JSX:
Customization
Change bar accent colors: The fill bar usesbg-[#000080]. Swap this to any of the site’s CSS custom properties — --purple (#a855f7), --magenta (#ff2bd6), --cyan (#22d3ee), --mint (#5eead4), or --lime (#a3ff12) — to change the bar palette.
Adjust animation duration: The inline transition: "width 1s ease-out" controls how long each bar takes to fill. Increase the value (e.g., 2s) for a slower reveal or replace ease-out with linear for a uniform fill speed.
Add a text label instead of percentage: Remove the percentage <span> and replace it with a string label (e.g., "Expert", "Proficient") mapped from the level range in a helper function.
Related pages
About
Bio, quick-facts, and interests grid
Projects
Filterable portfolio cards with tech stack tags
Case Studies
Deep-dive project narratives with IRC-style process logs
Home
Site hero, navigation, and Win98 intro panel