9e45780ba0
First commit of the Next.js community site that powers deepseek-tui.com, deployed via Cloudflare Workers / OpenNext. This commit lands the scaffold and applies the visual + correctness pass requested by community feedback: - Palette: drop the cream/Anthropic-feel paper (#F4F1E8) for a DeepSeek-aligned cool white + soft gray (#FFFFFF / #F4F6FB), with indigo accents kept. Soften default hairlines so a pure-white background reads clean instead of harsh. - Mobile: add a hamburger menu (mobile-menu.tsx) so phones can reach Install / Docs / Activity / Roadmap / Contribute — previously the link list was hidden on phones with no replacement. Tighter hero, flexible button row, viewport-safe code blocks, columnar grids collapse cleanly under 768px, and the printed-almanac center rule is desktop-only now (it sliced through narrow viewports). - "How it works" diagram: replace the hand-rolled ASCII art (which misaligned under CJK monospace because Han characters take 2 columns vs Latin's 1, per dhh's note in WeChat) with a real mermaid diagram rendered client-side via dynamic import. Uses the mermaid.live standard syntax 庄表伟 recommended. - Issue #1104: the docs listed a `deepseek-cn` provider that the v0.8.16 binary doesn't accept (`ProviderArg` in crates/cli only has 9 variants; the 10th lives only in the legacy tui/config.rs). derive-facts.mjs now omits `deepseek-cn` until that variant is wired through the shared ProviderKind, and the install page's China-network recipe uses `base_url` / `DEEPSEEK_BASE_URL` (which actually works on v0.8.16) instead of the unsupported provider. Auto-deploys via .github/workflows/deploy-web.yml on push to main. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import type { Config } from "tailwindcss";
|
|
|
|
export default {
|
|
content: ["./app/**/*.{ts,tsx}", "./components/**/*.{ts,tsx}"],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// DeepSeek-aligned palette: cool white + soft gray, indigo accents.
|
|
// (Previous warm cream `#F4F1E8` read too "Anthropic-like".)
|
|
paper: "#FFFFFF",
|
|
"paper-deep": "#F4F6FB",
|
|
"paper-edge": "#E5E8F0",
|
|
"paper-line": "#0E0E10",
|
|
"paper-line-soft": "#D4D8E2",
|
|
ink: "#0E0E10",
|
|
"ink-soft": "#2E2E33",
|
|
"ink-mute": "#6B7280",
|
|
indigo: "#4D6BFE",
|
|
"indigo-deep": "#3A52CC",
|
|
"indigo-pale": "#E9EEFE",
|
|
ochre: "#9C7A3F",
|
|
jade: "#0AB68B",
|
|
cobalt: "#1F3A8A",
|
|
},
|
|
fontFamily: {
|
|
display: ['"Fraunces"', '"Noto Serif SC"', "ui-serif", "Georgia", "serif"],
|
|
body: ['"IBM Plex Sans"', '"Noto Sans SC"', "ui-sans-serif", "system-ui", "sans-serif"],
|
|
cjk: ['"Noto Serif SC"', '"Source Han Serif SC"', "serif"],
|
|
mono: ['"JetBrains Mono"', "ui-monospace", "Menlo", "monospace"],
|
|
},
|
|
letterSpacing: {
|
|
crisp: "-0.018em",
|
|
wider: "0.08em",
|
|
widest: "0.18em",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
} satisfies Config;
|