Studio Norte website
studionorte.pt
- Issues
- 18
- Pull Requests
- 2
- Release
- 0.1.3
One project at a glance: its stage in words, three figures, its recent work and how many places are taken.A block is copied, not installed: take an example's code and the stylesheet at the foot of the page, and rename the site- prefix to your project's own.
Live: the success badge, three figures, the work of the last weeks, and one of two agent places taken.
studionorte.pt
Building: the info badge, and both places taken.
shop.studionorte.pt
Paused: the gray badge, a steady line, and both places free.
blog.studionorte.pt
An idea: no card yet, a sunken box with a dashed edge, and a line saying what it waits for.
Not built yet
An idea, not built yet. One decision waits for you before it can start.
Projects side by side, as many as the room allows; an idea sits among them as a box still to fill.
studionorte.pt
Not built yet
An idea, not built yet. One decision waits for you before it can start.
Shows one project on an overview: its name and address, its stage, three figures a reader checks first, how busy it has been lately and how many of its places are taken. Four stages: live, building, paused and an idea.
The page sets the stage: the badge and its words, and for an idea the dashed box in place of the card. The card takes no focus; to open a project from it, put a link in its title.
The project card's own layout, its classes under the site- prefix. The components inside it are drawn by the design system's stylesheet.
/* site-project-card — Project card, a block: one project at a glance, its stage in words, three figures, how busy
* it has been and how many of its places are taken. Copy it into your project and rename site- to your project's
* own prefix. Live, building and paused are the Card component in its compact layout, with the Badge, Sparkline
* and Capacity meter inside; the block draws only the lines inside the card's body and the footer's line. An idea
* is not a card yet: the block draws it as a sunken box with a dashed edge, which no component has. */
.site-project-card__top,
.site-project-card__footer {
display: flex;
align-items: center;
}
.site-project-card__top {
gap: var(--smbk-space-inline-md);
}
/* The project's mark: its initials on a small dark square. */
.site-project-card__mark {
display: grid;
flex: none;
place-items: center;
width: var(--smbk-size-40);
height: var(--smbk-size-40);
border-radius: var(--smbk-radius-control-md);
background: var(--smbk-color-surface-inverse);
color: var(--smbk-color-text-inverse);
font-family: var(--smbk-typography-label-md-font-family);
font-size: var(--smbk-typography-label-md-font-size);
font-weight: var(--smbk-typography-label-md-font-weight);
line-height: var(--smbk-typography-label-md-line-height);
letter-spacing: var(--smbk-typography-label-md-letter-spacing);
}
.site-project-card__name {
display: flex;
flex: 1 1 auto;
flex-direction: column;
gap: var(--smbk-space-2);
min-width: 0;
}
.site-project-card__title,
.site-project-card__figure {
margin: 0;
color: var(--smbk-color-text-default);
font-family: var(--smbk-typography-label-lg-font-family);
font-size: var(--smbk-typography-label-lg-font-size);
font-weight: var(--smbk-typography-label-lg-font-weight);
line-height: var(--smbk-typography-label-lg-line-height);
letter-spacing: var(--smbk-typography-label-lg-letter-spacing);
}
.site-project-card__address,
.site-project-card__label,
.site-project-card__time {
margin: 0;
color: var(--smbk-color-text-subtle);
font-family: var(--smbk-typography-body-xs-font-family);
font-size: var(--smbk-typography-body-xs-font-size);
font-weight: var(--smbk-typography-body-xs-font-weight);
line-height: var(--smbk-typography-body-xs-line-height);
letter-spacing: var(--smbk-typography-body-xs-letter-spacing);
}
.site-project-card__status {
flex: none;
}
/* Three figures side by side, each a name over its figure. */
.site-project-card__facts {
display: flex;
gap: var(--smbk-space-inline-md);
margin: 0;
}
.site-project-card__fact {
display: flex;
flex: 1 1 0;
flex-direction: column;
gap: var(--smbk-space-2);
min-width: 0;
}
.site-project-card__figure {
font-variant-numeric: tabular-nums;
}
/* The footer: a quiet line above it, the same room above and below the line, the places at the start and when it
last changed at the end. */
.site-project-card__footer {
gap: var(--smbk-space-inline-sm);
padding-block-start: var(--smbk-space-inset-lg);
border-block-start: var(--smbk-border-width-hairline) solid var(--smbk-color-border-subtle);
}
.site-project-card__time {
margin-inline-start: auto;
text-align: end;
}
/* An idea: no card yet, a sunken box with a dashed edge, as the card's compact layout spaces it. */
.site-project-card--stage-idea {
display: flex;
flex-direction: column;
gap: var(--smbk-space-stack-md);
padding: var(--smbk-space-inset-lg);
border: var(--smbk-border-width-hairline) dashed var(--smbk-color-border-strong);
border-radius: var(--smbk-radius-container-md);
background: var(--smbk-color-surface-sunken);
}
.site-project-card__summary {
margin: 0;
color: var(--smbk-color-text-subtle);
font-family: var(--smbk-typography-body-sm-font-family);
font-size: var(--smbk-typography-body-sm-font-size);
font-weight: var(--smbk-typography-body-sm-font-weight);
line-height: var(--smbk-typography-body-sm-line-height);
letter-spacing: var(--smbk-typography-body-sm-letter-spacing);
}