bible270 1.8.0 → 1.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f214ecf16725944cbd5ffd021f9ed2a6b17ba97ddc84d8ca0e8a8cc2e45b351c
4
- data.tar.gz: 75746ab729d9f9f18681d0c1a65b7bca5474f141720a34e1de2a40494fc549be
3
+ metadata.gz: be8007d9a8bdb9c797652387e0a4e8751e5fed2aa29d088d98287ca7d2b7e77a
4
+ data.tar.gz: d71275e3b9097162a126c3129e635a09ad5ee8bd43a899e349c619cd9e633473
5
5
  SHA512:
6
- metadata.gz: 44e3360ef501a381938a002b3bdf5d40c948e8783688374aeffb2df2bcc2248c683f16eec25c94f5b5278a6b059643d511a756dea53865be1dbc6f02420c394d
7
- data.tar.gz: 10ec4cc9154f7d388c9adfdccb5906261436aab786d73fa676536a664733474587a6d0e53e10e7d01827768855e25d69fd0b680be936211dcd8d6cf844090403
6
+ metadata.gz: 59e2a645945d342632584219ac34231c458ccbe504b925009835144e4aa2b49c7fc9b6c61a169366c9a78e087d8e94648dea50a4a8c44906ca1ab77c3d40b08f
7
+ data.tar.gz: 7e4947ed4bebe9581261d18e2851ca3afab2661f94ab682f1759d5ce5f301d7b0353de97df88303b17ff2a5788a9ddf4484247018082abf814e86602501677da
data/CHANGELOG.md CHANGED
@@ -4,18 +4,64 @@ All notable changes to bible270. Format follows [Keep a Changelog](https://keepa
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ### Changed
8
+
9
+ - keep Proverbs 7 whole and divide Proverbs 10 and 16 into four readings
10
+
11
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.8.1...main)**
12
+
13
+ ## [1.8.1] - 2026-09-19
14
+
15
+ ### Changed
16
+
17
+ - add a Today link and shorter introduction to Community
18
+ - allow readers to edit recent reflections from My Progress
19
+ - open the day grid by default on reader and Profile pages
20
+ - move Admin completions below translation settings
21
+
22
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.8.0...v1.8.1)**
23
+
24
+ ## [1.8.0] - 2026-09-18
25
+
7
26
  ### Added
8
27
 
9
- - add a YouTube Video formatting button for reflections and replies, with optional video names, validated click-to-load players in previews and web views, privacy tooltips, new-tab YouTube links, no autoplay or remote thumbnails, and ordinary video links in notification emails
10
- - show Blue Letter Bible Scripture popups when readers hover over references in rendered reflections, replies, and Markdown previews; popups follow each reader's selected translation, handle original-language choices by testament, and rescan content added by Turbo without forcing a page reload
11
- - let administrators sort the reader list and Reader Stats report by most or least recent reading activity, while keeping readers with no activity at the end
28
+ - let readers add named YouTube videos to reflections and replies with on-demand playback
29
+
30
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.7.3...v1.8.0)**
31
+
32
+ ## [1.7.3] - 2026-09-17
12
33
 
13
34
  ### Changed
14
35
 
15
- - link reader email addresses directly to email composition and link recent-activity day labels to their Day pages with passage tooltips in Admin
16
- - include each reader's last reading-activity date in the `bible270:readers:list` and Admin Reader Stats reports
36
+ - show each reader's last activity date in Reader Stats and `bible270:readers:list`
37
+
38
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.7.2...v1.7.3)**
39
+
40
+ ## [1.7.2] - 2026-09-17
41
+
42
+ ### Changed
43
+
44
+ - link reader emails and recent-activity days in Admin
45
+ - show each activity day's readings on hover
46
+
47
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.7.1...v1.7.2)**
48
+
49
+ ## [1.7.1] - 2026-09-17
50
+
51
+ ### Added
52
+
53
+ - sort Admin readers and Reader Stats by most or least recent activity
54
+
55
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.7.0...v1.7.1)**
56
+
57
+ ## [1.7.0] - 2026-09-17
58
+
59
+ ### Added
60
+
61
+ - show each reader's latest reading activity in Admin
62
+ - show Blue Letter Bible Scripture popups in reflections and previews using each reader's selected translation
17
63
 
18
- **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.6.2...main)**
64
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v1.6.2...v1.7.0)**
19
65
 
20
66
  ## [1.6.2] - 2026-09-14
21
67
 
@@ -736,7 +782,13 @@ This is the initial public release.
736
782
 
737
783
  * Email sign-in requires working Action Mailer delivery in the host application. Set `config.mailer_from`; delivery is inline by default, or set `email_sign_in_deliver_later` when a queue backend is available.
738
784
 
739
- [Unreleased]: https://github.com/avonderluft/bible270/compare/v1.6.2...HEAD
785
+ [Unreleased]: https://github.com/avonderluft/bible270/compare/v1.8.1...HEAD
786
+ [1.8.1]: https://github.com/avonderluft/bible270/releases/tag/v1.8.1
787
+ [1.8.0]: https://github.com/avonderluft/bible270/releases/tag/v1.8.0
788
+ [1.7.3]: https://github.com/avonderluft/bible270/releases/tag/v1.7.3
789
+ [1.7.2]: https://github.com/avonderluft/bible270/releases/tag/v1.7.2
790
+ [1.7.1]: https://github.com/avonderluft/bible270/releases/tag/v1.7.1
791
+ [1.7.0]: https://github.com/avonderluft/bible270/releases/tag/v1.7.0
740
792
  [1.6.2]: https://github.com/avonderluft/bible270/releases/tag/v1.6.2
741
793
  [1.6.1]: https://github.com/avonderluft/bible270/releases/tag/v1.6.1
742
794
  [1.6.0]: https://github.com/avonderluft/bible270/releases/tag/v1.6.0
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Bible 270
2
2
  [![Rails CI](https://github.com/avonderluft/bible270/actions/workflows/railsci.yml/badge.svg)](https://github.com/avonderluft/comfortable-media-surfer/actions/workflows/rubyonrails.yml) [![Test Coverage](https://img.shields.io/coverallsCoverage/github/avonderluft/bible270?branch=main&cacheSeconds=300)](https://coveralls.io/github/avonderluft/bible270?branch=main) [![Gem Version](https://img.shields.io/gem/v/bible270)](https://rubygems.org/gems/bible270) [![Downloads](https://img.shields.io/gem/dt/bible270)](https://rubygems.org/gems/bible270) [![GitHub Release Date - Published_At](https://img.shields.io/github/release-date/avonderluft/bible270?label=last%20release&color=seagreen)](https://github.com/avonderluft/bible270/releases)
3
3
 
4
- A mountable **Rails engine** that drops a 270-day (9 month) interactive Bible reading plan into any Rails app, built with [ComfortableMediaSurfer](https://github.com/shakacode/comfortable-media-surfer) CMS in mind. Readers tick off each day's readings, post reflections, and see how everyone else is getting on, much like the social plans on Bible.com.
4
+ A mountable **Rails engine** that drops a 270-day (9 month) interactive Bible reading plan into any Rails app, built with [ComfyMiddleSeat](https://github.com/avonderluft/comfy-middle-seat) CMS in mind. Readers tick off each day's readings, post reflections, and see how everyone else is getting on, much like the social plans on Bible.com.
5
5
 
6
6
  Initially created for use by students and faculty of [Kingdom Movement School of Ministry](https://www.kmsm.life/), to read through all of Scripture together during the school year. Thus it is potentially useful for any Bible School, Seminary, or Discipleship school working on a 9 month schedule.
7
7
 
@@ -6,6 +6,7 @@ module Bible270
6
6
  # Community is a directory of fellow readers, not a leaderboard. Keep the
7
7
  # order predictable without implying that progress determines standing.
8
8
  @readers = Reader.all.to_a.sort_by(&:sort_name)
9
+ @today_day = current_reader&.today_day
9
10
  @show_admin_progress = Bible270.config.admin?(current_reader)
10
11
  @days_completed = Reader.completed_days_by_id if @show_admin_progress
11
12
  end
@@ -113,27 +113,6 @@
113
113
  numbers and are not touched.</p>
114
114
  </div>
115
115
 
116
- <div class="b270-panel">
117
- <h2 class="b270-subhead">Completions</h2>
118
- <%= form_with url: admin_reader_through_path(@reader), method: :patch, class: "b270-startform" do %>
119
- <label class="b270-field">
120
- <span>Mark complete through day (0 clears everything)</span>
121
- <%= number_field_tag :day, @days_completed, min: 0, max: Bible270::Plan::DAYS %>
122
- </label>
123
- <%= submit_tag 'Apply', class: 'b270-btn' %>
124
- <% end %>
125
- <p class="b270-hint">This also clears anything after that day, so it sets their progress exactly.</p>
126
-
127
- <div class="b270-grid" style="margin-top:16px">
128
- <% (1..Bible270::Plan::DAYS).each do |d| %>
129
- <%= button_to d, admin_reader_day_path(@reader, d), method: :post,
130
- class: b270_day_cell_classes(d, reader: @reader),
131
- title: b270_day_readings(d),
132
- form: { style: 'display:contents', id: "day-#{d}" } %>
133
- <% end %>
134
- </div>
135
- <p class="b270-hint">Click a day to toggle it complete.</p>
136
- </div>
137
116
 
138
117
  <div class="b270-panel">
139
118
  <%= render "bible270/shared/reflections", comments: @comments, moderate: true %>
@@ -162,6 +141,28 @@
162
141
  <% end %>
163
142
  </div>
164
143
 
144
+ <div class="b270-panel">
145
+ <h2 class="b270-subhead">Completions</h2>
146
+ <%= form_with url: admin_reader_through_path(@reader), method: :patch, class: "b270-startform" do %>
147
+ <label class="b270-field">
148
+ <span>Mark complete through day (0 clears everything)</span>
149
+ <%= number_field_tag :day, @days_completed, min: 0, max: Bible270::Plan::DAYS %>
150
+ </label>
151
+ <%= submit_tag 'Apply', class: 'b270-btn' %>
152
+ <% end %>
153
+ <p class="b270-hint">This also clears anything after that day, so it sets their progress exactly.</p>
154
+
155
+ <div class="b270-grid" style="margin-top:16px">
156
+ <% (1..Bible270::Plan::DAYS).each do |d| %>
157
+ <%= button_to d, admin_reader_day_path(@reader, d), method: :post,
158
+ class: b270_day_cell_classes(d, reader: @reader),
159
+ title: b270_day_readings(d),
160
+ form: { style: 'display:contents', id: "day-#{d}" } %>
161
+ <% end %>
162
+ </div>
163
+ <p class="b270-hint">Click a day to toggle it complete.</p>
164
+ </div>
165
+
165
166
  <div class="b270-panel">
166
167
  <h2 class="b270-subhead">Remove</h2>
167
168
  <p class="b270-hint" style="margin-top:0">Deletes the reader together with every check-off and
@@ -1,4 +1,5 @@
1
1
  <% content_for :title, "Profile — #{Bible270.config.app_name}" %>
2
+ <% content_for :expand_day_index, "true" %>
2
3
  <p class="b270-eyebrow">Profile</p>
3
4
  <h1>Your details</h1>
4
5
  <p class="lede">This is how you appear beside your reflections and on the community page.</p>
@@ -1,7 +1,7 @@
1
1
  <% content_for :title, "Community — #{Bible270.config.app_name}" %>
2
2
  <p class="b270-eyebrow">Community</p>
3
3
  <h1>Reading together</h1>
4
- <p class="lede">A community walking through the Word, sharing reflections and encouraging one another.</p>
4
+ <p class="lede">Walking through the Word, sharing reflections and encouraging one another.<% if @today_day %> <%= link_to "Go to today (Day #{@today_day})", day_path(@today_day), class: "b270-todaylink" %><% end %></p>
5
5
 
6
6
  <% if @readers.any? %>
7
7
  <div class="b270-list">
@@ -13,7 +13,7 @@
13
13
  <% if @reader %>
14
14
  <div class="b270-panel">
15
15
  <%= render "bible270/shared/reflections", comments: @recent_comments,
16
- title: "Your recent reflections",
16
+ title: "Your recent reflections", editable: true,
17
17
  empty_text: "You have not written any reflections yet." %>
18
18
  </div>
19
19
  <% end %>
@@ -20,4 +20,4 @@
20
20
  title: "Their reflections", empty_text: "No reflections yet." %>
21
21
  </div>
22
22
 
23
- <%= render "bible270/shared/day_index", reader: @reader %>
23
+ <%= render "bible270/shared/day_index", reader: @reader, expanded: true %>
@@ -1,8 +1,8 @@
1
- <%# locals: (reader: nil) %>
1
+ <%# locals: (reader: nil, expanded: false) %>
2
2
  <% if Bible270::Plan::DAYS.positive? %>
3
3
  <% grid_reader = reader || current_reader %>
4
4
  <% today = signed_in? && grid_reader == current_reader ? current_reader.today_day : nil %>
5
- <details class="b270-index">
5
+ <details class="b270-index"<%= " open" if expanded %>>
6
6
  <summary>View all <%= Bible270::Plan::DAYS %> days</summary>
7
7
  <div class="b270-grid">
8
8
  <% (1..Bible270::Plan::DAYS).each do |d| %>
@@ -1,4 +1,4 @@
1
- <%# locals: (comments:, title: "Their reflections", moderate: false, empty_text: "None yet.") %>
1
+ <%# locals: (comments:, title: "Their reflections", moderate: false, editable: false, empty_text: "None yet.") %>
2
2
  <%#
3
3
  A reader's reflections. Three views showed near-identical markup: the admin
4
4
  page, a reader's public page, and the progress page, differing only in whether
@@ -21,6 +21,10 @@
21
21
  <%= link_to "Day #{comment.day}", day_path(comment.day) %>
22
22
  · <%= b270_date(comment.created_at) %>
23
23
  <% if moderate && comment.hidden? %><span class="b270-badge">Hidden</span><% end %>
24
+ <% if editable && b270_can_edit?(comment) %>
25
+ <%= link_to "edit", day_path(comment.day, edit: comment.id, anchor: "comment-#{comment.id}"),
26
+ class: "b270-cedit" %>
27
+ <% end %>
24
28
  </div>
25
29
 
26
30
  <div class="b270-cbody"><%= b270_comment_body(comment) %></div>
@@ -20,7 +20,7 @@
20
20
  <% if flash[:notice] %><div class="b270-flash notice"><%= flash[:notice] %></div><% end %>
21
21
  <%= yield %>
22
22
  <%# Pages with their own day grid opt out with content_for :hide_day_index %>
23
- <%= render 'bible270/shared/day_index' unless content_for?(:hide_day_index) %>
23
+ <%= render 'bible270/shared/day_index', expanded: content_for?(:expand_day_index) unless content_for?(:hide_day_index) %>
24
24
  <%= b270_footer %>
25
25
  </div>
26
26
  <%= render "bible270/shared/scripture_popups" %>
data/lib/bible270/plan.rb CHANGED
@@ -442,9 +442,11 @@ module Bible270
442
442
  ['Proverbs', 4] => [9, 19], # a father's teaching | the two paths | guard the heart
443
443
  ['Proverbs', 5] => [14], # the adulteress | your own cistern
444
444
  ['Proverbs', 6] => [19], # surety, sluggard, seven abominations | adultery
445
- ['Proverbs', 7] => [5, 23], # keep my commands | the seduction | her house
445
+ ['Proverbs', 7] => [], # the seduction warning stays whole
446
446
  ['Proverbs', 8] => [11, 21], # Wisdom calls | her worth | Wisdom at creation
447
447
  ['Proverbs', 9] => [6, 12], # Wisdom's feast | scoffer and wise | Folly's feast
448
+ ['Proverbs', 10] => [8, 16, 24], # four groups of independent sayings
449
+ ['Proverbs', 16] => [9, 17, 25], # four near-even groups of independent sayings
448
450
  ['Proverbs', 30] => [9, 17], # Agur's confession | four sayings | the numbered proverbs
449
451
  ['Proverbs', 22] => [16], # sayings | words of the wise
450
452
  ['Proverbs', 23] => [8, 21, 28],
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bible270
4
- VERSION = '1.8.0'
4
+ VERSION = '1.8.3'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bible270
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew vonderLuft