jekyll_quote 0.4.0 → 0.4.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 +4 -4
- data/.rubocop.yml +4 -2
- data/CHANGELOG.md +26 -5
- data/LICENSE.txt +0 -0
- data/README.md +76 -11
- data/Rakefile +0 -0
- data/jekyll_quote.gemspec +2 -3
- data/lib/jekyll_quote/version.rb +1 -1
- data/lib/jekyll_quote.rb +18 -11
- data/spec/jekyll_quote_spec.rb +6 -6
- data/spec/spec_helper.rb +1 -2
- metadata +9 -11
- data/spec/status_persistence.txt +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a2cf31841215c9cee3ccc8ba48b6dc30ae02b4dc5153c3d9e5f45f1708dee814
|
|
4
|
+
data.tar.gz: ff907b1974e4c509aa9d0cf56a6b7fb9738c9d936cb350daa61d44cfcdd98a98
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 12ec759cf139fe8a89aaf89aca329c75657f120982e0b266b63291b746c79801b7f74f156904b3d1060d6554514aff72fb4addb74a60255025438287847d0430
|
|
7
|
+
data.tar.gz: cc6c73e9a901f50db47867b3fc50a3bf6ce580f8e3ea71db438a081c4e298d905e448f49ff6f92289b6cdd9d7d29dd907ee9af6619adad4a18a832b9380833b3
|
data/.rubocop.yml
CHANGED
|
@@ -8,17 +8,19 @@ require:
|
|
|
8
8
|
AllCops:
|
|
9
9
|
Exclude:
|
|
10
10
|
- demo/_site/**/*
|
|
11
|
-
-
|
|
11
|
+
- binstub/**/*
|
|
12
12
|
- vendor/**/*
|
|
13
13
|
- Gemfile*
|
|
14
14
|
- Rakefile
|
|
15
15
|
- jekyll_quote.gemspec
|
|
16
16
|
NewCops: enable
|
|
17
|
-
TargetRubyVersion: 2.6
|
|
18
17
|
|
|
19
18
|
Gemspec/DeprecatedAttributeAssignment:
|
|
20
19
|
Enabled: false
|
|
21
20
|
|
|
21
|
+
Gemspec/RequiredRubyVersion:
|
|
22
|
+
Enabled: false
|
|
23
|
+
|
|
22
24
|
Gemspec/RequireMFA:
|
|
23
25
|
Enabled: false
|
|
24
26
|
|
data/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
## 0.4.2 / 2024-04-27
|
|
4
|
+
|
|
5
|
+
* Depends upon jekyll_plugin_support v0.8.5
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## 0.4.1 / 2023-06-09
|
|
9
|
+
|
|
10
|
+
* Added `style` and `class` options.
|
|
11
|
+
|
|
12
|
+
|
|
1
13
|
## 0.4.0 / 2023-04-05
|
|
2
|
-
|
|
14
|
+
|
|
15
|
+
* Added [`attribution` support](https://github.com/mslinn/jekyll_plugin_support#subclass-attribution).
|
|
16
|
+
|
|
3
17
|
|
|
4
18
|
## 0.3.1 / 2023-03-15
|
|
5
|
-
|
|
19
|
+
|
|
20
|
+
* Added CSS class: `clearfix`
|
|
21
|
+
|
|
6
22
|
|
|
7
23
|
## 0.3.0 / 2023-01-14
|
|
8
|
-
|
|
24
|
+
|
|
25
|
+
* Added CSS classes: `quoteAttribution` and `quoteText`
|
|
26
|
+
|
|
9
27
|
|
|
10
28
|
## 0.2.0 / 2023-01-14
|
|
11
|
-
|
|
29
|
+
|
|
30
|
+
* Added options: `break`, `by`, and `noprep`
|
|
31
|
+
|
|
12
32
|
|
|
13
33
|
## 0.1.0 / 2023-01-12
|
|
14
|
-
|
|
34
|
+
|
|
35
|
+
* Initial version
|
data/LICENSE.txt
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
`jekyll_quote`
|
|
2
|
-
[](https://badge.fury.io/rb/jekyll_quote)
|
|
3
|
-
===========
|
|
1
|
+
# `jekyll_quote` [](https://badge.fury.io/rb/jekyll_quote)
|
|
4
2
|
|
|
5
3
|
`jekyll_quote` is a Jekyll plugin that displays formatted quotes.
|
|
6
4
|
|
|
@@ -8,35 +6,89 @@ See [demo/index.html](demo/index.html) for examples.
|
|
|
8
6
|
|
|
9
7
|
|
|
10
8
|
## Installation
|
|
11
|
-
Add the following line to your Jekyll project's Gemfile, within the `jekyll_plugins` group:
|
|
12
9
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
1. Add the following line to your Jekyll project's Gemfile, within the `jekyll_plugins` group:
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
group :jekyll_plugins do
|
|
14
|
+
gem 'jekyll_quote'
|
|
15
|
+
end
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
2. Install the `jekyll_quote` Ruby gem and mark it as a dependency of your project by typing:
|
|
19
|
+
|
|
20
|
+
```shell
|
|
21
|
+
$ bundle
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
3. Copy the CSS classes from `demo/assets/css/jekyll_quote.css` to your Jekyll project's CSS file.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Syntax
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
{% quote OPTIONS %}
|
|
31
|
+
Content of quote goes here.
|
|
32
|
+
{% endquote %}
|
|
17
33
|
```
|
|
18
34
|
|
|
19
|
-
|
|
35
|
+
The default preposition is 'From'.
|
|
36
|
+
|
|
37
|
+
OPTIONS are:
|
|
38
|
+
|
|
39
|
+
* `break` – Put the citation on a separate line. Ignored if `cite` was not specified.
|
|
40
|
+
* `by` – Preface the citation with the preposition 'By'. Ignored if `cite` was not specified.
|
|
41
|
+
* `cite` – Citation text
|
|
42
|
+
* `class` – Apply additional CSS classes
|
|
43
|
+
* `noprep` – Do not preface the citation with a preposition. Ignored if `cite` was not specified.
|
|
44
|
+
* `style` – Apply additional CSS styling
|
|
45
|
+
* `url` – URL for the citation. Ignored if `cite` was not specified.
|
|
20
46
|
|
|
21
|
-
|
|
47
|
+
|
|
48
|
+
## Usage Example
|
|
49
|
+
|
|
50
|
+
```html
|
|
51
|
+
{% quote cite="Blaise Pascal, in Lettres provinciales"
|
|
52
|
+
url="https://en.wikipedia.org/wiki/Lettres_provinciales"
|
|
53
|
+
%}
|
|
54
|
+
I have only made this letter longer because
|
|
55
|
+
I have not had the time to make it shorter.
|
|
56
|
+
{% endquote %}
|
|
57
|
+
```
|
|
22
58
|
|
|
23
59
|
|
|
24
60
|
## Attribution
|
|
61
|
+
|
|
25
62
|
See [`jekyll_plugin_support` for `attribution`](https://github.com/mslinn/jekyll_plugin_support#subclass-attribution)
|
|
26
63
|
|
|
27
64
|
|
|
65
|
+
## Demo
|
|
66
|
+
|
|
67
|
+
A demo / test website is provided in the `demo` directory.
|
|
68
|
+
It can be used to debug the plugin or to run freely.
|
|
69
|
+
Please examine the HTML files in the demo to see how the plugin works.
|
|
70
|
+
|
|
71
|
+
To run the demo freely from the command line, type:
|
|
72
|
+
|
|
73
|
+
```shell
|
|
74
|
+
$ demo/_bin/debug -r
|
|
75
|
+
```
|
|
76
|
+
|
|
28
77
|
## Additional Information
|
|
78
|
+
|
|
29
79
|
More information is available on
|
|
30
80
|
[Mike Slinn’s website](https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html).
|
|
31
81
|
|
|
32
82
|
|
|
33
83
|
## Development
|
|
84
|
+
|
|
34
85
|
After checking out the repo, run `bin/setup` to install dependencies.
|
|
35
86
|
|
|
36
87
|
You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
37
88
|
|
|
38
89
|
|
|
39
90
|
To build and install this gem onto your local machine, run:
|
|
91
|
+
|
|
40
92
|
```shell
|
|
41
93
|
$ bundle exec rake install
|
|
42
94
|
jekyll_quote 0.1.0 built to pkg/jekyll_quote-0.1.0.gem.
|
|
@@ -44,6 +96,7 @@ jekyll_quote (0.1.0) installed.
|
|
|
44
96
|
```
|
|
45
97
|
|
|
46
98
|
Examine the newly built gem:
|
|
99
|
+
|
|
47
100
|
```shell
|
|
48
101
|
$ gem info jekyll_quote
|
|
49
102
|
|
|
@@ -59,29 +112,41 @@ jekyll_quote (0.1.0)
|
|
|
59
112
|
Generates Jekyll logger with colored output.
|
|
60
113
|
```
|
|
61
114
|
|
|
62
|
-
|
|
115
|
+
|
|
116
|
+
### Running the Demo
|
|
117
|
+
|
|
63
118
|
Examine the output by running:
|
|
119
|
+
|
|
64
120
|
```shell
|
|
65
121
|
$ demo/_bin/debug -r
|
|
66
122
|
```
|
|
123
|
+
|
|
67
124
|
... and pointing your web browser to http://localhost:4444/
|
|
68
125
|
|
|
126
|
+
|
|
69
127
|
### Unit Tests
|
|
128
|
+
|
|
70
129
|
Either run `rspec` from Visual Studio Code's *Run and Debug* environment
|
|
71
130
|
(<kbd>Ctrl</kbd>-<kbd>shift</kbd>-<kbd>D</kbd>) and view the *Debug Console* output,
|
|
72
131
|
or run it from the command line:
|
|
132
|
+
|
|
73
133
|
```shell
|
|
74
134
|
$ rspec
|
|
75
135
|
```
|
|
76
136
|
|
|
137
|
+
|
|
77
138
|
### Build and Push to RubyGems
|
|
139
|
+
|
|
78
140
|
To release a new version,
|
|
141
|
+
|
|
79
142
|
1. Update the version number in `version.rb`.
|
|
80
143
|
2. Commit all changes to git; if you don't the next step might fail with an unexplainable error message.
|
|
81
144
|
3. Run the following:
|
|
145
|
+
|
|
82
146
|
```shell
|
|
83
147
|
$ bundle exec rake release
|
|
84
148
|
```
|
|
149
|
+
|
|
85
150
|
The above creates a git tag for the version, commits the created tag,
|
|
86
151
|
and pushes the new `.gem` file to [RubyGems.org](https://rubygems.org).
|
|
87
152
|
|
data/Rakefile
CHANGED
|
File without changes
|
data/jekyll_quote.gemspec
CHANGED
|
@@ -3,11 +3,10 @@ require_relative 'lib/jekyll_quote/version'
|
|
|
3
3
|
Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
4
4
|
github = 'https://github.com/mslinn/jekyll_quote'
|
|
5
5
|
|
|
6
|
-
spec.bindir = 'exe'
|
|
7
6
|
spec.authors = ['Mike Slinn']
|
|
8
7
|
spec.email = ['mslinn@mslinn.com']
|
|
9
8
|
spec.files = Dir['.rubocop.yml', 'LICENSE.*', 'Rakefile', '{lib,spec}/**/*', '*.gemspec', '*.md']
|
|
10
|
-
spec.homepage = 'https://www.mslinn.com/
|
|
9
|
+
spec.homepage = 'https://www.mslinn.com/jekyll_plugins/jekyll_quote.html'
|
|
11
10
|
spec.license = 'MIT'
|
|
12
11
|
spec.metadata = {
|
|
13
12
|
'allowed_push_host' => 'https://rubygems.org',
|
|
@@ -29,5 +28,5 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
|
29
28
|
spec.version = JekyllQuoteVersion::VERSION
|
|
30
29
|
|
|
31
30
|
spec.add_dependency 'jekyll', '>= 3.5.0'
|
|
32
|
-
spec.add_dependency 'jekyll_plugin_support', '
|
|
31
|
+
spec.add_dependency 'jekyll_plugin_support', '>= 0.8.5'
|
|
33
32
|
end
|
data/lib/jekyll_quote/version.rb
CHANGED
data/lib/jekyll_quote.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require 'jekyll_plugin_support'
|
|
2
|
-
require 'jekyll_plugin_helper'
|
|
2
|
+
require 'helper/jekyll_plugin_helper'
|
|
3
3
|
require_relative 'jekyll_quote/version'
|
|
4
4
|
|
|
5
5
|
# @author Copyright 2022 Michael Slinn
|
|
@@ -27,25 +27,32 @@ module Jekyll
|
|
|
27
27
|
@break = @helper.parameter_specified? 'break' # enforced by CSS if a list ends the body
|
|
28
28
|
@by = @helper.parameter_specified? 'by'
|
|
29
29
|
@cite = @helper.parameter_specified? 'cite'
|
|
30
|
+
@class = @helper.parameter_specified? 'class'
|
|
30
31
|
@noprep = @helper.parameter_specified? 'noprep'
|
|
32
|
+
@style = @helper.parameter_specified? 'style'
|
|
31
33
|
@url = @helper.parameter_specified? 'url'
|
|
32
|
-
|
|
33
34
|
preposition = 'From'
|
|
34
35
|
preposition = 'By' if @by
|
|
35
36
|
preposition = '' if @noprep
|
|
36
37
|
if @cite
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
cite_markup = if @url && !@url.empty?
|
|
39
|
+
"<a href='#{@url}' rel='nofollow' target='_blank'>#{@cite}</a>"
|
|
40
|
+
else
|
|
41
|
+
"#{@cite}\n"
|
|
42
|
+
end
|
|
42
43
|
tag = @break ? 'div' : 'span'
|
|
43
|
-
|
|
44
|
-
text = "<div class='quoteText clearfix'>#{text}</div>" if @break
|
|
44
|
+
@cite_markup = "<#{tag} class='quoteAttribution'> – #{preposition} #{cite_markup}</#{tag}>\n"
|
|
45
45
|
end
|
|
46
|
+
@text = @break ? "<div class='quoteText clearfix'>#{text}</div>" : text
|
|
47
|
+
output
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def output
|
|
51
|
+
klass = "#{@class} " if @class
|
|
52
|
+
styling = " style='#{@style}'" if @style
|
|
46
53
|
<<~END_HERE
|
|
47
|
-
<div class='quote'>
|
|
48
|
-
#{text}#{
|
|
54
|
+
<div class='#{klass}quote'#{styling}>
|
|
55
|
+
#{@text}#{@cite_markup}
|
|
49
56
|
#{@helper.attribute if @helper.attribution}
|
|
50
57
|
</div>
|
|
51
58
|
END_HERE
|
data/spec/jekyll_quote_spec.rb
CHANGED
|
@@ -38,7 +38,7 @@ end
|
|
|
38
38
|
|
|
39
39
|
# These tests all fail because I have not figured out how to provide a Jekyll block body to a test
|
|
40
40
|
class MyTest
|
|
41
|
-
RSpec.describe Jekyll::Quote do
|
|
41
|
+
RSpec.describe Jekyll::Quote do
|
|
42
42
|
let(:logger) do
|
|
43
43
|
PluginMetaLogger.instance.new_logger(self, PluginMetaLogger.instance.config)
|
|
44
44
|
end
|
|
@@ -55,7 +55,7 @@ class MyTest
|
|
|
55
55
|
|
|
56
56
|
it 'has no cite or url' do
|
|
57
57
|
helper.reinitialize('Quote has no cite or url.')
|
|
58
|
-
quote =
|
|
58
|
+
quote = described_class.send(
|
|
59
59
|
:new,
|
|
60
60
|
'quote',
|
|
61
61
|
helper.markup.dup,
|
|
@@ -71,7 +71,7 @@ class MyTest
|
|
|
71
71
|
|
|
72
72
|
it 'has a cite but no url' do
|
|
73
73
|
helper.reinitialize("cite='This is a citation' The quote has a cite but no url.")
|
|
74
|
-
quote =
|
|
74
|
+
quote = described_class.send(
|
|
75
75
|
:new,
|
|
76
76
|
'quote',
|
|
77
77
|
helper.markup.dup,
|
|
@@ -89,7 +89,7 @@ class MyTest
|
|
|
89
89
|
|
|
90
90
|
it 'has a url but no cite' do
|
|
91
91
|
helper.reinitialize("url='https://blah.com' The quote has a url but no cite.")
|
|
92
|
-
quote =
|
|
92
|
+
quote = described_class.send(
|
|
93
93
|
:new,
|
|
94
94
|
'quote',
|
|
95
95
|
helper.markup.dup,
|
|
@@ -104,8 +104,8 @@ class MyTest
|
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
it 'has a cite and a url' do
|
|
107
|
-
helper.reinitialize "cite='This is a citation' url='https://blah.com' The quote has a url and a cite."
|
|
108
|
-
quote =
|
|
107
|
+
helper.reinitialize "cite='This is a citation' url='https://blah.com' The quote has a url and a cite.".+
|
|
108
|
+
quote = described_class.send(
|
|
109
109
|
:new,
|
|
110
110
|
'quote',
|
|
111
111
|
helper.markup.dup,
|
data/spec/spec_helper.rb
CHANGED
|
@@ -2,9 +2,8 @@ require 'jekyll'
|
|
|
2
2
|
require_relative '../lib/jekyll_quote'
|
|
3
3
|
|
|
4
4
|
RSpec.configure do |config|
|
|
5
|
-
config.
|
|
5
|
+
config.filter_run_when_matching focus: true
|
|
6
6
|
config.order = 'random'
|
|
7
|
-
config.run_all_when_everything_filtered = true
|
|
8
7
|
|
|
9
8
|
# See https://relishapp.com/rspec/rspec-core/docs/command-line/only-failures
|
|
10
9
|
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_quote
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mike Slinn
|
|
8
8
|
autorequire:
|
|
9
|
-
bindir:
|
|
9
|
+
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2024-04-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -28,16 +28,16 @@ dependencies:
|
|
|
28
28
|
name: jekyll_plugin_support
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
33
|
+
version: 0.8.5
|
|
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.
|
|
40
|
+
version: 0.8.5
|
|
41
41
|
description:
|
|
42
42
|
email:
|
|
43
43
|
- mslinn@mslinn.com
|
|
@@ -55,15 +55,14 @@ files:
|
|
|
55
55
|
- lib/jekyll_quote/version.rb
|
|
56
56
|
- spec/jekyll_quote_spec.rb
|
|
57
57
|
- spec/spec_helper.rb
|
|
58
|
-
|
|
59
|
-
homepage: https://www.mslinn.com/jekyll/3000-jekyll-plugins.html#jekyll_quote
|
|
58
|
+
homepage: https://www.mslinn.com/jekyll_plugins/jekyll_quote.html
|
|
60
59
|
licenses:
|
|
61
60
|
- MIT
|
|
62
61
|
metadata:
|
|
63
62
|
allowed_push_host: https://rubygems.org
|
|
64
63
|
bug_tracker_uri: https://github.com/mslinn/jekyll_quote/issues
|
|
65
64
|
changelog_uri: https://github.com/mslinn/jekyll_quote/CHANGELOG.md
|
|
66
|
-
homepage_uri: https://www.mslinn.com/
|
|
65
|
+
homepage_uri: https://www.mslinn.com/jekyll_plugins/jekyll_quote.html
|
|
67
66
|
source_code_uri: https://github.com/mslinn/jekyll_quote
|
|
68
67
|
post_install_message: |2+
|
|
69
68
|
|
|
@@ -90,5 +89,4 @@ summary: Provides a Jekyll filter that creates formatted quotes.
|
|
|
90
89
|
test_files:
|
|
91
90
|
- spec/jekyll_quote_spec.rb
|
|
92
91
|
- spec/spec_helper.rb
|
|
93
|
-
- spec/status_persistence.txt
|
|
94
92
|
...
|
data/spec/status_persistence.txt
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
example_id | status | run_time |
|
|
2
|
-
-------------------------------- | ------ | --------------- |
|
|
3
|
-
./spec/jekyll_quote_spec.rb[1:1] | failed | 0.01849 seconds |
|
|
4
|
-
./spec/jekyll_quote_spec.rb[1:2] | failed | 0.00035 seconds |
|
|
5
|
-
./spec/jekyll_quote_spec.rb[1:3] | failed | 0.00018 seconds |
|
|
6
|
-
./spec/jekyll_quote_spec.rb[1:4] | failed | 0.00009 seconds |
|