jekyll_video 0.1.0 → 0.1.1

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: 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.