Tavotto
AI drew your research figure. Tavotto makes it publication-ready: edit matplotlib figures on a canvas, lay out in mm, check journal rules. Free, open source.
Use a calm design system of tokens and components
Translation pending
AI summary · README
DesignHTML · JavaScriptGitHub @tjeerdhaccouOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
tjeerdhaccou/community
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
A calm, focused design system inspired by Things 3 by Cultured Code. Built for React + TypeScript projects that value clarity, whitespace, and purposeful micro-interactions. 1. Extract de zip in je project root Edit clean-tokens.css. Eén plek, werkt overal door: Zet data-theme="dark" op je element. Tokens switchen automatisch:Read the full README ↗
A calm, focused design system inspired by Things 3 by Cultured Code. Built for React + TypeScript projects that value clarity, whitespace, and purposeful micro-interactions.
my-project/
├── src/
│ ├── styles/
│ │ ├── clean-tokens.css ← Design tokens
│ │ ├── clean-components.css ← Component styles
│ │ └── fonts/
│ │ ├── fa-solid-900.woff2
│ │ ├── fa-regular-400.woff2
│ │ └── fontawesome.min.css
│ └── components/
│ └── clean/
│ └── index.tsx ← React component library
// main.tsx
import './styles/clean-tokens.css'
import './styles/clean-components.css'
import './styles/fonts/fontawesome.min.css'
import {
Sidebar, SidebarLabel, NavItem,
Checkbox, TaskList, TaskItem,
Card, StatCard, Tag,
Button, FAB, Modal,
} from './components/clean'
function App() {
return (
<Sidebar>
<SidebarLabel>Overzicht</SidebarLabel>
<NavItem icon="fa-solid fa-inbox" color="inbox" label="Inbox" badge={3} active />
<NavItem icon="fa-solid fa-star" color="today" label="Today" />
</Sidebar>
)
}
| Principe | Betekenis |
|---|---|
| Shadows over borders | Surfaces worden gedefinieerd door schaduwdiepte, niet door lijnen |
| Color is earned | Kleur alleen voor betekenisvolle elementen: status, navigatie, acties |
| Typography does the work | Hiërarchie via gewicht en grootte, niet via decoratie |
| Whitespace is structure | Genereuze spacing creëert visuele groepering |
| Every animation has purpose | Motion bevestigt acties en behoudt ruimtelijk context |
Edit clean-tokens.css. Eén plek, werkt overal door:
/* Ander accent kleur? */
--accent-primary: #6366F1; /* was #4A90D9 */
/* Meer spacing? */
--card-padding: 28px; /* was 20px */
/* Andere schaduw? */
--shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
Zet data-theme="dark" op je <html> element. Tokens switchen automatisch:
document.documentElement.setAttribute('data-theme', 'dark')
clean-components.cssEdit de @keyframes in clean-components.css. Alle timing tokens staan in clean-tokens.css.
| Component | Props | Beschrijving |
|---|---|---|
Sidebar | className | Container voor navigatie |
SidebarLabel | children | Sectie-header in sidebar |
NavItem | icon, color, label, badge?, active?, isProject?, onClick? | Navigatie-item met gekleurd icoon |
Checkbox | checked?, onChange? | Animatied checkbox met spring bounce |
TaskList | className | Container voor taak-items |
TaskItem | title, completed?, onToggle?, meta? | Taak-rij met checkbox en metadata |
Card | variant?, hoverable?, children | Surface container (default / elevated / modal) |
StatCard | icon, iconColor, value, label, change? | Metric card met accent-gekleurd getal |
Tag | color, icon?, children, onClick? | Tinted label/pill |
Button | variant?, size?, icon?, children | Actie-button (primary / ghost / danger) |
FAB | icon?, onClick? | Floating Action Button (Magic Plus) |
Modal | open, onClose, children | Overlay met spring entrance, instant backdrop |
| Color prop | Hex | Gebruik |
|---|---|---|
inbox | #4A90D9 | Inbox |
today | #F4B400 | Today / star |
upcoming | #E74C3C | Upcoming / calendar |
anytime | #3BD269 | Anytime / layers |
someday | #C9A96E | Someday / couch |
logbook | #8E929B | Logbook / book |
blue green purple orange red pink | accent kleuren | Projecten, custom items |
blue · yellow · red · green · pink · purple · orange
Elke tag rendert als tekst op een 14% opacity achtergrond van die kleur.
Icons worden self-hosted meegeleverd (solid + regular). Ze werken zonder internetverbinding.
Alternatief: vervang de fonts/ map + fontawesome.min.css door je eigen FA kit:
<script src="https://kit.fontawesome.com/JOUW_KIT.js" crossorigin="anonymous"></script>
| Bestand | Grootte | Beschrijving |
|---|---|---|
clean-tokens.css | 17 KB | Alle design tokens als CSS custom properties |
clean-components.css | 14 KB | Component styles met cl- prefix |
index.tsx | 12 KB | React component library (TypeScript) |
ExampleApp.tsx | 8 KB | Volledig werkend voorbeeld |
fontawesome.min.css | 79 KB | FA icon unicode mappings |
fa-solid-900.woff2 | 260 KB | FA Solid font |
fa-regular-400.woff2 | 335 KB | FA Regular font |
styleguide.html | 931 KB | Interactieve visuele reference (standalone) |
Design tokens en component code: vrij te gebruiken in je projecten. Font Awesome fonts: onderhevig aan je eigen Font Awesome licentie.