bridgetown_writebook 0.1.2 → 0.1.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: 19232506467b029c6f40c936ded6c04009088b8ea9e01eea5c59350fae34ddb2
4
- data.tar.gz: 6e43b28070dea329cc7a563cadfffe5095ec7325a0e72524c3cf53f01cbeed15
3
+ metadata.gz: 88b8c7ae28fb5428c579de86efa51745635811330d85928a2cdb5825c115caf0
4
+ data.tar.gz: 5088b538984af2befd8dd4f0b0ea3f41036c448c8694dc2a58deee3a6007fe3d
5
5
  SHA512:
6
- metadata.gz: ca4c7fea96a1e934c15571c3cca2b451197e7e26e98433175e094e011b6cad8bfaf91692d262c2fbd9763732c63095f917495e370c47a78197cc326b8812d85f
7
- data.tar.gz: 9282df1c26f7730d453ef126a0b127f4071e252d924cf2927efd583746b8f7fcedb43aa4468012a8a220098eb95ac3a96838de24cc6b737589e1e6b790ebae7b
6
+ metadata.gz: 9cffab6ece98f82aeee0b9fafc78ba7f1c6b42a031d374bc90c91c3e447ec5c121dfd4aa5ad5af299a2df1d649d74a8203e37884e1c3c059fb8a95ba0ada192c
7
+ data.tar.gz: 2c0d4e28fc86827f3870b38e4f650e19cf802960954bb573a1a825ef4a7e9f1758eed0650f4f5083adbbb0a624345614faaa77e3b1ac8d567dd4a9651847e468
@@ -3,21 +3,18 @@
3
3
  module BridgetownWritebook
4
4
  class BookContent < Bridgetown::Component
5
5
  def initialize(book:)
6
- super
6
+ super()
7
7
  @book = book
8
8
  end
9
9
 
10
10
  def template
11
- html do
12
- ul class: "book-content-list",
13
- data: {
14
- controller: "bookmark",
15
- bookmark_chapter_outlet: ".chapter",
16
- bookmark_book_value: @book.id,
17
- } do
18
- text_node chapters_list.join
19
- end
20
- end
11
+ data_attrs = [
12
+ 'data-controller="bookmark"',
13
+ 'data-bookmark-chapter-outlet=".chapter"',
14
+ "data-bookmark-book-value=\"#{@book.id}\"",
15
+ ].join(" ")
16
+
17
+ "<ul class=\"book-content-list\" #{data_attrs}>#{chapters_list}</ul>"
21
18
  end
22
19
 
23
20
  def chapters_list
@@ -5,21 +5,22 @@ module BridgetownWritebook
5
5
  attr_accessor :book
6
6
 
7
7
  def initialize(book:)
8
- super
8
+ super()
9
9
  @book = book
10
10
  end
11
11
 
12
12
  def template
13
- html do
14
- li class: "book-cover-item",
15
- data: cover_data_attributes do
16
- a class: "book-cover-link", href: book.link do
17
- render_cover_image
18
- render_book_title
19
- render_book_authors
20
- end
21
- end
22
- end
13
+ data_attrs = cover_data_attributes.map do |k, v|
14
+ %(data-#{k.to_s.tr("_", "-")}="#{v}")
15
+ end.join(" ")
16
+
17
+ link_inner = [
18
+ render_cover_image,
19
+ render_book_title,
20
+ render_book_authors,
21
+ ].join
22
+
23
+ "<li class=\"book-cover-item\" #{data_attrs}><a class=\"book-cover-link\" href=\"#{book.link}\">#{link_inner}</a></li>"
23
24
  end
24
25
 
25
26
  private
@@ -34,22 +35,17 @@ module BridgetownWritebook
34
35
  end
35
36
 
36
37
  def render_cover_image
37
- div class: "book-cover-image-wrapper",
38
- data: { book_target: "cover" } do
39
- img src: book.cover, class: "book-cover-image"
40
- end
38
+ '<div class="book-cover-image-wrapper" data-book-target="cover">' \
39
+ + "<img src=\"#{book.cover}\" class=\"book-cover-image\" />" \
40
+ + "</div>"
41
41
  end
42
42
 
43
43
  def render_book_title
44
- div class: "book-cover-title" do
45
- text_node book.name
46
- end
44
+ "<div class=\"book-cover-title\">#{book.name}</div>"
47
45
  end
48
46
 
49
47
  def render_book_authors
50
- div class: "book-cover-authors" do
51
- text_node book.authors
52
- end
48
+ "<div class=\"book-cover-authors\">#{book.authors}</div>"
53
49
  end
54
50
  end
55
51
  end
@@ -3,7 +3,7 @@
3
3
  module BridgetownWritebook
4
4
  class BookList < Bridgetown::Component
5
5
  def initialize(books:)
6
- super
6
+ super()
7
7
  @books = books
8
8
  end
9
9
 
@@ -12,11 +12,7 @@ module BridgetownWritebook
12
12
  end
13
13
 
14
14
  def template
15
- html do
16
- ul class: "book-list" do
17
- text_node book_covers
18
- end
19
- end
15
+ "<ul class=\"book-list\">#{book_covers}</ul>"
20
16
  end
21
17
  end
22
18
  end
@@ -3,19 +3,18 @@
3
3
  module BridgetownWritebook
4
4
  class ChapterContent < Bridgetown::Component
5
5
  def initialize(chapter:)
6
- super
6
+ super()
7
7
  @chapter = chapter
8
8
  end
9
9
 
10
10
  def template
11
- html do
12
- text_node @chapter.resource.content
13
- div data: {
14
- controller: "reading",
15
- reading_id_value: @chapter.id,
16
- reading_book_value: @chapter.book.id,
17
- }
18
- end
11
+ data_attrs = [
12
+ 'data-controller="reading"',
13
+ "data-reading-id-value=\"#{@chapter.id}\"",
14
+ "data-reading-book-value=\"#{@chapter.book.id}\"",
15
+ ].join(" ")
16
+
17
+ "#{@chapter.resource.content}<div #{data_attrs}></div>"
19
18
  end
20
19
  end
21
20
  end
@@ -5,27 +5,22 @@ module BridgetownWritebook
5
5
  attr_accessor :chapter
6
6
 
7
7
  def initialize(chapter:)
8
- super
8
+ super()
9
9
  @chapter = chapter
10
10
  end
11
11
 
12
12
  def template
13
- html do
14
- li class: "chapter",
15
- data: {
16
- controller: "chapter",
17
- chapter_id_value: chapter.id,
18
- chapter_ellipsis_class: "chapter-highlight",
19
- } do
20
- a class: "chapter-link", href: chapter.link do
21
- text_node chapter.title
22
- end
23
- span class: "chapter-ellipsis", data: { chapter_target: "ellipsis" }
24
- span class: "chapter-word-count" do
25
- text_node chapter.word_count
26
- end
27
- end
28
- end
13
+ data_attrs = [
14
+ 'data-controller="chapter"',
15
+ "data-chapter-id-value=\"#{chapter.id}\"",
16
+ 'data-chapter-ellipsis-class="chapter-highlight"',
17
+ ].join(" ")
18
+
19
+ link = "<a class=\"chapter-link\" href=\"#{chapter.link}\">#{chapter.title}</a>"
20
+ ellipsis = '<span class="chapter-ellipsis" data-chapter-target="ellipsis"></span>'
21
+ word_count = "<span class=\"chapter-word-count\">#{chapter.word_count}</span>"
22
+
23
+ "<li class=\"chapter\" #{data_attrs}>#{link}#{ellipsis}#{word_count}</li>"
29
24
  end
30
25
  end
31
26
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BridgetownWritebook
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bridgetown_writebook",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "main": "frontend/javascript/index.js",
5
5
  "repository": {
6
6
  "type": "git",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bridgetown_writebook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Syed Muhammad Sawaid