aimeos / pagible-themes-folio
Pagible CMS - Folio theme for developer blogs, personal websites and portfolios
Package info
github.com/aimeos/pagible-themes-folio
Language:CSS
pkg:composer/aimeos/pagible-themes-folio
Requires
- php: ^8.2
- aimeos/pagible-theme: *@dev
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-17 15:15:19 UTC
README
Personal developer blog and portfolio design for Pagible CMS, modeled on leerob.com, overreacted.io, brittanychiang.com and antfu.me. Posts are set in a narrow reading column with a serif body and warm neutrals with one green accent. The theme follows the light or dark mode of the system, and visitors can switch it with a toggle. Writing is grouped by year, and posts show the reading time, a sticky "On this page" outline, an author box and previous and next links. Project tiles carry tech pills, an experience timeline lists your jobs and Person markup describes you to search engines.
This package is part of the Pagible CMS monorepo.
Installation
composer require aimeos/pagible-themes-folio php artisan vendor:publish --tag=cms-theme
Design
- Layout: A sticky, blurred header shows your name, the top-level pages, a search link with a
Ctrl K//shortcut and the light and dark switch. All content stays in a48remcolumn - Home: Round avatar, a one-line introduction, the latest posts as a dated list, selected projects and a contact panel
- Posts: Date and reading time above the title, a lead paragraph, a cover image, serif body text,
#anchors on headings, an outline that highlights the current section (from1280px), the author box and previous and next posts - Footer: Profile links, your e-mail address with a copy button and a monospace colophon
- Colors: Warm neutrals (
#2B2924,#6B665E,#E4E0D9,#FBFAF8) with green (#1F7A4D,#4FBF87in dark mode) for links. The dark background is#0F0E0C. Code blocks are always dark - Typography: The system sans-serif, serif and monospace fonts, because the CSP doesn't allow remote fonts. Dates, labels and section titles use the monospace font
- CSS framework: Pico CSS with
--pico-*custom property overrides
Page Types
| Type | Description |
|---|---|
page |
Home, overview and personal pages like About, Projects, Uses or Now |
blog |
Posts with reading time, outline, author box, pager and BlogPosting JSON-LD |
Put all posts below one "Writing" page and add a blog element with the list layout to it. Previous and next links follow the order in the page tree, so keep the newest post at the top.
Profile
The Profile settings in the page config apply to the configured page and all pages below it:
| Field | Description |
|---|---|
| Name | Shown in the header and as author of the posts |
| Job title, company, location | Used for the Person JSON-LD |
| Photo, short bio | Author box below every post |
| Footer link with a copy button | |
| Profiles | Footer links, also used as sameAs for search engines |
Elements
- Blog: The
listlayout groups posts by year with the date on the right; thecardslayout shows the date, title and introduction. Without a parent page (e.g. "Recent writing" on the home page), the element shows the latest posts without pagination - Hero: The first image is shown as round avatar above the title
- Cards: Bordered project tiles; inline
codebecomes tech pills and linked titles get an arrow - Timeline: Experience rows with the years in a left column
- Text: GitHub alerts become callouts:
> [!NOTE],> [!TIP],> [!IMPORTANT],> [!WARNING]and> [!CAUTION] - Code: Dark box with the language name and a "Copy code" button
- Heading: H2 and H3 headings in posts fill the outline
Customization
Theme colors and properties can be customized in the admin panel:
| Property | Light | Dark | Description |
|---|---|---|---|
--pico-color |
#2B2924 |
#D9D4CB |
Body text color |
--pico-background-color |
#FBFAF8 |
#0F0E0C |
Page background |
--pico-contrast |
#1C1A17 |
#ECE8E1 |
Headings and filled buttons |
--pico-primary |
#1F7A4D |
#4FBF87 |
Links |
--pico-secondary |
#6B665E |
#9A948A |
Muted text |
--pico-border-radius |
0.5rem |
0.5rem |
Base border radius |
Demo
php artisan cms:demo --theme=folio
The demo builds the website of Lena Hartmann, a fictional staff engineer in Berlin. It contains a home page, six posts about Laravel, databases and queues, and the Projects, About, Uses and Now pages.
Structure
├── composer.json
├── schema.json Theme and profile configuration schema
├── database/seeders/ FolioDemo seeder
├── lang/ Frontend translations
├── src/
│ └── FolioServiceProvider.php
├── public/ Assets published to public/vendor/cms/folio/
│ ├── cms.css Base styles, light and dark tokens, header, footer, callouts and code boxes
│ ├── layout-blog.css Post column, outline, author box and pager
│ ├── list.css Posts by year and post cards
│ ├── folio.js Mode switch, search shortcut, copy buttons, heading anchors and outline
│ ├── i18n/ Admin translations of the config fields
│ └── *.css Content element styles
├── tests/
└── views/
├── article.blade.php Post header with date and reading time
├── blog.blade.php Post list grouped by year or as cards
├── code.blade.php Code block with copy button
├── text.blade.php Markdown with callouts
└── layouts/
├── blog.blade.php
└── main.blade.php
License
MIT