nanoc-tidy.rb 0.8.0 → 0.8.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 +4 -4
- data/README.md +19 -1
- data/lib/nanoc/tidy/filter.rb +10 -21
- data/lib/nanoc/tidy/spawn.rb +4 -3
- data/lib/nanoc/tidy/version.rb +1 -1
- data/lib/nanoc/tidy.rb +0 -1
- data/nanoc-tidy.rb.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0898b9a7ec2f3c137c9fa5233313a88102ea13ad27f8b6093f258c1f0f096e66'
|
4
|
+
data.tar.gz: 344d471e7428617674f06a759da09dcde5807ccdbc811ee76ab0a8e3d5d01083
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd18a0e8598f6cfd2fe27a2294deed691d8e671110ea1efa3521fbb7c0005a17e43178251c9a90a331a0a8bbfdea46fb728982b78debb49a8c8699d7eb0a1fd7
|
7
|
+
data.tar.gz: 84471209421d20f88c6a6b36e05ed51f11c85cfebb623ad63c93ba35cf92a53335461cf518ea1ed56a32f4295e07d0924e91a5ad2be06ccf52dfbca9667c4d8a
|
data/README.md
CHANGED
@@ -32,7 +32,8 @@ end
|
|
32
32
|
__Option: argv__
|
33
33
|
|
34
34
|
The following example sets the "argv" filter option. <br>
|
35
|
-
The filter option is combined with
|
35
|
+
The filter option is combined with
|
36
|
+
[Nanoc::Tidy.default_argv](https://0x1eef.github.io/x/nanoc-tidy.rb/Nanoc/Tidy/Filter#default_argv-class_method):
|
36
37
|
|
37
38
|
```ruby
|
38
39
|
# Rules
|
@@ -45,6 +46,23 @@ compile "/index.html.erb" do
|
|
45
46
|
end
|
46
47
|
```
|
47
48
|
|
49
|
+
__Option: exe__
|
50
|
+
|
51
|
+
The "exe" option can be used to change the default executable
|
52
|
+
from "tidy5" to something else, the most common alternative
|
53
|
+
might be "tidy":
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
# Rules
|
57
|
+
require "nanoc-tidy"
|
58
|
+
compile "/index.html.erb" do
|
59
|
+
layout("/default.*")
|
60
|
+
filter(:erb)
|
61
|
+
filter(:tidy, exe: "tidy")
|
62
|
+
write("/index.html")
|
63
|
+
end
|
64
|
+
```
|
65
|
+
|
48
66
|
## Install
|
49
67
|
|
50
68
|
**Rubygems.org**
|
data/lib/nanoc/tidy/filter.rb
CHANGED
@@ -4,7 +4,6 @@ module Nanoc::Tidy
|
|
4
4
|
class Filter < Nanoc::Filter
|
5
5
|
require "fileutils"
|
6
6
|
require_relative "spawn"
|
7
|
-
|
8
7
|
include Spawn
|
9
8
|
include FileUtils
|
10
9
|
|
@@ -39,11 +38,11 @@ module Nanoc::Tidy
|
|
39
38
|
File.basename(item.identifier.to_s),
|
40
39
|
content
|
41
40
|
)
|
42
|
-
spawn
|
41
|
+
spawn options[:exe] || "tidy5",
|
43
42
|
[*default_argv, *(options[:argv] || []), "-modify", file.path]
|
44
43
|
File.read(file.path)
|
45
44
|
ensure
|
46
|
-
file
|
45
|
+
file ? file.tap(&:unlink).close : nil
|
47
46
|
end
|
48
47
|
|
49
48
|
private
|
@@ -53,24 +52,14 @@ module Nanoc::Tidy
|
|
53
52
|
end
|
54
53
|
|
55
54
|
def temporary_file(basename, content)
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
end
|
65
|
-
|
66
|
-
def tidy
|
67
|
-
if system("which tidy > /dev/null 2>&1")
|
68
|
-
"tidy"
|
69
|
-
elsif system("which tidy5 > /dev/null 2>&1")
|
70
|
-
"tidy5"
|
71
|
-
else
|
72
|
-
raise Nanoc::Tidy::Error, "tidy executable not found on $PATH"
|
73
|
-
end
|
55
|
+
tmpdir = File.join(Dir.getwd, "tmp", "tidy")
|
56
|
+
name = item.identifier.to_s
|
57
|
+
file = Tempfile.new(
|
58
|
+
[ File.basename(name), File.extname(name) ],
|
59
|
+
mkdir_p(tmpdir).last
|
60
|
+
)
|
61
|
+
file.write(content)
|
62
|
+
file.tap(&:flush)
|
74
63
|
end
|
75
64
|
end
|
76
65
|
end
|
data/lib/nanoc/tidy/spawn.rb
CHANGED
@@ -14,7 +14,8 @@ module Nanoc::Tidy
|
|
14
14
|
# @param [Array<String>] argv
|
15
15
|
# An array of command line arguments
|
16
16
|
#
|
17
|
-
# @return [
|
17
|
+
# @return [Integer]
|
18
|
+
# Returns the exit code of the spawned process
|
18
19
|
def spawn(exe, argv)
|
19
20
|
r = cmd(exe, *argv)
|
20
21
|
##
|
@@ -29,8 +30,8 @@ module Nanoc::Tidy
|
|
29
30
|
"#{File.basename(exe)} exited unsuccessfully\n" \
|
30
31
|
"(item: #{item.identifier})\n" \
|
31
32
|
"(exit code: #{r.exit_status})\n" \
|
32
|
-
"(stdout
|
33
|
-
"(stderr
|
33
|
+
"(stdout: #{r.stdout&.chomp})\n" \
|
34
|
+
"(stderr: #{r.stderr&.chomp})\n",
|
34
35
|
[]
|
35
36
|
end
|
36
37
|
end
|
data/lib/nanoc/tidy/version.rb
CHANGED
data/lib/nanoc/tidy.rb
CHANGED
data/nanoc-tidy.rb.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.licenses = ["0BSD"]
|
11
11
|
gem.files = `git ls-files`.split($/).reject { _1.start_with?(".") }
|
12
12
|
gem.require_paths = ["lib"]
|
13
|
-
gem.summary = "nanoc + tidy-html5"
|
13
|
+
gem.summary = "nanoc-tidy.rb = nanoc + tidy-html5"
|
14
14
|
gem.description = gem.summary
|
15
15
|
gem.add_runtime_dependency "test-cmd.rb", "~> 0.12.2"
|
16
16
|
gem.add_development_dependency "yard", "~> 0.9"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanoc-tidy.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- '0x1eef'
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-cmd.rb
|
@@ -136,7 +136,7 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0.6'
|
139
|
-
description: nanoc + tidy-html5
|
139
|
+
description: nanoc-tidy.rb = nanoc + tidy-html5
|
140
140
|
email:
|
141
141
|
- 0x1eef@protonmail.com
|
142
142
|
executables: []
|
@@ -180,5 +180,5 @@ requirements: []
|
|
180
180
|
rubygems_version: 3.5.9
|
181
181
|
signing_key:
|
182
182
|
specification_version: 4
|
183
|
-
summary: nanoc + tidy-html5
|
183
|
+
summary: nanoc-tidy.rb = nanoc + tidy-html5
|
184
184
|
test_files: []
|