npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@metaxia/scriptures-source-openscriptures-ohb

v2.6.0

Published

Open Hebrew Bible (Hebrew) data for @metaxia/scriptures. Source: Open Scriptures Project.

Readme

@metaxia/scriptures-source-openscriptures-ohb

It is a data source for GematriaBible.com — an interlinear Bible with gematria values and Strong's numbers.

Open Scriptures Hebrew Bible (Hebrew) data for @metaxia/scriptures.

Source

Open Scriptures Hebrew Bible Project

Installation

npm install @metaxia/scriptures @metaxia/scriptures-source-openscriptures-ohb

Usage

Auto-Registration

// Import to auto-register with @metaxia/scriptures
import '@metaxia/scriptures-source-openscriptures-ohb';

import { getVerse } from '@metaxia/scriptures';

const verse = await getVerse('Genesis', 1, 1, { edition: 'openscriptures-OHB' });
console.log(verse.text);
// "בְּרֵאשִׁית בָּרָא אֱלֹהִים אֵת הַשָּׁמַיִם וְאֵת הָאָרֶץ׃"

Granular Imports

Import specific portions for smaller bundle sizes:

// Single verse
import verse from '@metaxia/scriptures-source-openscriptures-ohb/books/Genesis/1/1';

// Entire chapter
import chapter from '@metaxia/scriptures-source-openscriptures-ohb/books/Genesis/1';

// Entire book
import genesis from '@metaxia/scriptures-source-openscriptures-ohb/books/Genesis';

// Raw JSON data
import verseData from '@metaxia/scriptures-source-openscriptures-ohb/data/Genesis/1/1.json';

// Edition metadata
import metadata from '@metaxia/scriptures-source-openscriptures-ohb/metadata';

Lazy Loading

// Register without loading data
import '@metaxia/scriptures-source-openscriptures-ohb/register';

import { getVerse } from '@metaxia/scriptures';

// Data loads on demand
const verse = await getVerse('Genesis', 1, 1, { edition: 'openscriptures-OHB' });

Contents

  • Edition: openscriptures-OHB
  • Language: Hebrew
  • Books: 39 (Genesis–Malachi)
  • Features: Morphological tagging, Strong's numbers, lemmas

Data Format

Each verse includes morphological annotations:

{
  "id": "openscriptures-OHB:Gen.1.1",
  "text": "בְּרֵאשִׁית בָּרָא אֱלֹהִים אֵת הַשָּׁמַיִם וְאֵת הָאָרֶץ׃",
  "words": [
    {
      "position": 1,
      "text": "בְּרֵאשִׁית",
      "lemma": "רֵאשִׁית",
      "strong": "H7225",
      "morph": "HNcfsa"
    }
  ],
  "gematria": {
    "standard": 2701
  }
}

Masoretic marks (structural metadata)

The data model is words-only: every word's text carries just the letters, points, and cantillation, so gematria totals and word counts are never affected by scribal punctuation. The Masoretic marks the WLC places around words are preserved separately so a renderer can reproduce a faithful text:

  • words[].metadata.joinNext: "maqqef" — the maqqef (־, U+05BE) connector; recorded on the word it binds to the following word.

  • metadata.terminator: "sof-pasuq" — the verse-ending sof-pasuq (׃, U+05C3). Recorded once per verse; omitted for the handful of verses the WLC leaves open (e.g. the enjambed divine-name formula of Exod 34:6).

  • metadata.paseq: [n, …] — the paseq disjunctive (׀, U+05C0), as the 1-based positions of the words it follows.

  • metadata.paragraphBreaks, metadata.scribalMarks — petuhah/setumah parashah breaks and the reversed nun (nun hafukha), likewise verse-level.

  • words[].metadata.points — the extraordinary points (puncta extraordinaria), the traditional fifteen dotted passages. Each entry {index, char, mark, tradition, source} names the dotted base consonant (0-based index) and whether the dot sits upper (U+05C4) or lower (U+05C5). Each entry is tagged by tradition:

    • tradition: "leningrad" — the dot is in the WLC text (source: "WLC / OpenScriptures"). These dots are retained in the word text as combining marks; because they lie outside the consonant range they do not affect gematria or counts.
    • tradition: "masoretic-received" — a dot the received Masoretic tradition counts that the WLC text lacks, with its source citation (Avot de-Rabbi Natan A 34; A.E. Brouwer). These are metadata only: the word text is not changed. Example: the ayin of עד in Deut 29:28, the eleventh dot of that verse.
    • received: false (with receivedSource) on a leningrad dot that the received tradition does not count. Examples: the ל of אליו in Gen 18:9 (the received tradition dots א, י, ו), and Gen 19:33 / Num 29:15, where the WLC text places the dot on the letter before the vav (ק, ר) and the received tradition places it on the vav.

    To render the WLC dots, use the entries with tradition === "leningrad"; to render the received tradition, use the entries with received !== false. The supplement is scripts/overlays/points-supplement.json.

  • words[].metadata.specialLetters — enlarged / small / suspended letters (litterae majusculae / minusculae / suspensae), {type, char, index, tradition, source}. Each entry is tagged by tradition:

    • tradition: "leningrad" — marked in the WLC manuscript itself (source: "WLC / OpenScriptures").
    • tradition: "masoretic-received" — the broader received-Masoretic majuscules/minuscules the Leningrad codex does not mark, supplied from a cited enumeration (source = Jewish Encyclopedia 1906 + A.E. Brouwer), occurrence-adjudicated against L. Cohen, Windows into the Text (HUC, 2000). Only entries those sources attest with a single unambiguous location are included; contested either/or and occurrence-ambiguous cases are excluded.

All of these are structural only: they never enter words[] as separate tokens and never carry a numeric value. A renderer can show the WLC base alone (tradition === "leningrad") or the full received tradition.

Word segmentation (maqqef)

Maqqef-joined units are stored as separate words, by design. The maqqef (־, U+05BE) binds words into one Masoretic accent unit (e.g. אֶת־כָּל־), but each joined element keeps its own lexical identity and Strong's number, so each occupies its own entry in words[]. For example Deut 6:5 בְּכָל־לְבָבְךָ ("with all thy heart") is two words — בְּכָל then לְבָבְךָ — not one.

Consequences to expect:

  • Word counts count each maqqef-joined element separately. A source that counts a maqqef unit as a single word will report fewer words; this is a convention difference, not an error.
  • Per-word gematria is computed per element. Verse/phrase totals are unaffected — the sum of the split parts equals the sum of the joined whole.
  • The connection is not lost: the preceding word carries metadata.joinNext: "maqqef", so a renderer can re-join the unit for display or for an alternative word count.

Morphology Codes

This edition includes Hebrew morphology codes:

| Code | Meaning | |------|---------| | H | Hebrew | | N | Noun | | V | Verb | | c | Common gender | | f | Feminine | | m | Masculine | | s | Singular | | p | Plural |

Use parseMorphology() from the main library to decode:

import { parseMorphology } from '@metaxia/scriptures';

const parsed = parseMorphology('HVqp3ms');
// { language: 'Hebrew', partOfSpeech: 'verb', stem: 'qal', ... }

License

CC BY 4.0

This data is licensed under the Creative Commons Attribution 4.0 International License.

Attribution: Open Scriptures Hebrew Bible Project