
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
typesettings
Advanced tools
A Sass toolkit that sets type in Ems based on modular scale, vertical rhythm, and responsive ratio based headlines.
Set your type in Ems with modular scale, vertical rhythm, and responsive ratio based headlines using Sass. Why create another type toolkit in Sass? I wanted to and I couldn't find exactly what I was looking for. Typesettings uses techniques from many different amazing tools while trying to keep it simple.
There are four ways you can download Typesettings.
git clone https://github.com/ianrose/typesettings.gitbower install typesettings --savenpm install typesettings --save
To start using Typesettings @import the _typesettings.scss partial into your Sass project after your CSS reset.
There is also the bundled single file versions. For example, using Typesettings on Codepen or you are looking to simply copy and paste Typesettings into your project. You can also start by @import the _typsettings.bundle.scss into your Sass project after your CSS reset.
@import "path/your-reset";
// Your settings for Typesettings :)
$font-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
$font-serif: Georgia, 'Times New Roman', serif;
$font-mono: 'Lucida Console', Monaco, monospace;
$text-color: #000;
$base-vertical-unit: 6px;
$base-line-multi: 4;
$base-font-size: 16px;
$ms-ratio: 1.414;
$paragraph-indent: true;
$paragraph-justify: true;
$load-typesetted: true;
$global-init: false; // By default set to false, loaded with typesetted
@import "path/typesettings"; // Here is the _typesettings.scss partial
@import "path/your-styles";
You have the ability to easily import Typesettings' mixins, functions, and internal variables separately and use them how you see fit within your project. For example:
@import "path/your-reset";
// Your settings for Typesettings :)
$font-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
$font-serif: Georgia, 'Times New Roman', serif;
$font-mono: 'Lucida Console', Monaco, monospace;
$text-color: #000;
$base-vertical-unit: 6px;
$base-line-multi: 4;
$base-font-size: 16px;
$ms-ratio: 1.414;
// Import only the functionality of Typesettings you want
@import "path/typesettings/settings";
@import "path/typesettings/internal";
@import "path/typesettings/functions";
@import "path/typesettings/mixins";
@include typesettingsInit();
@import "path/your-styles";
After Typesettings is setup in your project the default type styles should be looking good. However I bet you want to use modular scale and vertical rhythm in the rest of your project. Here is an example of how to do that:
The Scss:
// This example is using Typesettings' default settings
// [1] 3 times the baseline grid value for margin-bottom.
// The second argument is the context font-size. In this case it is 1 step down in
// the modular scale.
//
// [2] Using an optional mixin, a 2px border bottom is set with padding bottom
// set to 3 times the baseline grid with 2px subtracted. By subtracting the 2px from
// the padding bottom, vertical rhythm is maintained.
//
// [3] Using an optional mixin, the line-height is set to 3 * baseline grid. Then
// the font-size is passed using our modular scale value.
.your-module {
margin-bottom: emRhythm(3, $ms-down1); // [1]
border-color: #000;
border-style: solid;
@include rhythmBorderBottom(2px, 3, $ms-down1); // [2]
@include setType(3, $ms-down1); // [3]
}
The outputted CSS:
.your-module {
margin-bottom: 1.59075em; /* 18px */
border-color: #000;
border-style: solid;
border-bottom-width: 2px;
padding-bottom: 1.414em; /* 16px */
font-size: 0.70721em;
line-height: 1.59075; /* 18px (Okay, not pixel perfect, 17.9999999999px) */
}
You can also look at the source code of the document site to see how it was made using Typesettings.
Sass or Stylus, that's it.
Typesettings uses relative units and many of the values outputted are a result of dividing and multiplying. So a computed pixel value like 17.999999px will sometimes happen.
Please ask questions on Gitter and use GitHub issues for bugs.
FAQs
A Sass toolkit that sets type in Ems based on modular scale, vertical rhythm, and responsive ratio based headlines.
We found that typesettings demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.