03e982281c
- Bundle Satoshi (sans) and JetBrains Mono in web/fonts/ - New fonts.css with @font-face declarations - Remove Google Fonts preconnect and stylesheet link - Update --sans token: Satoshi replaces Space Grotesk/Inter - Zero external font requests, works fully offline - Keep extra fonts (Geo, Mooli, StackSansNotch) for future use
87 lines
3.5 KiB
HTML
87 lines
3.5 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="stylesheet" href="/fonts.css">
|
|
<link rel="stylesheet" href="/style.css">
|
|
</head>
|
|
<body>
|
|
<div id="app">
|
|
<header>
|
|
<div class="header-left">
|
|
<span class="logo">nib</span>
|
|
<nav>
|
|
<button data-view="stream" class="nav-btn active">stream</button>
|
|
<button data-view="cards" class="nav-btn">cards</button>
|
|
</nav>
|
|
</div>
|
|
<div class="header-search">
|
|
<input type="text" id="search-input" placeholder="? search #tag" spellcheck="false">
|
|
</div>
|
|
<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>
|
|
<div id="capture-bar"></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="modal-sub" id="promote-sub"></div>
|
|
<div class="type-picker">
|
|
<button data-type="snippet" class="type-btn">
|
|
<span class="type-glyph glyph-snippet">◆</span>
|
|
<span class="type-name">snippet</span>
|
|
<span class="type-hint">quick reference, command, code</span>
|
|
</button>
|
|
<button data-type="template" class="type-btn">
|
|
<span class="type-glyph glyph-template">◈</span>
|
|
<span class="type-name">template</span>
|
|
<span class="type-hint">fillable with ${slot}s</span>
|
|
</button>
|
|
<button data-type="checklist" class="type-btn">
|
|
<span class="type-glyph glyph-checklist">☐</span>
|
|
<span class="type-name">checklist</span>
|
|
<span class="type-hint">step-by-step process</span>
|
|
</button>
|
|
<button data-type="decision" class="type-btn">
|
|
<span class="type-glyph glyph-decision">⚖</span>
|
|
<span class="type-name">decision</span>
|
|
<span class="type-hint">record a choice + rationale</span>
|
|
</button>
|
|
<button data-type="link" class="type-btn">
|
|
<span class="type-glyph glyph-link">↗</span>
|
|
<span class="type-name">link</span>
|
|
<span class="type-hint">reference URL</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="https://cdn.jsdelivr.net/npm/marked@15/marked.min.js"></script>
|
|
<script src="/app.js"></script>
|
|
</body>
|
|
</html>
|