jekyll_basename_dirname 1.0.1 → 1.0.2

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: 455811bf056657fa622e9e13187a9cf8f7beaf7919375d1942dea1619bfa2e38
4
- data.tar.gz: 68998518b65ea687220e21c30269f8c28acabeb0481944a9b690e3da0526260b
3
+ metadata.gz: e761e421cbfe93a85e44672d67e542846d789b54c7107d6a4132a27f7b89a92d
4
+ data.tar.gz: 3bed361f072142c738bb9dade039eccbc697859a3b1661dd3fe0c78f4f59201e
5
5
  SHA512:
6
- metadata.gz: 4c04f3873e3d7978074a816d2704683a01fe61b452dadb631058e8e3cb9a035c4e101d245018d35aafe2e9ce883bacf30d5427281753cc5e1faffab21d3e92ec
7
- data.tar.gz: 3efff20f1cf8fa13fd1bfed4011301c18c2a78cb5782cec635ffc6c54053057beeee125a3c91c6a63a55b61a52bca5613279572de094b6727ec07e0e47eca2f5
6
+ metadata.gz: a71d2579ad70dd666ec14c990d5c791b0a34e8d45bf67751046d3bf302e5d6b3e191a5456ebe467ad92ac8e65985fb050f2e4a72e6a5f95ab825895d214e4b8c
7
+ data.tar.gz: '086e1d9049145fea6feb2854dd4337e1d17069754ba48d86ee85901231c354a743ba5ce61888332dc8164f9cf80709d5d294737f95b24b73b03f5541aacefd79'
data/.rubocop.yml CHANGED
@@ -11,21 +11,3 @@ AllCops:
11
11
 
12
12
  Layout/LineLength:
13
13
  Max: 150
14
-
15
- Layout/MultilineMethodCallIndentation:
16
- Enabled: false
17
-
18
- Metrics/BlockLength:
19
- Enabled: false
20
-
21
- Style/PercentLiteralDelimiters:
22
- Enabled: false
23
-
24
- Style/RegexpLiteral:
25
- Enabled: false
26
-
27
- Style/StringLiterals:
28
- Enabled: false
29
-
30
- Style/StringLiteralsInInterpolation:
31
- Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
+ ## HEAD / 2022-03-12
2
+ * Added unit tests
3
+
1
4
  ## 1.0.1 / 2022-03-11
2
5
  * Corrected dumb error
6
+
3
7
  ## 1.0.0 / 2022-03-11
4
8
  * Made into a Ruby gem and published on RubyGems.org as [jekyll_basename_dirname](https://rubygems.org/gems/jekyll_basename_dirname).
5
9
  * `bin/attach` script added for debugging
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2022 Mike Slinn
3
+ Copyright (c) 2020 Mike Slinn
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
- # JekyllBasenameDirname
1
+ Jekyll_basename_dirname
2
+ [![Gem Version](https://badge.fury.io/rb/jekyll_basename_dirname.svg)](https://badge.fury.io/rb/jekyll_basename_dirname)
3
+ ===========
2
4
 
3
- This is a Jekyll plugin that provides two Liquid filters: `basename` and `dirname`. They work like the similarly named bash commands.
5
+ This is a Jekyll plugin that provides two Liquid filters: `basename` and `dirname`.
6
+ They work like the similarly named bash commands.
7
+
8
+ More information is available on my web site about [my Jekyll plugins](https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html).
4
9
 
5
10
 
6
11
  ## Installation
@@ -24,20 +29,28 @@ Or install it yourself as:
24
29
 
25
30
  ## Usage
26
31
 
27
- ## Basename
32
+ ### Dirname
33
+
34
+ Filters a string containing a path and returns the portion of th path before the filename and extension.
35
+ Example: Extracts "blah/blah" from the path.
36
+ ```
37
+ {{ "blah/blah/filename.ext" | dirname }} => blah/blah
38
+ ```
39
+
40
+ ### Basename
28
41
  Filters a string containing a path and returns the filename extracted from the path, including the filetype.
29
42
 
30
43
  Example: Extracts "filename.ext" from the path:
31
44
  ```
32
- {{ "blah/blah/filename.ext" | basename }}
45
+ {{ "blah/blah/filename.ext" | basename }} => filename.ext
33
46
  ```
34
47
 
35
- ## Dirname
48
+ ### Basename Without Extension
49
+ Filters a string containing a path and returns the filename extracted from the path, including the filetype.
36
50
 
37
- Filters a string containing a path and returns the portion of th path before the filename and extension.
38
- Example: Extracts "blah/blah" from the path.
51
+ Example: Extracts "filename.ext" from the path:
39
52
  ```
40
- {{ "blah/blah/filename.ext" | dirname }}
53
+ {{ "blah/blah/filename.ext" | basename_without_extension }} => filename
41
54
  ```
42
55
 
43
56
 
@@ -45,7 +58,25 @@ Example: Extracts "blah/blah" from the path.
45
58
 
46
59
  After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
47
60
 
48
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
61
+ Install development dependencies like this:
62
+ ```
63
+ $ BUNDLE_WITH="development" bundle install
64
+ ```
65
+
66
+ To install this gem onto your local machine, run:
67
+ ```shell
68
+ $ bundle exec rake install
69
+ ```
70
+
71
+ To release a new version,
72
+ 1. Update the version number in `version.rb`.
73
+ 2. Commit all changes to git; if you don't the next step might fail with an unexplainable error message.
74
+ 3. Run the following:
75
+ ```shell
76
+ $ bundle exec rake release
77
+ ```
78
+ The above creates a git tag for the version, commits the created tag,
79
+ and pushes the new `.gem` file to [RubyGems.org](https://rubygems.org).
49
80
 
50
81
 
51
82
  ## Contributing
data/Rakefile CHANGED
@@ -1,4 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
- task default: %i[]
4
+ require "rspec/core/rake_task"
5
+
6
+ RSpec::Core::RakeTask.new(:spec)
7
+ task :default => :spec
@@ -2,39 +2,45 @@
2
2
 
3
3
  require_relative "lib/jekyll_basename_dirname/version"
4
4
 
5
+ # rubocop:disable Metrics/BlockLength
5
6
  Gem::Specification.new do |spec|
6
- spec.name = "jekyll_basename_dirname"
7
- spec.version = JekyllBasenameDirname::VERSION
7
+ github = "https://github.com/mslinn/jekyll_basename_dirname"
8
+
8
9
  spec.authors = ["Mike Slinn"]
10
+ spec.bindir = "exe"
11
+ spec.description = <<~END_OF_DESC
12
+ This Jekyll plugin provides 3 Liquid filters: dirname, basename and basename_without_extension.
13
+ END_OF_DESC
9
14
  spec.email = ["mslinn@mslinn.com"]
10
-
11
- spec.summary = "Jekyll plugin that provides two Liquid filters: basename and dirname."
12
- spec.description = "Jekyll plugin that provides two Liquid filters: basename and dirname. They work like the similarly named bash commands."
13
- spec.homepage = "https://github.com/mslinn/jekyll_basename_dirname"
15
+ spec.files = Dir[".rubocop.yml", "LICENSE.*", "Rakefile", "{lib,spec}/**/*", "*.gemspec", "*.md"]
16
+ spec.homepage = "https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html#basename"
14
17
  spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.6.0"
16
-
17
- spec.metadata["allowed_push_host"] = "https://rubygems.org/"
18
+ spec.metadata = {
19
+ "allowed_push_host" => "https://rubygems.org",
20
+ "bug_tracker_uri" => "#{github}/issues",
21
+ "changelog_uri" => "#{github}/CHANGELOG.md",
22
+ "homepage_uri" => spec.homepage,
23
+ "source_code_uri" => github,
24
+ }
25
+ spec.name = "jekyll_basename_dirname"
26
+ spec.post_install_message = <<~END_MESSAGE
18
27
 
19
- spec.metadata["homepage_uri"] = spec.homepage
20
- spec.metadata["source_code_uri"] = "https://github.com/mslinn/jekyll_basename_dirname"
21
- spec.metadata["changelog_uri"] = "https://github.com/mslinn/jekyll_basename_dirname/CHANGELOG.md"
28
+ Thanks for installing #{spec.name}!
22
29
 
23
- # Specify which files should be added to the gem when it is released.
24
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
26
- `git ls-files -z`.split("\x0").reject do |f|
27
- (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
- end
29
- end
30
- spec.bindir = "exe"
31
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
30
+ END_MESSAGE
32
31
  spec.require_paths = ["lib"]
32
+ spec.required_ruby_version = ">= 2.6.0"
33
+ spec.summary = "This Jekyll plugin provides 3 Liquid filters: dirname, basename and basename_without_extension."
34
+ spec.test_files = spec.files.grep(%r!^(test|spec|features)/!)
35
+ spec.version = JekyllBasenameDirname::VERSION
36
+
37
+ spec.add_dependency "jekyll", ">= 3.5.0"
38
+ spec.add_dependency "jekyll_plugin_logger"
33
39
 
34
- spec.add_development_dependency 'bundler'
35
- spec.add_development_dependency 'pry'
36
- spec.add_development_dependency 'rake'
37
- spec.add_development_dependency 'rspec'
38
- spec.add_development_dependency 'rubocop'
39
- spec.add_development_dependency 'rubocop-jekyll'
40
+ spec.add_development_dependency "debase"
41
+ # spec.add_development_dependency "rubocop-jekyll"
42
+ # spec.add_development_dependency "rubocop-rake"
43
+ # spec.add_development_dependency "rubocop-rspec"
44
+ spec.add_development_dependency "ruby-debug-ide"
40
45
  end
46
+ # rubocop:enable Metrics/BlockLength
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JekyllBasenameDirname
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
5
5
  end
@@ -1,13 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "jekyll_plugin_logger"
3
4
  require_relative "jekyll_basename_dirname/version"
4
5
 
5
6
  # @author Copyright 2020 Michael Slinn
6
7
  # @license SPDX-License-Identifier: Apache-2.0
7
8
  #
8
9
  # Jekyll filters for working with paths.
9
- module JekyllBasenameDirname
10
- class Error < StandardError; end
10
+ module JekyllBasenameDirnameName
11
+ PLUGIN_NAME = "jekyll_basename_dirname"
12
+
13
+ _logger = PluginMetaLogger.instance.new_logger(self)
11
14
 
12
15
  # Filters a string containing a path.
13
16
  # @return [String] the filename extracted from the path, including the filetype.
@@ -30,8 +33,9 @@ module JekyllBasenameDirname
30
33
  # @example Extracts "filename" from the path.
31
34
  # {{ "blah/blah/filename.ext" | basename_without_extension }}
32
35
  def basename_without_extension(filepath)
33
- File.basename(filepath).split('.')[0...-1].join('.')
36
+ File.basename(filepath).split(".")[0...-1].join(".")
34
37
  end
35
38
  end
36
39
 
37
- Liquid::Template.register_filter(JekyllBasenameDirname)
40
+ PluginMetaLogger.instance.info { "Loaded #{JekyllBasenameDirnameName::PLUGIN_NAME} v#{JekyllBasenameDirname::VERSION} plugin." }
41
+ Liquid::Template.register_filter(JekyllBasenameDirnameName)
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "liquid"
4
+ require "fileutils"
5
+ # require "jekyll_plugin_logger"
6
+ require_relative "../lib/jekyll_basename_dirname"
7
+
8
+ RSpec.describe(JekyllBasenameDirname) do
9
+ include JekyllBasenameDirname
10
+
11
+ it "verifies basename" do
12
+ expect(basename("a/b/c/d/e.html")).to eq("e.html")
13
+ expect(basename("blah.html")).to eq("blah.html")
14
+ end
15
+
16
+ it "verifies dirname" do
17
+ expect(dirname("a/b/c/d/e.html")).to eq("a/b/c/d")
18
+ expect(dirname("blah.html")).to eq(".")
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "liquid"
4
+ require "fileutils"
5
+ require_relative "../lib/jekyll_basename_dirname"
6
+
7
+ RSpec.configure do |config|
8
+ config.run_all_when_everything_filtered = true
9
+ config.filter_run :focus
10
+ config.order = "random"
11
+ end
metadata CHANGED
@@ -1,65 +1,37 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_basename_dirname
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Slinn
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-11 00:00:00.000000000 Z
11
+ date: 2022-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: pry
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: rake
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
19
+ version: 3.5.0
20
+ type: :runtime
49
21
  prerelease: false
50
22
  version_requirements: !ruby/object:Gem::Requirement
51
23
  requirements:
52
24
  - - ">="
53
25
  - !ruby/object:Gem::Version
54
- version: '0'
26
+ version: 3.5.0
55
27
  - !ruby/object:Gem::Dependency
56
- name: rspec
28
+ name: jekyll_plugin_logger
57
29
  requirement: !ruby/object:Gem::Requirement
58
30
  requirements:
59
31
  - - ">="
60
32
  - !ruby/object:Gem::Version
61
33
  version: '0'
62
- type: :development
34
+ type: :runtime
63
35
  prerelease: false
64
36
  version_requirements: !ruby/object:Gem::Requirement
65
37
  requirements:
@@ -67,7 +39,7 @@ dependencies:
67
39
  - !ruby/object:Gem::Version
68
40
  version: '0'
69
41
  - !ruby/object:Gem::Dependency
70
- name: rubocop
42
+ name: debase
71
43
  requirement: !ruby/object:Gem::Requirement
72
44
  requirements:
73
45
  - - ">="
@@ -81,7 +53,7 @@ dependencies:
81
53
  - !ruby/object:Gem::Version
82
54
  version: '0'
83
55
  - !ruby/object:Gem::Dependency
84
- name: rubocop-jekyll
56
+ name: ruby-debug-ide
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - ">="
@@ -94,8 +66,10 @@ dependencies:
94
66
  - - ">="
95
67
  - !ruby/object:Gem::Version
96
68
  version: '0'
97
- description: 'Jekyll plugin that provides two Liquid filters: basename and dirname.
98
- They work like the similarly named bash commands.'
69
+ description: 'This Jekyll plugin provides 3 Liquid filters: dirname, basename and
70
+ basename_without_extension.
71
+
72
+ '
99
73
  email:
100
74
  - mslinn@mslinn.com
101
75
  executables: []
@@ -104,24 +78,27 @@ extra_rdoc_files: []
104
78
  files:
105
79
  - ".rubocop.yml"
106
80
  - CHANGELOG.md
107
- - Gemfile
108
- - Gemfile.lock
109
81
  - LICENSE.txt
110
82
  - README.md
111
83
  - Rakefile
112
84
  - jekyll_basename_dirname.gemspec
113
85
  - lib/jekyll_basename_dirname.rb
114
86
  - lib/jekyll_basename_dirname/version.rb
115
- - sig/jekyll_basename_dirname.rbs
116
- homepage: https://github.com/mslinn/jekyll_basename_dirname
87
+ - spec/basename_dirname_spec.rb
88
+ - spec/spec_helper.rb
89
+ homepage: https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html#basename
117
90
  licenses:
118
91
  - MIT
119
92
  metadata:
120
- allowed_push_host: https://rubygems.org/
121
- homepage_uri: https://github.com/mslinn/jekyll_basename_dirname
122
- source_code_uri: https://github.com/mslinn/jekyll_basename_dirname
93
+ allowed_push_host: https://rubygems.org
94
+ bug_tracker_uri: https://github.com/mslinn/jekyll_basename_dirname/issues
123
95
  changelog_uri: https://github.com/mslinn/jekyll_basename_dirname/CHANGELOG.md
124
- post_install_message:
96
+ homepage_uri: https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html#basename
97
+ source_code_uri: https://github.com/mslinn/jekyll_basename_dirname
98
+ post_install_message: |2+
99
+
100
+ Thanks for installing jekyll_basename_dirname!
101
+
125
102
  rdoc_options: []
126
103
  require_paths:
127
104
  - lib
@@ -136,8 +113,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
113
  - !ruby/object:Gem::Version
137
114
  version: '0'
138
115
  requirements: []
139
- rubygems_version: 3.2.5
116
+ rubygems_version: 3.1.4
140
117
  signing_key:
141
118
  specification_version: 4
142
- summary: 'Jekyll plugin that provides two Liquid filters: basename and dirname.'
143
- test_files: []
119
+ summary: 'This Jekyll plugin provides 3 Liquid filters: dirname, basename and basename_without_extension.'
120
+ test_files:
121
+ - spec/basename_dirname_spec.rb
122
+ - spec/spec_helper.rb
data/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- # Specify your gem's dependencies in jekyll_basename_dirname.gemspec
6
- gemspec
7
-
8
- gem "rake", "~> 13.0"
data/Gemfile.lock DELETED
@@ -1,69 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- jekyll_basename_dirname (1.0.1)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- ast (2.4.2)
10
- coderay (1.1.3)
11
- diff-lcs (1.5.0)
12
- method_source (1.0.0)
13
- parallel (1.21.0)
14
- parser (3.1.1.0)
15
- ast (~> 2.4.1)
16
- pry (0.14.1)
17
- coderay (~> 1.1)
18
- method_source (~> 1.0)
19
- rainbow (3.1.1)
20
- rake (13.0.6)
21
- regexp_parser (2.2.1)
22
- rexml (3.2.5)
23
- rspec (3.11.0)
24
- rspec-core (~> 3.11.0)
25
- rspec-expectations (~> 3.11.0)
26
- rspec-mocks (~> 3.11.0)
27
- rspec-core (3.11.0)
28
- rspec-support (~> 3.11.0)
29
- rspec-expectations (3.11.0)
30
- diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.11.0)
32
- rspec-mocks (3.11.0)
33
- diff-lcs (>= 1.2.0, < 2.0)
34
- rspec-support (~> 3.11.0)
35
- rspec-support (3.11.0)
36
- rubocop (1.18.4)
37
- parallel (~> 1.10)
38
- parser (>= 3.0.0.0)
39
- rainbow (>= 2.2.2, < 4.0)
40
- regexp_parser (>= 1.8, < 3.0)
41
- rexml
42
- rubocop-ast (>= 1.8.0, < 2.0)
43
- ruby-progressbar (~> 1.7)
44
- unicode-display_width (>= 1.4.0, < 3.0)
45
- rubocop-ast (1.16.0)
46
- parser (>= 3.1.1.0)
47
- rubocop-jekyll (0.12.0)
48
- rubocop (~> 1.18.0)
49
- rubocop-performance (~> 1.2)
50
- rubocop-performance (1.13.3)
51
- rubocop (>= 1.7.0, < 2.0)
52
- rubocop-ast (>= 0.4.0)
53
- ruby-progressbar (1.11.0)
54
- unicode-display_width (2.1.0)
55
-
56
- PLATFORMS
57
- x86_64-linux
58
-
59
- DEPENDENCIES
60
- bundler
61
- jekyll_basename_dirname!
62
- pry
63
- rake (~> 13.0)
64
- rspec
65
- rubocop
66
- rubocop-jekyll
67
-
68
- BUNDLED WITH
69
- 2.3.7
@@ -1,4 +0,0 @@
1
- module JekyllBasenameDirname
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end