jekyll_basename_dirname 1.0.1 → 1.0.2

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