jekyll_video 0.1.0 → 0.1.1

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: f3103fb3d5dfc593bce47d14e6da474862304dcb113e2405403304abffd44435
4
- data.tar.gz: 75dcf2187bde6290299a36fb3f4c0ffe473d93a983ad1d519daea86299dfa648
3
+ metadata.gz: 0234b4976b372b06ce8922c29b3207aec8cd759b621580ade9788eef6e9b372f
4
+ data.tar.gz: 2c3d4f9989fc85ed8e55948632c391925d3daf4b8c084262bf737e1ea636eb24
5
5
  SHA512:
6
- metadata.gz: e0fe2a040f1d70d32080b16ccd6c9bd5cbbabe3de26b7ab179030141e8691c4e725f3cad4d94ff7dd1dab287a0f0914d4af29712233d16bd6ba31f6e0150026a
7
- data.tar.gz: 73ef9f4d303c8087967930a0fc6cd767c31f441993c90aedb38d93daad555c2f2644ac87b9045bafb80a5685abd055d000ab375969478a24d7bdc54d3f607d9a
6
+ metadata.gz: 7aae68edc401cdb1694bdda29f1a2b7d9f8a53f05d2a806b1787aa6da4680a31387dbc0c296e2466461de694088c8dede29131841cc8ad057e7ab095a400ea68
7
+ data.tar.gz: c83658b58c8dbc369ec9cbe22737c6ab8f783f8425d01aa2e0a9bf200ac4247f3e26a633441db23393f1f2f633b6cd836f5ece7f5d9c7cfb2a1c07bf35da4ba2
data/.rubocop.yml CHANGED
@@ -8,7 +8,7 @@ require:
8
8
  AllCops:
9
9
  Exclude:
10
10
  - binstub/**/*
11
- - exe/**/*
11
+ - binstub/**/*
12
12
  - vendor/**/*
13
13
  - Gemfile*
14
14
  NewCops: enable
@@ -19,6 +19,9 @@ Gemspec/DeprecatedAttributeAssignment:
19
19
  Gemspec/RequireMFA:
20
20
  Enabled: false
21
21
 
22
+ Gemspec/RequiredRubyVersion:
23
+ Enabled: false
24
+
22
25
  Layout/HashAlignment:
23
26
  EnforcedColonStyle: table
24
27
  EnforcedHashRocketStyle: table
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.1.1
4
+
5
+ * Added check that local video files exist.
6
+ * Improved demo.
7
+ * Made `demo/assets/css/jekyll_video.css`.
8
+ * Fixed error handling.
9
+
10
+
3
11
  ## 0.1.0
4
12
 
5
13
  * Initial release.
data/README.md CHANGED
@@ -22,20 +22,22 @@ $ bundle
22
22
  Add the following CSS:
23
23
 
24
24
  ```css
25
- .rounded {
26
- border: 1px solid;
27
- border-radius: 7px;
28
- }
29
-
30
- .shadow {
31
- border: thin gray solid;
32
- box-shadow: 5px 5px 6px #999;
25
+ .jekyll_plugin_support_error, .jekyll_video_error {
26
+ background-color: rgb(248, 149, 149);
27
+ border-radius: 4pt;
28
+ border: rgb(155, 141, 141) 2px solid;
29
+ color: black;
30
+ font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
31
+ font-stretch: semi-condensed;
32
+ font-size: 9pt;
33
+ line-height: 150%;
34
+ padding: 2pt 4pt 2pt 4pt;
33
35
  }
34
36
  ```
35
37
 
36
38
  ## Usage
37
39
 
38
- See the `demo/` directory for an example.
40
+ See the [`demo/`](demo/index.html) directory for usage examples.
39
41
 
40
42
 
41
43
  ## Development
@@ -46,7 +48,7 @@ After checking out this git repository, install dependencies by typing:
46
48
  $ bin/setup
47
49
  ```
48
50
 
49
- You should do the above before running Visual Studio Code.
51
+ You should do the above before opening the project with Visual Studio Code.
50
52
 
51
53
 
52
54
  ### Run the Tests
data/jekyll_video.gemspec CHANGED
@@ -29,5 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.summary = 'Embed an HTML video into a web page.'
30
30
  spec.version = JekyllVideo::VERSION
31
31
  spec.add_dependency 'jekyll', '>= 3.5.0'
32
- spec.add_dependency 'jekyll_plugin_support', '>= 0.7.0'
32
+ spec.add_dependency 'jekyll_plugin_support', '>= 0.8.6'
33
33
  end
@@ -1,3 +1,3 @@
1
1
  module JekyllVideo
2
- VERSION = '0.1.0'.freeze unless defined? VERSION
2
+ VERSION = '0.1.1'.freeze unless defined? VERSION
3
3
  end
data/lib/video.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require 'jekyll_plugin_support'
2
+ require 'helper/jekyll_plugin_helper'
3
+ require 'pry'
2
4
  require_relative 'jekyll_video/version'
3
5
 
4
6
  # This Jekyll tag plugin is a minimal example.
@@ -15,6 +17,8 @@ require_relative 'jekyll_video/version'
15
17
  # plugin_loggers:
16
18
  # Video: debug
17
19
  module JekyllVideo
20
+ VideoError = JekyllSupport.define_error
21
+
18
22
  # This class implements the Jekyll video functionality
19
23
  class Video < JekyllSupport::JekyllTag
20
24
  PLUGIN_NAME = 'video'.freeze
@@ -27,11 +31,26 @@ module JekyllVideo
27
31
  style = @helper.parameter_specified?('style') || ''
28
32
  width = @helper.parameter_specified?('width') || '100%'
29
33
 
34
+ remote_video = src.start_with?('http')
35
+ local_video_exists = !remote_video && File.exist?(src)
36
+ raise VideoError, "Video file at #{src} referenced by #{@page['path']} does not exist." unless remote_video || local_video_exists
37
+
30
38
  <<~END_OUTPUT
31
39
  <video class="jekyll_video #{classes}" controls width="#{width}" style="#{style}">
32
40
  <source src="#{src}">
41
+
42
+ Your browser does not support HTML video.
43
+ Here is a <a href="#{src}">link to the video</a>.
33
44
  </video>
34
45
  END_OUTPUT
46
+ rescue VideoError => e # jekyll_plugin_support handles StandardError
47
+ e.shorten_backtrace
48
+ msg = format_error_message e.message
49
+ @logger.error { "#{e.class} raised #{msg}" }
50
+ binding.pry if @pry_on_video_error # rubocop:disable Lint/Debugger
51
+ raise e if @die_on_video_error
52
+
53
+ "<div class='jekyll_video_error'>#{e.class} raised in #{@tag_name} tag\n#{msg}</div>"
35
54
  end
36
55
 
37
56
  JekyllPluginHelper.register(self, PLUGIN_NAME)
data/spec/spec_helper.rb CHANGED
@@ -6,9 +6,7 @@ require 'yaml'
6
6
  require_relative '../lib/<%= @gem_name %>'
7
7
 
8
8
  RSpec.configure do |config|
9
- config.filter_run :focus
10
9
  # config.order = 'random'
11
- config.run_all_when_everything_filtered = true
12
10
 
13
11
  # See https://relishapp.com/rspec/rspec-core/docs/command-line/only-failures
14
12
  config.example_status_persistence_file_path = '../spec/status_persistence.txt'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_video
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Slinn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-08 00:00:00.000000000 Z
11
+ date: 2024-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.7.0
33
+ version: 0.8.6
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.7.0
40
+ version: 0.8.6
41
41
  description: 'Embed an HTML video into a web page.
42
42
 
43
43
  '
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubygems_version: 3.3.3
87
+ rubygems_version: 3.5.10
88
88
  signing_key:
89
89
  specification_version: 4
90
90
  summary: Embed an HTML video into a web page.