kisko-suits 0.2.1 → 0.3.0
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 +5 -5
- data/data/preso_with_variables_within_variables.md.suits +4 -0
- data/data/preso_with_variables_within_variables.md_proper +2 -0
- data/lib/kisko-suits/application.rb +14 -7
- data/lib/kisko-suits/compiler.rb +31 -19
- data/lib/kisko-suits/version.rb +1 -1
- data/lib/kisko-suits.rb +1 -1
- metadata +40 -11
- /data/{bin → exe}/kisko-suits +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 64311c554df4ff27cf625648dd7584ef813edac27927a18974da796e9adc66b7
|
4
|
+
data.tar.gz: e506f0a895b3a862ec043221357d981ec4bb0aaaa12c71d59b7135aaf960611e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13be24948a51f1c543a8dc61d35a68937df17d4a47a306470c6d24c21ee791fc7a689b69505c83210eb70a03fb8c717c15ef5cb699f940129a6697bc7652be10
|
7
|
+
data.tar.gz: d4a7c0fa3d6a2d7dbf85128db80ec7111bfad2ccc9b798dd1d56f8aad140eedb2c947ab37e704e4bce31ee3b48e2b2433b9291f6935f45faecb33564956a4f62
|
@@ -5,21 +5,17 @@ module KiskoSuits
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def run
|
8
|
-
if
|
8
|
+
if !suits_file_passed?
|
9
9
|
abort "Usage: 'kisko-suits my-presentation.md.suits'\n\nOr start watching file with: 'kisko-suits -w my-presentation.md.suits'"
|
10
10
|
else
|
11
11
|
if @params[:watch]
|
12
12
|
on_update = ->(filename) {
|
13
|
-
compiler =
|
14
|
-
compiler.render
|
15
|
-
puts "Processed files and compiled '#{compiler.output_filename}'"
|
13
|
+
compiler = compile_and_render
|
16
14
|
compiler.included_filenames
|
17
15
|
}
|
18
16
|
KiskoSuits::Watcher.new(@files.first, on_update).start
|
19
17
|
else
|
20
|
-
|
21
|
-
compiler.render
|
22
|
-
puts "Processed files and compiled '#{compiler.output_filename}'"
|
18
|
+
compile_and_render
|
23
19
|
end
|
24
20
|
end
|
25
21
|
end
|
@@ -33,5 +29,16 @@ module KiskoSuits
|
|
33
29
|
|
34
30
|
[params, files]
|
35
31
|
end
|
32
|
+
|
33
|
+
def suits_file_passed?
|
34
|
+
@files.size == 1 && @files.first.include?(".suits")
|
35
|
+
end
|
36
|
+
|
37
|
+
def compile_and_render
|
38
|
+
compiler = KiskoSuits::Compiler.new(@files.first)
|
39
|
+
compiler.render
|
40
|
+
puts "Processed files and compiled '#{compiler.output_filename}'"
|
41
|
+
compiler
|
42
|
+
end
|
36
43
|
end
|
37
44
|
end
|
data/lib/kisko-suits/compiler.rb
CHANGED
@@ -16,7 +16,7 @@ module KiskoSuits
|
|
16
16
|
@included_filenames.clear
|
17
17
|
@variables.clear
|
18
18
|
|
19
|
-
abort "Suits file '#{path}' not found" unless File.
|
19
|
+
abort "Suits file '#{path}' not found" unless File.exist?(path)
|
20
20
|
|
21
21
|
open_output_file do |output|
|
22
22
|
File.foreach(path).each do |line|
|
@@ -32,27 +32,12 @@ module KiskoSuits
|
|
32
32
|
# It's a comment
|
33
33
|
""
|
34
34
|
elsif line.match(/\s*\$\$\w+\s?=/)
|
35
|
-
|
36
|
-
@variables[variable_name] = variable_value
|
37
|
-
""
|
35
|
+
set_variable(line)
|
38
36
|
elsif match = line.match(/\s*include:\s*([\w\.\/]+)/)
|
39
37
|
included_path = "#{root_dir}/#{match[1]}"
|
40
|
-
|
41
|
-
@included_filenames << included_path
|
42
|
-
|
43
|
-
File.foreach(included_path).map { |included_line|
|
44
|
-
process_line(File.dirname(included_path), included_line)
|
45
|
-
}.join
|
46
|
-
else
|
47
|
-
puts "Include #{included_path} can't be found"
|
48
|
-
""
|
49
|
-
end
|
38
|
+
include_file(included_path)
|
50
39
|
else
|
51
|
-
|
52
|
-
line.gsub!(Regexp.new(Regexp.escape(variable_name)), variable_value)
|
53
|
-
end
|
54
|
-
|
55
|
-
line
|
40
|
+
substitute_variables(line)
|
56
41
|
end
|
57
42
|
end
|
58
43
|
|
@@ -63,5 +48,32 @@ module KiskoSuits
|
|
63
48
|
|
64
49
|
File.open(@output_filename, 'w', &block)
|
65
50
|
end
|
51
|
+
|
52
|
+
def set_variable(line)
|
53
|
+
variable_name, variable_value = line.split("=").map(&:strip)
|
54
|
+
@variables[variable_name] = variable_value
|
55
|
+
""
|
56
|
+
end
|
57
|
+
|
58
|
+
def include_file(included_path)
|
59
|
+
if File.exist?(included_path)
|
60
|
+
@included_filenames << included_path
|
61
|
+
|
62
|
+
File.foreach(included_path).map { |included_line|
|
63
|
+
process_line(File.dirname(included_path), included_line)
|
64
|
+
}.join
|
65
|
+
else
|
66
|
+
puts "Include #{included_path} can't be found"
|
67
|
+
""
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def substitute_variables(line)
|
72
|
+
@variables.each do |variable_name, variable_value|
|
73
|
+
line = line.gsub(Regexp.new(Regexp.escape(variable_name)), variable_value)
|
74
|
+
end
|
75
|
+
|
76
|
+
line
|
77
|
+
end
|
66
78
|
end
|
67
79
|
end
|
data/lib/kisko-suits/version.rb
CHANGED
data/lib/kisko-suits.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kisko-suits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Antti Akonniemi
|
8
|
-
autorequire:
|
9
|
-
bindir:
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: filewatcher
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.0.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.0.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,34 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 3.2.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: 13.2.1
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 13.2.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: gem-release
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.2.2
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.2.2
|
41
69
|
description: This app was meant to compile markdown partials as one document for our
|
42
70
|
sales team using Deckset for Mac
|
43
71
|
email:
|
@@ -48,7 +76,6 @@ extensions: []
|
|
48
76
|
extra_rdoc_files: []
|
49
77
|
files:
|
50
78
|
- README.md
|
51
|
-
- bin/kisko-suits
|
52
79
|
- data/fail.md.suits
|
53
80
|
- data/folder/proot.md
|
54
81
|
- data/folder/what.md
|
@@ -56,8 +83,11 @@ files:
|
|
56
83
|
- data/preso.md_proper
|
57
84
|
- data/preso_with_variables.md.suits
|
58
85
|
- data/preso_with_variables.md_proper
|
86
|
+
- data/preso_with_variables_within_variables.md.suits
|
87
|
+
- data/preso_with_variables_within_variables.md_proper
|
59
88
|
- data/short_test.md
|
60
89
|
- data/test.md
|
90
|
+
- exe/kisko-suits
|
61
91
|
- lib/kisko-suits.rb
|
62
92
|
- lib/kisko-suits/application.rb
|
63
93
|
- lib/kisko-suits/compiler.rb
|
@@ -67,7 +97,7 @@ homepage: http://github.com/kiskolabs/kisko-suits
|
|
67
97
|
licenses:
|
68
98
|
- MIT
|
69
99
|
metadata: {}
|
70
|
-
post_install_message:
|
100
|
+
post_install_message:
|
71
101
|
rdoc_options: []
|
72
102
|
require_paths:
|
73
103
|
- lib
|
@@ -82,9 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
112
|
- !ruby/object:Gem::Version
|
83
113
|
version: 1.3.6
|
84
114
|
requirements: []
|
85
|
-
|
86
|
-
|
87
|
-
signing_key:
|
115
|
+
rubygems_version: 3.5.16
|
116
|
+
signing_key:
|
88
117
|
specification_version: 4
|
89
118
|
summary: Application to compile files as one
|
90
119
|
test_files: []
|
/data/{bin → exe}/kisko-suits
RENAMED
File without changes
|