learning

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2026 License: GPL-2.0 Imports: 4 Imported by: 0

README

hebcal/learning

GoDoc

Daily learning schedules for the Hebcal Jewish calendar, implemented in Go.

This module supplies daily Torah/Talmud learning schedules and registers them with the daily learning registry in github.com/hebcal/hebcal-go. It is the Go counterpart of the TypeScript @hebcal/learning package, and mirrors the relationship between @hebcal/core and @hebcal/learning: hebcal-go contains no schedules itself, and this module plugs them in.

Schedules

  • dafyomi — Daf Yomi, a daily page of the Babylonian Talmud (Bavli).
  • mishnayomi — Mishna Yomi, two Mishnayot per day (~6-year cycle).
  • nachyomi — Nach Yomi, a daily chapter of Nevi'im (Prophets) and Ketuvim (Writings).
  • yerushalmi — Yerushalmi Yomi, a daily page of the Jerusalem Talmud, in both the Vilna and Schottenstein editions.

Usage

Each schedule registers itself with the dailylearning registry in hebcal-go via a package init function. Import the top-level learning package for its side effects to enable every schedule:

import (
	"github.com/hebcal/hebcal-go/hebcal"
	_ "github.com/hebcal/learning" // registers all learning schedules
)

opts := &hebcal.CalOptions{
	Start:    hdate.New(5783, hdate.Cheshvan, 18),
	End:      hdate.New(5783, hdate.Cheshvan, 23),
	DafYomi:  true,
	NachYomi: true,
}
events, err := hebcal.HebrewCalendar(opts)

To register only a subset of schedules, blank-import the individual sub-packages instead:

import _ "github.com/hebcal/learning/dafyomi"

The schedules can also be used directly without going through the calendar:

daf, _ := dafyomi.New(hdate.FromGregorian(1995, time.December, 17))
fmt.Println(daf) // Avodah Zarah 68

Registered calendar names

The schedules register the following case-insensitive names with the dailylearning registry, matching the names used by @hebcal/learning:

  • dafYomi
  • mishnaYomi
  • nachYomi
  • yerushalmi-vilna
  • yerushalmi-schottenstein

Roadmap

This module starts with the four schedules ported from hebcal-go. The goal is to eventually port all of the daily learning schedules from the TypeScript @hebcal/learning package (e.g. Daily Psalms, Daily Rambam, Arukh HaShulchan Yomi, Sefer HaMitzvot, Chofetz Chaim, Shemirat HaLashon, Pirkei Avot, Daf-a-Week, Tanakh Yomi, etc.).

License

GPL-2.0-or-later. See LICENSE.

Documentation

Overview

Package learning registers all of Hebcal's daily learning schedules (Daf Yomi, Mishna Yomi, Nach Yomi, and Yerushalmi Yomi) with the dailylearning registry in github.com/hebcal/hebcal-go.

Import this package for its side effects to make every schedule available to hebcal-go's calendar generation:

import _ "github.com/hebcal/learning"

To register only a subset of schedules, import the individual sub-packages (e.g. github.com/hebcal/learning/dafyomi) instead.

This mirrors the relationship between the @hebcal/core and @hebcal/learning TypeScript packages.

Directories

Path Synopsis
Hebcal's dafyomi package calculates the Daf Yomi, a daily regimen of learning the Babylonian Talmud.
Hebcal's dafyomi package calculates the Daf Yomi, a daily regimen of learning the Babylonian Talmud.
Hebcal's mishnayomi package calculates the Mishna Yomi, a program of daily learning in which participants study two Mishnayot each day in order to finish the entire Mishnah in ~6 years.
Hebcal's mishnayomi package calculates the Mishna Yomi, a program of daily learning in which participants study two Mishnayot each day in order to finish the entire Mishnah in ~6 years.
Hebcal's nachyomi package calculates the Nach Yomi, a daily regimen of learning the books of Nevi'im (Prophets) and Ketuvim (Writings).
Hebcal's nachyomi package calculates the Nach Yomi, a daily regimen of learning the books of Nevi'im (Prophets) and Ketuvim (Writings).
Hebcal's yerushalmi package calculates the Yerushalmi Yomi, a daily regimen of learning the Jerusalem Talmud.
Hebcal's yerushalmi package calculates the Yerushalmi Yomi, a daily regimen of learning the Jerusalem Talmud.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL