# mishnah

> Mishnah Study Library

Latest version **1.4.5** (published 2026-06-08) · MIT license · 0 weekly downloads

## Install

```sh
npm install mishnah
pnpm add mishnah
yarn add mishnah
bun add mishnah
```

## Health

**Score 50/100 (C)** — status: active.

Positive: no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; no esm support.

## Facts

| | |
|---|---|
| Version | 1.4.5 |
| Published | 2026-06-08 |
| First published | 2015-09-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 29.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | David Bankier |
| Maintainers | dbankier |

## Links

- npm: https://www.npmjs.com/package/mishnah
- Repository: https://github.com/mishnah/mishnah
- Homepage: https://github.com/mishnah/mishnah#readme
- Issues: https://github.com/mishnah/mishnah/issues
- npm.io page: https://npm.io/package/mishnah

## Dependencies (2)

- [moment](https://npm.io/package/moment.md) ^2.30.1
- [underscore](https://npm.io/package/underscore.md) ^1.13.8

## Recent versions

- 1.4.5 (latest) — 2026-06-08
- 1.4.4 — 2022-11-25
- 1.4.3 — 2022-09-09
- 1.4.2 — 2022-07-11
- 1.4.1 — 2022-07-08
- 1.4.0 — 2022-07-08
- 1.3.6 — 2021-12-10
- 1.3.5 — 2021-12-10
- 1.3.4 — 2020-12-22
- 1.3.3 — 2020-06-24
- 1.3.2 — 2019-02-05
- 1.3.1 — 2019-02-04
- 1.3.0 — 2019-02-04
- 1.2.3 — 2017-11-18
- 1.2.2 — 2016-05-09
- … 5 more at https://npm.io/package/mishnah/versions

## README

# Mishnah Study Library

This node package is used to generate Mishnah learning calendars. It was primarily
built for [Mishnah Yomit](http://www.mishnahyomit.com) but can be used to build
calendars for other learning structures.


## Install

```
$ npm install mishnah -S
```

## Usage

```
var mishnah = require("mishnah");

//The total number of Mishanayot.
mishnah.total;

//An array of the names of all the tractates.
mishnah.names;

//An object of the structure of the Mishnah.
//Each key is the name of the tractate with the value an array of total mishnayot per perek.
mishnah.structure;

```

## Functions

### mishnah.getToday(date,pretty)

The function returns the Mishnayot to be studied on the given `date` according
to the Mishnah Yomit program.

The function will return a mishnah range which is structured as follows, e.g.

```
 [{
    t: 0, // tractate index (use the mishnah.names property)
    p: 1, // perek number
    m: 1, // mishnah number
 },{
    t: 0, // tractate index (use the mishnah.names property)
    p: 1, // perek number
    m: 2, // mishnah number
 }]
```

If the value of `pretty` is `true` then a readable version will be returned, e.g.

```
Parah 12:6-7`
```

### mishnah.buildCalendar(o)

The function builds a daily Mishnah learning calendar.

The argument is an optional object:

```
  {
     start: new Date(),  // starting date (defaults to  10 July 2010)
     per_day: 2,         // mishnayot to be learnt per day (default: 2)
     cycles:  1,         // cycles to generate (default: 1)
     perakim:  false,    // build a perakim based learning schedule (default: false)
     sun2thurs:  false,  // build a schedule for Sunday to Thursday only (default: false),
     seder: "nashim"     // build a schedule for a specific seder only (default: undefined)
  }
```

The function returns the following array:

```
[{
   d: [{
      t: 0, // tractate index (use the mishnah.names property)
      p: 1, // perek number
      m: 1, // mishnah number
   },{
      t: 0, // tractate index (use the mishnah.names property)
      p: 1, // perek number
      m: 2, // mishnah number
   }],
   date: Date, // date object
   english: "Monday, September 7th 2015" // nicely formated english date
   hebrew: "23 Elul 5775", // nicely formatted hebrew date
   pretty: "Berachot 1:1-2" // nicely formated mishnayot to study
}, { ...]
```

### mishnah.prettyFormat(d)

Returns a pretty format of a Mishnah range (as already described above).

### mishnah.source(mishnah, callback)

Returns the mishnah source/text in html format from wikisource.

The mishnah object expects the following format:

```
{
  t: 0, // tractate index (use the mishnah.names property)
  p: 1, // perek number
  m: 1, // mishnah number
}
```

If a callback is not provided, a promise will be returned.

### Credits

The original sheet with the breakdown of mishnayot per perek was taken from [here](https://docs.google.com/spreadsheets/d/11ITaH8qPFPIo1xvX13X0m7iCUfSgtLMIxP8A-Y39SuE/edit).

---
_Source: https://npm.io/package/mishnah · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
