jekyll_pre 1.4.1 → 1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f765cdcaf2d5447e9e05c49f02aa47b59feba53ba9dab4133a05eaa35f415555
4
- data.tar.gz: 2b742223bfd91ce5dc8349a8dd5a09e8c678890dbb338a347ac2c463d3db9f1d
3
+ metadata.gz: 9891991d8f4517372a76f9a52f60dd8d063a5527738b2bd5194fc749bba5a02e
4
+ data.tar.gz: 52b238c5f9aee99c593bd552552411503a0dd49f2c470b1c48bc6600c257e114
5
5
  SHA512:
6
- metadata.gz: f4c15e15ee8390c7c429ce94f5913063d16804a2a61be225d66d1186406995eeed6a326e16fe438efac8dcf266f2e649888aec4c3d581fc10217098d1cbea3b9
7
- data.tar.gz: 7ae60210e08f23519765d3c1064761838f448e4e04f4dd03f8965361b5243d0cbfa543665370b918bbc4e188c97a3ec96b400d884b7c543d39b1b722afffead5
6
+ metadata.gz: 3629fe65cd677c4d964b89e5197f6f18862177da853d862a905bd0162eb6265aa3922e196a34c0149bfd627e9d959155a39675b5ebccde9dfc5cd5f6fa05a355
7
+ data.tar.gz: 341e7a4863fc7dccb227d997154cccf677ef4576403f8c75b74cc1a596cbc1c1232d95df1257d052c03f6a65d0fb2104024398902b1fa98e68f54b912df46974
data/.rubocop.yml CHANGED
@@ -7,15 +7,17 @@ require:
7
7
 
8
8
  AllCops:
9
9
  Exclude:
10
- - exe/**/*
10
+ - binstub/**/*
11
11
  - vendor/**/*
12
12
  - Gemfile*
13
13
  NewCops: enable
14
- TargetRubyVersion: 2.6
15
14
 
16
15
  Gemspec/DeprecatedAttributeAssignment:
17
16
  Enabled: false
18
17
 
18
+ Gemspec/RequiredRubyVersion:
19
+ Enabled: false
20
+
19
21
  Gemspec/RequireMFA:
20
22
  Enabled: false
21
23
 
data/CHANGELOG.md CHANGED
@@ -1,77 +1,127 @@
1
+ # Change Log
2
+
3
+ ## 1.4.2
4
+
5
+ * Added missing `require` in `pre_tag_block.rb`.
6
+
7
+
1
8
  ## 1.4.1
2
- * Fixed problem that caused exec tag to no produce output.
9
+
10
+ * Fixed problem that caused exec tag to no produce output.
11
+
3
12
 
4
13
  ## 1.4.0
5
- * Added `dedent` option and config setting.
6
- * No longer dies when exec is passed an empty string, or a string with just whitespace.
14
+
15
+ * Added `dedent` option and config setting.
16
+ * No longer dies when exec is passed an empty string, or a string with just whitespace.
17
+
7
18
 
8
19
  ## 1.3.2
9
- * No longer strips leading spaces from exec result lines.
20
+
21
+ * No longer strips leading spaces from exec result lines.
22
+
10
23
 
11
24
  ## 1.3.1
12
- * Generates outer `div` with `jekyll_pre` class, like this:
13
- ```html
14
- <div class="jekyll_pre">
15
- ... HTML generated by previous versions of `pre` tag here
16
- </div>
17
- ```
18
- * Added `wrapper_class` and `wrapper_style` name/value options.
25
+
26
+ * Generates outer `div` with `jekyll_pre` class, like this:
27
+
28
+ ```html
29
+ <div class="jekyll_pre">
30
+ ... HTML generated by previous versions of `pre` tag here
31
+ </div>
32
+ ```
33
+
34
+ * Added `wrapper_class` and `wrapper_style` name/value options.
35
+
19
36
 
20
37
  ## 1.3.0
21
- * Updated to `jekyll_plugin_support` v0.6.0 for attribution support.
38
+
39
+ * Updated to `jekyll_plugin_support` v0.6.0 for attribution support.
40
+
22
41
 
23
42
  ## 1.2.5
24
- * Empty exec commands are detected and reported.
43
+
44
+ * Empty exec commands are detected and reported.
45
+
25
46
 
26
47
  ## 1.2.4
27
- * The `exec` tag now evaluates environment variables in the command before execution.
48
+
49
+ * The `exec` tag now evaluates environment variables in the command before execution.
50
+
28
51
 
29
52
  ## 1.2.3
30
- * Added `cd` option to `exec` tag.
53
+
54
+ * Added `cd` option to `exec` tag.
55
+
31
56
 
32
57
  ## 1.2.2
33
- * Added `exec` tag.
34
- * Demarked CSS for the `exec`, `noselect`, and `pre` tags in `demo/assets/css/style.css`
35
- within `/* Start of pre tag css */` and `/* End of pre tag css */`.
58
+
59
+ * Added `exec` tag.
60
+ * Demarked CSS for the `exec`, `noselect`, and `pre` tags in `demo/assets/css/style.css`
61
+ within `/* Start of pre tag css */` and `/* End of pre tag css */`.
62
+
36
63
 
37
64
  ## 1.2.1
38
- * Updated to `jekyll_plugin_support` v0.5.1 so the `noselect` tag is more efficient.
65
+
66
+ * Updated to `jekyll_plugin_support` v0.5.1 so the `noselect` tag is more efficient.
67
+
39
68
 
40
69
  ## 1.2.0
41
- * Updated to `jekyll_plugin_support` v0.5.0.
70
+
71
+ * Updated to `jekyll_plugin_support` v0.5.0.
72
+
42
73
 
43
74
  ## 1.1.7
44
- * Fixed `noselect` tag content handling.
75
+
76
+ * Fixed `noselect` tag content handling.
77
+
45
78
 
46
79
  ## 1.1.6
47
- * Added `jekyll_plugin_support` as a dependency.
80
+
81
+ * Added `jekyll_plugin_support` as a dependency.
82
+
48
83
 
49
84
  ## 1.1.5
50
- * Added `class` and `style` options to allow for specifying additional CSS classes and inline CSS
51
- * Added `clear` option to ensure no images overlap the pre output
85
+
86
+ * Added `class` and `style` options to allow for specifying additional CSS classes and inline CSS
87
+ * Added `clear` option to ensure no images overlap the pre output
88
+
52
89
 
53
90
  ## 1.1.4
54
- * Added `highlight` regex option
55
- * Now using `lib/jekyll_tag_helper.rb` to parse markup
91
+
92
+ * Added `highlight` regex option
93
+ * Now using `lib/jekyll_tag_helper.rb` to parse markup
94
+
56
95
 
57
96
  ## 1.1.3
58
- * Documented the `data-lt-active="false"` attribute.
59
- * Added the `dark` option, and [provided CSS](https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html#pre_css).
97
+
98
+ * Documented the `data-lt-active="false"` attribute.
99
+ * Added the `dark` option, and [provided CSS](https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html#pre_css).
100
+
60
101
 
61
102
  ## 1.1.2 / 2022-04-05
62
- * Updated to `jekyll_plugin_logger` v2.1.0
103
+
104
+ * Updated to `jekyll_plugin_logger` v2.1.0
105
+
63
106
 
64
107
  ## 1.1.1 / 2022-03-31
65
- * Added `numbered_line` CSS class for unselectable line numbers
108
+
109
+ * Added `numbered_line` CSS class for unselectable line numbers
110
+
66
111
 
67
112
  ## 1.1.0 / 2022-03-31
68
- * Added `number` option, which generates unselectable line numbers for contents
113
+
114
+ * Added `number` option, which generates unselectable line numbers for contents
115
+
69
116
 
70
117
  ## 1.0.0 / 2022-03-13
71
- * Made into a Ruby gem and published on RubyGems.org as [jekyll_pre](https://rubygems.org/gems/jekyll_pre).
72
- * `bin/attach` script added for debugging
73
- * Rubocop standards added
74
- * Proper versioning and CHANGELOG.md added
118
+
119
+ * Made into a Ruby gem and published on RubyGems.org as [jekyll_pre](https://rubygems.org/gems/jekyll_pre).
120
+ * `bin/attach` script added for debugging
121
+ * Rubocop standards added
122
+ * Proper versioning and CHANGELOG.md added
123
+
75
124
 
76
125
  ## 2020-12-29
77
- * Initial version published
126
+
127
+ * Initial version published
data/README.md CHANGED
@@ -1,65 +1,73 @@
1
- Jekyll_pre
2
- [![Gem Version](https://badge.fury.io/rb/jekyll_pre.svg)](https://badge.fury.io/rb/jekyll_pre)
3
- ===========
1
+ # Jekyll_pre [![Gem Version](https://badge.fury.io/rb/jekyll_pre.svg)](https://badge.fury.io/rb/jekyll_pre)
4
2
 
5
3
  This Jekyll plugin provides 3 new Liquid tags that work together:
6
4
 
7
- * A `pre` block tag that can be displayed various ways.
8
- ```
9
- {% pre [Options] [free text label] %}
10
- Contents of pre tag
11
- {% endpre %}
12
- ```
13
- `Options` are:
14
- - `class="class1 class2"` &ndash; Apply CSS classes
15
- - `clear` &ndash; Line break after floating HTML elements
16
- - `copyButton` &ndash; Generate a copy button
17
- - `dark` &ndash; Dark mode
18
- - `dedent` &ndash; Remove leading spaces common to all lines, like Ruby's <<~ squiggly heredoc (default is false)
19
- - `label='This is a label'` &ndash; Apply text above `pre` tag.
20
- The `label` parameter value can also be specified in free text.
21
- For example, the following produce the same results:
22
-
23
- - {% pre label="This is a label" %}<br>Contents of pre tag<br>{% endpre %}
24
-
25
- - {% pre This is a label %}<br>Contents of pre tag<br>{% endpre %}
26
- - `number` &ndash; Number the lines
27
- - `shell` &ndash; Equivalent to `label='Shell'`
28
- - `style` &ndash; Apply inline CSS styles
29
-
30
- The generated &lt;pre>&lt;/pre> tag has an `data-lt-active="false"` attribute, so [LanguageTool](https://forum.languagetool.org/t/avoid-spell-check-on-certain-html-inputs-manually/3944) does not check the spelling or grammar of the contents.
31
-
32
- * A `noselect` tag that can renders HTML content passed to it unselectable,
33
- and generates a <code>$</code> prompt if no content is provided.
34
- ```
35
- {% pre %}
36
- {% noselect [optional text string, defaults to $]%}Command
37
- {% noselect unselectable output goes here %}
38
- {% endpre %}
39
- ```
40
-
41
- * An `exec` tag that executes shell commands and incorporates the command and its output into the content of the `pre` tag.
42
- Environment variables are evaluated,
43
- output data is escaped, whitespace is condensed, and wrapped in the same `unselectable` class as does `unselectable`.
44
- ```
45
- {% exec [Options] [shell command] %}
46
- ```
47
- `Options` are:
48
-
49
- - `cd="relative/or/absolute/directory"` - Change to specified directory before executing shell command.
50
- Environment variables in the directory path will be expanded.
51
- - `die_if_nonzero` – Set `false` to treat non-zero return codes as non-fatal.
52
- Instead of terminating Jekyll with an error message,
53
- the message will be displayed as an error by the Jekyll logger,
54
- and a red message will appear in place of the result on the web page.
55
- - `die_if_error` – Set `false` to treat exceptions generated by this plugin as non-fatal.
56
- Instead of terminating Jekyll with an error message, the message will be displayed as an error by the Jekyll logger.
57
- - `no_escape` Do not HTML escape the result of running the shell command.
58
- - `no_strip` Do not remove leading and trailing whitespace from the result.
59
- - `wrapper_class` class applied to outer `div`.
60
- - `wrapper_style` style applied to outer `div`.
5
+ * A `pre` block tag that can be displayed various ways.
6
+
7
+ ```html
8
+ {% pre [Options] [free text label] %}
9
+ Contents of pre tag
10
+ {% endpre %}
11
+ ```
12
+
13
+ `Options` are:
14
+
15
+ - `class="class1 class2"` &ndash; Apply CSS classes
16
+ - `clear` &ndash; Line break after floating HTML elements
17
+ - `copyButton` &ndash; Generate a copy button
18
+ - `dark` &ndash; Dark mode
19
+ - `dedent` &ndash; Remove leading spaces common to all lines, like Ruby's <<~ squiggly heredoc (default is false)
20
+ - `label='This is a label'` &ndash; Apply text above `pre` tag.
21
+ The `label` parameter value can also be specified in free text.
22
+ For example, the following produce the same results:
23
+
24
+ - {% pre label="This is a label" %}<br>Contents of pre tag<br>{% endpre %}
25
+
26
+ - {% pre This is a label %}<br>Contents of pre tag<br>{% endpre %}
27
+ - `number` &ndash; Number the lines
28
+ - `shell` &ndash; Equivalent to `label='Shell'`
29
+ - `style` &ndash; Apply inline CSS styles
30
+
31
+ The generated &lt;pre>&lt;/pre> tag has an `data-lt-active="false"` attribute, so
32
+ [LanguageTool](https://forum.languagetool.org/t/avoid-spell-check-on-certain-html-inputs-manually/3944)
33
+ does not check the spelling or grammar of the contents.
34
+
35
+ * A `noselect` tag that can renders HTML content passed to it unselectable,
36
+ and generates a <code>$</code> prompt if no content is provided.
37
+
38
+ ```html
39
+ {% pre %}
40
+ {% noselect [optional text string, defaults to $]%}Command
41
+ {% noselect unselectable output goes here %}
42
+ {% endpre %}
43
+ ```
44
+
45
+ * An `exec` tag that executes shell commands and incorporates the command and its output into the content of the `pre` tag.
46
+ Environment variables are evaluated,
47
+ output data is escaped, whitespace is condensed, and wrapped in the same `unselectable` class as does `unselectable`.
48
+
49
+ ```html
50
+ {% exec [Options] [shell command] %}
51
+ ```
52
+
53
+ `Options` are:
54
+
55
+ - `cd="relative/or/absolute/directory"` - Change to specified directory before executing shell command.
56
+ Environment variables in the directory path will be expanded.
57
+ - `die_if_nonzero` Set `false` to treat non-zero return codes as non-fatal.
58
+ Instead of terminating Jekyll with an error message,
59
+ the message will be displayed as an error by the Jekyll logger,
60
+ and a red message will appear in place of the result on the web page.
61
+ - `die_if_error` – Set `false` to treat exceptions generated by this plugin as non-fatal.
62
+ Instead of terminating Jekyll with an error message, the message will be displayed as an error by the Jekyll logger.
63
+ - `no_escape` – Do not HTML escape the result of running the shell command.
64
+ - `no_strip` – Do not remove leading and trailing whitespace from the result.
65
+ - `wrapper_class` class applied to outer `div`.
66
+ - `wrapper_style` style applied to outer `div`.
67
+
61
68
 
62
69
  ## Keyword Options
70
+
63
71
  For all keyword options, including keyword options for the `pre` and `exec` tags:
64
72
 
65
73
  - Option values specified in the document *may* be provided.
@@ -70,19 +78,24 @@ For all keyword options, including keyword options for the `pre` and `exec` tags
70
78
  Values that do not contain special characters *may* be wrapped in single or double quotes.
71
79
 
72
80
  ### Examples
81
+
73
82
  #### Specifying Tag Option Values
83
+
74
84
  The following sets `die_if_error` `true`:
75
- ```
85
+
86
+ ```html
76
87
  {% pre die_if_error %} ... {% endpre %}
77
88
  ```
78
89
 
79
90
  The above is the same as writing:
80
- ```
91
+
92
+ ```html
81
93
  {% pre die_if_error='true' %} ... {% endpre %}
82
94
  ```
83
95
 
84
96
  Or writing:
85
- ```
97
+
98
+ ```html
86
99
  {% pre die_if_error="true" %} ... {% endpre %}
87
100
  ```
88
101
 
@@ -92,23 +105,27 @@ For the `pre` tag, this means the erroneous string becomes part of the `label` v
92
105
  For the `exec` tag, this means the erroneous string becomes part of the command to execute.
93
106
  The following demonstrates the error.
94
107
 
95
- ```
108
+ ```html
96
109
  {% pre die_if_error=false %} ... {% endpre %}
97
110
  ```
111
+
98
112
  The above causes the label to be `die_if_error=false`.
99
113
 
100
- ```
114
+ ```html
101
115
  {% exec die_if_error=false ls %} ... {% endpre %}
102
116
  ```
117
+
103
118
  The above causes the command to be executed to be `die_if_error=false ls` instead of `ls`.
104
119
 
105
120
 
106
121
  ## CSS
122
+
107
123
  See [`demo/assets/css/style.css`](demo/assets/css/style.css) for the CSS declarations,
108
124
  between `/* Start of pre tag css */` and `/* End of pre tag css */`.
109
125
 
110
126
 
111
127
  ## Configuration
128
+
112
129
  Default options can be set for the `pre` tag by entries in `_config.yml`.
113
130
  The following demonstrates setting a default value for every possible option:
114
131
 
@@ -137,8 +154,10 @@ pre:
137
154
  ```
138
155
 
139
156
 
140
- #### Specifying Default Option Values
157
+ ### Specifying Default Option Values
158
+
141
159
  Specifying a default value for `die_if_error` in `_config.yml` could be done as follows:
160
+
142
161
  ```yaml
143
162
  pre:
144
163
  die_if_error: true
@@ -156,6 +175,7 @@ pre:
156
175
 
157
176
 
158
177
  ## Additional Information
178
+
159
179
  More information is available on
160
180
  [Mike Slinn&rsquo;s website](https://www.mslinn.com/jekyll_plugins/jekyll_pre.html).
161
181
 
@@ -172,26 +192,33 @@ end
172
192
 
173
193
  And then execute:
174
194
 
175
- $ bundle
195
+ ```shell
196
+ $ bundle
197
+ ```
176
198
 
177
199
 
178
200
  ## Usage
201
+
179
202
  The following examples are rendered on
180
203
  [Mike Slinn&rsquo;s website](https://www.mslinn.com/jekyll_plugins/jekyll_pre.html).
181
204
 
182
205
  ### Example 0
206
+
183
207
  <pre data-lt-active="false" class="maxOneScreenHigh copyContainer" id="id110c50d624b4">{% pre dedent %}
184
208
  This line was indented 4 spaces
185
209
  This line was indented 6 spaces
186
210
  This line was indented 4 spaces
187
211
  {% endpre %}</pre>
212
+
188
213
  Which renders as:
189
214
 
190
215
  <pre data-lt-active="false" class="maxOneScreenHigh copyContainer" id="id377433c30186">This line was indented 4 spaces
191
216
  This line was indented 6 spaces
192
217
  This line was indented 4 spaces</pre>
193
218
 
219
+
194
220
  ### Example 1
221
+
195
222
  This example does not generate a copy button and does not demonstrate `noselect`.
196
223
  <pre data-lt-active="false" class="maxOneScreenHigh copyContainer" id="id110c50d624b4">{% pre %}
197
224
  Contents of pre tag
@@ -206,11 +233,12 @@ Which renders as:
206
233
 
207
234
 
208
235
  ### Example 2
236
+
209
237
  This example generates a copy button and does not demonstrate `noselect`.
210
238
 
211
- {% pre copyButton %}
212
- Contents of pre tag
213
- {% endpre %}
239
+ {% pre copyButton %}
240
+ Contents of pre tag
241
+ {% endpre %}
214
242
 
215
243
  Generates:
216
244
  <pre data-lt-active="false" class="maxOneScreenHigh copyContainer" id="id08a5d26db177">&lt;pre data-lt-active='false' class='maxOneScreenHigh copyContainer' id='id6a831a3e8992'&gt;&lt;button class='copyBtn' data-clipboard-target='#id6a831a3e8992' title='Copy to clipboard'&gt;&lt;img src='images/clippy.svg' alt='Copy to clipboard' style='width: 13px'&gt;&lt;/button&gt;Contents of pre tag&lt;/pre&gt;</pre>
@@ -220,8 +248,10 @@ Which renders as (note the clipboard icon at the far right):
220
248
 
221
249
 
222
250
  ### Example 3
251
+
223
252
  This example generates a copy button and does demonstrates the default usage of `noselect`, which renders an unselectable dollar sign followed by a space.
224
- ```
253
+
254
+ ```html
225
255
  {% pre copyButton %}
226
256
  {% noselect %}Contents of pre tag
227
257
  {% endpre %}
@@ -229,7 +259,7 @@ This example generates a copy button and does demonstrates the default usage of
229
259
 
230
260
  Generates:
231
261
 
232
- ```
262
+ ```html
233
263
  <pre data-lt-active='false' class='maxOneScreenHigh copyContainer' id='id1e4a8fe53480'><button class='copyBtn' data-clipboard-target='#id1e4a8fe53480' title='Copy to clipboard'><img src='/assets/images/clippy.svg' alt='Copy to clipboard' style='width: 13px'></button><span class='unselectable'>$ </span>Contents of pre tag</pre>
234
264
  ```
235
265
 
@@ -239,11 +269,12 @@ Which renders as:
239
269
 
240
270
 
241
271
  ### Example 4
272
+
242
273
  This example generates a copy button and does demonstrates the `noselect` being used twice:
243
274
  the first time to render an unselectable custom prompt,
244
275
  and the second time to render unselectable output.
245
276
 
246
- ```
277
+ ```html
247
278
  {% pre copyButton %}
248
279
  {% noselect &gt;&gt;&gt; %}Contents of pre tag
249
280
  {% noselect How now brown cow%}
@@ -251,7 +282,8 @@ and the second time to render unselectable output.
251
282
  ```
252
283
 
253
284
  Generates:
254
- ```
285
+
286
+ ```html
255
287
  <pre data-lt-active='false' class='maxOneScreenHigh copyContainer' id='idb58a6cf1761c'><button class='copyBtn' data-clipboard-target='#idb58a6cf1761c' title='Copy to clipboard'><img src='/assets/images/clippy.svg' alt='Copy to clipboard' style='width: 13px'></button><span class='unselectable'>>>> </span>contents of pre tag
256
288
  <span class='unselectable'>How now brown cow</span></pre>
257
289
  ```
@@ -262,6 +294,7 @@ Which renders as:
262
294
 
263
295
 
264
296
  ### Example 5
297
+
265
298
  A regular expression can be passed to the `highlight` option.
266
299
  This causes text that matches the regex pattern to be wrapped within a &lt;span class="bg_yellow">&lt;/span> tag.
267
300
 
@@ -274,9 +307,11 @@ The CSS stylesheet used for this page contains the following:
274
307
  }
275
308
  ```
276
309
 
277
- This example demonstrates highlighting text that matches a regular expression. Regular expressions match against lines, which are delimited via newlines (\n).
310
+ This example demonstrates highlighting text that matches a regular expression.
311
+ Regular expressions match against lines,
312
+ which are delimited via newlines (\n).
278
313
 
279
- ```
314
+ ```html
280
315
  {% pre copyButton highlight="Line 2" %}
281
316
  Line 1
282
317
  Line 2
@@ -290,11 +325,12 @@ Line 7
290
325
 
291
326
 
292
327
  ### Example 6
328
+
293
329
  Regular expressions match against lines, which are delimited via newlines (`\n`).
294
330
  Thus to match an entire line that contains a phrase, specify the regex as `.*phrase.*`.
295
331
  The following matches 3 possible phrases (`2`, `4` or `6`), then selects the entire line if matched.
296
332
 
297
- ```
333
+ ```html
298
334
  {% pre copyButton highlight=".*(2|4|6).*" %}
299
335
  Line 1
300
336
  Line 2
@@ -308,10 +344,11 @@ Line 7
308
344
 
309
345
 
310
346
  ### Example 7
347
+
311
348
  This example floats an image to the right.
312
349
  The `jekyll_pre plugin`’s `clear` option moves the generated HTML below the image.
313
350
 
314
- ```
351
+ ```html
315
352
  &lt;img src="jekyll.webp" style="float: right; width: 100px; height: auto;">
316
353
  {% pre clear copyButton label='Clear example' %}
317
354
  Using clear, copyButton and label parameters
@@ -319,27 +356,30 @@ Using clear, copyButton and label parameters
319
356
  ```
320
357
 
321
358
  ### Example 8
359
+
322
360
  The following executes `ls -alF /` and displays the output.
323
361
 
324
- ```
362
+ ```html
325
363
  {% pre clear copyButton label='Exec without error' %}
326
364
  {% noselect %}{% exec die_if_nonzero='false' ls -alF / %}
327
365
  {% endpre %}
328
366
  ```
329
367
 
330
368
  ### Example 9
369
+
331
370
  The following changes to the home directory (`$HOME`), then executes `pwd` and displays the output.
332
371
 
333
- ```
372
+ ```html
334
373
  {% pre clear copyButton label='Exec without error' %}
335
374
  {% noselect %}{% exec cd="$HOME" die_if_nonzero='false' pwd %}
336
375
  {% endpre %}
337
376
  ```
338
377
 
339
378
  ### Example 10
379
+
340
380
  The following executes `echo $USER` and displays the output.
341
381
 
342
- ```
382
+ ```html
343
383
  {% pre clear copyButton label='Exec display &dollar;USER' %}
344
384
  {% noselect %}{% exec die_if_nonzero='false' echo $USER %}
345
385
  {% endpre %}
@@ -347,10 +387,11 @@ The following executes `echo $USER` and displays the output.
347
387
 
348
388
 
349
389
  ### Comprehensive Example
390
+
350
391
  The code I wrote to generate the above CSS was a good example of how the plugins work together with
351
392
  the `from` and `to` tags from my [`from_to_until`](https://github.com/mslinn/jekyll_from_to_until) plugin:
352
393
 
353
- ```
394
+ ```html
354
395
  {% capture css %}{% flexible_include '_sass/mystyle.scss' %}{% endcapture %}
355
396
  {% pre copyButton %}{{ css | from: '.copyBtn' | to: '^$' | strip }}
356
397
 
@@ -371,20 +412,22 @@ You can also run `bin/console` for an interactive prompt that will allow you to
371
412
 
372
413
 
373
414
  ## Test
415
+
374
416
  A test website is provided in the `demo` directory.
375
- 1. Set breakpoints.
376
417
 
377
- 2. Initiate a debug session from the command line:
378
- ```shell
379
- $ bin/attach demo
380
- ```
418
+ 1. Set breakpoints.
419
+ 2. Initiate a debug session from the command line:
381
420
 
382
- 3. Once the `Fast Debugger` signon appears, launch the Visual Studio Code launch configuration called `Attach rdebug-ide`.
421
+ ```shell
422
+ $ bin/attach demo
423
+ ```
383
424
 
384
- 4. View the generated website at [`http://localhost:4444`](http://localhost:4444)
425
+ 3. Once the `Fast Debugger` signon appears, launch the Visual Studio Code launch configuration called `Attach rdebug-ide`.
426
+ 4. View the generated website at [`http://localhost:4444`](http://localhost:4444)
385
427
 
386
428
 
387
429
  ### Build and Install Locally
430
+
388
431
  To build and install this gem onto your local machine, run:
389
432
 
390
433
  ```shell
@@ -392,6 +435,7 @@ $ bundle exec rake install
392
435
  ```
393
436
 
394
437
  Examine the newly built gem:
438
+
395
439
  ```shell
396
440
  $ gem info jekyll_pre
397
441
 
@@ -409,18 +453,23 @@ jekyll_pre (1.0.0)
409
453
 
410
454
 
411
455
  ### Build and Push to RubyGems
456
+
412
457
  To release a new version,
458
+
413
459
  1. Update the version number in `version.rb`.
414
460
  2. Commit all changes to git; if you don't the next step might fail with an unexplainable error message.
415
461
  3. Run the following:
462
+
416
463
  ```shell
417
464
  $ bundle exec rake release
418
465
  ```
466
+
419
467
  The above creates a git tag for the version, commits the created tag,
420
468
  and pushes the new `.gem` file to [RubyGems.org](https://rubygems.org).
421
469
 
422
470
 
423
471
  ## Contributing
472
+
424
473
  1. Fork the project
425
474
  2. Create a descriptively named feature branch
426
475
  3. Add your feature
@@ -1,3 +1,3 @@
1
1
  module JekyllPreVersion
2
- VERSION = '1.4.1'.freeze
2
+ VERSION = '1.4.2'.freeze
3
3
  end
data/lib/pre_tag_block.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'jekyll_plugin_support'
2
+ require 'securerandom'
2
3
  require_relative 'jekyll_pre/version'
3
4
 
4
5
  module JekyllPreModule
data/spec/spec_helper.rb CHANGED
@@ -10,9 +10,8 @@ require_relative '../lib/jekyll_pre'
10
10
  Jekyll.logger.log_level = :info
11
11
 
12
12
  RSpec.configure do |config|
13
- config.filter_run :focus
13
+ config.filter_run_when_matching focus: true
14
14
  # config.order = 'random'
15
- config.run_all_when_everything_filtered = true
16
15
 
17
16
  # See https://relishapp.com/rspec/rspec-core/docs/command-line/only-failures
18
17
  config.example_status_persistence_file_path = 'spec/status_persistence.txt'
@@ -1,13 +1,8 @@
1
- example_id | status | run_time |
2
- --------------------------------------------------------------- | ------ | --------------- |
3
- ./spec/exec_spec.rb[1:1] | passed | 0.00377 seconds |
4
- ./spec/pre_spec.rb[1:1] | passed | 0.00014 seconds |
5
- ./spec/pre_spec.rb[1:2] | passed | 0.00351 seconds |
6
- ./spec/pre_spec.rb[1:3] | passed | 0.00016 seconds |
7
- ./spec/pre_spec.rb[1:4] | passed | 0.00011 seconds |
8
- /mnt/_/work/jekyll/my_plugins/jekyll_pre/spec/exec_spec.rb[1:1] | passed | 0.00457 seconds |
9
- /mnt/_/work/jekyll/my_plugins/jekyll_pre/spec/pre_spec.rb[1:1] | passed | 0.00326 seconds |
10
- /mnt/_/work/jekyll/my_plugins/jekyll_pre/spec/pre_spec.rb[1:2] | passed | 0.00067 seconds |
11
- /mnt/_/work/jekyll/my_plugins/jekyll_pre/spec/pre_spec.rb[1:3] | passed | 0.00362 seconds |
12
- /mnt/_/work/jekyll/my_plugins/jekyll_pre/spec/pre_spec.rb[1:4] | passed | 0.00033 seconds |
13
- /mnt/_/work/jekyll/my_plugins/jekyll_pre/spec/pre_spec.rb[1:5] | passed | 0.00083 seconds |
1
+ example_id | status | run_time |
2
+ ------------------------ | ------ | --------------- |
3
+ ./spec/exec_spec.rb[1:1] | passed | 0.00133 seconds |
4
+ ./spec/pre_spec.rb[1:1] | passed | 0.00007 seconds |
5
+ ./spec/pre_spec.rb[1:2] | passed | 0.00003 seconds |
6
+ ./spec/pre_spec.rb[1:3] | passed | 0.00133 seconds |
7
+ ./spec/pre_spec.rb[1:4] | passed | 0.00005 seconds |
8
+ ./spec/pre_spec.rb[1:5] | passed | 0.00004 seconds |
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_pre
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.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: 2023-06-25 00:00:00.000000000 Z
11
+ date: 2023-11-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
- rubygems_version: 3.3.3
107
+ rubygems_version: 3.3.7
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Jekyll tags pre and noselect, for HTML <pre/> tag, prompts and unselectable