12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/hackademic/new.rb', line 12
def project(project_name)
say "--------------------------------------------------------------", :cyan
say "⫸⫸⫸⫸ Setting up project #{project_name}!", :cyan
project = "#{hackademic_directory}/Projects/#{project_name}"
empty_directory(project)
templates = "#{Pathname.new(__FILE__).dirname}/templates"
say "»»»»» Creating *_WORKING_* directory:", :green
empty_directory("#{project}/_WORKING_")
template "../../templates/DRAFT.md.tt", "#{project}/_WORKING_/DRAFT.md"
say "»»»»» Creating *Archive* directory:", :green
empty_directory("#{project}/Archive")
create_file "#{project}/Archive/.gitkeep"
say "»»»»» Creating *To-Process* directory:", :green
empty_directory("#{project}/To-Process")
create_file "#{project}/To-Process/.gitkeep"
say "»»»»» Creating *Project Notes* directory:", :green
empty_directory("#{project}/Resources/Notes")
create_file "#{project}/Resources/Notes/.gitkeep"
say "»»»»» Creating *Resources* directory:", :green
empty_directory("#{project}/Resources")
template '../../templates/Config.yml.tt', "#{project}/Resources/Config.yml"
empty_directory("#{project}/Resources/Figures")
create_file "#{project}/Resources/Figures/.gitkeep"
empty_directory("#{project}/Resources/Data")
create_file "#{project}/Resources/Data/.gitkeep"
empty_directory("#{project}/Resources/templates")
template '../../templates/pandoc-word-template.docx', "#{project}/Resources/templates/pandoc-word-template.docx"
template '../../templates/xelatex.template', "#{project}/Resources/xelatex.template"
empty_directory("#{project}/Resources/csl")
template '../../templates/apa.csl', "#{project}/Resources/csl/apa.csl"
say "»»»»» Creating *Versions* directory:", :green
empty_directory("#{project}/Versions")
create_file "#{project}/Versions/.gitkeep"
say "»»»»» Creating final files:", :green
@project_name = project_name
template "../../templates/README.md.tt", "#{project}/README.md"
template '../../templates/CHANGELOG.md.tt', "#{project}/CHANGELOG.md"
template '../../templates/TODO.txt.tt', "#{project}/TODO.txt"
say "»»»»» Initializing version control (git) for project...", :green
inside "#{project}" do
run "git init .", {:capture => true}
run "git add .", {:capture => true}
run "git commit -m 'Initial commit of #{project_name}'", {:capture => true}
end
say "⫸⫸⫸⫸ DONE!", :cyan
say "⫸⫸⫸⫸ Project created at #{project}", :cyan
say "--------------------------------------------------------------", :cyan
end
|