coursegen 0.9.21 → 0.9.24

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: 6b56c0b807e916341052ecd96905c1bc871865fee63f7c71815fcf9d7814d27b
4
- data.tar.gz: 39f5a5c2f4dbd30a4e0c68c55d02e39dfa53fadaa22a468211fdb44a95216086
3
+ metadata.gz: d88ff591a425c369dbafa9d37f22cb535b3292414a2e02ec8de568b9abf6139d
4
+ data.tar.gz: c3192a4a0e560c12803e281336360c87b4d6b462bbb67967204d2ba18ad8ba23
5
5
  SHA512:
6
- metadata.gz: 251bdf602d00a8cc6ad043768148ccf30fdc7a47b27c22050d2f014ce3c9b61736d4fb2ba1c990e485f33b9eb6ee28041ffe59edb971e87996fdb202e575999b
7
- data.tar.gz: 17bf9af7c79f545d474b4f7b11e7145ed8ada2547443e387d25e04df860d94e501b275429f4301ef02458c53c0566eb1e1e076f81de2f3b8a407fc530a8dcffd
6
+ metadata.gz: dfbea249b45166567c595fe8882b4e9e9a748ca1d8d48eb19e26bd02b96f80d9b4bf65e74c0820854d0253c2bdf0e4462d2dda1fbac9c9a8270368bb23b5b88d
7
+ data.tar.gz: ddb8c0339de535890101fe8294c7faa0829a820efb8cb889e33f33a3b4a54c15282762592d57e006518a8b1d17c896bbabce9f4375f66ec0bc19be799a606bdc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- coursegen (0.9.21)
4
+ coursegen (0.9.24)
5
5
  activesupport
6
6
  adsf
7
7
  byebug
@@ -80,6 +80,7 @@ GEM
80
80
  lumberjack (1.2.8)
81
81
  memo_wise (1.5.0)
82
82
  method_source (1.0.0)
83
+ mini_portile2 (2.7.1)
83
84
  minitest (5.15.0)
84
85
  nanoc (4.12.4)
85
86
  addressable (~> 2.5)
@@ -119,7 +120,8 @@ GEM
119
120
  nanoc-cli (~> 4.11, >= 4.11.14)
120
121
  nanoc-core (~> 4.11, >= 4.11.14)
121
122
  nenv (0.3.0)
122
- nokogiri (1.13.1-x86_64-darwin)
123
+ nokogiri (1.13.1)
124
+ mini_portile2 (~> 2.7.0)
123
125
  racc (~> 1.4)
124
126
  notiffany (0.1.3)
125
127
  nenv (~> 0.1)
@@ -170,7 +172,11 @@ GEM
170
172
  zeitwerk (2.5.3)
171
173
 
172
174
  PLATFORMS
175
+ arm64-darwin-21
176
+ arm64-darwin-22
177
+ arm64-darwin-23
173
178
  x86_64-darwin-21
179
+ x86_64-darwin-22
174
180
 
175
181
  DEPENDENCIES
176
182
  bundler
@@ -179,4 +185,4 @@ DEPENDENCIES
179
185
  rspec
180
186
 
181
187
  BUNDLED WITH
182
- 2.3.3
188
+ 2.4.10
@@ -1,6 +1,5 @@
1
1
  # ContentHelpers is used to annotate content.
2
2
  module ContentHelpers
3
-
4
3
  def include_topic(item_symbol)
5
4
  incorporated_topic = lookup_nitem('topics', item_symbol.to_s)
6
5
  items[incorporated_topic.identifier.to_s].compiled_content
@@ -75,9 +74,9 @@ module ContentHelpers
75
74
  <p class="lead">#{body}</p></div>)
76
75
  elsif (style == "small")
77
76
  <<~HTMLSTRING
78
- <div class="callout border border-primary rounded p-2 m-3">
79
- <span class="badge badge-pill badge-primary">#{title}</span>#{body}
80
- </div>
77
+ <div class="callout border border-primary rounded p-2 m-3">
78
+ <span class="badge badge-pill badge-primary">#{title}</span>#{body}
79
+ </div>
81
80
  HTMLSTRING
82
81
  else
83
82
  "error in callout call: .#{style}. #{style.class}"
@@ -101,7 +100,6 @@ module ContentHelpers
101
100
  end
102
101
  end
103
102
 
104
-
105
103
  def iconbadge1(icon, tooltip)
106
104
  %(<img src="/bootstrap/bootstrap-icons-1.0.0/#{icon}.svg" title="#{tooltip}" class="iconbadge">)
107
105
  end
@@ -359,11 +357,11 @@ module ContentHelpers
359
357
  end
360
358
 
361
359
  def source_begin(language)
362
- "<pre class=\"#{language}\">"
360
+ "<pre><code class=\"#{language}\">"
363
361
  end
364
362
 
365
363
  def source_end
366
- '</pre>'
364
+ '</code></pre>'
367
365
  end
368
366
 
369
367
  def postit_begin(title)
@@ -0,0 +1,21 @@
1
+ class TableMarkupHelper
2
+ def self.begin properties
3
+ @th = TableHelper.new(properties)
4
+ ""
5
+ end
6
+
7
+ def self.headers(labels)
8
+ @th.headers(*labels.split("\;"))
9
+ ""
10
+ end
11
+
12
+ def self.row(cells)
13
+ @th.row(*cells.split("\;"))
14
+ ""
15
+ end
16
+
17
+ def self.end
18
+ @th.render
19
+ end
20
+ end
21
+
@@ -2,39 +2,55 @@ include VisualHelpers
2
2
 
3
3
  Nanoc::Filter.define(:handle_shortcodes) do |content, _params = {}|
4
4
  prefix = /:/
5
- content
6
- .gsub(Regexp.new(prefix.source + /callout :(\w+), "(.+)", "(.+)"/.source)) { callout($2, $3, $1) }
7
- .gsub(Regexp.new(prefix.source + /deliverable (.+)$/.source)) { deliverable($1) }
8
- .gsub(Regexp.new(prefix.source + /discussion_box "(.+)"/.source)) { discussion_box($1) }
9
- .gsub(Regexp.new(prefix.source + /h1 (.+)$/.source), "# \\1 ")
10
- .gsub(Regexp.new(prefix.source + /h2 (.+)$/.source), "## \\1 ")
11
- .gsub(Regexp.new(prefix.source + /h3 (.+)$/.source), "### \\1 ")
12
- .gsub(Regexp.new(prefix.source + /h4 (.+)$/.source), "#### \\1 ")
13
- .gsub(Regexp.new(prefix.source + /h5 (.+)$/.source)) { "<h5>#{$1}</h5>" }
14
- .gsub(Regexp.new(prefix.source + /image :(\w+)$/.source)) { "<img src=\"/content/topics/images/#{$1}.jpg\" class=\"img-thumbnail d-block mx-auto\" style=\"height:300px;\"/>" }
15
- .gsub(Regexp.new(prefix.source + /image :(\w+), :(\w+)$/.source)) { "<img src=\"/content/topics/images/#{$2}.jpg\" class=\"img-thumbnail d-block mx-auto\" style=\"height:#{$1}px;\"/>" }
16
- .gsub(Regexp.new(prefix.source + /lecture_end/.source), end_of_lecture)
17
- .gsub(Regexp.new(prefix.source + /li (.+)$/.source)) { "<li>#{$1}</li>" }
18
- .gsub(Regexp.new(prefix.source + /partbadge/.source), partbadge)
19
- .gsub(Regexp.new(prefix.source + /pdfbadge/.source), pdfbadge)
20
- .gsub(Regexp.new(prefix.source + /image_random "(\w+)", "(\w+)"/.source)) { "<img src=\"https://picsum.photos/#{$1}/#{$2}.jpg\" /> "}
21
- .gsub(Regexp.new(prefix.source + /image_rnd :(\w+), "(.+)", "(.+)"/.source)) { random_image($1, $2, $3) }
22
- .gsub(Regexp.new(prefix.source + /section_link :(\w+), :(\w+)/.source)) { link_to_section($1, $2) }
23
- .gsub(Regexp.new(prefix.source + /section_include :(\w+), :(\w+)/.source)) { include_from_section($1, $2) }
24
- .gsub(Regexp.new(prefix.source + /slide_bigtitle (.+)$/.source), "<slide_break></slide_break>\n\n## \\1")
25
- .gsub(Regexp.new(prefix.source + /slide_break/.source), "<slide_break></slide_break>")
26
- .gsub(Regexp.new(prefix.source + /slide_subtitle (.+)$/.source), "<slide_break></slide_break>\n\n#### \\1")
27
- .gsub(Regexp.new(prefix.source + /slide_title (.+)$/.source), "<slide_break></slide_break>\n\n### \\1")
28
- .gsub(Regexp.new(prefix.source + /source_begin :(.+)$/.source)) { source_begin( ":language-"+$1) }
29
- .gsub(Regexp.new(prefix.source + /source_end/.source), source_end)
30
- .gsub(Regexp.new(prefix.source + /team_deliverable (.+)$/.source)) { team_deliverable($1) }
31
- .gsub(Regexp.new(prefix.source + /teambadge/.source), teambadge)
32
- .gsub(Regexp.new(prefix.source + /topic_include :(\w+)$/.source)) { include_topic($1) }
33
- .gsub(Regexp.new(prefix.source + /topic_link :(\w+)/.source)) { link_to_topic($1) }
34
- .gsub(Regexp.new(prefix.source + /ul_begin :(\w+)/.source)) { "<ul class=\"#{$1}\">" }
35
- .gsub(Regexp.new(prefix.source + /ul_begin$/.source)) { "<ul>" }
36
- .gsub(Regexp.new(prefix.source + /ul_end$/.source)) { "</ul>" }
37
- .gsub(Regexp.new(prefix.source + /youtube \"(.+)\"$/.source)) { %Q!<iframe width="560" height="315" src="#{$1}"></iframe>! }
38
- .gsub(Regexp.new(prefix.source + /zipbadge/.source), zipbadge)
39
-
40
- end
5
+ content
6
+ .gsub(Regexp.new(prefix.source + /callout :(\w+), "(.+)", "(.+)"/.source)) do
7
+ callout(Regexp.last_match(2),
8
+ Regexp.last_match(3), Regexp.last_match(1))
9
+ end
10
+ .gsub(Regexp.new(prefix.source + /deliverable (.+)$/.source)) { deliverable(Regexp.last_match(1)) }
11
+ .gsub(Regexp.new(prefix.source + /discussion "(.+)"/.source)) { discussion_box(Regexp.last_match(1)) }
12
+ .gsub(Regexp.new(prefix.source + /h1 (.+)$/.source), "# \\1 ")
13
+ .gsub(Regexp.new(prefix.source + /h2 (.+)$/.source), "## \\1 ")
14
+ .gsub(Regexp.new(prefix.source + /h3 (.+)$/.source), "### \\1 ")
15
+ .gsub(Regexp.new(prefix.source + /h4 (.+)$/.source), "#### \\1 ")
16
+ .gsub(Regexp.new(prefix.source + /h5 (.+)$/.source)) { "<h5>#{Regexp.last_match(1)}</h5>" }
17
+ .gsub(Regexp.new(prefix.source + /image :(\w+)$/.source)) { "<img src=\"/content/topics/images/#{Regexp.last_match(1)}.jpg\" class=\"img-thumbnail d-block mx-auto\" style=\"height:300px;\"/>" }
18
+ .gsub(Regexp.new(prefix.source + /image :(\w+), :(\w+)$/.source)) { "<img src=\"/content/topics/images/#{Regexp.last_match(2)}.jpg\" class=\"img-thumbnail d-block mx-auto\" style=\"height:#{Regexp.last_match(1)}px;\"/>" }
19
+ .gsub(Regexp.new(prefix.source + /quote (.+)$/.source), "<blockquote class=\"pretty\">\\1</blockquote>")
20
+ .gsub(Regexp.new(prefix.source + /lecture_end/.source), end_of_lecture)
21
+ .gsub(Regexp.new(prefix.source + /li (.+)$/.source)) { "<li>#{Regexp.last_match(1)}</li>" }
22
+ .gsub(Regexp.new(prefix.source + /partbadge/.source), partbadge)
23
+ .gsub(Regexp.new(prefix.source + /pdfbadge/.source), pdfbadge)
24
+ .gsub(Regexp.new(prefix.source + /image_random "(\w+)", "(\w+)"/.source)) { "<img src=\"https://picsum.photos/#{Regexp.last_match(1)}/#{Regexp.last_match(2)}.jpg\" /> "}
25
+ .gsub(Regexp.new(prefix.source + /image_rnd :(\w+), "(.+)", "(.+)"/.source)) do
26
+ random_image(Regexp.last_match(1),
27
+ Regexp.last_match(2), Regexp.last_match(3))
28
+ end
29
+ .gsub(Regexp.new(prefix.source + /section_link :(\w+), :(\w+)/.source)) do
30
+ link_to_section(Regexp.last_match(1),
31
+ Regexp.last_match(2))
32
+ end
33
+ .gsub(Regexp.new(prefix.source + /section_include :(\w+), :(\w+)/.source)) do
34
+ include_from_section(Regexp.last_match(1),
35
+ Regexp.last_match(2))
36
+ end
37
+ .gsub(Regexp.new(prefix.source + /slide_bigtitle (.+)$/.source), "<slide_break></slide_break>\n\n## \\1")
38
+ .gsub(Regexp.new(prefix.source + /slide_break/.source), "<slide_break></slide_break>")
39
+ .gsub(Regexp.new(prefix.source + /slide_subtitle (.+)$/.source), "<slide_break></slide_break>\n\n#### \\1")
40
+ .gsub(Regexp.new(prefix.source + /slide_title (.+)$/.source), "<slide_break></slide_break>\n\n### \\1")
41
+ .gsub(Regexp.new(prefix.source + /source_begin :(.+)$/.source)) { source_begin("language-" + Regexp.last_match(1)) }
42
+ .gsub(Regexp.new(prefix.source + /source_end/.source), source_end)
43
+ .gsub(Regexp.new(prefix.source + /team_deliverable (.+)$/.source)) { team_deliverable(Regexp.last_match(1)) }
44
+ .gsub(Regexp.new(prefix.source + /teambadge/.source), teambadge)
45
+ .gsub(Regexp.new(prefix.source + /topic_include :(\w+)$/.source)) { include_topic(Regexp.last_match(1)) }
46
+ .gsub(Regexp.new(prefix.source + /topic_link :(\w+)/.source)) { link_to_topic(Regexp.last_match(1)) }
47
+ .gsub(Regexp.new(prefix.source + /ul_begin :(\w+)/.source)) { "<ul class=\"#{Regexp.last_match(1)}\">" }
48
+ .gsub(Regexp.new(prefix.source + /ul_begin$/.source)) { "<ul>" }
49
+ .gsub(Regexp.new(prefix.source + /ul_end$/.source)) { "</ul>" }
50
+ .gsub(Regexp.new(prefix.source + /youtube "(.+)"$/.source)) { %(<iframe width="560" height="315" src="#{Regexp.last_match(1)}"></iframe>) }
51
+ .gsub(Regexp.new(prefix.source + /zipbadge/.source), zipbadge)
52
+ .gsub(Regexp.new(prefix.source + /tbegin "(.+)"$/.source)) { TableMarkupHelper.begin(Regexp.last_match(1));}
53
+ .gsub(Regexp.new(prefix.source + /thead "(.+)"$/.source)) {TableMarkupHelper.headers(Regexp.last_match(1));}
54
+ .gsub(Regexp.new(prefix.source + /trow "(.+)"$/.source)) {TableMarkupHelper.row(Regexp.last_match(1));}
55
+ .gsub(Regexp.new(prefix.source + /tend/.source)) { TableMarkupHelper.end ;}
56
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Coursegen
4
- VERSION = '0.9.21'
4
+ VERSION = '0.9.24'
5
5
  end
data/lib/coursegen.rb CHANGED
@@ -12,6 +12,7 @@ require 'coursegen/course/helpers/list_of_helpers'
12
12
  require 'coursegen/course/helpers/formatting_helpers'
13
13
  require 'coursegen/course/helpers/bootstrap_markup'
14
14
  require 'coursegen/course/helpers/table_helpers'
15
+ require 'coursegen/course/helpers/table_markup_helper'
15
16
  require 'coursegen/course/helpers/navigation_helpers'
16
17
  require 'coursegen/course/data/section'
17
18
  require 'coursegen/course/data/toc'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coursegen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.21
4
+ version: 0.9.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pito Salas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-02 00:00:00.000000000 Z
11
+ date: 2023-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -284,6 +284,7 @@ files:
284
284
  - lib/coursegen/course/helpers/navigation_helpers.rb
285
285
  - lib/coursegen/course/helpers/sidebar_helpers.rb
286
286
  - lib/coursegen/course/helpers/table_helpers.rb
287
+ - lib/coursegen/course/helpers/table_markup_helper.rb
287
288
  - lib/coursegen/course/helpers/visual_helpers.rb
288
289
  - lib/coursegen/course/lib/helpers_.rb
289
290
  - lib/coursegen/course/lib/ical_adaptor.rb
@@ -366,7 +367,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
366
367
  - !ruby/object:Gem::Version
367
368
  version: '0'
368
369
  requirements: []
369
- rubygems_version: 3.3.3
370
+ rubygems_version: 3.4.10
370
371
  signing_key:
371
372
  specification_version: 4
372
373
  summary: Use Nanoc to build courses and deploy them to S3