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.