尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证The missing collateral efficiency layer for institutional finance - landing page
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗The landing page and writing/blog for Fullmetal.Finance — the collateral efficiency layer for institutional finance (an execution venue and collateral management protocol for OTC derivatives).
This repo is only the marketing site. Demo apps live in separate repos and deploy to
their own subdomains (e.g. demo.fullmetal.finance); this site just links out to them.
@theme in app/globals.css)gray-matter + markedoutput: static-friendly)⚠️ This is Next.js 16. Some APIs differ from older versions — notably the dynamic request APIs (
params,searchParams,cookies(),headers()) are async and must beawaited. SeeAGENTS.md. This site is static and doesn't use them, but keep it in mind when extending.
npm install
npm run dev # http://localhost:3000
| Script | What it does |
|---|---|
npm run dev | Dev server with hot reload |
npm run build | Production build (prerenders routes) |
npm run start | Serve the production build locally |
npm run lint | ESLint |
app/
layout.tsx Root layout — metadata, JSON-LD (Organization), fonts
page.tsx Home (hero + footer)
globals.css Design tokens, theme, .eyebrow + .prose styles
icon.png Favicon (auto-detected by Next)
robots.ts → /robots.txt
sitemap.ts → /sitemap.xml (includes blog posts)
writing/
page.tsx /writing — blog tile grid
[slug]/page.tsx /writing/<slug> — full post (SSG)
components/
Hero.tsx Hero shell (server)
HeroLattice.tsx Animated lattice — the ONLY client component
Nav.tsx Hero nav overlay
SiteHeader.tsx Compact header for non-hero pages (/writing)
Logo.tsx Brand lockup (nav)
Footer.tsx Footer (logo, links, contact)
content/
writing/<slug>.md Blog posts (Markdown + frontmatter)
lib/
site.ts Central config — URLs, nav, contact, OG
posts.ts Blog content pipeline (server-only; uses fs)
public/
writing/<slug>/ Per-post images (covers, inline)
logo*.png, sui-logo.png, favicon.png, ...
Most copy/links live in lib/site.ts — edit URLs, nav items, and contact
details there rather than hunting through components:
SITE — name, url, description, tagline, OG imageNAV_LINKS — top-nav / footer links (external: true opens in a new tab)LINKS — primary CTA targets (demo, writing, docs)CONTACT — email, Telegram, XA post is a Markdown file plus its images. For slug my-post:
Markdown → content/writing/my-post.md:
---
title: "Your title"
date: "2026-06-15" # ISO yyyy-mm-dd; controls sort order (newest first)
author: "Adrija"
excerpt: "One–two sentence summary shown on the tile and in SEO/OG."
cover: "/writing/my-post/cover.png"
---
Your Markdown body. GitHub-flavored Markdown is supported
(headings, lists, tables, code, blockquotes, images, links).
Images → public/writing/my-post/ (e.g. cover.png, plus any inline images you
reference from the body as /writing/my-post/<file>).
That's it — the post appears at /writing/my-post and on the /writing index
automatically (routes are generated from the files at build via generateStaticParams;
unknown slugs 404). Reading time is computed from word count.
There's a starter post (the-case-for-smart-collateral) with a placeholder cover — delete
it or replace its content + public/writing/the-case-for-smart-collateral/cover.png once
you have real posts.
Drop images in public/ (served from /). The nav and footer use
transparent-background logos (logo-transparent.png, fullmetal-footer-transparent.png)
so they sit cleanly on the page color in both light and dark mode; dark:invert flips the
grayscale marks to light for dark mode.
Those transparent versions were generated from the originals (logo.png,
fullmetal-footer-logo.png) by keying out the flat background. If you replace a logo with a
new flat-background image, re-key it (or export a natively transparent PNG). The originals
are kept for reference.
next/image is used for all images and only works with local /public paths out of the
box; to load images from an external host, add an images.remotePatterns entry in
next.config.ts.
metadata API in layout.tsx and per-page
(title template, description, OpenGraph, Twitter card, canonical).schema.org/Organization JSON-LD in the root layout.app/robots.ts and app/sitemap.ts generate /robots.txt and /sitemap.xml
(the sitemap includes every writing post).h1/h2/nav/main/footer), next/image with alt text,
server components by default.HeroLattice.tsx renders an animated body-centered-cubic
lattice (SVG + SMIL). It's the only client component. The markup is rendered into the
initial HTML (not injected via innerHTML after mount) so the browser parses the SMIL
timeline natively. Theming uses currentColor, and it respects
prefers-reduced-motion. On mobile it renders as a band above the copy; on desktop it
occupies the right side behind a fade.
Push to a Vercel project — no extra config. The custom domain is fullmetal.finance.
Build command next build, output is prerendered static HTML.