stastic 0.2.0 → 0.2.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.
@@ -91,6 +91,31 @@ module Stastic::Command
91
91
  puts
92
92
  exit
93
93
  end
94
+
95
+ def print_site_info(site, marker = " ")
96
+ printf("%-2s%-30s http://%s\n", marker, site['name'], default_domain(site))
97
+ print_custom_domains(site)
98
+ end
99
+
100
+ def default_domain(site)
101
+ if site['domains']
102
+ domain = site['domains'].detect { |domain| domain['default'] }
103
+ return domain['host'] if domain
104
+ end
105
+ end
106
+
107
+ def print_custom_domains(site)
108
+ if site['domains']
109
+ domains = site['domains'].select{|domain| !domain['default']}
110
+ if !domains.empty?
111
+ domains.each do |domain|
112
+ printf("%-2s%30s http://%s\n", "", "--custom domain--", domain['host'])
113
+ end
114
+ puts
115
+ end
116
+ end
117
+ end
118
+
94
119
  end
95
120
  end
96
121
 
@@ -17,7 +17,6 @@ module Stastic::Command
17
17
  raise(Stastic::InvalidOptions) unless args.first == "--template"
18
18
  self.template = "default"
19
19
  self.name = args.last
20
- puts self.template
21
20
  else
22
21
  raise(Stastic::InvalidOptions)
23
22
  end
@@ -23,7 +23,7 @@ Available Commands
23
23
  stastic domains:add <domain> # Add a domain to the site (example.com)
24
24
  stastic domains:remove <domain> # Remove a domain from the site
25
25
  stastic preview # Start local HTTP server
26
- stastic set site_root <path> # Set the local path to the static files
26
+ stastic set site_root=<path> # Set the path for your document root folder (defaults to ./)
27
27
 
28
28
  EOF
29
29
  end
@@ -12,7 +12,7 @@ module Stastic::Command
12
12
 
13
13
  puts header
14
14
  response['sites'].each do |site|
15
- site_info(site, site['id'] == Stastic::Config.site_id ? "*" : " ")
15
+ print_site_info(site, site['id'] == Stastic::Config.site_id ? "*" : " ")
16
16
  end
17
17
  puts
18
18
  end
@@ -28,10 +28,6 @@ Your Stastic Sites
28
28
  EOF
29
29
  end
30
30
 
31
- def site_info(site, marker = " ")
32
- printf("%-2s%-30s http://%s.stastic.com\n", marker, site['name'], site['name'])
33
- end
34
-
35
31
  end
36
32
  end
37
33
 
@@ -7,28 +7,40 @@ module Stastic::Command
7
7
 
8
8
  private
9
9
  def publish
10
- puts "Detecting..."
10
+ print_pre_message("Detecting...")
11
11
  generator = Stastic::Generator.detect
12
- puts "Found: #{generator.desc}"
12
+ printf("%s %s\n", "[OK]", generator.desc)
13
13
 
14
- puts "Building..."
14
+ print_pre_message("Building...")
15
15
  generator.build
16
+ printf("[OK]\n")
16
17
 
17
- puts "Packaging..."
18
+ print_pre_message("Packaging...")
18
19
  archive_path = generator.package
20
+ bytes = File.new(archive_path).stat.size
21
+ printf("[OK] %.1f KB\n", bytes/1024.0)
19
22
 
20
- print "Uploading..."
21
- upload(archive_path)
23
+ print_pre_message("Uploading...")
24
+ s = Time.now
25
+ response = upload(archive_path)
26
+ printf("[OK] %.1f seconds\n", Time.now - s)
27
+ puts
28
+ puts "Your site is published:"
29
+ print_site_info(response)
30
+ puts
22
31
 
23
32
  end
24
33
 
25
34
  def upload(archive_path)
26
- print "Uploading your archive...\n"
27
35
  reponse = with_valid_site do
28
36
  Stastic::Client.publish(Stastic::Config.site_id, archive_path)
29
37
  end
30
- puts "Complete\n"
31
38
  end
32
39
 
40
+ def print_pre_message(msg)
41
+ printf("%-33s", msg)
42
+ STDOUT.flush
43
+ end
44
+
33
45
  end
34
46
  end
@@ -6,7 +6,7 @@ module Stastic
6
6
  module Generator
7
7
  extend self
8
8
 
9
- GENERATOR_TYPES = %w(jekyll default)
9
+ GENERATOR_TYPES = %w(jekyll staticmatic default)
10
10
  EXCLUDE_LIST = [
11
11
  ".stastic",
12
12
  ".git",
@@ -0,0 +1,65 @@
1
+ module Stastic::Generator
2
+ module Staticmatic
3
+ extend self
4
+
5
+ def desc
6
+ "Staticmatic Generator"
7
+ end
8
+
9
+ def detect
10
+ FileTest.exists?('config/site.rb') &&
11
+ FileTest.exists?("src/pages") && File.directory?("src/pages")
12
+ end
13
+
14
+ def site_root
15
+ Stastic::Config.site_root || "site"
16
+ end
17
+
18
+ def build
19
+ verify_gem
20
+ system("staticmatic build .")
21
+ end
22
+
23
+ def package
24
+ Stastic::Generator.package(site_root)
25
+ end
26
+
27
+ def preview
28
+ verify_gem
29
+ system("staticmatic preview .")
30
+ end
31
+
32
+ private
33
+
34
+ def gem_installed?
35
+ begin
36
+ gem "staticmatic"
37
+ true
38
+ rescue LoadError
39
+ false
40
+ end
41
+ end
42
+
43
+ def verify_gem
44
+ if !gem_installed?
45
+ puts install_instructions
46
+ exit
47
+ end
48
+ end
49
+
50
+ def install_instructions
51
+ <<-EOF
52
+ The Staticmatic Gem can not be found on your GEM_PATH.
53
+ GEM_PATH=#{ENV['GEM_PATH']}
54
+
55
+ To Install Staticmatic:
56
+ ------------------
57
+
58
+ sudo gem install staticmatic
59
+
60
+ EOF
61
+ end
62
+
63
+ end
64
+ end
65
+
data/lib/stastic.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Stastic
2
2
 
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
 
5
5
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stastic
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 2
9
- - 0
10
- version: 0.2.0
8
+ - 1
9
+ version: 0.2.1
11
10
  platform: ruby
12
11
  authors:
13
12
  - Brian Smith
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-03-01 00:00:00 -08:00
17
+ date: 2011-03-06 00:00:00 -08:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
@@ -26,7 +25,6 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- hash: 13
30
28
  segments:
31
29
  - 1
32
30
  - 6
@@ -42,7 +40,6 @@ dependencies:
42
40
  requirements:
43
41
  - - ">="
44
42
  - !ruby/object:Gem::Version
45
- hash: 1
46
43
  segments:
47
44
  - 1
48
45
  - 5
@@ -58,7 +55,6 @@ dependencies:
58
55
  requirements:
59
56
  - - ">="
60
57
  - !ruby/object:Gem::Version
61
- hash: 3
62
58
  segments:
63
59
  - 0
64
60
  version: "0"
@@ -72,7 +68,6 @@ dependencies:
72
68
  requirements:
73
69
  - - ">="
74
70
  - !ruby/object:Gem::Version
75
- hash: 3
76
71
  segments:
77
72
  - 0
78
73
  version: "0"
@@ -106,6 +101,7 @@ files:
106
101
  - lib/stastic/generator.rb
107
102
  - lib/stastic/generators/default.rb
108
103
  - lib/stastic/generators/jekyll.rb
104
+ - lib/stastic/generators/staticmatic.rb
109
105
  - lib/stastic.rb
110
106
  - lib/trollop.rb
111
107
  - bin/stastic
@@ -126,7 +122,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
126
122
  requirements:
127
123
  - - ">="
128
124
  - !ruby/object:Gem::Version
129
- hash: 3
130
125
  segments:
131
126
  - 0
132
127
  version: "0"
@@ -135,7 +130,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
130
  requirements:
136
131
  - - ">="
137
132
  - !ruby/object:Gem::Version
138
- hash: 21
139
133
  segments:
140
134
  - 1
141
135
  - 0