Files
nib-v1/web/index.html
T
lerko aa7c9aef7d feat: implement nib design system — warm amber palette, dual themes, new typography
Replace Tokyonight/Catppuccin blue palette with warm amber/ink identity.
Dual theme support (noir + paper) via data-theme attribute with
localStorage persistence. Space Grotesk for chrome, Monaspace Neon for
content. Updated glyph set (Strokes: — ○ ◇) across web and CLI.
2026-05-14 17:02:11 -04:00

87 lines
3.9 KiB
HTML

<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>nib</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/style.css">
<style>
@font-face { font-family: 'Monaspace Neon'; font-weight: 300; src: url('https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.000/fonts/webfonts/MonaspaceNeon-Light.woff2') format('woff2'); }
@font-face { font-family: 'Monaspace Neon'; font-weight: 400; src: url('https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.000/fonts/webfonts/MonaspaceNeon-Regular.woff2') format('woff2'); }
@font-face { font-family: 'Monaspace Neon'; font-weight: 500; src: url('https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.000/fonts/webfonts/MonaspaceNeon-Medium.woff2') format('woff2'); }
@font-face { font-family: 'Monaspace Neon'; font-weight: 700; src: url('https://cdn.jsdelivr.net/gh/githubnext/monaspace@v1.000/fonts/webfonts/MonaspaceNeon-Bold.woff2') format('woff2'); }
</style>
</head>
<body>
<div id="app">
<header>
<div class="header-left">
<h1 class="logo">nib</h1>
<nav>
<button data-view="stream" class="nav-btn active">stream</button>
<button data-view="cards" class="nav-btn">cards</button>
</nav>
</div>
<form id="capture-bar" autocomplete="off">
<input type="text" id="capture-input" placeholder="capture — - todo # note * event" spellcheck="false">
</form>
<button class="theme-toggle" id="theme-toggle" title="toggle theme"></button>
</header>
<main>
<aside id="tag-rail"></aside>
<section id="entity-panel">
<div id="month-nav"></div>
<div id="entity-list"></div>
</section>
<aside id="detail-pane">
<div class="detail-empty">select an entity</div>
</aside>
</main>
</div>
<div id="promote-modal" class="modal hidden">
<div class="modal-backdrop"></div>
<div class="modal-content">
<h3>promote to card</h3>
<div class="type-picker">
<button data-type="snippet" class="type-btn">
<span class="type-glyph"></span>
<span>snippet</span>
</button>
<button data-type="template" class="type-btn">
<span class="type-glyph"></span>
<span>template</span>
</button>
<button data-type="checklist" class="type-btn">
<span class="type-glyph"></span>
<span>checklist</span>
</button>
<button data-type="decision" class="type-btn">
<span class="type-glyph"></span>
<span>decision</span>
</button>
<button data-type="link" class="type-btn">
<span class="type-glyph"></span>
<span>link</span>
</button>
</div>
<button class="modal-close">esc to cancel</button>
</div>
</div>
<div id="absorb-modal" class="modal hidden">
<div class="modal-backdrop"></div>
<div class="modal-content">
<h3>absorb source into target</h3>
<div id="absorb-source-list" class="absorb-list"></div>
<button class="modal-close">esc to cancel</button>
</div>
</div>
<script src="/app.js"></script>
</body>
</html>