Go to file
Hermes Agent 72c696420f feat(calc): add toggle to prioritize Ingglish matches to top of query results
- Add optPrioritizeIngglish option (configurable via prioritizeIngglishMatches in config.default.js and persisted in localStorage via calcOptionsArr).
- Add 'Prioritize Ingglish [...]' checkbox (chkbox_PIM / conf_PIM()) to the Options Menu and a one-click 'ING ↑' toggle button (queryIngPriorityBtn) inside the Match Results table header that re-sorts open query modals in place via refreshOpenQuery().
- Unify match sorting in calc/database.js under compareQueryMatches(a, b, searchPhrase): pins exact full or comment-stripped phrase matches first, sorts [Ingglish: ...] rows above standard entries when optPrioritizeIngglish is enabled, and preserves score ordering within each group.
2026-11-03 08:32:29 +00:00
calc feat(calc): add toggle to prioritize Ingglish matches to top of query results 2026-11-03 08:32:29 +00:00
docs feat(db): provision verified Ingglish phonetic lexicon and AQ attractor corpus 2026-11-03 03:50:39 +00:00
font first commit - committing all files to the repository 2023-09-19 21:17:20 -04:00
lib first commit - committing all files to the repository 2023-09-19 21:17:20 -04:00
res Update preview screenshot for v2 2026-04-02 13:42:33 -04:00
theme updated db_v2.0, new logo, template updates 2024-03-26 10:08:08 -04:00
tools feat(db): provision verified Ingglish phonetic lexicon and AQ attractor corpus 2026-11-03 03:50:39 +00:00
.gitignore feat(calc): add toggle to prioritize Ingglish matches to top of query results 2026-11-03 08:32:29 +00:00
.htaccess v2.0.0: Pre-computed matching, curated database, new UX 2026-04-02 06:40:35 -04:00
CHANGELOG.md calc: escape the Date Calculator labels (escHtml); CHANGELOG v2.6.1 2026-10-07 06:08:39 -04:00
CNAME updated db_v2.0, new logo, template updates 2024-03-26 10:08:08 -04:00
config.default.js feat(calc): add toggle to prioritize Ingglish matches to top of query results 2026-11-03 08:32:29 +00:00
db.txt feat(db): provision verified Ingglish phonetic lexicon and AQ attractor corpus 2026-11-03 08:32:04 +00:00
index.html calc: escape the Date Calculator labels (escHtml); CHANGELOG v2.6.1 2026-10-07 06:08:39 -04:00
LICENSE Initial commit 2023-09-19 00:58:09 -04:00
manifest.json calc: cipher/option import parsed, never eval'd (parseCipherArgs/cipherFromExport; option names whitelisted, values JSON scalars); manifest icons point at files that exist (36→32) 2026-09-12 21:05:36 -04:00
README.md v2.5: NetVoid 2026 review merge (+13,855) + calibrated classify_candidates tool 2026-06-03 06:21:50 -04:00
SECURITY.md Add SECURITY.md (private-reporting policy, XSS scope, safe-deploy note) 2026-09-14 05:53:26 -04:00

Cypher Calculator

A gematria cypher calculator with pre-computed instant matching, 209k+ curated word database, and full whitelabel support via config.js.

Try it live →

Cypher Calculator

Quick Start

git clone https://github.com/malonehunter/hyperdope-gematria.git
cd hyperdope-gematria

# Create your config (gitignored — won't be overwritten by updates)
cp config.default.js config.js
# Edit config.js — change siteName, colors, links, credits, etc.

# Serve locally (web server required for database loading)
python3 -m http.server 8000
# Open http://localhost:8000

Note: Must run from a web server (not file://) due to browser CORS restrictions. VS Code Live Server extension also works.

Customization

All branding lives in config.js. Copy config.default.js to config.js and edit:

var CALC_CONFIG = {
  siteName: "My Calculator",               // logo text
  siteTitle: "My Calculator — Gematria",   // browser tab title
  logoColor: "hsl(148, 60%, 45%)",         // green like the code rain
  logoHoverMatrix: true,                   // matrix font hover on logo letters
  aboutLinks: [
    { text: "My Site", url: "https://example.com" },
  ],
  credits: [
    { name: "Your Name", role: "Fork maintainer" },
  ],
  // Custom cipher category groupings
  customCategories: [
    { name: "Favorites", ciphers: ["Ordinal", "Reduction", "Alphanumeric Qabbala"] },
  ],
  // See config.default.js for all options
};

config.js is in .gitignore — your customizations survive git pull.

Updating

git pull origin master
# Your config.js is safe (gitignored)
# db.txt updates improve matches automatically

Database

229,943 curated entries (Proper-Case normalized) — cleaned, enriched, restored from the original user-search database, and extended with NetVoid's 2026 manual review additions.

  • Proper-Case normalization with acronym / Roman-numeral / mixed-case protection (see tools/normalize_caps.py), plus +6,421 common words from the original 20K wordlist (v2.3)
  • Specialty sets (Liber AL, Latin, Roman numerals, spelled-out numbers, Illuminati/esoteric terms)
  • Restoration of ~20k entries an earlier over-aggressive cleanup had removed (concentrated at the alphabet "ends" — A/B/C/X/Y/Z)
  • ~7.7k recovered Thelemic/Hermetic terms (CCRU/Numogram, Crowley, Rosicrucian)
  • See CHANGELOG.md for the full v2.1 breakdown

Pre-computed Mode (instant matching + progressive loading)

Out of the box the calculator runs in live mode — it loads db.txt and computes cipher values on the fly (works immediately, ~2-5s per query). For instant matching (~100ms), use the pre-computed JSON:

  • Download the prebuilt db.json and db_lite.json from the latest release (both files are attached to every tagged release, even when the database itself didn't change) and drop them next to index.html, or
  • Rebuild both from db.txt: python3 tools/generate_db_json.py db.txt db.json (emits db.json + db_lite.json).

With both present, the calculator loads progressively: db_lite.json (the default ciphers) paints in ~2s with immediate matching, then the full db.json streams in and swaps in the background. It auto-detects them (see databaseMode / databaseLiteJsonUrl in config.js). Bump databaseVersion in config.js whenever you update the databases to cache-bust browsers.

Adding Entries

Append phrases as new lines to db.txt. File must start with CREATE_GEMATRO_DB.

Features

  • 95 ciphers (80 English-applicable + Hebrew, Greek, Arabic, Russian)
  • Progressive pre-computed matching (fast lite first paint, full set in the background)
  • Configurable default cipher loadout + Base/Default/All presets
  • Desktop keyboard nav for the results modal (arrows page / minimize)
  • Auto-match on Enter (configurable toggle)
  • Escape closes modal / clears filter
  • Mobile optimized (keyboard dismisses, touch minimize)
  • 10 calculator themes
  • Custom cipher categories via config
  • Matrix font hover effect
  • History table with highlighting and export
  • Date calculator, word breakdown, screenshots
  • Drag & drop file import

File Structure

├── index.html          # Main page
├── config.js           # Your config (gitignored)
├── config.default.js   # Template — copy to config.js
├── db.txt              # 145k word matching database
├── calc/               # Calculator JS + CSS
├── theme/              # 10 color themes
├── font/               # Matrix, Montserrat, Roboto Mono
└── res/                # Favicon, logos, assets

Acknowledgments

  • Saun-Virroco — Original Gematro creator
  • NetVoid — Preserved codebase & database, v2 cleanup help
  • Alektryon — Cipher contributions & reviews
  • Hyperdope — Database overhaul, v2 architecture

Contact

@LNHyper on X · hyperdopeofficial@protonmail.com

License

This project is licensed under the GNU General Public License v2.0 — see LICENSE.

It builds on the original Gematro project (open-source; the original repository has since been deleted, so the exact upstream license isn't independently verifiable — this fork adopted GPLv2 when first enhanced and published). It also incorporates 11 ciphers ported from Alektryon's fork, released under the GNU Affero General Public License v3.0 (AGPLv3) and attributed in CHANGELOG.md and calc/ciphers.js. Because it incorporates AGPL (copyleft) code, the combined work is distributed under copyleft terms and is not MIT-licensed.