latex-project-template 0.0.2 → 0.0.3
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.
- data/Gemfile +4 -4
- data/Rakefile +1 -2
- data/VERSION +1 -1
- data/bin/latex-project-template +1 -1
- data/initial_files/component/math_preamble.tex +3 -0
- data/initial_files/component/rakefile_common.erb +6 -0
- data/{template → initial_files/template}/default/Rakefile.erb +1 -6
- data/{template → initial_files/template}/default/__DOT__gitignore +0 -0
- data/{template → initial_files/template}/default/__PROJECT__.tex.erb +3 -2
- data/initial_files/template/japanese/Rakefile.erb +13 -0
- data/initial_files/template/japanese/__IMPORT__ +1 -0
- data/initial_files/template/japanese/__PROJECT__.tex.erb +12 -0
- data/{template → initial_files/template}/japanese/latexmkrc +0 -0
- data/initial_files/variable/profile.yaml +2 -0
- data/latex-project-template.gemspec +28 -26
- data/lib/latex_project_template.rb +52 -9
- data/spec/latex_project_template_spec.rb +4 -0
- metadata +18 -24
- data/template/japanese/__IMPORT__ +0 -3
data/Gemfile
CHANGED
@@ -6,11 +6,11 @@ source "http://rubygems.org"
|
|
6
6
|
# Add dependencies to develop your gem here.
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
8
8
|
group :development do
|
9
|
-
gem "rspec", ">= 2.
|
10
|
-
gem "yard", ">= 0.
|
9
|
+
gem "rspec", ">= 2.6.0"
|
10
|
+
gem "yard", ">= 0.7.2"
|
11
11
|
gem "bundler", ">= 1.0.0"
|
12
|
-
gem "jeweler", ">= 1.
|
12
|
+
gem "jeweler", ">= 1.6.4"
|
13
13
|
gem "rcov", ">= 0"
|
14
14
|
gem "filename", ">= 0.1.0"
|
15
|
-
gem "user_config", ">= 0.0.
|
15
|
+
gem "user_config", ">= 0.0.2"
|
16
16
|
end
|
data/Rakefile
CHANGED
@@ -23,8 +23,7 @@ Jeweler::Tasks.new do |gem|
|
|
23
23
|
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
24
|
gem.add_runtime_dependency 'git', '>= 1.2.5'
|
25
25
|
gem.add_runtime_dependency 'filename', '>= 0.1.0'
|
26
|
-
gem.add_runtime_dependency 'user_config', '>= 0.0.
|
27
|
-
gem.add_development_dependency 'rspec', '>= 2.5.0'
|
26
|
+
gem.add_runtime_dependency 'user_config', '>= 0.0.2'
|
28
27
|
end
|
29
28
|
Jeweler::RubygemsDotOrgTasks.new
|
30
29
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/bin/latex-project-template
CHANGED
@@ -1,9 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# * Set environmental variables
|
4
|
-
# ENV['BIBINPUTS'] = ".:#{File.join(ENV["HOME"], "bibtex")}"
|
5
|
-
|
6
|
-
require 'latex_project_template/task'
|
1
|
+
<%= component('rakefile_common.erb') %>
|
7
2
|
|
8
3
|
LaTeXProjectTemplate::Task.new(MAIN_TEX_FILE) do |task|
|
9
4
|
# * Set the path of latexmk
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<%= component('rakefile_common.erb') %>
|
2
|
+
|
3
|
+
LaTeXProjectTemplate::Task.new(MAIN_TEX_FILE) do |task|
|
4
|
+
# * Set the path of latexmk
|
5
|
+
# task.latexmk.path = '/usr/bin/latexmk'
|
6
|
+
#
|
7
|
+
# * Add patterns to clean temporary files
|
8
|
+
# task.clean.include("#*#")
|
9
|
+
#
|
10
|
+
# * Default task to compile tex file. You can set :dvi, :ps, :pdf, :pdfdvi, or :pdfps.
|
11
|
+
# The default is :pdf.
|
12
|
+
task.default = :pdfdvi
|
13
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
default/__DOT__gitignore
|
File without changes
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{latex-project-template}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Takayuki YAMAGUCHI"]
|
12
|
-
s.date = %q{2011-07-
|
12
|
+
s.date = %q{2011-07-08}
|
13
13
|
s.default_executable = %q{latex-project-template}
|
14
14
|
s.description = %q{Create LaTeX project with git from template, which uses latexmk.}
|
15
15
|
s.email = %q{d@ytak.info}
|
@@ -27,17 +27,22 @@ Gem::Specification.new do |s|
|
|
27
27
|
"Rakefile",
|
28
28
|
"VERSION",
|
29
29
|
"bin/latex-project-template",
|
30
|
+
"initial_files/component/math_preamble.tex",
|
31
|
+
"initial_files/component/rakefile_common.erb",
|
32
|
+
"initial_files/template/default/Rakefile.erb",
|
33
|
+
"initial_files/template/default/__DOT__gitignore",
|
34
|
+
"initial_files/template/default/__PROJECT__.tex.erb",
|
35
|
+
"initial_files/template/japanese/Rakefile.erb",
|
36
|
+
"initial_files/template/japanese/__IMPORT__",
|
37
|
+
"initial_files/template/japanese/__PROJECT__.tex.erb",
|
38
|
+
"initial_files/template/japanese/latexmkrc",
|
39
|
+
"initial_files/variable/profile.yaml",
|
30
40
|
"latex-project-template.gemspec",
|
31
41
|
"lib/latex_project_template.rb",
|
32
42
|
"lib/latex_project_template/task.rb",
|
33
43
|
"spec/latex_project_template_spec.rb",
|
34
44
|
"spec/spec_helper.rb",
|
35
|
-
"spec/task_spec.rb"
|
36
|
-
"template/default/Rakefile.erb",
|
37
|
-
"template/default/__DOT__gitignore",
|
38
|
-
"template/default/__PROJECT__.tex.erb",
|
39
|
-
"template/japanese/__IMPORT__",
|
40
|
-
"template/japanese/latexmkrc"
|
45
|
+
"spec/task_spec.rb"
|
41
46
|
]
|
42
47
|
s.homepage = %q{http://github.com/ytaka/latex-project-template}
|
43
48
|
s.licenses = ["GPLv3"]
|
@@ -49,42 +54,39 @@ Gem::Specification.new do |s|
|
|
49
54
|
s.specification_version = 3
|
50
55
|
|
51
56
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
52
|
-
s.add_development_dependency(%q<rspec>, [">= 2.
|
53
|
-
s.add_development_dependency(%q<yard>, [">= 0.
|
57
|
+
s.add_development_dependency(%q<rspec>, [">= 2.6.0"])
|
58
|
+
s.add_development_dependency(%q<yard>, [">= 0.7.2"])
|
54
59
|
s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
|
55
|
-
s.add_development_dependency(%q<jeweler>, [">= 1.
|
60
|
+
s.add_development_dependency(%q<jeweler>, [">= 1.6.4"])
|
56
61
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
57
62
|
s.add_development_dependency(%q<filename>, [">= 0.1.0"])
|
58
|
-
s.add_development_dependency(%q<user_config>, [">= 0.0.
|
63
|
+
s.add_development_dependency(%q<user_config>, [">= 0.0.2"])
|
59
64
|
s.add_runtime_dependency(%q<git>, [">= 1.2.5"])
|
60
65
|
s.add_runtime_dependency(%q<filename>, [">= 0.1.0"])
|
61
|
-
s.add_runtime_dependency(%q<user_config>, [">= 0.0.
|
62
|
-
s.add_development_dependency(%q<rspec>, [">= 2.5.0"])
|
66
|
+
s.add_runtime_dependency(%q<user_config>, [">= 0.0.2"])
|
63
67
|
else
|
64
|
-
s.add_dependency(%q<rspec>, [">= 2.
|
65
|
-
s.add_dependency(%q<yard>, [">= 0.
|
68
|
+
s.add_dependency(%q<rspec>, [">= 2.6.0"])
|
69
|
+
s.add_dependency(%q<yard>, [">= 0.7.2"])
|
66
70
|
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
67
|
-
s.add_dependency(%q<jeweler>, [">= 1.
|
71
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
68
72
|
s.add_dependency(%q<rcov>, [">= 0"])
|
69
73
|
s.add_dependency(%q<filename>, [">= 0.1.0"])
|
70
|
-
s.add_dependency(%q<user_config>, [">= 0.0.
|
74
|
+
s.add_dependency(%q<user_config>, [">= 0.0.2"])
|
71
75
|
s.add_dependency(%q<git>, [">= 1.2.5"])
|
72
76
|
s.add_dependency(%q<filename>, [">= 0.1.0"])
|
73
|
-
s.add_dependency(%q<user_config>, [">= 0.0.
|
74
|
-
s.add_dependency(%q<rspec>, [">= 2.5.0"])
|
77
|
+
s.add_dependency(%q<user_config>, [">= 0.0.2"])
|
75
78
|
end
|
76
79
|
else
|
77
|
-
s.add_dependency(%q<rspec>, [">= 2.
|
78
|
-
s.add_dependency(%q<yard>, [">= 0.
|
80
|
+
s.add_dependency(%q<rspec>, [">= 2.6.0"])
|
81
|
+
s.add_dependency(%q<yard>, [">= 0.7.2"])
|
79
82
|
s.add_dependency(%q<bundler>, [">= 1.0.0"])
|
80
|
-
s.add_dependency(%q<jeweler>, [">= 1.
|
83
|
+
s.add_dependency(%q<jeweler>, [">= 1.6.4"])
|
81
84
|
s.add_dependency(%q<rcov>, [">= 0"])
|
82
85
|
s.add_dependency(%q<filename>, [">= 0.1.0"])
|
83
|
-
s.add_dependency(%q<user_config>, [">= 0.0.
|
86
|
+
s.add_dependency(%q<user_config>, [">= 0.0.2"])
|
84
87
|
s.add_dependency(%q<git>, [">= 1.2.5"])
|
85
88
|
s.add_dependency(%q<filename>, [">= 0.1.0"])
|
86
|
-
s.add_dependency(%q<user_config>, [">= 0.0.
|
87
|
-
s.add_dependency(%q<rspec>, [">= 2.5.0"])
|
89
|
+
s.add_dependency(%q<user_config>, [">= 0.0.2"])
|
88
90
|
end
|
89
91
|
end
|
90
92
|
|
@@ -13,16 +13,21 @@ class LaTeXProjectTemplate
|
|
13
13
|
class Configuration
|
14
14
|
TEMPLATE_DIRECTORY = 'template'
|
15
15
|
VARIABLE_DIRECTORY = 'variable'
|
16
|
+
COMPONENT_DIRECTORY = 'component'
|
16
17
|
DEFAULT_PROFILE_YAML = { :name => "Your Name" }
|
17
18
|
|
18
19
|
def self.create_new_config(home_path = nil)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
20
|
+
begin
|
21
|
+
config = LPTConfig.new(DEFAULT_CONFIG, :home => home_path, :new_directory => true)
|
22
|
+
dir = config.directory
|
23
|
+
Dir.glob(File.expand_path(File.join(File.dirname(__FILE__), '../initial_files/*'))).each do |path|
|
24
|
+
FileUtils.cp_r(path, dir)
|
25
|
+
end
|
26
|
+
git = Git.init(dir)
|
27
|
+
git.add
|
28
|
+
git.commit("Create initial template.")
|
29
|
+
rescue UserConfig::DirectoryExistenceError
|
30
|
+
$stderr.puts "Can not new configuration directory."
|
26
31
|
end
|
27
32
|
end
|
28
33
|
|
@@ -68,6 +73,32 @@ class LaTeXProjectTemplate
|
|
68
73
|
end
|
69
74
|
vars
|
70
75
|
end
|
76
|
+
|
77
|
+
def component(name)
|
78
|
+
if path = @user_config.exist?(File.join(COMPONENT_DIRECTORY, name))
|
79
|
+
return LaTeXProjectTemplate::Component.new(path)
|
80
|
+
end
|
81
|
+
nil
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
class Component
|
86
|
+
attr_reader :path
|
87
|
+
|
88
|
+
def initialize(path)
|
89
|
+
@path = path
|
90
|
+
end
|
91
|
+
|
92
|
+
def evaluate(erb_obj)
|
93
|
+
if /\.erb$/ =~ @path
|
94
|
+
erb_obj.instance_exec(@path) do |path|
|
95
|
+
erb = ERB.new(File.read(path))
|
96
|
+
erb.result(binding)
|
97
|
+
end
|
98
|
+
else
|
99
|
+
File.read(@path)
|
100
|
+
end
|
101
|
+
end
|
71
102
|
end
|
72
103
|
|
73
104
|
class Directory
|
@@ -162,10 +193,22 @@ class LaTeXProjectTemplate
|
|
162
193
|
class ErbObject
|
163
194
|
attr_reader :project_name
|
164
195
|
|
165
|
-
def initialize(project_name, variables)
|
196
|
+
def initialize(project_name, variables, config)
|
166
197
|
@project_name = project_name
|
198
|
+
@__config = config
|
167
199
|
variables.each do |key, val|
|
168
200
|
instance_variable_set("@#{key}", val)
|
201
|
+
self.class.class_eval do
|
202
|
+
attr_reader key.intern
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
def component(name)
|
208
|
+
if c = @__config.component(name)
|
209
|
+
c.evaluate(self)
|
210
|
+
else
|
211
|
+
''
|
169
212
|
end
|
170
213
|
end
|
171
214
|
end
|
@@ -183,7 +226,7 @@ class LaTeXProjectTemplate
|
|
183
226
|
end
|
184
227
|
|
185
228
|
def create_files
|
186
|
-
erb_obj = LaTeXProjectTemplate::ErbObject.new(@project_name, @config.user_variables)
|
229
|
+
erb_obj = LaTeXProjectTemplate::ErbObject.new(@project_name, @config.user_variables, @config)
|
187
230
|
created_files = @template.copy_to_directory(@target_dir, erb_obj)
|
188
231
|
@template.files_to_import.each do |name, files|
|
189
232
|
if template_to_import = @config.template_exist?(name)
|
@@ -13,6 +13,10 @@ describe LaTeXProjectTemplate::Configuration do
|
|
13
13
|
it "should create directory." do
|
14
14
|
LaTeXProjectTemplate::Configuration.create_new_config(@home_directory)
|
15
15
|
File.directory?(@home_directory).should be_true
|
16
|
+
dir = File.join(@home_directory_absolute, '.latex_project_template')
|
17
|
+
File.exist?(File.join(dir, 'template')).should be_true
|
18
|
+
File.exist?(File.join(dir, 'variable')).should be_true
|
19
|
+
File.exist?(File.join(dir, 'component')).should be_true
|
16
20
|
end
|
17
21
|
|
18
22
|
it "should return config directory." do
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: latex-project-template
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Takayuki YAMAGUCHI
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-07-
|
13
|
+
date: 2011-07-08 00:00:00 +09:00
|
14
14
|
default_executable: latex-project-template
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 2.
|
23
|
+
version: 2.6.0
|
24
24
|
type: :development
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: *id001
|
@@ -31,7 +31,7 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
34
|
+
version: 0.7.2
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: *id002
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
requirements:
|
54
54
|
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 1.
|
56
|
+
version: 1.6.4
|
57
57
|
type: :development
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: *id004
|
@@ -86,7 +86,7 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.0.
|
89
|
+
version: 0.0.2
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: *id007
|
@@ -119,21 +119,10 @@ dependencies:
|
|
119
119
|
requirements:
|
120
120
|
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 0.0.
|
122
|
+
version: 0.0.2
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: *id010
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: rspec
|
128
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 2.5.0
|
134
|
-
type: :development
|
135
|
-
prerelease: false
|
136
|
-
version_requirements: *id011
|
137
126
|
description: Create LaTeX project with git from template, which uses latexmk.
|
138
127
|
email: d@ytak.info
|
139
128
|
executables:
|
@@ -152,17 +141,22 @@ files:
|
|
152
141
|
- Rakefile
|
153
142
|
- VERSION
|
154
143
|
- bin/latex-project-template
|
144
|
+
- initial_files/component/math_preamble.tex
|
145
|
+
- initial_files/component/rakefile_common.erb
|
146
|
+
- initial_files/template/default/Rakefile.erb
|
147
|
+
- initial_files/template/default/__DOT__gitignore
|
148
|
+
- initial_files/template/default/__PROJECT__.tex.erb
|
149
|
+
- initial_files/template/japanese/Rakefile.erb
|
150
|
+
- initial_files/template/japanese/__IMPORT__
|
151
|
+
- initial_files/template/japanese/__PROJECT__.tex.erb
|
152
|
+
- initial_files/template/japanese/latexmkrc
|
153
|
+
- initial_files/variable/profile.yaml
|
155
154
|
- latex-project-template.gemspec
|
156
155
|
- lib/latex_project_template.rb
|
157
156
|
- lib/latex_project_template/task.rb
|
158
157
|
- spec/latex_project_template_spec.rb
|
159
158
|
- spec/spec_helper.rb
|
160
159
|
- spec/task_spec.rb
|
161
|
-
- template/default/Rakefile.erb
|
162
|
-
- template/default/__DOT__gitignore
|
163
|
-
- template/default/__PROJECT__.tex.erb
|
164
|
-
- template/japanese/__IMPORT__
|
165
|
-
- template/japanese/latexmkrc
|
166
160
|
has_rdoc: true
|
167
161
|
homepage: http://github.com/ytaka/latex-project-template
|
168
162
|
licenses:
|
@@ -177,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
177
171
|
requirements:
|
178
172
|
- - ">="
|
179
173
|
- !ruby/object:Gem::Version
|
180
|
-
hash: -
|
174
|
+
hash: -691823316385091189
|
181
175
|
segments:
|
182
176
|
- 0
|
183
177
|
version: "0"
|