Class-light
CSS blades
inspired by Pico.css
Install CSS blades
Option A. From CDN:
<link href="https://cdn.jsdelivr.net/npm/@anydigital/blades@^0.27.0-alpha/assets/blades.min.css" rel="stylesheet" />
<link href="https://cdn.jsdelivr.net/npm/@anydigital/blades@^0.27.0-alpha/assets/blades.theme.min.css" rel="stylesheet" /><!-- optional -->
Option B. Via npm:
npm install @anydigital/blades
Then import in your .css:
@import "@anydigital/blades";
@import "@anydigital/blades.theme"; /* optional */
Living example: /anydigital/build-awesome-starter/blob/main/_styles/styles.css
Nunjucks / Liquid
HTML blades
for 11ty/Build Awesome, Jekyll, etc.
Install HTML blades
npm install @anydigital/blades
cd ./_includes # your includes dir
ln -s ../node_modules/@anydigital/blades/_includes/blades
That's it! Now you can use HTML blades in your templates like this:
{% extends 'blades/html.njk' %}
{% include 'blades/gtm.njk' %}
{% include blades/html.liquid %}
{% include blades/gtm.liquid for_body=true %}
{% render blades/links, links: site.links, current_url: page.url %}
All CSS and HTML blades above are available as a Jekyll theme:
Install as Jekyll theme
In you _config.yml:
remote_theme: anydigital/blades@v0.27.0-beta # or latest
plugins:
- jekyll-remote-theme
Living example: /anydigital/bladeswitch/blob/main/_config.yml
Or use a preconfigured template:
🥷 Bladeswitch Starter ↗ Jekyll ⁺ Pico ⁺ Blades
Build Awesome plugin
Eleventy blades
Ultimate blade kit for 11ty (Build Awesome).
Install Eleventy blades
npm install @anydigital/eleventy-blades
Then choose one of the following options:
Option A. Starting 11ty from scratch?
Consider symlinking entire eleventy.config.js:
ln -s ./node_modules/@anydigital/eleventy-blades/src/eleventy.config.js
Learn more: /build-awesome-11ty/tools/#base-config
Living examples:
Option B. Adding to existing 11ty site?
Install as a plugin in your eleventy.config.js (recommended):
import eleventyBladesPlugin from "@anydigital/eleventy-blades";
export default function (eleventyConfig) {
eleventyConfig.addPlugin(eleventyBladesPlugin, {
mdAutoRawTags: true,
mdAutoNl2br: true,
autoLinkFavicons: true,
siteData: true,
filters: ["attr_set", "attr_concat", ...],
});
}
Option C. Individual imports
For advanced usage, import individual components only in eleventy.config.js:
import { siteData, mdAutoRawTags, mdAutoNl2br, autoLinkFavicons, attrSetFilter, attrConcatFilter, ... } from "@anydigital/eleventy-blades";
export default function (eleventyConfig) {
siteData(eleventyConfig);
mdAutoRawTags(eleventyConfig);
mdAutoNl2br(eleventyConfig);
autoLinkFavicons(eleventyConfig);
attrSetFilter(eleventyConfig);
attrConcatFilter(eleventyConfig);
...
}
Or use a preconfigured template:
🥷 Build Awesome Starter ↗ 11ty ⁺ Tailwind ⁺ Typography ⁺ Blades
- Featured by:
- Showcase:
any.digital (Pico ⁺ Blades)
build.blades.ninja (Tailwind ⁺ Blades)
bladeswitch.com (Pico ⁺ Blades)
minform.hostfurl.com (Pico ⁺ Blades)
- Credits:
picocss.com for inspiration
11ty.dev for build power
Explore
Awesome blades ↗
Backlog:
Awesome tools and tricks used in Blades:
/antigravity tricks
/git tricks
/jsdelivr tricks
/md tricks
/mobile-dev tricks
/npm tricks
/random tricks
/symbols