Bygga
Type the product name from the box. Bygga shows every assembly step in 3D, with the parts, screws and tools for each one, and reads it out loud.
翻译准备中
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗The landing page for FreeBus, a free, open-source public transit app for Israel.
Built with Next.js (App Router) and TypeScript and exported as a static site. Hebrew is the default language; English lives at /en/.
Requires Node.js 22 or later.
npm install
npm run dev # http://localhost:3000
npm run lint
npm run typecheck
npm run build # writes the static site to out/
out/ is plain HTML, CSS, JS and images. Any static host can serve it, with no Node.js server. trailingSlash is on, so each page is a folder with an index.html.
| Path | What's there |
|---|---|
app/(he)/page.tsx | /, the Hebrew page |
app/(en)/en/page.tsx | /en/, the English page |
app/(he)/layout.tsx, app/(en)/layout.tsx | One root layout per language, so each page is prerendered with the right lang and dir |
components/landing-page.tsx | The page itself, shared by both languages |
components/root-layout.tsx | Fonts, metadata and the language redirect |
components/iphone.tsx | The iPhone frame around the screenshots, drawn in CSS |
lib/i18n.ts | All copy, in Hebrew and English |
app/globals.css | All styles |
public/assets/screens/ | App screenshots, one per screen per language (plan-he.webp, plan-en.webp, …) |
/ serves Hebrew. Before first paint, a small script in <head> sends visitors who chose English earlier, or who open /?lang=en, to /en/. A link to /en/ always shows English, unless it carries ?lang=he.
Every string lives in lib/i18n.ts. The Hebrew dictionary is typed against the English one, so a missing translation fails the build.
Screenshots come from the iOS Simulator (iPhone 17 Pro, 1206×2622), scaled to 640px wide and saved as WebP. To replace one, overwrite both language versions under public/assets/screens/, keeping the file names.
public/assets/og-he.jpg and og-en.jpg (1200×630) are the link previews, one per language. They're generated from the hero's headline and screenshots. After changing either, regenerate them:
python3 scripts/og-image.py
This needs Python 3 with Pillow and Google Chrome. Set CHROME if Chrome isn't in the default macOS location.
Issues and pull requests are welcome. For anything about the app itself (features, bugs, data), please use the main FreeBus repository, which has the contributing guide and code of conduct.
MIT.
Third-party material:
next/font and served with the site; they aren't stored in this repository.