Bambu Bar
Monitor Bambu Lab printers from your Mac menu bar: print progress, the live camera, AMS filament, alerts and desktop widgets. Bambu Bar for macOS 26+.
翻译准备中
Connect Canvas once and Makullveny plans your day: which assignment to start, and when it fits. Every Lock In builds Selah, a little world that shows the work you actually did, and your friends are ri
翻译准备中
效率工具HTML · JavaScriptGitHub @TDG-Org在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Public landing page for Makullveny support and account verification
翻译准备中
正在加载完整 README。
查看完整 README ↗The public site for Makullveny, a free, local-first desktop study app for students. Three pages, no build step, published from the repository root through GitHub Pages.
This repo deliberately does not contain the Makullveny desktop app source. It is the marketing site and nothing else, so everything here is safe to read.
Expected URL once Pages has deployed:
https://tdg-org.github.io/makullveny-site/
| Path | What it is |
|---|---|
index.html | The front page, in the order that matters: hero, Selah (the world your study time builds, and its flower Collection), Lock In, Canvas sync and the daily plan, Friends (who is out of class, free time, Study Teams, studying together, sharing classes), then the extras, the rooms, faith, download, and the three most recent releases |
features/ | Every app and tool, with its pictures: Library Desk, Study Hall, Import Desk (and a photo into cards), Flashcards, File Workshop, Cloud Backpack, Typing Trials, Calculator and the radio |
themes/ | The room-by-room browser (ten rooms; the six Candle rooms in the Theme Market's own captures) and the Illustrated bundle |
account/ | Make a TDG account from the website -- the same account the app uses (see below) |
u/ | A student's public profile link, or -- opened with no link while signed in on the website -- the student's own profile |
updates/ | Every published release, newest first |
read/ | The read-only viewer a shared Makullveny page opens in |
profile/ | A student's profile at /profile/<username> (the canonical address; 404.html routes it, and old /u/#<token> links land on it too), with Add friend for a signed-in visitor |
checkout/ | The return page a completed purchase lands on |
The pages were designed on a Claude Design canvas, and their sources are the
artboards in design/ — ordinary HTML wrapped in the canvas's own
<x-dc>/<helmet> tags, with {{ }} holes where the canvas's logic used to
fill something in. tools/build-site.mjs turns those into the pages served
here:
node tools/build-site.mjs # design/*.dc.html -> index.html, features/, themes/, updates/
Its output is committed, and that is on purpose. GitHub Pages serves this
repository straight from the branch and there is no build step between here and
the internet — so this runs by hand and the result is checked in, exactly the
arrangement assets/icons/ and tools/make-icons.mjs already use. Edit an
artboard, run the script, commit both. Editing the generated HTML directly is
not wrong, but the next run overwrites it.
site.js is the other half: the behaviour the canvas's logic class used to
provide, written once for a plain browser — the hero rotator and its captions,
the lightbox, the parallax and the pointer-lit hero, the scroll reveals, the top
bar's ground, and the download controls that light the first-launch panel. None
of it is needed to read the site: with that file blocked every picture, every
word and every link still works.
The Home button (the cross at the end of the brand, on all three pages) is
the TDG site's own flourish: pressed, the cross turns into a sword and a
sparkle writes Jesus Loves You, then runs home again. Its look is
bless.css, a byte-for-byte copy of the blessing block in TDG-Site's
src/components/Nav.css behind a short adapter that supplies TDG's dark-theme
colours and its Cormorant Garamond words; its press logic is section 7 of
site.js. Change it on the TDG side and copy it here, so the two buttons stay
indistinguishable. Every moving part runs on the compositor (152 animations,
none on the main thread). On the two subpages the brand is a page load, so the
press leaves a note and the flourish plays when the front page arrives.
Screenshots live in assets/site/, and the scene art they sit on is in
assets/scenes/. They are real captures of the app, re-shot by
tools/capture-app-shots.mjs and tools/capture-social-shots.mjs (both drive
the real app over CDP in a throwaway demo profile; tools/demo-lived-in.mjs
gives that student a few weeks of Lock Ins and flowers). Point them at an app
checkout with MAK_APP=..., and at a trial folder with MAK_SHOTS_OUT=....
updates/updates-data.js is the only file a new release needs: push one entry
onto window.MAKULLVENY_UPDATES and both the archive and the three cards on the
front page follow it.
account/ makes a TDG account without the app. It is not a second account
system: it posts to mak-web-signup, a Supabase function whose source lives in
the app repo (supabase/functions/mak-web-signup/), and that function calls
the same GoTrue sign-up the app does, with the same metadata and the same
redirect to auth/. So a student who signs up here signs in to the app with
the same username or email and password, and everything else follows.
The page holds no key. Like read/ and u/ it posts to the one pinned
function origin with no apikey and no Authorization header; the function holds
the project key server-side, never returns a session, answers a known email
exactly like a new one, and refuses browsers on other websites.
tests/account-page.test.js pins the origin, the CSP and the absence of a key.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗