-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Design Concept: Typography #2
Comments
2 tasks
arcticicestudio
added a commit
that referenced
this issue
Nov 20, 2018
It renders the passed `children` within a `React.Fragment`. The `Root` core container is the first and one of the important main data provider React components of this project. It represents the base element and entry point that wraps the all custom application components and serves as a data provider later on. Some of the tasks in the future will be to - provide context props and functions for the global theme through styled-components (1) `ThemeProvider` (3) component - inject global styles through styled-components `createglobalstyle` (3) function including typography (GH-2) related data like application-wide used fonts - possibly data stores for state management libraries like MobX (4) References: (1) https://styled-components.com (2) https://www.styled-components.com/docs/api#createglobalstyle (3) https://www.styled-components.com/docs/api#themeprovider (4) https://mobx.js.org GH-36
arcticicestudio
added a commit
that referenced
this issue
Dec 2, 2018
In order to use the fonts is must be added to Nord Docs theme. This commit implements the `typography` module that defines all used font families and the basic typography properties and values like the font size and units based on the used modular scale documented in GH-2. Associated epic: GH-2 Dependency of GH-53 GH-54
arcticicestudio
added a commit
that referenced
this issue
Dec 2, 2018
This commit implements global and normalization CSS styles using "styled-components" `css` API. They extend "modern-normalize" and define, next to the browser normalization, styles for the available global themes. In order to use fonts in "Nord Docs" style & themes (implemented in GH-54) the basic properties and values have been added and integrated into these base styles. To inject global styles, styled-components v4 `createglobalstyle` (1) API has been used to create a `<GlobalStyle>` component that injects theme styles and "styled-modern-normalize" (2) globally. References: (1) https://www.styled-components.com/docs/api#createglobalstyle (2): https://github.com/arcticicestudio/styled-modern-normalize Associated epics: GH-51, GH-2 GH-53
This was referenced Dec 11, 2018
svengreb
pushed a commit
that referenced
this issue
Dec 12, 2018
The drop down of the navigation link slide menu will start right below the header and take up the available height and width to cover the full screen. The added package's purpose provides methods to remove all scroll listeners from the underlying content (body) as soon as the animation starts. This prevents users from scrolling the content below the menu when the menu itself overflows the Y-axis and shows a scroll bar. Associated epics: GH-63, GH-2 GH-64
arcticicestudio
added a commit
that referenced
this issue
Dec 13, 2018
This commit implements the `ms` shorthand function for polished's (1) `modularScale` helper with pre-configured base and ratio values. References: (1) https://polished.js.org Associated epic: #2 GH-64
This was referenced Dec 13, 2018
arcticicestudio
added a commit
that referenced
this issue
Dec 17, 2018
This commit implements the core atom(s) `H1`-`H6` which represent the content sectioning (1) HTML element `<h1>`-`<h6>` (2). It uses custom styles instead of browser defaults and allows to disable the bottom margin via the `noMargin` prop. The font styles like size, modular scale and family adhere to the "Typography" design concept (3). References: (1) https://developer.mozilla.org/en-US/docs/Web/HTML/Element#Content_sectioning (2) https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements (3) #2 Associated epics: GH-69, GH-2 GH-81
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue documents Nord typography design concept and serves as a plan for the initial launch.
It defines the process steps to decide about all typography aspects like the font face, base sizes, usage within components/themes and the modular scale(s).
All implementation details and requirements are documented and tracked in the corresponding issues:
Font Face
To achieve a uniform design across Nord and its brand the main font face and font stack will be friendly and warm for visual elements while being simple and allow users to stay focused on the actual content, e.g. documentations or blog posts.
All fonts that will be used are open source like Nord itself.
Stylistic & Visualization
The main stylistic and visualization sans-serif type will be Rubik. With its slightly rounded corners it conveys a smooth appearance which matches the overall design of Nord visual elements. Nunito was also a possible choice, but Rubik provides a bit more strength due to its thicker glyphs which improves the mode of expression and the better recognizability.
Clear & Factual
For documentations, technical and factual content a more straight and clear font will be used. This led to the brilliant open source font family Inter UI, a typeface specially designed for user interfaces with focus on high legibility of small-to-medium sized text on computer screens.
The font is well designed and thought out to provide a consistent and clear typographic feel.
Other types in the shortlist that were considered as font families:
Monospace & Code
The main mono spaced type will be Source Code Pro. It is also a well-designed and popular font proven to be easy-on-the-eyes with slightly rounded glyphs while keeping a good feeling of a consistent and uniform character baseline with a balanced spacing.
Font Sizes
In order to provide easy legibility, without the need to zoom or increase the font size manually, the browser's default root font size of
16px
will be kept, but the main font size will be scaled to18px
using the modular scale factor like documented in the section below. All other values will be calculated based on this size using therem
andem
units. There are some exceptions where thepx
unit will be used, e.g. small and static sizes.Modular Scale
The modular scale that Nord Docs will use is “major second”. It stands for a ratio of
1.125
. There will only be one base of1em
which depends on the used root HTML font size of16px
.Resources
Thanks to Google Design for their great and well-written Typography Library. Good starting points are the articles “Choosing Web Fonts: A Beginner’s Guide” and “Space Mono's Retro-Future Voice”.
Not to forget the awesome Google Fonts library to crawl through for inspirations.
Another fantastic information and inspiration origin is Material Design. It provides an extensive knowledge base for almost all details for UI and web design. Their Material Studies also makes use of the Rubik font within the Shrine and Owl studies.
The Inter UI font family website provides a great interactive collection of samples to see how the font works in production and also a lab to test various font settings and features.
The text was updated successfully, but these errors were encountered: