textools 0.0.1 → 0.0.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.
data/Rakefile CHANGED
@@ -4,4 +4,6 @@ require "rake/testtask"
4
4
  Rake::TestTask.new do |t|
5
5
  t.test_files = FileList['test/**/test*.rb']
6
6
  t.verbose = true
7
- end
7
+ end
8
+
9
+ task :default => [:test]
@@ -7,18 +7,21 @@ module Textools
7
7
  include Thor::Actions
8
8
 
9
9
  desc 'create PROJECT_NAME', 'create a new LaTeX project'
10
- method_options :working_directory => '.'
10
+ method_options %w{working_directory -wd} => :string, %w{texlipse -t} => :boolean, %w{texniccenter -tc} => :boolean
11
11
  def create(name)
12
12
  # workaround as default options does not work
13
- parent_directory = options[:working_directory] || '.'
14
-
15
- directory = File.join(parent_directory,name)
13
+ parent_directory = options[:working_directory]
14
+ if parent_directory
15
+ directory = File.join(parent_directory,name)
16
+ else
17
+ directory = name
18
+ end
16
19
 
17
20
  # create project directory
18
21
  empty_directory(directory)
19
22
 
20
23
  # copy required files
21
- ['.gitignore', 'clean.bat', 'clean.sh'].each do |file|
24
+ ['.gitignore', 'clean.bat', 'clean.sh', "README"].each do |file|
22
25
  copy_file file,File.join(directory,file)
23
26
  end
24
27
 
@@ -26,8 +29,21 @@ module Textools
26
29
  empty_directory(File.join(directory, "images"))
27
30
  empty_directory(File.join(directory, "includes"))
28
31
 
32
+ template("main.tex.erb",File.join(directory,"#{name}.tex"))
33
+ template("header.tex.erb",File.join(directory,"header.tex"))
34
+ template("content.tex.erb",File.join(directory,"content.tex"))
35
+
36
+ if options.texlipse?
37
+ @name = name
38
+ template(".project.erb",File.join(directory,".project"))
39
+ template(".texlipse.erb",File.join(directory,".texlipse"))
40
+ elsif options.texniccenter?
41
+ @name = name
42
+ template("name.tcp.erb",File.join(directory,"#{name}.tcp"))
43
+ end
44
+
29
45
  # create containing directory
30
- inside(File.join(parent_directory,name), :verbose => true) do |folder|
46
+ inside(directory, :verbose => true) do |folder|
31
47
 
32
48
  # initialize git repository
33
49
  run("git init")
@@ -6,4 +6,5 @@
6
6
  *.dvi
7
7
  *.synctex*
8
8
  *.toc
9
- *.blg
9
+ *.blg
10
+ tmp
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projectDescription>
3
+ <name><%= @name %></name>
4
+ <comment></comment>
5
+ <projects>
6
+ </projects>
7
+ <buildSpec>
8
+ <buildCommand>
9
+ <name>net.sourceforge.texlipse.builder.TexlipseBuilder</name>
10
+ <arguments>
11
+ </arguments>
12
+ </buildCommand>
13
+ </buildSpec>
14
+ <natures>
15
+ <nature>net.sourceforge.texlipse.builder.TexlipseNature</nature>
16
+ </natures>
17
+ </projectDescription>
@@ -0,0 +1,13 @@
1
+ #TeXlipse project settings
2
+ #Tue Mar 06 16:09:35 CET 2012
3
+ builderNum=2
4
+ outputDir=
5
+ makeIndSty=
6
+ bibrefDir=
7
+ outputFormat=pdf
8
+ tempDir=tmp
9
+ mainTexFile=<%= @name %>.tex
10
+ outputFile=<%= @name %>.pdf
11
+ langSpell=en
12
+ markDer=true
13
+ srcDir=
@@ -0,0 +1 @@
1
+ This LaTeX project has been automatically generated using textools.
File without changes
File without changes
@@ -0,0 +1,11 @@
1
+ [FormatInfo]
2
+ Type=TeXnicCenterProjectInformation
3
+ Version=4
4
+
5
+ [ProjectInfo]
6
+ MainFile=<%= @name %>.tex
7
+ UseBibTeX=1
8
+ UseMakeIndex=0
9
+ ActiveProfile=LaTeX => PDF
10
+ ProjectLanguage=en
11
+ ProjectDialect=US
File without changes
@@ -1,3 +1,3 @@
1
1
  module Textools
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -14,26 +14,64 @@ module Textools
14
14
  App.new([],{'working_directory' => dir}).create(project)
15
15
 
16
16
  assert Dir.exists?(File.join(dir,project))
17
- assert File.exists?(File.join(dir,project,'.gitignore')), "no .gitignore"
18
- assert File.exists?(File.join(dir,project,'clean.bat')), "no clean.bat file"
19
- assert !File.exists?(File.join(dir,project,'clean.rb')), "no clean.rb file"
20
- assert File.exists?(File.join(dir,project,'clean.sh')), "no clean.sh file"
21
- assert Dir.exists?(File.join(dir,project,'images')), "no images folder"
22
- assert Dir.exists?(File.join(dir,project,'includes')), "no includes folder"
23
- assert Dir.exists?(File.join(dir,project,'.git')), "no git folder"
17
+ %W{.gitignore README header.tex content.tex clean.bat clean.sh #{project}.tex}.each do |file|
18
+ assert File.exists?(File.join(dir,project,file)), "no #{file} file"
19
+ end
20
+
21
+ %w{images includes .git}.each do|folder|
22
+ assert Dir.exists?(File.join(dir,project,folder)), "no #{folder} folder"
23
+ end
24
+
24
25
  end
25
26
  end
26
27
 
27
- def test_clean
28
+ def test_create_texclipse
29
+ Dir.mktmpdir do |dir|
30
+
31
+ project = 'test'
32
+
33
+ App.new([],{'working_directory' => dir, 'texlipse' => true}).create(project)
34
+
35
+ assert Dir.exists?(File.join(dir,project))
36
+ %W{.gitignore README header.tex content.tex clean.bat clean.sh #{project}.tex .project .texlipse}.each do |file|
37
+ assert File.exists?(File.join(dir,project,file)), "no #{file} file"
38
+ end
39
+
40
+ %w{images includes .git}.each do|folder|
41
+ assert Dir.exists?(File.join(dir,project,folder)), "no #{folder} folder"
42
+ end
43
+
44
+ end
45
+ end
28
46
 
47
+ def test_create_texniccenter
29
48
  Dir.mktmpdir do |dir|
30
49
 
50
+ project = 'test'
51
+
52
+ App.new([],{'working_directory' => dir, 'texniccenter' => true}).create(project)
53
+
54
+ assert Dir.exists?(File.join(dir,project))
55
+ %W{.gitignore README header.tex content.tex clean.bat clean.sh #{project}.tex #{project}.tcp}.each do |file|
56
+ assert File.exists?(File.join(dir,project,file)), "no #{file} file"
57
+ end
58
+
59
+ %w{images includes .git}.each do|folder|
60
+ assert Dir.exists?(File.join(dir,project,folder)), "no #{folder} folder"
61
+ end
62
+
63
+ end
64
+ end
65
+
66
+
67
+ def test_clean
68
+
69
+ Dir.mktmpdir do |dir|
31
70
  File.open(File.join(dir,"test.pdf"), "w") do |f|
32
71
  f << "asdf"
33
72
  end
34
73
 
35
74
  App.new([],{'working_directory' => dir}).clean
36
-
37
75
  assert !File.exists?(File.join(dir,"test.pdf")),"test.pdf should be deleted"
38
76
  end
39
77
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &29282088 !ruby/object:Gem::Requirement
16
+ requirement: &28986264 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *29282088
24
+ version_requirements: *28986264
25
25
  description: Command Line Tools for Generating and Maintaining LaTeX Projects.
26
26
  email:
27
27
  - simon.harrer@gmail.com
@@ -38,8 +38,15 @@ files:
38
38
  - lib/textools.rb
39
39
  - lib/textools/commands.rb
40
40
  - lib/textools/templates/.gitignore
41
+ - lib/textools/templates/.project.erb
42
+ - lib/textools/templates/.texlipse.erb
43
+ - lib/textools/templates/README
41
44
  - lib/textools/templates/clean.bat
42
45
  - lib/textools/templates/clean.sh
46
+ - lib/textools/templates/content.tex.erb
47
+ - lib/textools/templates/header.tex.erb
48
+ - lib/textools/templates/main.tcp.erb
49
+ - lib/textools/templates/main.tex.erb
43
50
  - lib/textools/version.rb
44
51
  - test/textools/test_commands.rb
45
52
  - textools.gemspec