easy_html_generator 1.0.4 → 1.0.5

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.
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