diff --git a/website/TODO.md b/website/TODO.md
new file mode 100644
index 0000000..0e4ef22
--- /dev/null
+++ b/website/TODO.md
@@ -0,0 +1,278 @@
+# Noteleaf Documentation TODO
+
+This document tracks documentation coverage for the Noteleaf website. The goal is to provide comprehensive documentation for both the productivity system features and the leaflet.pub publishing capabilities.
+
+## Core Concepts
+
+- [ ] Introduction to Noteleaf
+ - [ ] What is Noteleaf?
+ - [ ] Why terminal-based productivity?
+ - [ ] Unified data model philosophy
+- [ ] Installation and Setup
+ - [ ] System requirements
+ - [ ] Building from source
+ - [ ] Configuration overview
+ - [ ] Database initialization
+ - [ ] Seeding sample data
+- [ ] Architecture Overview
+ - [ ] Application structure
+ - [ ] Storage and database
+ - [ ] TUI framework (Bubble Tea)
+ - [ ] Color palette and design system
+
+## Task Management
+
+- [ ] Task Basics
+ - [ ] Creating tasks
+ - [ ] Task properties (priority, project, tags, due dates)
+ - [ ] Task statuses and lifecycle
+ - [ ] Task dependencies
+- [ ] Task Operations
+ - [ ] Listing and filtering tasks
+ - [ ] Updating tasks
+ - [ ] Completing and deleting tasks
+ - [ ] Recurring tasks
+- [ ] Time Tracking
+ - [ ] Starting and stopping time tracking
+ - [ ] Viewing timesheets
+ - [ ] Time reports and analytics
+- [ ] Task Organization
+ - [ ] Projects
+ - [ ] Contexts
+ - [ ] Tags
+ - [ ] Custom attributes
+- [ ] Advanced Task Features
+ - [ ] Task queries and filters
+ - [ ] Custom views
+ - [ ] Batch operations
+ - [ ] Task templates
+
+## Note Taking
+
+- [ ] Note Basics
+ - [ ] Creating notes
+ - [ ] Note metadata (title, tags, dates)
+ - [ ] Markdown support
+- [ ] Note Operations
+ - [ ] Creating from command line vs editor
+ - [ ] Creating from files
+ - [ ] Editing notes
+ - [ ] Reading and viewing notes
+ - [ ] Searching notes
+- [ ] Note Organization
+ - [ ] Tagging system
+ - [ ] Linking notes to tasks
+ - [ ] Note templates
+- [ ] Advanced Note Features
+ - [ ] Full-text search
+ - [ ] Note exports
+ - [ ] Backlinks and references
+
+## Media Tracking
+
+- [ ] Books
+ - [ ] Adding books (manual and Open Library integration)
+ - [ ] Reading progress tracking
+ - [ ] Reading status (to-read, reading, finished)
+ - [ ] Book metadata and search
+ - [ ] Reading lists
+- [ ] Movies
+ - [ ] Adding movies
+ - [ ] Watch status
+ - [ ] Movie metadata
+ - [ ] Watchlists
+- [ ] TV Shows
+ - [ ] Adding TV shows
+ - [ ] Watch status
+ - [ ] Episode tracking
+ - [ ] Show metadata
+- [ ] Media Organization
+ - [ ] Tags and categories
+ - [ ] Custom lists
+ - [ ] Ratings and reviews
+ - [ ] Linking media to notes
+
+## Articles
+
+- [ ] Article Management
+ - [ ] Saving articles from URLs
+ - [ ] Article parsing and extraction
+ - [ ] Reading articles in terminal
+ - [ ] Article metadata (author, date, source)
+- [ ] Article Organization
+ - [ ] Filtering by author
+ - [ ] Tagging articles
+ - [ ] Read/unread status
+ - [ ] Article archives
+
+## Leaflet.pub Publishing
+
+- [ ] Introduction to Leaflet
+ - [ ] What is leaflet.pub?
+ - [ ] ATProto and decentralized publishing
+ - [ ] How Noteleaf integrates with Leaflet
+- [ ] Publications
+ - [ ] Creating publications
+ - [ ] Publication metadata
+ - [ ] Managing publications
+- [ ] Documents
+ - [ ] Document structure
+ - [ ] Creating documents
+ - [ ] Document drafts
+ - [ ] Publishing workflow
+- [ ] Rich Text and Blocks
+ - [ ] Text blocks
+ - [ ] Headers
+ - [ ] Code blocks
+ - [ ] Images and media
+ - [ ] Blockquotes
+ - [ ] Lists
+ - [ ] Horizontal rules
+- [ ] Rich Text Formatting
+ - [ ] Bold, italic, code
+ - [ ] Links
+ - [ ] Strikethrough, underline, highlight
+ - [ ] Facets and styling
+- [ ] Publishing Workflow
+ - [ ] Converting notes to leaflet documents
+ - [ ] Draft management
+ - [ ] Publishing to leaflet.pub
+ - [ ] Updating published documents
+ - [ ] Authentication and identity
+
+## Configuration
+
+- [ ] Configuration File
+ - [ ] Config file location and structure
+ - [ ] Configuration options reference
+ - [ ] Editor integration
+ - [ ] Default values
+- [ ] Environment Variables
+ - [ ] Supported environment variables
+ - [ ] Overriding defaults
+- [ ] Customization
+ - [ ] Custom themes (if supported)
+ - [ ] Keyboard shortcuts
+ - [ ] Output formats
+
+## TUI (Terminal UI)
+
+- [ ] Interactive Mode
+ - [ ] Navigation
+ - [ ] Keyboard shortcuts
+ - [ ] Selection and actions
+ - [ ] Help screens
+- [ ] Static Mode
+ - [ ] Command-line output
+ - [ ] Scripting with Noteleaf
+ - [ ] Output formatting
+ - [ ] JSON output
+
+## Integration and Workflows
+
+- [ ] External Integrations
+ - [ ] Open Library API
+ - [ ] Leaflet.pub API
+ - [ ] ATProto authentication
+- [ ] Workflows and Examples
+ - [ ] Daily task review workflow
+ - [ ] Note-taking for research
+ - [ ] Reading list management
+ - [ ] Publishing a blog post to leaflet.pub
+ - [ ] Linking tasks, notes, and media
+- [ ] Import/Export
+ - [ ] Exporting data
+ - [ ] Backup and restore
+ - [ ] Migration from other tools
+
+## CLI Reference
+
+- [ ] Command Structure
+ - [ ] Global flags
+ - [ ] Command hierarchy
+ - [ ] Help system
+- [ ] Commands by Category
+ - [ ] `task` commands
+ - [ ] `note` commands
+ - [ ] `media` commands (book, movie, tv)
+ - [ ] `article` commands
+ - [ ] `pub` commands (leaflet publishing)
+ - [ ] `config` commands
+ - [ ] `setup` commands
+ - [ ] `status` commands
+- [ ] Development Tools
+ - [ ] `tools` subcommand
+ - [ ] Documentation generation
+ - [ ] Lexicon fetching
+ - [ ] Database utilities
+
+## Development
+
+- [ ] Building Noteleaf
+ - [ ] Development vs production builds
+ - [ ] Build tags
+ - [ ] Task automation (Taskfile)
+- [ ] Testing
+ - [ ] Running tests
+ - [ ] Coverage reports
+ - [ ] Test patterns and scaffolding
+- [ ] Contributing
+ - [ ] Code organization
+ - [ ] Adding new commands
+ - [ ] UI components
+ - [ ] Testing requirements
+- [ ] Architecture Deep Dive
+ - [ ] Repository pattern
+ - [ ] Handler architecture
+ - [ ] Service layer
+ - [ ] Data models
+ - [ ] UI component system
+
+## Troubleshooting
+
+- [ ] Common Issues
+ - [ ] Database errors
+ - [ ] Configuration problems
+ - [ ] Integration failures
+- [ ] Debugging
+ - [ ] Verbose output
+ - [ ] Log files
+ - [ ] Development mode
+- [ ] FAQ
+ - [ ] General questions
+ - [ ] Platform-specific issues
+ - [ ] Performance optimization
+
+## Examples and Tutorials
+
+- [ ] Getting Started Tutorial
+ - [ ] First 15 minutes
+ - [ ] Essential workflows
+- [ ] Task Management Tutorials
+ - [ ] GTD workflow
+ - [ ] Time blocking
+ - [ ] Project planning
+- [ ] Note-Taking Tutorials
+ - [ ] Zettelkasten method
+ - [ ] Research notes
+ - [ ] Meeting notes
+- [ ] Publishing Tutorials
+ - [ ] Writing a blog post
+ - [ ] Creating a publication
+ - [ ] Managing drafts
+- [ ] Advanced Tutorials
+ - [ ] Scripting with Noteleaf
+ - [ ] Custom automation
+ - [ ] Data analysis
+
+## Appendices
+
+- [ ] Glossary
+- [ ] Keyboard Shortcuts Reference
+- [ ] Configuration Options Reference
+- [ ] API Reference (leaflet schema)
+- [ ] Color Palette Reference
+- [ ] Migration Guides
+ - [ ] From TaskWarrior
+ - [ ] From todo.txt
+ - [ ] From other note-taking apps
diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts
index 6d4c69a..beb9e2f 100644
--- a/website/docusaurus.config.ts
+++ b/website/docusaurus.config.ts
@@ -27,7 +27,7 @@ const config: Config = {
],
themeConfig: {
- image: "img/docusaurus-social-card.jpg",
+ image: "img/social-card.png",
colorMode: { respectPrefersColorScheme: true },
navbar: {
title: "My Site",
diff --git a/website/generate-social-card.mjs b/website/generate-social-card.mjs
new file mode 100644
index 0000000..3d27f11
--- /dev/null
+++ b/website/generate-social-card.mjs
@@ -0,0 +1,152 @@
+import satori from 'satori';
+import { html } from 'satori-html';
+import sharp from 'sharp';
+import { readFile, writeFile } from 'fs/promises';
+
+// Color palette from internal/ui/palette.go
+const colors = {
+ bgBase: '#201F26', // Pepper
+ bgSecondary: '#2d2c35', // BBQ
+ textPrimary: '#F1EFEF', // Salt
+ textSecondary: '#BFBCC8', // Smoke
+ primary: '#00A4FF', // Malibu
+ success: '#00FFB2', // Julep
+ accent: '#5CDFEA', // Lichen
+ warning: '#FF985A', // Tang
+};
+
+async function generateSocialCard() {
+ // Load bundled font from fontsource
+ const fontData = await readFile('./node_modules/@fontsource/google-sans-code/files/google-sans-code-latin-400-normal.woff');
+
+ const markup = html`
+
+
+
+ $
+ noteleaf --help
+
+
+
+
noteleaf
+
+
+ A terminal-based productivity system for tasks, notes, and media tracking
+
+
+
+
+
+ >
+ Tasks
+
+
+ >
+ Notes
+
+
+ >
+ Media
+
+
+
+
+
+
+
+ stormlightlabs.github.io/noteleaf
+
+
Open Source
+
+
+ tangled.org/@desertthunder.dev/noteleaf
+
+
+
+ `;
+
+ const svg = await satori(markup, {
+ width: 1200,
+ height: 630,
+ fonts: [
+ {
+ name: 'Google Sans Code',
+ data: fontData,
+ weight: 400,
+ style: 'normal',
+ },
+ ],
+ });
+
+ // Convert SVG to PNG using sharp
+ const pngBuffer = await sharp(Buffer.from(svg))
+ .png()
+ .toBuffer();
+
+ // Write the PNG file
+ await writeFile('./static/img/social-card.png', pngBuffer);
+
+ console.log('Social card generated successfully: static/img/social-card.png');
+}
+
+generateSocialCard().catch(console.error);
diff --git a/website/package.json b/website/package.json
index ef3a7c6..5c76a43 100644
--- a/website/package.json
+++ b/website/package.json
@@ -12,16 +12,21 @@
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
- "typecheck": "tsc"
+ "typecheck": "tsc",
+ "generate-social-card": "node generate-social-card.mjs"
},
"dependencies": {
"@docusaurus/core": "3.9.1",
"@docusaurus/preset-classic": "3.9.1",
+ "@fontsource/lato": "^5.1.0",
"@mdx-js/react": "^3.0.0",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^19.0.0",
- "react-dom": "^19.0.0"
+ "react-dom": "^19.0.0",
+ "satori": "^0.14.1",
+ "satori-html": "^0.3.2",
+ "sharp": "^0.33.5"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "3.9.1",
diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml
index 9a7892d..a7a886b 100644
--- a/website/pnpm-lock.yaml
+++ b/website/pnpm-lock.yaml
@@ -14,6 +14,9 @@ importers:
'@docusaurus/preset-classic':
specifier: 3.9.1
version: 3.9.1(@algolia/client-search@5.39.0)(@mdx-js/react@3.1.1(@types/react@19.2.0)(react@19.2.0))(@types/react@19.2.0)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(search-insights@2.17.3)(typescript@5.6.3)
+ '@fontsource/lato':
+ specifier: ^5.1.0
+ version: 5.2.7
'@mdx-js/react':
specifier: ^3.0.0
version: 3.1.1(@types/react@19.2.0)(react@19.2.0)
@@ -29,6 +32,15 @@ importers:
react-dom:
specifier: ^19.0.0
version: 19.2.0(react@19.2.0)
+ satori:
+ specifier: ^0.14.1
+ version: 0.14.1
+ satori-html:
+ specifier: ^0.3.2
+ version: 0.3.2
+ sharp:
+ specifier: ^0.33.5
+ version: 0.33.5
devDependencies:
'@docusaurus/module-type-aliases':
specifier: 3.9.1
@@ -1188,12 +1200,123 @@ packages:
resolution: {integrity: sha512-YAL4yhhWLl9DXuf5MVig260a6INz4MehrBGFU/CZu8yXmRiYEuQvRFWh9ZsjfAOyaG7za1MNmBVZ4VVAi/CiJA==}
engines: {node: '>=20.0'}
+ '@emnapi/runtime@1.7.0':
+ resolution: {integrity: sha512-oAYoQnCYaQZKVS53Fq23ceWMRxq5EhQsE0x0RdQ55jT7wagMu5k+fS39v1fiSLrtrLQlXwVINenqhLMtTrV/1Q==}
+
+ '@fontsource/lato@5.2.7':
+ resolution: {integrity: sha512-k5mum1ADbDW5cTw1Ett1eQVWeoZ6gq0ct6SFBibEhB4LRxhniChJZTBgd6ph5yBxLkN1fcnsnmicBNA4S/3nbw==}
+
'@hapi/hoek@9.3.0':
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
'@hapi/topo@5.1.0':
resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
+ '@img/sharp-darwin-arm64@0.33.5':
+ resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.33.5':
+ resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
+ cpu: [arm]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-linux-arm64@0.33.5':
+ resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-linux-arm@0.33.5':
+ resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@img/sharp-linux-s390x@0.33.5':
+ resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-linux-x64@0.33.5':
+ resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-wasm32@0.33.5':
+ resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-ia32@0.33.5':
+ resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.33.5':
+ resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
'@jest/schemas@29.6.3':
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -1300,6 +1423,11 @@ packages:
'@polka/url@1.0.0-next.29':
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
+ '@shuding/opentype.js@1.4.0-beta.0':
+ resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==}
+ engines: {node: '>= 8.0.0'}
+ hasBin: true
+
'@sideway/address@4.1.5':
resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
@@ -1778,6 +1906,10 @@ packages:
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ base64-js@0.0.8:
+ resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==}
+ engines: {node: '>= 0.4'}
+
baseline-browser-mapping@2.8.11:
resolution: {integrity: sha512-i+sRXGhz4+QW8aACZ3+r1GAKMt0wlFpeA8M5rOQd0HEYw9zhDrlx9Wc8uQ0IdXakjJRthzglEwfB/yqIjO6iDg==}
hasBin: true
@@ -1872,6 +2004,9 @@ packages:
resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
engines: {node: '>=14.16'}
+ camelize@1.0.1:
+ resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
+
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
@@ -1958,6 +2093,13 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+
+ color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+
colord@2.9.3:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
@@ -2076,18 +2218,32 @@ packages:
resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==}
engines: {node: '>=12'}
+ css-background-parser@0.1.0:
+ resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==}
+
css-blank-pseudo@7.0.1:
resolution: {integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==}
engines: {node: '>=18'}
peerDependencies:
postcss: ^8.4
+ css-box-shadow@1.0.0-3:
+ resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==}
+
+ css-color-keywords@1.0.0:
+ resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
+ engines: {node: '>=4'}
+
css-declaration-sorter@7.3.0:
resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==}
engines: {node: ^14 || ^16 || >=18}
peerDependencies:
postcss: ^8.0.9
+ css-gradient-parser@0.0.16:
+ resolution: {integrity: sha512-3O5QdqgFRUbXvK1x5INf1YkBz1UKSWqrd63vWsum8MNHDBYD5urm3QtxZbKU259OrEXNM26lP/MPY3d1IGkBgA==}
+ engines: {node: '>=16'}
+
css-has-pseudo@7.0.3:
resolution: {integrity: sha512-oG+vKuGyqe/xvEMoxAQrhi7uY16deJR3i7wwhBerVrGQKSqUC5GiOVxTpM9F9B9hw0J+eKeOWLH7E9gZ1Dr5rA==}
engines: {node: '>=18'}
@@ -2143,6 +2299,9 @@ packages:
css-select@5.2.2:
resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
+ css-to-react-native@3.2.0:
+ resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+
css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
@@ -2273,6 +2432,10 @@ packages:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ detect-libc@2.1.2:
+ resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
+ engines: {node: '>=8'}
+
detect-node@2.1.0:
resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
@@ -2341,6 +2504,10 @@ packages:
electron-to-chromium@1.5.230:
resolution: {integrity: sha512-A6A6Fd3+gMdaed9wX83CvHYJb4UuapPD5X5SLq72VZJzxHSY0/LUweGXRWmQlh2ln7KV7iw7jnwXK7dlPoOnHQ==}
+ emoji-regex-xs@2.0.1:
+ resolution: {integrity: sha512-1QFuh8l7LqUcKe24LsPUNzjrzJQ7pgRwp1QMcZ5MX6mFplk2zQ08NVCM84++1cveaUUYtcCYHmeFEuNg16sU4g==}
+ engines: {node: '>=10.0.0'}
+
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -2541,6 +2708,9 @@ packages:
resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
engines: {node: '>=0.4.0'}
+ fflate@0.7.4:
+ resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
+
figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@@ -2734,6 +2904,10 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
+ hex-rgb@4.3.0:
+ resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==}
+ engines: {node: '>=6'}
+
history@4.10.1:
resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
@@ -2898,6 +3072,9 @@ packages:
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ is-arrayish@0.3.4:
+ resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==}
+
is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'}
@@ -3107,6 +3284,9 @@ packages:
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
engines: {node: '>=14'}
+ linebreak@1.1.0:
+ resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==}
+
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
@@ -3585,6 +3765,9 @@ packages:
resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==}
engines: {node: '>=14.16'}
+ pako@0.2.9:
+ resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
+
param-case@3.0.4:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
@@ -3592,6 +3775,9 @@ packages:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
+ parse-css-color@0.2.1:
+ resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==}
+
parse-entities@4.0.2:
resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
@@ -4316,6 +4502,13 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ satori-html@0.3.2:
+ resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==}
+
+ satori@0.14.1:
+ resolution: {integrity: sha512-BEiQzv1Mn3QpNzBvMtlZUQfby8iYt/RXvLfxBSwQpGaQjAmCNhzfgN6XZWWcTQM6j2k3r2LCxD+0heNAteg5Ng==}
+ engines: {node: '>=16'}
+
sax@1.4.1:
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
@@ -4395,6 +4588,10 @@ packages:
shallowequal@1.1.0:
resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
+ sharp@0.33.5:
+ resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+
shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -4426,6 +4623,9 @@ packages:
signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ simple-swizzle@0.2.4:
+ resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==}
+
sirv@2.0.4:
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
engines: {node: '>= 10'}
@@ -4511,6 +4711,9 @@ packages:
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
engines: {node: '>=12'}
+ string.prototype.codepointat@0.2.1:
+ resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
+
string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
@@ -4623,6 +4826,9 @@ packages:
thunky@1.1.0:
resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
+ tiny-inflate@1.0.3:
+ resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
+
tiny-invariant@1.3.3:
resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
@@ -4684,6 +4890,9 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ ultrahtml@1.6.0:
+ resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==}
+
undici-types@7.13.0:
resolution: {integrity: sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==}
@@ -4707,6 +4916,9 @@ packages:
resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==}
engines: {node: '>=4'}
+ unicode-trie@2.0.0:
+ resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==}
+
unified@11.0.5:
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
@@ -4941,6 +5153,9 @@ packages:
resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==}
engines: {node: '>=12.20'}
+ yoga-wasm-web@0.3.3:
+ resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
+
zod@4.1.11:
resolution: {integrity: sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==}
@@ -6901,12 +7116,94 @@ snapshots:
- uglify-js
- webpack-cli
+ '@emnapi/runtime@1.7.0':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@fontsource/lato@5.2.7': {}
+
'@hapi/hoek@9.3.0': {}
'@hapi/topo@5.1.0':
dependencies:
'@hapi/hoek': 9.3.0
+ '@img/sharp-darwin-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ optional: true
+
+ '@img/sharp-linux-s390x@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-wasm32@0.33.5':
+ dependencies:
+ '@emnapi/runtime': 1.7.0
+ optional: true
+
+ '@img/sharp-win32-ia32@0.33.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.33.5':
+ optional: true
+
'@jest/schemas@29.6.3':
dependencies:
'@sinclair/typebox': 0.27.8
@@ -7045,6 +7342,11 @@ snapshots:
'@polka/url@1.0.0-next.29': {}
+ '@shuding/opentype.js@1.4.0-beta.0':
+ dependencies:
+ fflate: 0.7.4
+ string.prototype.codepointat: 0.2.1
+
'@sideway/address@4.1.5':
dependencies:
'@hapi/hoek': 9.3.0
@@ -7599,6 +7901,8 @@ snapshots:
balanced-match@1.0.2: {}
+ base64-js@0.0.8: {}
+
baseline-browser-mapping@2.8.11: {}
batch@0.6.1: {}
@@ -7720,6 +8024,8 @@ snapshots:
camelcase@7.0.1: {}
+ camelize@1.0.1: {}
+
caniuse-api@3.0.0:
dependencies:
browserslist: 4.26.3
@@ -7813,6 +8119,16 @@ snapshots:
color-name@1.1.4: {}
+ color-string@1.9.1:
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.4
+
+ color@4.2.3:
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+
colord@2.9.3: {}
colorette@2.0.20: {}
@@ -7921,15 +8237,23 @@ snapshots:
dependencies:
type-fest: 1.4.0
+ css-background-parser@0.1.0: {}
+
css-blank-pseudo@7.0.1(postcss@8.5.6):
dependencies:
postcss: 8.5.6
postcss-selector-parser: 7.1.0
+ css-box-shadow@1.0.0-3: {}
+
+ css-color-keywords@1.0.0: {}
+
css-declaration-sorter@7.3.0(postcss@8.5.6):
dependencies:
postcss: 8.5.6
+ css-gradient-parser@0.0.16: {}
+
css-has-pseudo@7.0.3(postcss@8.5.6):
dependencies:
'@csstools/selector-specificity': 5.0.0(postcss-selector-parser@7.1.0)
@@ -7982,6 +8306,12 @@ snapshots:
domutils: 3.2.2
nth-check: 2.1.1
+ css-to-react-native@3.2.0:
+ dependencies:
+ camelize: 1.0.1
+ css-color-keywords: 1.0.0
+ postcss-value-parser: 4.2.0
+
css-tree@2.2.1:
dependencies:
mdn-data: 2.0.28
@@ -8114,6 +8444,8 @@ snapshots:
destroy@1.2.0: {}
+ detect-libc@2.1.2: {}
+
detect-node@2.1.0: {}
detect-port@1.6.1:
@@ -8196,6 +8528,8 @@ snapshots:
electron-to-chromium@1.5.230: {}
+ emoji-regex-xs@2.0.1: {}
+
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
@@ -8414,6 +8748,8 @@ snapshots:
dependencies:
xml-js: 1.6.11
+ fflate@0.7.4: {}
+
figures@3.2.0:
dependencies:
escape-string-regexp: 1.0.5
@@ -8679,6 +9015,8 @@ snapshots:
he@1.2.0: {}
+ hex-rgb@4.3.0: {}
+
history@4.10.1:
dependencies:
'@babel/runtime': 7.28.4
@@ -8851,6 +9189,8 @@ snapshots:
is-arrayish@0.2.1: {}
+ is-arrayish@0.3.4: {}
+
is-binary-path@2.1.0:
dependencies:
binary-extensions: 2.3.0
@@ -9018,6 +9358,11 @@ snapshots:
lilconfig@3.1.3: {}
+ linebreak@1.1.0:
+ dependencies:
+ base64-js: 0.0.8
+ unicode-trie: 2.0.0
+
lines-and-columns@1.2.4: {}
loader-runner@4.3.0: {}
@@ -9756,6 +10101,8 @@ snapshots:
registry-url: 6.0.1
semver: 7.7.2
+ pako@0.2.9: {}
+
param-case@3.0.4:
dependencies:
dot-case: 3.0.4
@@ -9765,6 +10112,11 @@ snapshots:
dependencies:
callsites: 3.1.0
+ parse-css-color@0.2.1:
+ dependencies:
+ color-name: 1.1.4
+ hex-rgb: 4.3.0
+
parse-entities@4.0.2:
dependencies:
'@types/unist': 2.0.11
@@ -10605,6 +10957,24 @@ snapshots:
safer-buffer@2.1.2: {}
+ satori-html@0.3.2:
+ dependencies:
+ ultrahtml: 1.6.0
+
+ satori@0.14.1:
+ dependencies:
+ '@shuding/opentype.js': 1.4.0-beta.0
+ css-background-parser: 0.1.0
+ css-box-shadow: 1.0.0-3
+ css-gradient-parser: 0.0.16
+ css-to-react-native: 3.2.0
+ emoji-regex-xs: 2.0.1
+ escape-html: 1.0.3
+ linebreak: 1.1.0
+ parse-css-color: 0.2.1
+ postcss-value-parser: 4.2.0
+ yoga-wasm-web: 0.3.3
+
sax@1.4.1: {}
scheduler@0.27.0: {}
@@ -10718,6 +11088,32 @@ snapshots:
shallowequal@1.1.0: {}
+ sharp@0.33.5:
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.1.2
+ semver: 7.7.2
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.5
+ '@img/sharp-darwin-x64': 0.33.5
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ '@img/sharp-linux-arm': 0.33.5
+ '@img/sharp-linux-arm64': 0.33.5
+ '@img/sharp-linux-s390x': 0.33.5
+ '@img/sharp-linux-x64': 0.33.5
+ '@img/sharp-linuxmusl-arm64': 0.33.5
+ '@img/sharp-linuxmusl-x64': 0.33.5
+ '@img/sharp-wasm32': 0.33.5
+ '@img/sharp-win32-ia32': 0.33.5
+ '@img/sharp-win32-x64': 0.33.5
+
shebang-command@2.0.0:
dependencies:
shebang-regex: 3.0.0
@@ -10756,6 +11152,10 @@ snapshots:
signal-exit@3.0.7: {}
+ simple-swizzle@0.2.4:
+ dependencies:
+ is-arrayish: 0.3.4
+
sirv@2.0.4:
dependencies:
'@polka/url': 1.0.0-next.29
@@ -10848,6 +11248,8 @@ snapshots:
emoji-regex: 9.2.2
strip-ansi: 7.1.2
+ string.prototype.codepointat@0.2.1: {}
+
string_decoder@1.1.1:
dependencies:
safe-buffer: 5.1.2
@@ -10951,6 +11353,8 @@ snapshots:
thunky@1.1.0: {}
+ tiny-inflate@1.0.3: {}
+
tiny-invariant@1.3.3: {}
tiny-warning@1.0.3: {}
@@ -10992,6 +11396,8 @@ snapshots:
typescript@5.6.3: {}
+ ultrahtml@1.6.0: {}
+
undici-types@7.13.0: {}
unicode-canonical-property-names-ecmascript@2.0.1: {}
@@ -11007,6 +11413,11 @@ snapshots:
unicode-property-aliases-ecmascript@2.2.0: {}
+ unicode-trie@2.0.0:
+ dependencies:
+ pako: 0.2.9
+ tiny-inflate: 1.0.3
+
unified@11.0.5:
dependencies:
'@types/unist': 3.0.3
@@ -11312,6 +11723,8 @@ snapshots:
yocto-queue@1.2.1: {}
+ yoga-wasm-web@0.3.3: {}
+
zod@4.1.11: {}
zwitch@2.0.4: {}
diff --git a/website/pnpm-workspace.yaml b/website/pnpm-workspace.yaml
new file mode 100644
index 0000000..e6654d6
--- /dev/null
+++ b/website/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+onlyBuiltDependencies:
+ - sharp
diff --git a/website/src/components/HomepageFeatures/index.tsx b/website/src/components/HomepageFeatures/index.tsx
index c2551fb..ae34536 100644
--- a/website/src/components/HomepageFeatures/index.tsx
+++ b/website/src/components/HomepageFeatures/index.tsx
@@ -5,49 +5,42 @@ import styles from './styles.module.css';
type FeatureItem = {
title: string;
- Svg: React.ComponentType>;
description: ReactNode;
};
const FeatureList: FeatureItem[] = [
{
- title: 'Easy to Use',
- Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
+ title: 'Terminal-First Interface',
description: (
<>
- Docusaurus was designed from the ground up to be easily installed and
- used to get your website up and running quickly.
+ Built for the command line with a beautiful, keyboard-driven interface
+ using the Bubble Tea framework.
>
),
},
{
- title: 'Focus on What Matters',
- Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
+ title: 'Task Management',
description: (
<>
- Docusaurus lets you focus on your docs, and we'll do the chores. Go
- ahead and move your docs into the docs directory.
+ Organize your tasks with projects, priorities, tags, and due dates.
+ Track your progress with statuses and time estimates.
>
),
},
{
- title: 'Powered by React',
- Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
+ title: 'Knowledge Base',
description: (
<>
- Extend or customize your website layout by reusing React. Docusaurus can
- be extended while reusing the same header and footer.
+ Keep notes, track books, movies, and TV shows. Link everything together
+ with tags and projects.
>
),
},
];
-function Feature({title, Svg, description}: FeatureItem) {
+function Feature({title, description}: FeatureItem) {
return (
-
-
-
{title}
{description}
diff --git a/website/src/css/custom.css b/website/src/css/custom.css
index 2bc6a4c..8a1cc5b 100644
--- a/website/src/css/custom.css
+++ b/website/src/css/custom.css
@@ -1,30 +1,88 @@
/**
- * Any CSS included here will be global. The classic template
- * bundles Infima by default. Infima is a CSS framework designed to
- * work well for content-centric websites.
+ * Noteleaf Documentation Site Styles
+ * Using color palette from internal/ui/palette.go
+ * Font: Lato
*/
-/* You can override the default Infima variables here. */
+@import '@fontsource/lato/300.css';
+@import '@fontsource/lato/400.css';
+@import '@fontsource/lato/700.css';
+@import '@fontsource/lato/900.css';
+
:root {
- --ifm-color-primary: #2e8555;
- --ifm-color-primary-dark: #29784c;
- --ifm-color-primary-darker: #277148;
- --ifm-color-primary-darkest: #205d3b;
- --ifm-color-primary-light: #33925d;
- --ifm-color-primary-lighter: #359962;
- --ifm-color-primary-lightest: #3cad6e;
+ /* Noteleaf Color Palette - Light Mode */
+ --ifm-color-primary: #00A4FF; /* Malibu - Blue primary */
+ --ifm-color-primary-dark: #0094e6;
+ --ifm-color-primary-darker: #008ad9;
+ --ifm-color-primary-darkest: #0072b3;
+ --ifm-color-primary-light: #1aadff;
+ --ifm-color-primary-lighter: #33b7ff;
+ --ifm-color-primary-lightest: #66c9ff;
+
+ --ifm-color-success: #00FFB2; /* Julep - Green */
+ --ifm-color-info: #5CDFEA; /* Lichen - Teal */
+ --ifm-color-warning: #FF985A; /* Tang - Orange */
+ --ifm-color-danger: #EB4268; /* Sriracha - Red */
+
+ /* Background colors - Light mode uses lighter values */
+ --ifm-background-color: #FFFAF1; /* Butter */
+ --ifm-background-surface-color: #F1EFEF; /* Salt */
+
+ /* Text colors */
+ --ifm-font-color-base: #201F26; /* Pepper */
+ --ifm-font-color-secondary: #605F6B; /* Oyster */
+
+ /* Code blocks */
+ --ifm-code-background: #F1EFEF; /* Salt */
--ifm-code-font-size: 95%;
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
+
+ /* Font family */
+ --ifm-font-family-base: 'Lato', sans-serif;
+
+ --docusaurus-highlighted-code-line-bg: rgba(0, 164, 255, 0.1);
}
-/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
- --ifm-color-primary: #25c2a0;
- --ifm-color-primary-dark: #21af90;
- --ifm-color-primary-darker: #1fa588;
- --ifm-color-primary-darkest: #1a8870;
- --ifm-color-primary-light: #29d5b0;
- --ifm-color-primary-lighter: #32d8b4;
- --ifm-color-primary-lightest: #4fddbf;
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
+ /* Noteleaf Color Palette - Dark Mode */
+ --ifm-color-primary: #00A4FF; /* Malibu - Blue primary */
+ --ifm-color-primary-dark: #0094e6;
+ --ifm-color-primary-darker: #008ad9;
+ --ifm-color-primary-darkest: #0072b3;
+ --ifm-color-primary-light: #1aadff;
+ --ifm-color-primary-lighter: #33b7ff;
+ --ifm-color-primary-lightest: #66c9ff;
+
+ --ifm-color-success: #00FFB2; /* Julep - Green */
+ --ifm-color-info: #5CDFEA; /* Lichen - Teal */
+ --ifm-color-warning: #FF985A; /* Tang - Orange */
+ --ifm-color-danger: #EB4268; /* Sriracha - Red */
+
+ /* Background colors - Dark mode */
+ --ifm-background-color: #201F26; /* Pepper - Darkest base */
+ --ifm-background-surface-color: #2d2c35; /* BBQ - Secondary background */
+
+ /* Card/elevated backgrounds */
+ --ifm-card-background-color: #3A3943; /* Charcoal - Tertiary */
+
+ /* Text colors */
+ --ifm-font-color-base: #F1EFEF; /* Salt - Primary text */
+ --ifm-font-color-secondary: #BFBCC8; /* Smoke - Secondary text */
+ --ifm-font-color-base-inverse: #201F26; /* Pepper */
+
+ /* Headings */
+ --ifm-heading-color: #00A4FF; /* Malibu */
+
+ /* Code blocks */
+ --ifm-code-background: #2d2c35; /* BBQ */
+ --ifm-pre-background: #2d2c35; /* BBQ */
+
+ /* Borders */
+ --ifm-color-emphasis-300: #4D4C57; /* Iron */
+ --ifm-hr-background-color: #4D4C57; /* Iron */
+
+ /* Links */
+ --ifm-link-color: #5CDFEA; /* Lichen - Accent */
+ --ifm-link-hover-color: #00FFB2; /* Julep - Success */
+
+ --docusaurus-highlighted-code-line-bg: rgba(0, 164, 255, 0.15);
}
diff --git a/website/static/img/docusaurus-social-card.jpg b/website/static/img/docusaurus-social-card.jpg
deleted file mode 100644
index ffcb448210e1a456cb3588ae8b396a597501f187..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 55746
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