尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證All-in-one calculator web app: calculator, unit converter, graphs, VAT, fuel and energy costs. Greek and English, no backend.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A fast, modern, privacy-friendly all-in-one calculator for everyday calculations. Built as a lightweight client-side web app with a responsive interface that works on desktop and mobile.檢視完整 README ↗A fast, modern, privacy-friendly all-in-one calculator for everyday calculations. Built as a lightweight client-side web app with a responsive interface that works on desktop and mobile.
Live: https://uc.kampaxis.com
Leonidas Kampaxis (Λεωνίδας Κάμπαξης)
Ultimate Calculator is intentionally lightweight: plain HTML, CSS and vanilla JavaScript, with no framework and no backend. There is nothing to build while editing: public/ runs as it is; the deploy joins and minifies the scripts (tools/build.mjs) so the first visit loads faster. Calculations happen in the browser, and history and settings are stored in the browser (localStorage). There are no accounts and nothing is sent to a server.
public/ the website, exactly as it is served
index.html page shell
styles.css all styles and themes
js/ the app, one file per area (calculator, units, tools, graph, history, ...)
manifest.webmanifest, icons
tests/test_app.py browser tests (Playwright)
tools/bump-version.py sets the version everywhere it appears
tools/build.mjs the deploy build: public/ with the scripts joined and minified (esbuild, package.json)
Dockerfile, nginx.conf the Docker image: nginx serving the built public/
docker-compose.yml for running the image yourself
The scripts in public/js/ are plain scripts that share globals, loaded in a fixed order by index.html. CLAUDE.md describes what each one contains; how the code works is in docs/claude/ (one file per part of the app).
It is a static site, so any static web server works:
python3 -m http.server 8080 -d public
or with Docker:
docker build -t ultimate-calculator .
docker run --rm -p 8080:80 ultimate-calculator
Then open http://localhost:8080.
pip install playwright && python3 -m playwright install chromium # once
python3 tests/test_app.py
# the deployed version instead (GitHub tests this one):
npm ci && node tools/build.mjs && python3 tests/test_app.py --site build
The tests open the app in Chromium at desktop and phone sizes, in both languages and themes, and check the calculator, brackets, Units, the tools, History, the mode tabs, the language switch and that nothing is cut off on phones.
Every push to main runs one GitHub Actions workflow (.github/workflows/deploy.yml): it builds the site (node tools/build.mjs: the ~26 scripts become one minified js/app.js, styles.css is minified), tests that build, and only if the tests pass publishes it to
ghcr.io/leothegreat777/ultimate-calculator:latest, tested before it is published. To update a self-hosted copy: docker compose pull && docker compose up -d.If the tests fail, nothing is deployed and the live site stays as it was. If two pushes land within seconds of each other, the older run is cancelled and only the newest one deploys.
Versions follow MAJOR.MINOR.PATCH: a new feature raises the middle number, a fix the last one; the version shows
in the app's footer. What changed in each version is in CHANGELOG.md.
python3 tools/bump-version.py patch|minor|major sets the version everywhere and starts its changelog section.
The goal is to turn Ultimate Calculator into a single calculation interface for as many everyday calculations as possible, while keeping the core experience fast, simple and independent of AI or a backend.
The project is actively evolving. The interface, calculation modes and conversion system are being refined continuously with a strong focus on making the app feel like a polished native calculator rather than a collection of separate web forms.
Ideas for later:
The application is designed to be easy to self-host. It is a static site (the public/ folder), so it runs on GitHub Pages, behind Nginx or any static web server, or from the Docker image, with no database or application backend.