summaryrefslogtreecommitdiff
path: root/Documentation/source/frontend/ui-guidelines.rst
blob: d3e8a9da9e8459c0f809c506fdbf6fe296bae21f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
UI Guidelines
=============

Product Positioning
-------------------

The UI should feel like a content-first technical blog: readable, restrained,
and efficient. It should avoid marketing-heavy layouts unless the page itself
is explicitly promotional.

Design Principles
-----------------

* Reading first: typography, line length, and contrast should favor long-form
  reading.
* Lightweight navigation: posts, tags, search, theme switching, and account
  actions should remain easy to reach.
* Consistent visual language: dashed borders, corner markers, and subtle
  motion are part of the current identity.
* Low learning cost: anonymous and authenticated flows should be obvious.
* Cross-device consistency: mobile and desktop should share the same hierarchy.

Visual Conventions
------------------

Typography
   Use the configured Geist font family for prose and Geist Mono for code-like
   metadata. Avoid oversized headings inside dense cards or sidebars.

Color
   Use existing design tokens from ``src/styles/globals.css``. The site
   supports light, dark, and system theme modes.

Shape
   Prefer the existing dashed-border and corner-marker treatment for major
   framed sections. Avoid adding unrelated decorative systems.

Motion
   Keep motion short, functional, and tied to state changes. Current examples
   include hero fade-in, hover transitions, theme transition, and share toast.

Page Notes
----------

Home
   Hero, latest posts, and newsletter CTA should establish identity and expose
   current content quickly.

Post list
   Cards should support scanning title, summary, tags, date, and image without
   requiring a detail-page visit.

Post detail
   The article body is primary. Side metadata, share controls, and comments
   should support the reading flow rather than compete with it.

Tags
   Tag pages should make topic discovery fast and preserve the post-list visual
   pattern.

Login
   OAuth options should be clear and minimal. Do not add account-management
   concepts to the login page unless the backend supports them.