A MagicMirror² module that displays a daily LDS scripture verse (Bible, Book of Mormon, Doctrine and Covenants, or Pearl of Great Price). Works completely offline using pre-loaded verse data.
┌─────────────────────────────────────┐
│ VERSE OF THE DAY │
├─────────────────────────────────────┤
│ And it came to pass that I, Nephi, │
│ said unto my father: I will go and │
│ do the things which the Lord hath │
│ commanded, for I know that the │
│ Lord giveth no commandments unto │
│ the children of men, save he shall │
│ prepare a way for them... │
│ │
│ 1 Nephi 3:7 │
└─────────────────────────────────────┘
- Daily Scripture Rotation: Cycles through four LDS volumes (Bible, Book of Mormon, Doctrine and Covenants, Pearl of Great Price)
- Configurable Volumes: Choose which standard works to include in the rotation
- Randomized Verse Selection: Different verse each day, randomly selected from the volume
- Offline Operation: Pre-loaded verse data - no API calls needed
- Automatic Updates: Updates at midnight (default) or custom intervals
- Minimal Configuration: Works out of the box with sensible defaults
- MagicMirror² version 2.1.0 or higher
- Node.js 14 or higher
-
Navigate to your Magic Mirror
modulesdirectory:cd ~/MagicMirror/modules
-
Clone this repository:
git clone https://github.com/bccmba/MMM-DailyLDSVerse.git
-
Verse lists are pre-generated and included! No additional steps needed.
-
Add the module to your
config/config.jsfile:{ module: "MMM-DailyLDSVerse", position: "top_center", config: { header: "Verse of the day", // Optional, defaults to "Verse of the day" updateInterval: 86400000 // Optional, defaults to daily at midnight } }
-
Restart Magic Mirror.
| Option | Description | Default | Example |
|---|---|---|---|
header |
Header text displayed above the verse. Set to "" or null to hide |
"Verse of the day" |
"Daily Scripture" |
updateInterval |
Update interval in milliseconds. 0, null, or omit for midnight updates |
null (midnight) |
86400000 (24 hours) |
volumes |
Array of standard works to select verses from. Valid values: "bible", "bookOfMormon", "doctrineAndCovenants", "pearlOfGreatPrice" |
All 4 volumes | ["bookOfMormon"] |
fontScale |
Enable dynamic font scaling to fit longer verses in the display | true |
false |
Basic (Midnight Update):
{
module: "MMM-DailyLDSVerse",
position: "top_center"
}Custom Header:
{
module: "MMM-DailyLDSVerse",
position: "top_center",
config: {
header: "Daily Scripture"
}
}Hide Header:
{
module: "MMM-DailyLDSVerse",
position: "top_center",
config: {
header: ""
}
}Update Every 12 Hours:
{
module: "MMM-DailyLDSVerse",
position: "top_center",
config: {
updateInterval: 43200000
}
}Select Only Book of Mormon:
{
module: "MMM-DailyLDSVerse",
position: "top_center",
config: {
volumes: ["bookOfMormon"]
}
}Select Bible and Doctrine and Covenants Only:
{
module: "MMM-DailyLDSVerse",
position: "top_center",
config: {
volumes: ["bible", "doctrineAndCovenants"]
}
}The module supports all standard MagicMirror positions:
top_left,top_center,top_rightupper_third,middle_center,lower_thirdbottom_left,bottom_center,bottom_rightfullscreen_above,fullscreen_below
This module uses local verse data only - no external APIs required:
- Data Source: LDS Documentation Project (https://scriptures.nephi.org)
- Storage: Local JSON files in
verses/directory - No API keys needed: Works completely offline
To update verse lists with the latest data from LDS Documentation Project:
# Download data from https://scriptures.nephi.org
node convert-lds-data.js <path-to-lds-scriptures-json.txt> verses/The script generates these files:
verses/bible.jsonverses/book-of-mormon.jsonverses/doctrine-and-covenants.jsonverses/pearl-of-great-price.json
Module not displaying:
- Check MagicMirror logs for errors
- Verify verse JSON files exist in
verses/directory - Restart MagicMirror
Verse not changing:
- Verify
updateIntervalconfiguration - Check system timezone for midnight updates
Empty verse display:
- Verify JSON files contain valid data
- Try regenerating verse lists
npm test # Run all tests (247 tests)MMM-DailyLDSVerse/
├── MMM-DailyLDSVerse.js # Main module (frontend)
├── MMM-DailyLDSVerse.css # Module stylesheet
├── node_helper.js # Node helper (backend)
├── convert-lds-data.js # Data converter script
├── package.json # Module metadata
├── README.md # This file
├── tests/ # Test files (247 tests)
└── verses/ # Pre-loaded verse JSON files
MIT License - See LICENSE file for details
- LDS Documentation Project: https://scriptures.nephi.org
- MagicMirror²: https://magicmirror.builders