easy_html_generator 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +6 -0
  3. data/.gitignore +12 -0
  4. data/.rubocop.yml +18 -0
  5. data/.travis.yml +14 -0
  6. data/Gemfile +3 -0
  7. data/README.md +51 -337
  8. data/Rakefile +42 -0
  9. data/config.ru +4 -0
  10. data/docs/CONFIGURATION.md +84 -0
  11. data/{CONTRIBUTING.md → docs/CONTRIBUTING.md} +2 -0
  12. data/docs/GENERATORS.md +210 -0
  13. data/docs/GETSTARTED.md +92 -0
  14. data/easy_html_generator.gemspec +54 -0
  15. data/lib/easy_html_generator/checksum.rb +4 -0
  16. data/lib/easy_html_generator/config.rb +0 -77
  17. data/lib/easy_html_generator/generator/base.rb +20 -58
  18. data/lib/easy_html_generator/generator/combine.rb +9 -19
  19. data/lib/easy_html_generator/generator/compile/base.rb +51 -0
  20. data/lib/easy_html_generator/generator/compile/coffee.rb +6 -13
  21. data/lib/easy_html_generator/generator/compile/haml/helper/activesupport_override.rb +1 -6
  22. data/lib/easy_html_generator/generator/compile/haml/helper/asset_helper.rb +7 -7
  23. data/lib/easy_html_generator/generator/compile/haml.rb +20 -45
  24. data/lib/easy_html_generator/generator/compile/sass.rb +9 -13
  25. data/lib/easy_html_generator/generator/copy.rb +7 -14
  26. data/lib/easy_html_generator/generator/delete.rb +4 -13
  27. data/lib/easy_html_generator/generator/minimize/css.rb +5 -12
  28. data/lib/easy_html_generator/generator/minimize/html.rb +5 -12
  29. data/lib/easy_html_generator/generator/minimize/images.rb +6 -20
  30. data/lib/easy_html_generator/generator/minimize/js.rb +5 -12
  31. data/lib/easy_html_generator/generator/service/analytics.rb +19 -19
  32. data/lib/easy_html_generator/generator/service/bower.rb +21 -17
  33. data/lib/easy_html_generator/generator/service/grunt.rb +12 -11
  34. data/lib/easy_html_generator/generator/service/sitemap.rb +33 -0
  35. data/lib/easy_html_generator/generator/structure.rb +2 -6
  36. data/lib/easy_html_generator/generator.rb +6 -6
  37. data/lib/easy_html_generator/project.rb +5 -0
  38. data/lib/easy_html_generator/project_path_resolver.rb +57 -0
  39. data/lib/easy_html_generator/rack_dispatcher.rb +1 -1
  40. data/lib/easy_html_generator/version.rb +4 -0
  41. data/lib/easy_html_generator/workspace.rb +1 -1
  42. data/lib/easy_html_generator.rb +19 -18
  43. data/src/demo/assets/styles/app.css.sass +47 -2
  44. data/src/demo/lib/helper/projecthelper.rb +3 -0
  45. data/src/demo/project.yml +142 -0
  46. data/src/demo/views/index/_bower_and_grunt.haml +7 -0
  47. data/src/demo/views/index/_dry.haml +16 -0
  48. data/src/demo/views/index/_haml_sass_coffee.haml +11 -0
  49. data/src/demo/views/index/_inline_coffee_and_sass.haml +43 -0
  50. data/src/demo/views/index/_sass_mixins.haml +76 -0
  51. data/src/demo/views/index.html.haml +13 -1
  52. data/src/demo/views/layout/_assets.javascripts.haml +7 -0
  53. data/src/demo/views/layout/_assets.metadata.haml +12 -0
  54. data/src/demo/views/layout/_assets.stylesheets.haml +9 -0
  55. data/src/demo/views/layout/_footer.haml +3 -0
  56. data/src/demo/views/layout/_header.haml +1 -0
  57. data/src/demo/views/layout.haml +8 -4
  58. data/src/demo/views/plain.html +1 -0
  59. data/src/shared/assets/styles/mixins/_bootstrap-fixes.sass +12 -0
  60. data/src/shared/assets/styles/mixins/_headjs-bootstrap-mediaqueries.sass +30 -0
  61. data/src/shared/project.yml +56 -35
  62. data/src/template/project.yml +57 -43
  63. metadata +75 -7
  64. data/src/demo/views/index/_lore_ipsum.haml +0 -1
@@ -2,6 +2,8 @@ generate_on_request_path_match:
2
2
  - '.*html$'
3
3
  - '.*htm$'
4
4
 
5
+ project_yml_changed: true
6
+
5
7
  paths:
6
8
  src:
7
9
  images: 'assets/images'
@@ -22,56 +24,56 @@ generators:
22
24
  - SharedGenerator:
23
25
  enabled: true
24
26
 
25
- - ProjectGenerator:
26
- enabled: true
27
-
28
27
  - delete:
29
28
  enabled: false
30
- files:
31
- - '*'
29
+ source: 'dist://**/*'
30
+
32
31
  - structure:
33
32
  enabled: true
34
33
 
35
34
  - service_bower:
36
35
  enabled: true
37
- selector: 'bower.json'
38
- target: 'lib'
36
+ source: 'src://'
37
+ target: 'dist://lib'
39
38
 
40
39
  - compile_coffee:
41
40
  enabled: true
42
41
  minimize: true
42
+ source: 'src.scripts://'
43
+ target: 'dist.scripts://'
43
44
  selector: '**/*.js.coffee'
44
45
 
45
46
  - compile_sass:
46
47
  enabled: true
47
48
  minimize: true
49
+ source: 'src.styles://'
50
+ target: 'dist.styles://'
48
51
  selector: '**/*.css.sass'
49
52
 
50
53
  - copy:
51
54
  enabled: true
52
- dirs:
55
+ repetitive:
53
56
  -
54
- source: 'assets/styles'
55
- target: 'styles'
57
+ source: 'src.styles://'
58
+ target: 'dist.styles://'
56
59
  selector: '**/*.css'
57
60
  -
58
- source: 'assets/scripts'
59
- target: 'scripts'
60
- selector: '**/*.js'
61
+ source: 'src.scripts://'
62
+ target: 'dist.scripts://'
61
63
  -
62
- source: 'assets/images'
63
- target: 'images'
64
- selector: '**/*'
64
+ source: 'src.images://'
65
+ target: 'dist.images://'
65
66
  -
66
- source: 'assets/public'
67
- target: ''
68
- selector: '**/*'
67
+ source: 'src.public://'
68
+ target: 'dist.public://'
69
69
 
70
70
  - compile_haml:
71
71
  enabled: true
72
72
  minimize: true
73
- default_layout: 'views/layout.haml'
73
+ source: 'src.views://'
74
+ target: 'dist.views://'
74
75
  selector: '**/*.html.haml'
76
+ default_layout: 'views/layout.haml'
75
77
  renderer:
76
78
  attr_wrapper: '"'
77
79
  format: :html5
@@ -79,30 +81,42 @@ generators:
79
81
 
80
82
  - service_analytics:
81
83
  enabled: false
82
- append_to_files:
83
- - '**/*.html'
84
- google:
85
- enabled: true
86
- code: "<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '{GOOGLE_UA_ID}', 'auto');ga('send', 'pageview');</script>"
87
- id: -1
84
+ source: 'dist.views://'
85
+ target: 'dist.views://'
86
+ selector: '**/*.html'
87
+ repetitive:
88
+ -
89
+ enabled: true
90
+ name: 'google'
91
+ code: "<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '{GOOGLE_UA_ID}', 'auto');ga('send', 'pageview');</script>"
92
+ params:
93
+ GOOGLE_UA_ID: google_id
88
94
 
89
95
  - minimize_js:
90
96
  enabled: true
97
+ source: 'src.scripts://'
98
+ target: 'dist.scripts://'
91
99
  selector: '**/*.js'
92
100
  prefix_extension: '.min'
93
101
 
94
102
  - minimize_css:
95
103
  enabled: true
104
+ source: 'src.styles://'
105
+ target: 'dist.styles://'
96
106
  selector: '**/*.css'
97
107
  prefix_extension: '.min'
98
108
 
99
109
  - minimize_html:
100
110
  enabled: true
111
+ source: 'src.public://'
112
+ target: 'dist.public://'
101
113
  selector: '**/*.html'
102
114
  prefix_extension: ''
103
115
 
104
116
  - minimize_images:
105
- enabled: true
117
+ enabled: false
118
+ source: 'src.images://'
119
+ target: 'dist.images://'
106
120
  selector: '**/*.{jpg,jpeg,png}'
107
121
  options:
108
122
  quality: 90
@@ -111,17 +125,24 @@ generators:
111
125
 
112
126
  - combine:
113
127
  enabled: true
114
- packages:
128
+ repetitive:
115
129
  -
116
- file: 'scripts/combined.js'
117
- files:
118
- - 'scripts/**/*.js'
130
+ target: 'dist.scripts://combined.js'
131
+ sources:
132
+ - 'dist.scripts://**/*.js'
119
133
  -
120
- file: 'styles/combined.css'
121
- files:
122
- - 'styles/**/*.css'
134
+ target: 'dist.styles://combined.css'
135
+ sources:
136
+ - 'dist.styles://**/*.css'
123
137
 
124
138
  - service_grunt:
125
139
  enabled: true
126
- selector: 'Gruntfile.coffee'
140
+ source: 'src://Gruntfile.coffee'
127
141
  task: 'default'
142
+
143
+ - service_sitemap:
144
+ enabled: false
145
+ domain: www.demo.com
146
+ source: 'dist.views:'
147
+ target: 'dist.views://sitemap.xml'
148
+ selector: '**/*.html'
@@ -1,6 +1,5 @@
1
1
  generate_on_request_path_match:
2
2
  - '.*html$'
3
- - '.*htm$'
4
3
 
5
4
  paths:
6
5
  src:
@@ -19,60 +18,56 @@ paths:
19
18
  styles: 'styles'
20
19
 
21
20
  generators:
22
- - SharedGenerator:
23
- enabled: true
24
-
25
- - ProjectGenerator:
26
- enabled: true
27
-
28
21
  - delete:
29
22
  enabled: false
30
- files:
31
- - '*'
23
+ source: 'dist://**/*'
32
24
 
33
25
  - structure:
34
26
  enabled: true
35
27
 
36
28
  - service_bower:
37
- enabled: false
38
- selector: 'bower.json'
39
- target: 'lib'
29
+ enabled: true
30
+ source: 'src://'
31
+ target: 'dist://lib'
40
32
 
41
33
  - compile_coffee:
42
34
  enabled: true
43
35
  minimize: true
36
+ source: 'src.scripts://'
37
+ target: 'dist.scripts://'
44
38
  selector: '**/*.js.coffee'
45
39
 
46
40
  - compile_sass:
47
41
  enabled: true
48
42
  minimize: true
43
+ source: 'src.styles://'
44
+ target: 'dist.styles://'
49
45
  selector: '**/*.css.sass'
50
46
 
51
47
  - copy:
52
48
  enabled: true
53
- dirs:
49
+ repetitive:
54
50
  -
55
- source: 'assets/styles'
56
- target: 'styles'
51
+ source: 'src.styles://'
52
+ target: 'dist.styles://'
57
53
  selector: '**/*.css'
58
54
  -
59
- source: 'assets/scripts'
60
- target: 'scripts'
61
- selector: '**/*.js'
55
+ source: 'src.scripts://'
56
+ target: 'dist.scripts://'
62
57
  -
63
- source: 'assets/images'
64
- target: 'images'
65
- selector: '**/*'
58
+ source: 'src.images://'
59
+ target: 'dist.images://'
66
60
  -
67
- source: 'assets/public'
68
- target: ''
69
- selector: '**/*'
61
+ source: 'src.public://'
62
+ target: 'dist.public://'
70
63
 
71
64
  - compile_haml:
72
65
  enabled: true
73
66
  minimize: true
74
- default_layout: 'views/layout.haml'
67
+ source: 'src.views://'
68
+ target: 'dist.views://'
75
69
  selector: '**/*.html.haml'
70
+ default_layout: 'views/layout.haml'
76
71
  renderer:
77
72
  attr_wrapper: '"'
78
73
  format: :html5
@@ -80,30 +75,42 @@ generators:
80
75
 
81
76
  - service_analytics:
82
77
  enabled: false
83
- append_to_files:
84
- - '**/*.html'
85
- google:
86
- enabled: true
87
- code: "<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '{GOOGLE_UA_ID}', 'auto');ga('send', 'pageview');</script>"
88
- id: -1
78
+ source: 'dist.views://'
79
+ target: 'dist.views://'
80
+ selector: '**/*.html'
81
+ repetitive:
82
+ -
83
+ enabled: true
84
+ name: 'google'
85
+ code: "<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', '{GOOGLE_UA_ID}', 'auto');ga('send', 'pageview');</script>"
86
+ params:
87
+ GOOGLE_UA_ID: google_id
89
88
 
90
89
  - minimize_js:
91
90
  enabled: true
91
+ source: 'src.scripts://'
92
+ target: 'dist.scripts://'
92
93
  selector: '**/*.js'
93
- prefix_extension: ''
94
+ prefix_extension: '.min'
94
95
 
95
96
  - minimize_css:
96
97
  enabled: true
98
+ source: 'src.styles://'
99
+ target: 'dist.styles://'
97
100
  selector: '**/*.css'
98
- prefix_extension: ''
101
+ prefix_extension: '.min'
99
102
 
100
103
  - minimize_html:
101
104
  enabled: true
105
+ source: 'src.public://'
106
+ target: 'dist.public://'
102
107
  selector: '**/*.html'
103
108
  prefix_extension: ''
104
109
 
105
110
  - minimize_images:
106
- enabled: true
111
+ enabled: false
112
+ source: 'src.images://'
113
+ target: 'dist.images://'
107
114
  selector: '**/*.{jpg,jpeg,png}'
108
115
  options:
109
116
  quality: 90
@@ -112,17 +119,24 @@ generators:
112
119
 
113
120
  - combine:
114
121
  enabled: false
115
- packages:
122
+ repetitive:
116
123
  -
117
- file: 'scripts/combined.js'
118
- files:
119
- - 'scripts/**/*.js'
124
+ target: 'dist.scripts://combined.js'
125
+ sources:
126
+ - 'dist.scripts://**/*.js'
120
127
  -
121
- file: 'styles/combined.css'
122
- files:
123
- - 'styles/**/*.css'
128
+ target: 'dist.styles://combined.css'
129
+ sources:
130
+ - 'dist.styles://**/*.css'
124
131
 
125
132
  - service_grunt:
126
- enabled: false
127
- selector: 'Gruntfile.coffee'
133
+ enabled: true
134
+ source: 'src://Gruntfile.coffee'
128
135
  task: 'default'
136
+
137
+ - service_sitemap:
138
+ enabled: false
139
+ domain: www.demo.com
140
+ source: 'dist.views:'
141
+ target: 'dist.views://sitemap.xml'
142
+ selector: '**/*.html'
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_html_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Hanoldt
8
+ - Alex Illmayer
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-07-31 00:00:00.000000000 Z
12
+ date: 2015-08-13 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rack
@@ -220,6 +221,20 @@ dependencies:
220
221
  - - ">="
221
222
  - !ruby/object:Gem::Version
222
223
  version: '0'
224
+ - !ruby/object:Gem::Dependency
225
+ name: xml-sitemap
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ type: :runtime
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
223
238
  - !ruby/object:Gem::Dependency
224
239
  name: rake
225
240
  requirement: !ruby/object:Gem::Requirement
@@ -276,9 +291,37 @@ dependencies:
276
291
  - - ">="
277
292
  - !ruby/object:Gem::Version
278
293
  version: '0'
294
+ - !ruby/object:Gem::Dependency
295
+ name: rubocop
296
+ requirement: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ version: '0'
301
+ type: :development
302
+ prerelease: false
303
+ version_requirements: !ruby/object:Gem::Requirement
304
+ requirements:
305
+ - - ">="
306
+ - !ruby/object:Gem::Version
307
+ version: '0'
308
+ - !ruby/object:Gem::Dependency
309
+ name: bundler
310
+ requirement: !ruby/object:Gem::Requirement
311
+ requirements:
312
+ - - ">="
313
+ - !ruby/object:Gem::Version
314
+ version: '0'
315
+ type: :development
316
+ prerelease: false
317
+ version_requirements: !ruby/object:Gem::Requirement
318
+ requirements:
319
+ - - ">="
320
+ - !ruby/object:Gem::Version
321
+ version: '0'
279
322
  description: |-
280
- This gem is a powerful and easy to use web development tool that helps developing modern web sites by generating static html pages.
281
- It uses CoffeScript, Sass, Haml, Bootstrap, HeadJs, Bower, Grunt, Google Anlaytics and minimizes coffee-, javascript-, sass-, css-, png- and image-files.
323
+ This gem is a powerful and easy to use web development tool that helps developing modern web sites by generating static html pagespec.
324
+ It uses CoffeScript, Sass, Haml, Bootstrap, HeadJs, Bower, Grunt, Google Anlaytics and minimizes coffee-, javascript-, sass-, css-, png- and image-filespec.
282
325
  email:
283
326
  - monotom@gmail.com
284
327
  executables:
@@ -286,16 +329,28 @@ executables:
286
329
  extensions: []
287
330
  extra_rdoc_files: []
288
331
  files:
289
- - CONTRIBUTING.md
332
+ - ".codeclimate.yml"
333
+ - ".gitignore"
334
+ - ".rubocop.yml"
335
+ - ".travis.yml"
336
+ - Gemfile
290
337
  - LICENSE
291
338
  - README.md
339
+ - Rakefile
292
340
  - bin/ehg
341
+ - config.ru
342
+ - docs/CONFIGURATION.md
343
+ - docs/CONTRIBUTING.md
344
+ - docs/GENERATORS.md
345
+ - docs/GETSTARTED.md
346
+ - easy_html_generator.gemspec
293
347
  - lib/easy_html_generator.rb
294
348
  - lib/easy_html_generator/checksum.rb
295
349
  - lib/easy_html_generator/config.rb
296
350
  - lib/easy_html_generator/generator.rb
297
351
  - lib/easy_html_generator/generator/base.rb
298
352
  - lib/easy_html_generator/generator/combine.rb
353
+ - lib/easy_html_generator/generator/compile/base.rb
299
354
  - lib/easy_html_generator/generator/compile/coffee.rb
300
355
  - lib/easy_html_generator/generator/compile/haml.rb
301
356
  - lib/easy_html_generator/generator/compile/haml/context.rb
@@ -312,10 +367,13 @@ files:
312
367
  - lib/easy_html_generator/generator/service/analytics.rb
313
368
  - lib/easy_html_generator/generator/service/bower.rb
314
369
  - lib/easy_html_generator/generator/service/grunt.rb
370
+ - lib/easy_html_generator/generator/service/sitemap.rb
315
371
  - lib/easy_html_generator/generator/structure.rb
316
372
  - lib/easy_html_generator/generators.rb
317
373
  - lib/easy_html_generator/project.rb
374
+ - lib/easy_html_generator/project_path_resolver.rb
318
375
  - lib/easy_html_generator/rack_dispatcher.rb
376
+ - lib/easy_html_generator/version.rb
319
377
  - lib/easy_html_generator/workspace.rb
320
378
  - src/demo/assets/images/demo.png
321
379
  - src/demo/assets/public/robots.txt
@@ -325,9 +383,19 @@ files:
325
383
  - src/demo/assets/styles/plain.css
326
384
  - src/demo/lib/generators/project_generator.rb
327
385
  - src/demo/lib/helper/projecthelper.rb
386
+ - src/demo/project.yml
328
387
  - src/demo/views/index.html.haml
329
- - src/demo/views/index/_lore_ipsum.haml
388
+ - src/demo/views/index/_bower_and_grunt.haml
389
+ - src/demo/views/index/_dry.haml
390
+ - src/demo/views/index/_haml_sass_coffee.haml
391
+ - src/demo/views/index/_inline_coffee_and_sass.haml
392
+ - src/demo/views/index/_sass_mixins.haml
330
393
  - src/demo/views/layout.haml
394
+ - src/demo/views/layout/_assets.javascripts.haml
395
+ - src/demo/views/layout/_assets.metadata.haml
396
+ - src/demo/views/layout/_assets.stylesheets.haml
397
+ - src/demo/views/layout/_footer.haml
398
+ - src/demo/views/layout/_header.haml
331
399
  - src/demo/views/plain.html
332
400
  - src/shared/assets/images/shared.png
333
401
  - src/shared/assets/scripts/shared.js.coffee
@@ -378,5 +446,5 @@ rubygems_version: 2.4.6
378
446
  signing_key:
379
447
  specification_version: 4
380
448
  summary: This gem is a powerful and easy to use web development tool that helps developing
381
- modern web sites by generating static html pages.
449
+ modern web sites by generating static html pagespec.
382
450
  test_files: []
@@ -1 +0,0 @@
1
- lore ipsum