Files
kennethreitzandClaude Fable 5 5efb952691 Post-page elevation, refined chrome, and upstream tufte.css
Post pages:
- Chronological Older/Newer navigation at the end of every essay,
  drawn from the blog cache (with a regression test)
- A fleuron (❦) closes each dated essay
- Balanced multi-line titles (text-wrap: balance)
- Date line set in old-style figures
- Anchored headings get scroll-margin

Chrome:
- Theme toggle is now line-art SVG in ink, accent on hover (was emoji)
- Breadcrumbs in small-caps to match nav/footer
- Keep Reading entries show muted old-style years
- Search input widened to the text column, bigger serif, italic placeholder
- Figure captions as italic marginalia; footer note recedes

tufte.css: synced byte-for-byte with upstream master — gains the
sup line-height fix (sidenote references no longer distort leading)
and image sizing fixes; upstream h2/h3 sizes are overridden in
custom.css so nothing shifts visually.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 23:58:47 -04:00
..
2025-09-25 17:26:57 -04:00
2025-09-25 17:26:57 -04:00
2025-09-25 17:26:57 -04:00
2025-09-25 17:26:57 -04:00

Tufte CSS

Edward Tufte uses a distinctive style in his handouts: simple, with well-set typography, extensive sidenotes, and tight integration of graphics and charts. tufte-css brings that style to HTML documents.

This project is directly inspired by and based on Tufte-LaTeX and the R Markdown Tufte Handout.

Getting Started

The file index.html is a self-describing demonstration document that walks through the features of Tufte CSS. The live version at https://edwardtufte.github.io/tufte-css/ is the best overview of the project.

To use Tufte CSS, just copy tufte.css and the et-book font directory to your project and add the following to your HTML doc's head block:

<link rel="stylesheet" href="tufte.css"/>

All other files in the repository can be ignored, as they are merely used by the demonstration document.

Project Scope and Status

Tufte CSS is specifically a CSS-only solution for styling HTML for the web.

That means that JavaScript solutions, although often superior to pure CSS, are out of scope for this project and will not be used. Also out of scope are handling printed versions of web pages and integration with static site generators or other formats. Thankfully, all these useful applications can be well served by separate work that builds on top of Tufte CSS.

This project is maintained but not under active development. It is considered essentially feature-complete. Refactoring and new functionality are a very low priority. However, contributions are still welcome to fix bugs or add functionality.

Deploying

  1. Make changes
  2. From shell, invoke clean-css-cli: cleancss -o tufte.min.css tufte.css
  3. Bump version in package.json
  4. From shell: npm publish

Contributing

If you notice something wrong or broken, let us know by opening an issue, or better yet, a pull request with how you think it should be fixed.

Please document your issues and fixes thoroughly. This means a clear description of the concern, steps on how to reproduce it, and (if possible) before and after screenshots and links to prior discussions or commits. Please keep pull requests to one change at a time.

Fixes and new functionality should be tested against index.html on screens as small as an iPhone 4 and as big as, well, as big as you use normally. (If you don't have a mobile device handy, fake different devices with your browser's developer tools.)

See the Issues page, especially Help Wanted, for opportunities to contribute.

Contributors

License

Released under the MIT license. See LICENSE.