Feature request: shared content-width tokens (align section widths)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
Research direction
Review the width classes in resume-biography-3, portfolio, content-collection, markdown, the citation/date-title-summary/article-grid views, and the navbar/footer. First resolve the token names, values, and whether width is configurable or fixed CSS variables. Done means the listed containers use consistent page or reading widths and their horizontal padding aligns across sections.
Written by the indexing model from the issue text.
Description
Prerequisites
Proposal
Introduce two shared content-width tokens — a page width and a reading width — and use
them consistently across blocks, views, and the site chrome, instead of each block/view hardcoding
its own max-w-*. Ideally expose the choice as a small design knob, e.g. design.width: wide | reading.
Concretely:
- Define two tokens (CSS custom properties or a tiny map), e.g.
--hb-width-page→max-w-7xl(80rem) — full-bleed sections (hero, portfolio grids, wide galleries)--hb-width-reading→ one value (e.g.max-w-3xl, 48rem) — text/list content
- Resolve every section container to one of the two, including the sub-fixes below.
Current state — the widths hardcoded today (verified against main):
| Block / view / chrome | Container width | Tailwind size |
|---|---|---|
resume-biography-3 (hero) |
max-w-7xl |
80rem |
portfolio |
max-w-7xl |
80rem |
content-collection — title |
max-w-prose |
~65ch |
content-collection — "See all" |
max-w-screen-lg |
64rem |
views/citation (rows) |
max-w-3xl |
48rem |
views/date-title-summary (rows) |
max-w-3xl |
48rem |
views/article-grid |
max-w-screen-lg |
64rem |
markdown block |
max-w-prose |
~65ch |
| navbar / footer | container / own width |
full-bleed-ish |
So a single collection section renders its title (~65ch), its rows (48rem), and its
"See all" button (64rem) at three different widths, and stacking different blocks steps the
content edge in and out down the page.
Sub-fixes to fold in:
- The "See all" button is wider than the list it belongs to (
max-w-screen-lgvs the rows'
max-w-3xl). - The collection title (
max-w-prose) doesn't match its own rows. - Related: inconsistent horizontal padding — the hero uses a flat
px-4whileportfolio
usespx-4 sm:px-6 lg:px-8, so side gutters don't line up either. (Happy to include this in the
same effort.)
Happy to implement once there's agreement on the token names/values and whether it should be a
config knob vs. fixed CSS variables.
Motivation and context
On any page that combines sections, the content edges don't line up — they step inward section by
section — and even within one collection section the title, rows, and "See all" button sit at
three different widths. This reads as visual "jitter" and makes the theme harder to customise
(every width is a separate magic value in a different file). Two shared tokens make the vertical
rhythm consistent, make full-width vs. reading-width an intentional choice, and give site owners a
single place to adjust content width instead of overriding multiple blocks/views.
This came out of a migration where aligning these by hand meant overriding
portfolio, content-collection, markdown, resume-biography-3, several view --start
fragments, and the navbar/footer. A shared token would remove the need for this.
- Dominant language
- HTML
- Stars
- 9.7k
- Forks
- 3k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from HugoBlox/kit
-
proposal stale
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Feature request (docs): add an "Accessibility" page documenting HugoBlox's built-in a11y features Openproposal stale
Difficulty 2/5 Half a day Newbie friendliness 72/100
-
needs triage
Difficulty 3/5 1-2 days Newbie friendliness 58/100
-
needs triage
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
keep
Difficulty 5/5 Over a week Newbie friendliness 10/100
Similar issues
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Request: SumUp Opennew icon permissions in review
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
simple-icons/simple-icons#15027 ·
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
internal team/grafana-datapro
Difficulty 2/5 1-3 hours Newbie friendliness 68/100