jekyll-spaceship 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a08a522ea05e563014b701af58028bf0f6afa4c1ee808fd207ad1d1651a5689d
4
- data.tar.gz: ed466874e4feae0e0bb7970283beebb4bab72ecb5515bd09f6ee4ec67656eb6a
3
+ metadata.gz: 2abfd1cf82bdc535d470ecc9e5397dca1e1e82456897fdf7ee2035bb62ae19f4
4
+ data.tar.gz: bab5a4df56d4ac49a1f9b2838b9a05d1ef5e720e9a0cb7838cc9db23a0a211a0
5
5
  SHA512:
6
- metadata.gz: 931ed6e5b5b0d2a6047430106dced7882bc0e104f210eedbe6bf2870ecc74c8d39ccd201d55ac5bcf7171f29e7d5bf5da7d9d4043e24357c1c4f38be060bb0ae
7
- data.tar.gz: c16c3ee95ea3dec0a415d9303af0b1c666156569289308774a63e559d58bc9372ed070783b20db6180837b63540383cf4941aad7b0fe34d61f2ecba937e5b710
6
+ metadata.gz: ddb2c1c75889ada85e605ee06db3f67aa11392c2774d8db3115ced6fafecd4dcdb3d60bef85677502f511926cfaf358227bfe12aad10d622a0726e7e9d3802a2
7
+ data.tar.gz: 00c0d8b4656c3c14db2a78742033cb7cb9d0b41d86bce8a45b7f332175ce1ec24a55aa32c3bf811d506b4ba07a354ae391ac46f06f71d2e5a790f0025648eae1
@@ -27,6 +27,8 @@ deploy:
27
27
  secure: AqjHemFJsIxFuudjWzYbUGBpA5wpAB9Ate6oDZMGMnpaoSD2VgfkBDklyFfEh5uuHrh+rU6U9MPv4wknXVIV7gTTY18ATgzciLa+JCVjhAaSoPGSkORT15/kKpVp4IXIoEytj5T9D+8Wc8czd/B1+lMGGu7n7d7gMvg0HsjOLzJtAOYPrRUTaTXDLeIA+rPnsI1IzbvfHzcZvuD70XkBJWN9kiu0djlI6o51XQNumWMJrFAD/NDD3h3tZ0kkI0TalAYbWVRkZ/ZeABKAod3IRAXGt4L2MM2eYqE5KaXb/GE5wISib3I/iTCjjwrNlM+wM9a+mnOkC+elaCJm1LENqP5Ocy9wbOLYmC8i1VpPDXm2bskbj32oy1wf5zeQUf6bnPB+wDmwgCirYb7z2jQlV4BzRRkDCTftfNTa8FIi03kf+i7phjHuj18j/JC3Ww1ApRq71JAuqEnUY0wBaaN3M5abrJsYOxCRnYVPcBn/w8gfkXuhv9xvDG2OgwqIjDiECPjmbeK8Apo9kgKSrfjBQ43q62Ore6SuVCS+PZOOxVnHmfphfT4xc1atyVeMLkSvnWOa/sWTwgOSXqt1TYAEEhb734AsfXeRMzxU/LN1Y4nZ0otuEv+HVHA/XeHLA1Skq9vHhtZaORhJ58Jmwv5oMwA8KC/wPrn0gGtSBPe8zxw=
28
28
  gem: jekyll-spaceship
29
29
  on:
30
+ rvm: 2.3
30
31
  tags: true
31
32
  repo: jeffreytse/jekyll-spaceship
33
+ edge: true
32
34
  cleanup: false
data/README.md CHANGED
@@ -82,6 +82,13 @@
82
82
 
83
83
  A Jekyll plugin to provide powerful supports for table, mathjax, plantuml, emoji, youtube, vimeo, dailymotion, etc.
84
84
 
85
+ <p align="center">
86
+ <img alt="Jekyll Spaceship Demo" src="https://user-images.githubusercontent.com/9413601/82250463-15451780-997e-11ea-8809-f411586d9508.gif" alt="Donate (Ko-fi)" />
87
+ </p>
88
+
89
+ **💡 Tip:** I hope you enjoy using this plugin. If you like this project, **a little star** for it is your way make a clear statement: **My work is valued**. I would appreciate your support! _Thank you!_
90
+
91
+
85
92
  ## Table of Contents
86
93
 
87
94
  - [Requirements](#requirements)
@@ -121,13 +128,15 @@ Add jekyll-spaceship plugin in your site's `Gemfile`, and run `bundle install`.
121
128
  gem 'jekyll-spaceship'
122
129
  ```
123
130
 
124
- Add jekyll-spaceship to the `gems:` section in your site's `_config.yml`.
131
+ Add jekyll-spaceship to the `plugins:` section in your site's `_config.yml`.
125
132
 
126
133
  ```yml
127
134
  plugins:
128
135
  - jekyll-spaceship
129
136
  ```
130
137
 
138
+ **💡 Tip:** Note that GitHub Pages runs in `safe` mode and only allows [a set of whitelisted plugins](https://pages.github.com/versions/). To use the gem in GitHub Pages, you need to build locally or use CI (e.g. [travis](https://travis-ci.org/), [github workflow](https://help.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow)) and deploy to your `gh-pages` branch. [Click here for more information.](https://jekyllrb.com/docs/continuous-integration/github-actions/) (e.g. [https://github.com/jeffreytse/jekyll-jeffreytse-blog](https://github.com/jeffreytse/jekyll-jeffreytse-blog))
139
+
131
140
  ## Usage
132
141
 
133
142
  ### 1. Table Usage
@@ -492,6 +501,10 @@ $ 2^{\frac{n-1}{3}} $
492
501
  $ \int\_a^b f(x)\,dx. $
493
502
  ```
494
503
 
504
+ Code above would be parsed as:
505
+
506
+ <image alt="MathJax Expression" height="180" src="https://user-images.githubusercontent.com/9413601/82814245-5a5ed180-9ec9-11ea-9d5b-fba303c627ac.png"></image>
507
+
495
508
  ### 3. PlantUML Usage
496
509
 
497
510
  [PlantUML](http://plantuml.sourceforge.net/) is a component that allows to quickly write:
@@ -520,6 +533,10 @@ Bob -> Alice : hello
520
533
  @enduml
521
534
  ```
522
535
 
536
+ Code above would be parsed as:
537
+
538
+ ![PlantUML Diagram](https://user-images.githubusercontent.com/9413601/82813883-9180b300-9ec8-11ea-8778-f450e0056938.png)
539
+
523
540
  ### 4. Video Usage
524
541
 
525
542
  How often did you find yourself googling "**How to embed a video in markdown?**"
@@ -20,6 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_dependency "jekyll", ">= 3.6", "< 5.0"
22
22
  spec.add_dependency "nokogiri", "~> 1.6"
23
+ spec.add_dependency "gemoji", "~> 3.0"
24
+ spec.add_dependency "rainbow", "~> 3.0"
23
25
 
24
26
  spec.add_development_dependency "bundler"
25
27
  spec.add_development_dependency "rake", "~> 12.0"
@@ -1,16 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'jekyll-spaceship/cores/logger'
4
+ require 'jekyll-spaceship/cores/config'
4
5
  require 'jekyll-spaceship/cores/manager'
5
6
  require 'jekyll-spaceship/cores/processor'
6
7
  require 'jekyll-spaceship/cores/register'
7
8
 
8
9
  module Jekyll::Spaceship
9
10
  Logger.display_info
10
- Register.use 'table-processor'
11
- Register.use 'mathjax-processor'
12
- Register.use 'plantuml-processor'
13
- Register.use 'polyfill-processor'
14
- Register.use 'video-processor'
15
- Register.use 'emoji-processor'
11
+ Config.load
16
12
  end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module Jekyll::Spaceship
6
+ class Config
7
+ CONFIG_NAME = 'jekyll-spaceship'
8
+ DEFAULT_CONFIG = {
9
+ 'processors' => [
10
+ 'table-processor',
11
+ 'mathjax-processor',
12
+ 'plantuml-processor',
13
+ 'polyfill-processor',
14
+ 'video-processor',
15
+ 'emoji-processor'
16
+ ],
17
+ 'mathjax-processor' => {
18
+ 'src' => '//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML',
19
+ 'config' => {
20
+ 'tex2jax' => { 'inlineMath' => [['$','$'], ['\\(','\\)']] }
21
+ }
22
+ },
23
+ 'plantuml-processor' => {
24
+ 'src' => 'http://www.plantuml.com/plantuml/png/'
25
+ },
26
+ 'emoji-processor' => {
27
+ 'src' => 'https://github.githubassets.com/images/icons/emoji/'
28
+ }
29
+ }
30
+
31
+ @@store = {}
32
+
33
+ def self.deep_merge(first, second)
34
+ merger = proc do |_, f, s|
35
+ if Hash === f && Hash === s
36
+ f.merge(s, &merger)
37
+ elsif Array === f && Array === s
38
+ s || f
39
+ else
40
+ [:undefined, nil, :nil].include?(s) ? f : s
41
+ end
42
+ end
43
+ first.merge(second.to_h, &merger)
44
+ end
45
+
46
+ def self.store(section)
47
+ @@store[section]
48
+ end
49
+
50
+ def self.load(filename = '_config.yml')
51
+ config = deep_merge(
52
+ { CONFIG_NAME => DEFAULT_CONFIG },
53
+ YAML.load_file(File.expand_path(filename))
54
+ )[CONFIG_NAME]
55
+ @@store = config
56
+ self.use_processors(config)
57
+ end
58
+
59
+ def self.use_processors(config)
60
+ config['processors'].each do |processor|
61
+ Register.use processor
62
+ end
63
+ end
64
+ end
65
+ end
@@ -1,6 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'jekyll-spaceship/version'
4
+ require 'rainbow/refinement'
5
+
6
+ using Rainbow
4
7
 
5
8
  module Jekyll::Spaceship
6
9
  class Logger
@@ -9,13 +12,13 @@ module Jekyll::Spaceship
9
12
  end
10
13
 
11
14
  def self.display_info
12
- self.log "Jekyll-Spaceship #{Jekyll::Spaceship::VERSION}"
13
- self.log 'A Jekyll plugin to provide powerful supports.'
14
- self.log 'https://github.com/jeffreytse/jekyll-spaceship'
15
+ self.log "🚀 Jekyll-Spaceship #{Jekyll::Spaceship::VERSION}"
16
+ self.log '🎉 A Jekyll plugin to provide powerful supports.'
17
+ self.log '👉 ' + 'https://github.com/jeffreytse/jekyll-spaceship'.underline
15
18
  end
16
19
 
17
20
  def self.log(content)
18
- self.output 'Jekyll Spaceship', content
21
+ self.output 'Jekyll Spaceship', content.bright
19
22
  end
20
23
 
21
24
  def self.output(title, content)
@@ -6,7 +6,7 @@ require __dir__ + '/type'
6
6
  module Jekyll::Spaceship
7
7
  class Manager
8
8
  @@_hooks = {}
9
- @@_processers = []
9
+ @@_processors = []
10
10
 
11
11
  def self.add(processor)
12
12
  # register for listening event
@@ -15,14 +15,14 @@ module Jekyll::Spaceship
15
15
  events = _register.last.uniq
16
16
  events = events.select do |event|
17
17
  next true if event.match(/^post/)
18
- next !events.any?(event.to_s.gsub(/^pre/, 'post').to_sym)
18
+ next events.index(event.to_s.gsub(/^pre/, 'post').to_sym).nil?
19
19
  end
20
20
  events.each do |event|
21
21
  self.hook container, event
22
22
  end
23
23
  end
24
- @@_processers.push(processor)
25
- @@_processers = @@_processers.sort { |a, b| b.priority <=> a.priority }
24
+ @@_processors.push(processor)
25
+ @@_processors = @@_processors.sort { |a, b| b.priority <=> a.priority }
26
26
  end
27
27
 
28
28
  def self.hook(container, event, &block)
@@ -57,19 +57,20 @@ module Jekyll::Spaceship
57
57
  end
58
58
 
59
59
  def self.dispatch(page, container, event)
60
- @@_processers.each do |processor|
60
+ @@_processors.each do |processor|
61
61
  processor.dispatch page, container, event
62
62
  end
63
63
  if event.to_s.start_with?('post') and Type.html? output_ext(page)
64
64
  self.dispatch_html_block(page)
65
65
  end
66
- @@_processers.each do |processor|
66
+ @@_processors.each do |processor|
67
67
  processor.on_handled if processor.handled
68
68
  end
69
69
  end
70
70
 
71
71
  def self.ext(page)
72
- page.data['ext']
72
+ ext = page.path.match(/\.\S+$/)
73
+ ext.to_s.rstrip
73
74
  end
74
75
 
75
76
  def self.output_ext(page)
@@ -91,7 +92,7 @@ module Jekyll::Spaceship
91
92
  next if type.nil?
92
93
 
93
94
  # dispatch to on_handle_html_block
94
- @@_processers.each do |processor|
95
+ @@_processors.each do |processor|
95
96
  next unless processor.process?
96
97
  content = processor.on_handle_html_block content, type
97
98
  # dispatch to type handlers
@@ -106,13 +107,13 @@ module Jekyll::Spaceship
106
107
  content = cvter.convert content unless cvter.nil?
107
108
 
108
109
  # dispatch to on_handle_html
109
- @@_processers.each do |processor|
110
+ @@_processors.each do |processor|
110
111
  next unless processor.process?
111
112
  content = processor.on_handle_html content
112
113
  end
113
114
  node.replace Nokogiri::HTML.fragment content
114
115
  end
115
- page.output = doc.to_html
116
+ page.output = Processor.escape_html doc.to_html
116
117
  end
117
118
  end
118
119
  end
@@ -18,6 +18,7 @@ module Jekyll::Spaceship
18
18
 
19
19
  attr_reader :page
20
20
  attr_reader :logger
21
+ attr_reader :config
21
22
  attr_reader :priority
22
23
  attr_reader :registers
23
24
  attr_reader :exclusions
@@ -27,11 +28,20 @@ module Jekyll::Spaceship
27
28
  self.class.name.split('::').last
28
29
  end
29
30
 
31
+ def filename
32
+ self.name
33
+ .gsub(/([A-Z]+)([A-Z][a-z])/,'\1-\2')
34
+ .gsub(/([a-z\d])([A-Z])/,'\1-\2')
35
+ .tr("_", "-")
36
+ .downcase
37
+ end
38
+
30
39
  def initialize()
31
40
  self.initialize_priority
32
41
  self.initialize_register
33
42
  self.initialize_exclusions
34
43
  @logger = Logger.new(self.name)
44
+ @config = Config.store(self.filename)
35
45
  end
36
46
 
37
47
  def initialize_priority
@@ -112,6 +122,9 @@ module Jekyll::Spaceship
112
122
  end
113
123
  if self.respond_to? method
114
124
  @page.output = self.send method, @page.output
125
+ if Type.html? output_ext
126
+ @page.output = self.class.escape_html(@page.output)
127
+ end
115
128
  end
116
129
  end
117
130
  end
@@ -158,5 +171,15 @@ module Jekyll::Spaceship
158
171
  @exclusion_store = []
159
172
  content
160
173
  end
174
+
175
+ def self.escape_html(content)
176
+ # escape link
177
+ content.scan(/((https?:)?\/\/\S+\?[a-zA-Z0-9%\-_=\.&;]+)/) do |result|
178
+ result = result[0]
179
+ link = result.gsub('&amp;', '&')
180
+ content = content.gsub(result, link)
181
+ end
182
+ content
183
+ end
161
184
  end
162
185
  end
@@ -24,7 +24,7 @@ module Jekyll::Spaceship
24
24
  filename = File.basename(path, '.rb')
25
25
  next if filename.gsub(/-/, '').downcase != name
26
26
 
27
- Logger.log "use #{filename}"
27
+ Logger.log "🗂 use #{filename}"
28
28
  require path
29
29
  constants = Jekyll::Spaceship.constants.select do |c|
30
30
  c.downcase.to_s == name
@@ -1,65 +1,36 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'net/http'
4
- require 'uri'
5
4
  require 'json'
5
+ require 'gemoji'
6
6
 
7
7
  module Jekyll::Spaceship
8
8
  class EmojiProcessor < Processor
9
- EMOJI_MARKUP_HOST = 'https://api.github.com/emojis'
10
- EMOJI_MARKUP_DATA = {}
11
-
12
- def initialize
13
- super()
14
- self.initialize_emoji_data
15
- end
16
-
17
- def initialize_emoji_data
18
- EMOJI_MARKUP_DATA.update get_emoji_markup_data
19
- end
20
-
21
9
  def on_handle_html(content)
22
- return content if EMOJI_MARKUP_DATA.size.zero?
23
10
  # handle emoji markup
24
- content.scan(/:([\w+-]+):/) do |match_data|
25
- emoji_markup = match_data[0]
26
- emoji_image = EMOJI_MARKUP_DATA[emoji_markup]
27
- next if emoji_image.nil?
11
+ content.scan(/:([\w\d+-]+):/) do |match|
12
+ emoji = Emoji.find_by_alias match[0]
13
+ next if emoji.nil?
28
14
  self.handled = true
29
15
 
30
- # convert hex string to unicode
31
- unicode = emoji_image.match(/unicode\/([\d\w]+)/)
32
- if unicode[1]
33
- unicode = "0x#{unicode[1]}".to_i(16)
34
- alt = [unicode].pack('U*')
35
- end
36
- alt = emoji_markup if alt.nil?
16
+ # escape plus sign
17
+ emoji_name = emoji.name.gsub('+', '\\\+')
37
18
 
38
19
  content = content.gsub(
39
- ":#{emoji_markup}:",
40
- "<image class=\"emoji\" \
41
- title=\"#{emoji_markup}\" \
42
- alt=\"#{alt}\" \
43
- src=\"#{emoji_image}\" \
20
+ /(?<!\=")\s*:#{emoji_name}:\s*(?!"\s)/,
21
+ "<img class=\"emoji\" \
22
+ title=\":#{emoji.name}:\" \
23
+ alt=\":#{emoji.name}:\" \
24
+ raw=\"#{emoji.raw}\" \
25
+ src=\"#{config['src']}#{emoji.image_filename}\" \
44
26
  style=\"vertical-align: middle; \
45
27
  max-width: 1em; visibility: hidden;\" \
46
28
  onload=\"this.style.visibility='visible'\" \
47
- onerror=\"this.replaceWith(this.alt)\"> \
48
- </image>"
29
+ onerror=\"this.replaceWith(this.getAttribute('raw'))\"> \
30
+ </img>"
49
31
  )
50
32
  end
51
33
  content
52
34
  end
53
-
54
- def get_emoji_markup_data
55
- data = {}
56
- begin
57
- source = Net::HTTP.get URI(EMOJI_MARKUP_HOST)
58
- data = JSON.parse(source)
59
- rescue StandardError => msg
60
- logger.log msg
61
- end
62
- data
63
- end
64
35
  end
65
36
  end
@@ -18,13 +18,8 @@ module Jekyll::Spaceship
18
18
 
19
19
  self.handled = true
20
20
 
21
- params = "config=TeX-AMS-MML_HTMLorMML"
22
- src = "//cdn.mathjax.org/mathjax/latest/MathJax.js?#{params}"
23
- config = "MathJax.Hub.Config({ \
24
- tex2jax: { inlineMath: [['$','$'], ['\\\\(','\\\\)']] } \
25
- });"
26
-
27
- head.add_child("<script src=\"#{src}\">#{config}</script>")
21
+ cfg = "MathJax.Hub.Config(#{config['config'].to_json});"
22
+ head.add_child("<script src=\"#{config['src']}\">#{cfg}</script>")
28
23
 
29
24
  doc.to_html
30
25
  end
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "net/http"
4
+ require "base64"
5
+
3
6
  module Jekyll::Spaceship
4
- class PlantUMLProcessor < Processor
7
+ class PlantumlProcessor < Processor
5
8
  exclude :none
6
9
 
7
10
  def on_handle_markdown(content)
@@ -35,18 +38,28 @@ module Jekyll::Spaceship
35
38
 
36
39
  def handle_plantuml(code)
37
40
  # wrap plantuml code
38
- uml = "@startuml#{code}@enduml"
39
-
40
- dir = File.dirname(__FILE__)
41
- jar = dir + "/../utils/plantuml/plantuml.jar"
42
- echo = "echo -e \"#{uml.gsub('"', '\"')}\""
43
- plantuml = "java -jar \"#{jar}\" -pipe 2>/dev/null"
41
+ code = "@startuml#{code}@enduml".encode('UTF-8')
44
42
 
45
- # exec plantuml.jar and output base64 data
46
- base64 = `#{echo} | #{plantuml} | base64`
43
+ # encode to hex string
44
+ code = '~h' + code.unpack("H*").first
45
+ data = self.get_plantuml_img_data(code)
47
46
 
48
47
  # return img tag
49
- "<img src=\"data:image/png;base64, #{base64}\">"
48
+ "<img class=\"plantuml\" src=\"#{data}\">"
49
+ end
50
+
51
+ def get_plantuml_img_data(code)
52
+ data = ''
53
+ url = "#{config['src']}#{code}"
54
+ begin
55
+ data = Net::HTTP.get URI(url)
56
+ data = Base64.encode64(data)
57
+ data = "data:image/png;base64, #{data}"
58
+ rescue StandardError => msg
59
+ data = url
60
+ logger.log msg
61
+ end
62
+ data
50
63
  end
51
64
  end
52
65
  end
@@ -113,16 +113,17 @@ module Jekyll::Spaceship
113
113
 
114
114
  # handle colspan
115
115
  if cell == cells.last and scope.row.colspan > 0
116
- range = (cells.count - scope.row.colspan)...cells.count
117
- for i in range do
118
- cells[i].remove
116
+ cells.count.downto(cells.count - scope.row.colspan + 1) do |i|
117
+ c = cells[i - 1]
118
+ return unless c.get_attribute('colspan').nil?
119
+ c.remove
119
120
  end
120
121
  end
121
122
 
122
- result = cell.content.match(/(\s*\|)+$/)
123
+ result = cell.content.match(/(\|)+$/)
123
124
  return if result.nil?
124
125
 
125
- cell.content = cell.content.gsub(/(\s*\|)+$/, '')
126
+ cell.content = cell.content.gsub(/(\|)+$/, '')
126
127
  result = result[0]
127
128
  colspan = result.scan(/\|/).count
128
129
  scope.row.colspan += colspan
@@ -86,6 +86,7 @@ module Jekyll::Spaceship
86
86
  end
87
87
 
88
88
  html = "<iframe \
89
+ class=\"video\" \
89
90
  src=\"#{url}\" \
90
91
  title=\"#{title}\" \
91
92
  width=\"#{width}\" \
File without changes
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Spaceship
5
- VERSION = "0.5.0"
5
+ VERSION = "0.6.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-spaceship
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jeffreytse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-17 00:00:00.000000000 Z
11
+ date: 2020-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -44,6 +44,34 @@ dependencies:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '1.6'
47
+ - !ruby/object:Gem::Dependency
48
+ name: gemoji
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rainbow
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.0'
47
75
  - !ruby/object:Gem::Dependency
48
76
  name: bundler
49
77
  requirement: !ruby/object:Gem::Requirement
@@ -103,6 +131,7 @@ files:
103
131
  - Rakefile
104
132
  - jekyll-spaceship.gemspec
105
133
  - lib/jekyll-spaceship.rb
134
+ - lib/jekyll-spaceship/cores/config.rb
106
135
  - lib/jekyll-spaceship/cores/logger.rb
107
136
  - lib/jekyll-spaceship/cores/manager.rb
108
137
  - lib/jekyll-spaceship/cores/processor.rb
@@ -114,7 +143,7 @@ files:
114
143
  - lib/jekyll-spaceship/processors/polyfill-processor.rb
115
144
  - lib/jekyll-spaceship/processors/table-processor.rb
116
145
  - lib/jekyll-spaceship/processors/video-processor.rb
117
- - lib/jekyll-spaceship/utils/plantuml/plantuml.jar
146
+ - lib/jekyll-spaceship/utils/.keep
118
147
  - lib/jekyll-spaceship/version.rb
119
148
  - logos/jekyll-spaceship-logo.png
120
149
  - script/cibuild