psalms 0.0.1

30-Day psalm cycle in your terminal (wip)
psalms-0.0.1 is not a library.
Visit the last successful build: psalms-0.0.2

The 30-Day Cycle of Psalms

2020.02.18

Reading through the Psalms each month is a traditional Christian practice, and a good excuse to write a cli app in Rust.

Use of Psalms in the Daily Office

The recitation of the Psalms is central to daily worship throughout the whole of Christian Tradition. Anglicanism at the time of the Reformation established that the entire Psalter should be read in the Daily Office once each month, according to the pattern printed with this Lectionary. Contemporary practice sometimes lessens the number of the daily psalms, which practice is permissible as long as the entire Psalter is regularly read. For any day, the psalms appointed may be reduced in number according to local circumstance. If there is only one office, the psalms may be drawn from those appointed for Morning or Evening that Day. If a two month cycle of psalms is desired, the Morning psalms may be read in one month and the Evening psalms in the next. When there is a thirty-first day of the month, psalms from the Psalms of Ascents, Psalms 120 to 134, are used.

From THE BOOK OF COMMON PRAYER (2019)
Copyright © 2019 by the Anglican Church in North America

Creating a HashMap

use std::collections::HashMap;

fn main() {
    let mut psalter = HashMap::new();

    psalter.insert(
    "Day 1".to_string(),
    "Psalms 1 through 5 (Morning)\nPsalms 6 through 8 (Evening)".to_string(),
    );

    psalter.insert(
    "Day 18".to_string(),
    "Psalms 90 through 92 (Morning)\nPsalms 93 through 94 (Evening)".to_string(),
    );

    println!("Day 18:\n{}", psalter["Day 18"]);
}

Organizing Some Thoughts

2020.02.19

There are several things this program could do. Here are some in order of usefulness:

  1. tell you the psalms for the day

  2. print daily psalm text

    • this would require choosing a translation
  3. print daily psalm text, pointed for Anglican Chant

    • this would require pointing the entire psalter 🤔
  4. print (?) musical settings

    • with a notation font?
    • as image files?
    • perhaps this could be a different project

As a man lacking stick-to-it-ivity, it's reasonable for me to add entries over time. Having the program do task 1 is trivial. Anything beyond that requires research; I'd need to decide how to store and link the data. Perhaps individual psalms would be stored in their own text files. That would allow me opportunity to vary the format since I surely won't be able to make up my mind about it. Psalm text can be included as I get around to it, and replaced with text pointed for chant (also, as I get around to it).