static 0.1.3 → 1.0.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.
@@ -0,0 +1,32 @@
1
+ require "vmc"
2
+ require "vmc/cli"
3
+
4
+ module Static
5
+ class CLI < VMC::CLI
6
+
7
+ def initialize(command = nil, input = nil)
8
+ config = File.expand_path(VMC::CONFIG_DIR)
9
+ if not File.exist? config
10
+ target = sane_target_url("http://api.static.me")
11
+ ensure_config_dir
12
+ File.open(File.expand_path(VMC::TARGET_FILE), "w") do |f|
13
+ f.write(sane_target_url(target))
14
+ end
15
+ info = target_info(client_target)
16
+ save_target_info(info)
17
+ end
18
+
19
+ super
20
+
21
+ @@commands.delete(:register)
22
+ end
23
+
24
+ def default_action
25
+ if input[:version]
26
+ line "static #{Static::Cmd::VERSION}"
27
+ end
28
+
29
+ super
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,40 @@
1
+ require "vmc/cli/app/base"
2
+ require "pp"
3
+
4
+ module VMC::App
5
+ class Download < Base
6
+ desc "Download Application"
7
+ group :apps, :manage
8
+ input :app, :desc => "Application name",
9
+ :argument => true, :from_given => by_name(:app)
10
+
11
+ def download
12
+ app = input[:app]
13
+
14
+ download_app(app)
15
+
16
+ rescue CFoundry::NotFound
17
+ fail "Invalid #{b(app.name)}"
18
+ rescue CFoundry::FileError => e
19
+ fail e.description
20
+ end
21
+
22
+ private
23
+
24
+ def download_app(app)
25
+ with_progress("Downloading #{c(app.name, :name)}") do
26
+ resp = client.base.get("apps", app.name, "application", :content => "application/octet-stream")
27
+
28
+ if not resp.nil?
29
+ File.open("#{app.name}.zip","w") { |f| f.puts resp }
30
+ else
31
+ raise
32
+ end
33
+ end
34
+ rescue
35
+ err "Download failed."
36
+ raise
37
+ end
38
+
39
+ end
40
+ end
@@ -0,0 +1,5 @@
1
+ module Static
2
+ module Cmd
3
+ VERSION = "1.0.0".freeze
4
+ end
5
+ end
metadata CHANGED
@@ -1,91 +1,123 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
4
2
  name: static
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.1.3
7
- date: 2007-08-04 00:00:00 -04:00
8
- summary: The author was too lazy to write a summary
9
- require_paths:
10
- - lib
11
- email: ryand-ruby@zenspider.com
12
- homepage: http://www.zenspider.com/ZSS/Products/static/
13
- rubyforge_project: static
14
- description: The author was too lazy to write a description
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 0
8
+ - 0
9
+ version: 1.0.0
25
10
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
11
  authors:
30
- - Ryan Davis
31
- files:
32
- - History.txt
33
- - Manifest.txt
34
- - README.txt
35
- - Rakefile
36
- - bin/static
37
- - bin/cli.rbml
38
- - lib/static.rb
39
- - lib/collection.rb
40
- - lib/filebase.rb
41
- - lib/page.rb
42
- - lib/site.rb
43
- - lib/xhtml.rb
44
- - lib/generator.rb
45
- - lib/extentions/class.rb
46
- - lib/extentions/string.rb
47
- - templates/page.copy
48
- - templates/site.map
49
- - templates/site.info
50
- - templates/submenu.copy
51
- - templates/disco/attributes
52
- - templates/disco/display
53
- - templates/disco/paginate
54
- - templates/disco/feed
55
- - templates/disco/link_list
56
- - templates/helpers/content.rb
57
- - templates/helpers/prototype.js
58
- - templates/layouts/default/contents.erbml
59
- - templates/layouts/default/main_navigation.erbml
60
- - templates/layouts/default/page_head.erbml
61
- - templates/layouts/default/submenu.erbml
62
- - templates/layouts/default/structure/default.rbml
63
- - templates/layouts/default/structure/footer.rbml
64
- - templates/layouts/default/stylesheets/default.css
65
- - templates/layouts/default/copy/page.copy
66
- test_files: []
12
+ - Static Development
13
+ autorequire:
14
+ bindir:
15
+ - bin
16
+ cert_chain: []
67
17
 
68
- rdoc_options:
69
- - --main
70
- - README.txt
71
- extra_rdoc_files:
72
- - History.txt
73
- - Manifest.txt
74
- - README.txt
18
+ date: 2013-03-07 00:00:00 -06:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rake
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ type: :development
32
+ version_requirements: *id001
33
+ - !ruby/object:Gem::Dependency
34
+ name: rspec
35
+ prerelease: false
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 2
42
+ - 0
43
+ version: "2.0"
44
+ type: :development
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: vmc
48
+ prerelease: false
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ - 5
56
+ - 0
57
+ version: 0.5.0
58
+ type: :runtime
59
+ version_requirements: *id003
60
+ - !ruby/object:Gem::Dependency
61
+ name: tunnel-vmc-plugin
62
+ prerelease: false
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ~>
66
+ - !ruby/object:Gem::Version
67
+ segments:
68
+ - 0
69
+ - 2
70
+ - 2
71
+ version: 0.2.2
72
+ type: :runtime
73
+ version_requirements: *id004
74
+ description: " Static.com Cloud Command Line Client "
75
+ email:
76
+ - support@static.com
75
77
  executables:
76
78
  - static
77
- - cli.rbml
78
79
  extensions: []
79
80
 
81
+ extra_rdoc_files:
82
+ - README.md
83
+ - LICENSE
84
+ files:
85
+ - LICENSE
86
+ - README.md
87
+ - Rakefile
88
+ - lib/static/cli/app/download.rb
89
+ - lib/static/cli.rb
90
+ - lib/static/version.rb
91
+ - lib/static.rb
92
+ has_rdoc: true
93
+ homepage: http://www.static.com/
94
+ licenses: []
95
+
96
+ post_install_message:
97
+ rdoc_options: []
98
+
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ segments:
106
+ - 0
107
+ version: "0"
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ segments:
113
+ - 0
114
+ version: "0"
80
115
  requirements: []
81
116
 
82
- dependencies:
83
- - !ruby/object:Gem::Dependency
84
- name: hoe
85
- version_requirement:
86
- version_requirements: !ruby/object:Gem::Version::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 1.2.1
91
- version:
117
+ rubyforge_project: static
118
+ rubygems_version: 1.3.6
119
+ signing_key:
120
+ specification_version: 3
121
+ summary: Static.com Cloud CLI
122
+ test_files: []
123
+
@@ -1,5 +0,0 @@
1
- == 1.0.0 / 2007-04-17
2
-
3
- * 1 major enhancement
4
- * Birthday!
5
-
@@ -1,36 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- README.txt
4
- Rakefile
5
- bin/static
6
- bin/cli.rbml
7
- lib/static.rb
8
- lib/collection.rb
9
- lib/filebase.rb
10
- lib/page.rb
11
- lib/site.rb
12
- lib/static.rb
13
- lib/xhtml.rb
14
- lib/generator.rb
15
- lib/extentions/class.rb
16
- lib/extentions/string.rb
17
- templates/page.copy
18
- templates/site.map
19
- templates/site.info
20
- templates/submenu.copy
21
- templates/disco/attributes
22
- templates/disco/display
23
- templates/disco/paginate
24
- templates/disco/feed
25
- templates/disco/link_list
26
- templates/helpers/content.rb
27
- templates/helpers/prototype.js
28
- templates/layouts/default/contents.erbml
29
- templates/layouts/default/main_navigation.erbml
30
- templates/layouts/default/page_head.erbml
31
- templates/layouts/default/submenu.erbml
32
- templates/layouts/default/structure/default.rbml
33
- templates/layouts/default/structure/footer.rbml
34
- templates/layouts/default/stylesheets/default.css
35
- templates/layouts/default/copy/page.copy
36
-
data/README.txt DELETED
@@ -1,307 +0,0 @@
1
- === static
2
- by evan short
3
-
4
- == DESCRIPTION:
5
-
6
- static is a command line environment for creating static websites.
7
- it uses a yaml site map to produce a blueprint with decoupled copy
8
- and structure. uses rbml for html processing. static incorporates
9
- arbitrary collections that can be displayed both within a page and
10
- paginated over a page. this allows such features as news, faqs,
11
- blogs and other galleries.
12
-
13
- == FEATURES:
14
-
15
- - command line interface
16
- - multiple site management
17
- - yaml site map
18
- - decoupled copy and structure
19
- - flexible, sectioned copy
20
- - html in block-syntax
21
- - collections
22
- - inner-page, such as news on a home page
23
- - paginated, a blog, for instance
24
- - plain ol' css for style
25
-
26
- == PROBLEMS:
27
-
28
- - cli needs some work
29
- - prompt context
30
- - tab completion
31
- - termios integration (or otherwise implemented command history)
32
- - better error messaging
33
- - documentation
34
- - how layouts work
35
- - how blueprints work
36
- - there are no specs
37
- - ready for a re-factor
38
-
39
- if i had to guess i would say that this will not work on windows. it
40
- is organized for a mac, but works fine, im sure, under unix in general
41
- i don't know that much about cygwin. i don't anticipate fixing this myself
42
- (or even look into it) without some incentive. i will happily take patches.
43
-
44
- == TODO:
45
-
46
- - deal with resources (e.g. images, movies, etc)
47
- - allow +display+ to take a block describing the layout
48
- - command to preview in browser
49
- - give better program hooks in the static home
50
- - allow pages to override the default layout
51
- - allow collections to override the default layout
52
- - give a method to display the site map
53
- - rename partials with underscores
54
- - option to turn links off if current
55
- - stop css from being overwritten when re-generating the blueprint
56
- - simple site versioning
57
- - css versioning
58
- - page splitting in copy
59
-
60
- == USAGE NOTES:
61
-
62
- so, first thing's first open up a terminal and run static. the first
63
- time it is run a folder called +static+ will be created in your <tt>~/</tt>.
64
- in this folder your layouts and projects will be kept, along with a
65
- few template files in <tt>.templates</tt> that will be used when
66
- creating a site.
67
-
68
- === site generation
69
-
70
- you will see a prompt: <tt>-></tt>
71
-
72
- -> start sample site
73
- starting a site map for sample
74
-
75
- at this point the footprint of your site (named sample in this example)
76
- has been created. a sitemap is generated from the site.map template
77
- in the static home (~/static). initially this is populated with an
78
- example map, but can be re-formatted or emptied if you choose.
79
-
80
- -> edit site.map
81
-
82
- this will open the previously mentioned site map in vi. there is a
83
- variable to change editors but, currently, no place to actually do
84
- it. sue me. i'll get to it soon.
85
-
86
- after the site map has been exited the pages are loaded into memory
87
- and you can then begin to build your site.
88
-
89
- -> build
90
-
91
- or
92
-
93
- -> build copy
94
-
95
- will generate the .copy yaml files that will hold the contents of each
96
- page in your site map. you may then run
97
-
98
- -> edit copy
99
-
100
- to edit the contents of those pages. more desireably, perhaps, you may
101
- zip this folder up and send it off to someone more suited to edit copy.
102
-
103
- some things to note when editing copy:
104
-
105
- - this must be a properly formatted yaml file
106
- - use <tt>: |</tt> followed by an indented block of text to use multiline text in yaml
107
- - use *s instead of -s to indicate list elements underneath <tt>: |</tt>s
108
-
109
- if it is not a properly formatted yaml file, generate will simply fail. you will hardly
110
- be given an error message, and certainly nothing helpful. it is for this reason i
111
- suggest you check your contents files twice before sending them through the grinder.
112
- definitely some robustness or something needed here.
113
- given no me you will simp
114
-
115
- anyway, next you must choose a layout.
116
-
117
- -> layout
118
-
119
- will give you a choice of the possible layouts. by default there is only
120
- one layout available. you may copy the default layout in the static home
121
- to create new layouts. there are plans to incorporate some of this into
122
- the cli. not yet, however.
123
-
124
- because there is only one layout available by default, running +layout+
125
- will choose it for you. if there were more than one you could run +layout+
126
- with a regex for the layout you would like to choose (or not) and then
127
- make a choice from the resulting list. choices in lists may be made by
128
- regex or number selection. no word on what happens if there are numbers
129
- in your possible selections.
130
-
131
- as an example, because the word 'regex' can be frightening to some, i might
132
- use <tt>layout def</tt> to find the default layout in a long list of selections.
133
-
134
- once a layout is chosen it is possible to make edits to it before building
135
- the basic structure of the site, called the blueprint. you may run
136
-
137
- -> edit layout
138
-
139
- to make changes to the layout you have chosen.
140
-
141
- once the layout is satisfactory, running
142
-
143
- -> build blueprint
144
-
145
- will put the blueprint folder in place.
146
-
147
- -> edit blueprint
148
-
149
- will take you there to edit.
150
-
151
- to build the copy, choose a layout, and build the blueprint in one go:
152
-
153
- -> build all
154
-
155
- it is worth noting that the edit commands may be used at any time, not only
156
- directly after building that particular section.
157
-
158
- either way you get here, at this point you may generate your site by running
159
-
160
- -> generate
161
-
162
- you may edit your site and generate as many times as you like.
163
- by default (not easily changable at the moment) your site will be
164
- generated to ~/Sites/static/name_of_site.
165
-
166
- use
167
-
168
- -> load site
169
-
170
- (which uses the choice module) to load a site or make a different
171
- site active. you may simply use +load+ if there is not already an
172
- active site.
173
-
174
- == collection managment
175
-
176
- once a site has been started that site will be active. once there is
177
- an active site you may begin dealing with collections. to start a
178
- collection
179
-
180
- -> start faq collection with question answer
181
-
182
- this will start a collection named faq with the attributes question and
183
- answer.
184
-
185
- because there is already an active site, the +collection+ key
186
- is assumed and therefore sugar. +with+ is purely sugar.
187
-
188
- the faq collection is now active (as it was just started and no other
189
- collection has been loaded). you may run
190
-
191
- -> edit attributes
192
-
193
- to edit the yaml file describing the attributes
194
-
195
- -> edit display
196
-
197
- to edit the default way a member of the collection is displayed
198
-
199
- and
200
-
201
- -> add
202
-
203
- to add an item to the collection. it is worth noting that the attribute
204
- files are processed by erb before they make it to your editor. so in the
205
- event you had a +date+ attribute in a collection, using +edit attributes+
206
- to make <tt>date: <%= Date.today.to_s.inspect %></tt> will start each
207
- added item with today's date ready for yaml.
208
-
209
- to show a collection within a page add a line like
210
-
211
- display 5, :faq
212
-
213
- on the blueprint of the desired page. display also responds to :all in place
214
- of the number.
215
-
216
- to paginate a collection over a particular page you must assign the
217
- collection to the page.
218
-
219
- -> assign
220
-
221
- will ask you first which collection you would like to choose and then which
222
- page. because each page is only allowed to be paginated once your choices
223
- will be limited to those that have not already been paginated. you may use
224
- -c or --collection to regex for a desired collection.
225
- likewise with -p and --page.
226
-
227
- you may also run +assign paginate+ with the same possible flags to paginate
228
- the collection automatically after the association.
229
-
230
- after associating the collection and the page you may use
231
-
232
- -> paginate
233
-
234
- and then
235
-
236
- -> generate
237
-
238
- to update the pages. in the future there should probably be a more direct
239
- way to generate over only paginated pages.
240
-
241
- in order to see the paginated items on the desired page simply add the line
242
-
243
- include_partial
244
-
245
- where you would like the paginated section of your collection to be included.
246
- to use the link list generated include the line
247
-
248
- get :page, :collection_name => :links
249
-
250
- <tt>:page</tt> is short for 'this page that we are in'. if you would like to
251
- be moroe explicit (or use the list elsewhere) simply put in the file name of
252
- the page (which would be the page name you gave it in the site map formatted
253
- as a lower-case symbol) as such:
254
-
255
- get :page_name, :collection_name => :links
256
-
257
- == A Note from the Author
258
-
259
- there is much more to say, and there is no doubt that this is a first release,
260
- but a lot of what is going on can be gleaned by looking at the stuff that is
261
- generated by default. any questions may be directed to
262
-
263
- evan.short @ pleasedontspam. gmail.please
264
-
265
- suggestions and criticisms are welcome. i am aware that when things go sour
266
- there is often no word as to what actually went wrong. you can tell me
267
- about them if you feel so inclined, but i am of the opinion that some more
268
- reasonable error messaging needs to happen in rbml rather than too much
269
- more effort going into my dilligence at writing horribly nested if statements
270
- in the cli script.
271
-
272
- == REQUIREMENTS:
273
-
274
- rbml v. 0.0.5.9.4.1
275
-
276
- == INSTALL:
277
-
278
- i looked into it briefly but found nothing about actually making a dependency
279
- in a gem. if anyone knows how to do this, please let me know.
280
-
281
- sudo gem install rbml
282
- sudo gem install static
283
-
284
- == LICENSE:
285
-
286
- (The MIT License)
287
-
288
- Copyright (c) 2007 Evan Short
289
-
290
- Permission is hereby granted, free of charge, to any person obtaining
291
- a copy of this software and associated documentation files (the
292
- 'Software'), to deal in the Software without restriction, including
293
- without limitation the rights to use, copy, modify, merge, publish,
294
- distribute, sublicense, and/or sell copies of the Software, and to
295
- permit persons to whom the Software is furnished to do so, subject to
296
- the following conditions:
297
-
298
- The above copyright notice and this permission notice shall be
299
- included in all copies or substantial portions of the Software.
300
-
301
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
302
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
303
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
304
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
305
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
306
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
307
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.