Loading repository data…
Loading repository data…
brennanbrown / repository
A curated collection of the best JavaScript libraries, CSS tricks, and interactive features for building beautiful, performant personal websites and blogs with 11ty (or any JAMstack framework).
A curated collection of the best JavaScript libraries, CSS tricks, and interactive features for building beautiful, performant personal websites and blogs with 11ty (or any JAMstack framework).
This will clone the repo to your account, set build to npm run build and publish _site/.
This repository collects the best-in-class JavaScript libraries and CSS techniques specifically curated for:
All libraries are:
npm install
npm run serve
# Open http://localhost:8080/
/, /demo/, and /demos/* (listed below)Most libraries can be installed via:
NPM/Yarn:
npm install library-name
# or
yarn add library-name
CDN (for quick prototyping):
<script src="https://unpkg.com/library-name"></script>
Direct Download: Visit the library's GitHub repository and download the latest release.
Hand-drawn style annotations with a sketchy, human feel.
npm install rough-notationimport { annotate } from 'rough-notation';
const element = document.querySelector('#myElement');
const annotation = annotate(element, { type: 'highlight', color: 'yellow' });
annotation.show();
Programmatic text highlighting and search term marking.
npm install mark.jsConverts footnotes to interactive popovers (no jQuery required!).
npm install littlefoot<link rel="stylesheet" href="https://unpkg.com/littlefoot/dist/littlefoot.css" />
<script src="https://unpkg.com/littlefoot/dist/littlefoot.js"></script>
Beautiful sidenote styling inspired by Edward Tufte's work.
Highly customizable tooltips, popovers, and dropdowns.
npm install tippy.jsimport tippy from 'tippy.js';
import 'tippy.js/dist/tippy.css';
tippy('#myButton', {
content: 'I'm a tooltip!',
theme: 'light',
animation: 'scale'
});
A zero-dependency tooltip helper that relies on CSS custom properties for styling.
Zero-dependency, touch-friendly image gallery for mobile and desktop.
Official Eleventy plugin for responsive, next-gen images (WebP/AVIF) at build time.
npm install @11ty/eleventy-imgAnimate elements as you scroll.
npm install aos<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<div data-aos="fade-up" data-aos-duration="1000">
Content that fades up!
</div>
Visual indicator of reading progress.
Performance-focused, tiny (<3kb) scroll animation library in vanilla JS. Great minimal alternative to AOS for simple reveals.
Zero-dependency utility that exposes scroll position/direction as CSS variables for CSS-driven effects.
Fluid, responsive typography with keyframe-based scaling.
Fine-grained control over typography by wrapping letters/words/lines in spans.
Display estimated reading time.
reading-time (most popular)reading-time-estimator (i18n support)@iamtraction/read-timeimport readingTime from 'reading-time';
const stats = readingTime(text);
// Output: { text: '1 min read', minutes: 1, time: 60000, words: 200 }
Medium-style image zoom effect.
npm install medium-zoomimport mediumZoom from 'medium-zoom';
mediumZoom('[data-zoomable]', {
margin: 24,
background: '#000',
scrollOffset: 0
});
Elegant syntax highlighting for code blocks.
npm install prismjsDiagrams and flowcharts from text.
npm install mermaidgraph TD
A[Start] --> B{Decision?}
B -->|Yes| C[Do Something]
B -->|No| D[Do Somethin