bible270 0.18.1 → 0.18.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: 267adcf001d1af00e789992fdec3bbd27bd6094408863e6b66e4a6b33eb7fd25
4
- data.tar.gz: 1b99bedad8348dda8bc1af3f7e57def64f4097884074079898bf2d8f449609a1
3
+ metadata.gz: 1717282682f9d19a378cd4416b50e5e3f3b63d110e855196042a6e090ed4bd92
4
+ data.tar.gz: '0812f617706046de930ba84e4cfb6747fc73195b79818a05db11ae0e29484f6b'
5
5
  SHA512:
6
- metadata.gz: 73a9a0d0f506ed7a64598c2c0b11104a0f6d0877e82ce6c2ee040211342bce0c95e289c41dba1f555d352fecf259cf5f586bf250e2f26d970145cc66b5d1e87b
7
- data.tar.gz: e393b0f5843224d5390d8f5e90a0022b55710c47d89791eea0dfee462815a75625c55682e2cbfa526233cd0b3fe24364e78d7dbffdd98d0b2c00655a9b60ae84
6
+ metadata.gz: 4d1fa7576be664152a2a64e5af1749e39d77fb6b7cd26ca5198a5017727c160e4a413a6337b4c222e7bf727a037fbcb56ea21972034712cf4da087e93e0a8636
7
+ data.tar.gz: 89223b4dd7dbed64af6b4e4d90cbd3bb0e6b74c85b9b0b56baf64c9d8aa833710325965d43067a89dac67b754ad87bf192cc49a7996e2066daf0e3b82b164b36
data/CHANGELOG.md CHANGED
@@ -6,7 +6,28 @@ All notable changes to bible270. Format follows [Keep a Changelog](https://keepa
6
6
 
7
7
  See the changes since the last release:
8
8
 
9
- **[Full Changelog](https://github.com/avonderluft/bible270/compare/v0.18.0...main)**
9
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v0.18.2...main)**
10
+
11
+ ## [0.18.2] - 2026-08-15
12
+
13
+ ### Added
14
+
15
+ - Young's Literal Translation (`YLT`) as a Bible Gateway and Blue Letter Bible reading option
16
+
17
+ ### Changed
18
+
19
+ - summarize reflection likes with one heart and a count, with all liker names displayed in a one-name-per-row tooltip
20
+ - keep the reflection heart red while at least one like remains
21
+
22
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v0.18.1...v0.18.2)**
23
+
24
+ ## [0.18.1] - 2026-08-12
25
+
26
+ ### Changed
27
+
28
+ - increase reader avatar sizes across community, profile, admin, and reflection views
29
+
30
+ **[Full Changelog](https://github.com/avonderluft/bible270/compare/v0.18.0...v0.18.1)**
10
31
 
11
32
  ## [0.18.0] - 2026-08-10
12
33
 
@@ -405,6 +426,8 @@ This is the initial public release.
405
426
 
406
427
  * 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.
407
428
 
429
+ [0.18.2]: https://github.com/avonderluft/bible270/releases/tag/v0.18.2
430
+ [0.18.1]: https://github.com/avonderluft/bible270/releases/tag/v0.18.1
408
431
  [0.18.0]: https://github.com/avonderluft/bible270/releases/tag/v0.18.0
409
432
  [0.17.2]: https://github.com/avonderluft/bible270/releases/tag/v0.17.2
410
433
  [0.17.1]: https://github.com/avonderluft/bible270/releases/tag/v0.17.1
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Bible 270
2
2
 
3
- [![Gem Version](https://img.shields.io/gem/v/bible270)](https://rubygems.org/gems/bible270) [![Coverage Status](https://img.shields.io/coverallsCoverage/github/avonderluft/bible270?branch=main&cacheSeconds=300)](https://coveralls.io/github/avonderluft/bible270?branch=main) [![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
+ [![Gem Version](https://img.shields.io/gem/v/bible270)](https://rubygems.org/gems/bible270) [![Coverage Status](https://coveralls.io/repos/github/avonderluft/bible270/badge.svg?branch=main&cache=20260812-1)](https://coveralls.io/github/avonderluft/bible270?branch=main) [![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)
4
4
 
5
5
  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.
6
6
 
data/Rakefile CHANGED
@@ -2,7 +2,16 @@
2
2
 
3
3
  require 'bundler/gem_tasks' # provides build / install / release
4
4
  require 'rake/testtask'
5
- require 'coveralls/rake/task'
5
+
6
+ desc 'Normalize permissions for files included in the gem'
7
+ task :normalize_gem_permissions do
8
+ spec = Gem::Specification.load('bible270.gemspec')
9
+ spec.files.each do |path|
10
+ File.chmod(0o644, path) if File.file?(path)
11
+ end
12
+ end
13
+
14
+ Rake::Task[:build].enhance([:normalize_gem_permissions])
6
15
 
7
16
  Rake::TestTask.new(:test) do |t|
8
17
  t.libs << 'test' << 'lib'
@@ -10,6 +19,4 @@ Rake::TestTask.new(:test) do |t|
10
19
  t.warning = false
11
20
  end
12
21
 
13
- Coveralls::RakeTask.new
14
-
15
22
  task default: :test
@@ -1,27 +1,37 @@
1
1
  <%# locals: (comment:) %>
2
2
  <%#
3
- One heart per like, each carrying its giver's name so a row of hearts is both
4
- the count and, on hover, the list of who.
5
-
6
- Your own like is not drawn in the row: the button is your heart, filled, and
7
- saying so. Drawing both gave a reader two hearts for one like.
3
+ Likes are summarized as a count followed by one heart. Hovering or focusing
4
+ the summary reveals every liker on a separate line.
8
5
  %>
9
6
  <%
10
7
  liked = signed_in? && comment.liked_by?(current_reader)
11
- others = signed_in? ? comment.likes.reject { |like| like.reader_id == current_reader.id } : comment.likes
8
+ likes = comment.likes
9
+ tooltip_id = "likers-#{comment.id}"
12
10
  %>
13
11
  <span class="b270-likes" id="likes-<%= comment.id %>">
14
- <% others.each do |like| %><span class="b270-heart"
15
- title="<%= like.reader.display_name %>"><%= Bible270::Comment::HEART %></span><% end %>
12
+ <% if likes.any? %>
13
+ <span class="b270-likecount"><%= likes.size %></span>
14
+ <% end %>
16
15
 
17
16
  <% if signed_in? %>
18
- <%= button_to like_comment_path(comment), method: :post, class: "b270-likebtn#{' liked' if liked}",
17
+ <%= button_to like_comment_path(comment), method: :post, class: "b270-likebtn#{' liked' if likes.any?}",
19
18
  form: { style: "display:inline", data: { turbo_stream: true } },
20
- aria: { label: liked ? "Take back your like" : "Like this reflection" },
21
- title: liked ? "You liked this — tap to take it back" : "Like this reflection" do %>
19
+ aria: {
20
+ label: liked ? "Take back your like" : "Like this reflection",
21
+ describedby: (tooltip_id if likes.any?)
22
+ } do %>
22
23
  <%= Bible270::Comment::HEART %>
23
24
  <% end %>
24
- <% elsif comment.likes.any? %>
25
- <span class="b270-likecount"><%= comment.likes.size %></span>
25
+ <% elsif likes.any? %>
26
+ <span class="b270-heart" tabindex="0" aria-label="<%= pluralize(likes.size, 'like') %>"
27
+ aria-describedby="<%= tooltip_id %>"><%= Bible270::Comment::HEART %></span>
28
+ <% end %>
29
+
30
+ <% if likes.any? %>
31
+ <span class="b270-liketooltip" id="<%= tooltip_id %>" role="tooltip">
32
+ <% likes.each do |like| %>
33
+ <span class="b270-liker"><%= like.reader.display_name %></span>
34
+ <% end %>
35
+ </span>
26
36
  <% end %>
27
37
  </span>
@@ -171,16 +171,21 @@
171
171
  .b270-mention{color:var(--teal);font-weight:600;text-decoration:none}
172
172
  .b270-mention:hover{text-decoration:underline}
173
173
  .b270-cactions{display:flex;align-items:center;gap:12px;margin-top:6px;flex-wrap:wrap}
174
- .b270-likes{display:inline-flex;align-items:center;gap:2px}
174
+ .b270-likes{display:inline-flex;align-items:center;gap:3px;position:relative}
175
175
  .b270-heart{font-size:13px;line-height:1;cursor:default}
176
- /* Same size as a heart in the row: the button is one of the hearts, not a
177
- control sitting beside them. Unliked, it is the same emoji desaturated
178
- visible against the paper, and hovering shows what clicking will give. */
176
+ /* The single heart is also the toggle for signed-in readers. It stays red
177
+ while anyone likes the reflection and returns to grey only at zero likes. */
179
178
  .b270-likebtn{background:none;border:0;padding:0 2px;font-size:13px;line-height:1;cursor:pointer;
180
179
  filter:grayscale(1);opacity:.5;transition:filter .12s,opacity .12s}
181
180
  .b270-likebtn:hover{filter:none;opacity:1}
182
181
  .b270-likebtn.liked{filter:none;opacity:1}
183
- .b270-likecount{font-size:11.5px;color:var(--faint);margin-left:2px}
182
+ .b270-likecount{font-size:11.5px;color:var(--faint)}
183
+ .b270-liketooltip{display:none;position:absolute;z-index:10;top:calc(100% + 6px);left:0;
184
+ min-width:max-content;padding:6px 9px;border:1px solid var(--line-soft);
185
+ border-radius:7px;background:var(--ink);color:var(--paper);font-size:12px;
186
+ line-height:1.45;box-shadow:0 3px 10px rgba(0,0,0,.14)}
187
+ .b270-likes:hover .b270-liketooltip,.b270-likes:focus-within .b270-liketooltip{display:block}
188
+ .b270-liker{display:block;white-space:nowrap}
184
189
  .b270-creply{margin-top:6px}
185
190
  .b270-cbody{margin:3px 0 0;white-space:pre-wrap}
186
191
  .b270-editform{margin-top:6px}
@@ -19,6 +19,7 @@ module Bible270
19
19
  'LSB' => { label: 'Legacy Standard Bible', short: 'Legacy Standard Version', gateway: 'LSB', blue_letter: 'lsb' },
20
20
  'ESV' => { label: 'English Standard Version', short: 'English Standard Version', gateway: 'ESV', blue_letter: 'esv' },
21
21
  'KJV' => { label: 'King James Version', short: 'King James Version', gateway: 'KJV', blue_letter: 'kjv' },
22
+ 'YLT' => { label: 'Young\'s Literal Translation', short: 'Young\'s Literal Translation', gateway: 'YLT', blue_letter: 'ylt' },
22
23
  'HEB/GRK' => { label: 'Hebrew and Greek', short: 'Hebrew and Greek', gateway: 'WLC', blue_letter: 'wlc/mgnt' }
23
24
  }.freeze
24
25
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Bible270
4
- VERSION = '0.18.1'
4
+ VERSION = '0.18.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: 0.18.1
4
+ version: 0.18.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew vonderLuft