amp-html 0.7.18 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +82 -77
  3. data/README.md +61 -75
  4. data/app/helpers/amp_html/asset_helper.rb +11 -0
  5. data/app/helpers/amp_html/base_helper.rb +14 -0
  6. data/app/helpers/amp_html/dynamic_content_helper.rb +14 -0
  7. data/app/helpers/amp_html/layouts_helper.rb +11 -0
  8. data/app/helpers/amp_html/media_helper.rb +15 -0
  9. data/app/views/mozaic/amp/_amp-link.html.erb +1 -0
  10. data/app/views/mozaic/amp/_audio.html.erb +11 -0
  11. data/app/views/mozaic/amp/_canonical-link.html.erb +1 -0
  12. data/app/views/mozaic/amp/_components.html.erb +6 -0
  13. data/app/views/mozaic/amp/_doctype.html.erb +4 -0
  14. data/app/views/mozaic/amp/_font.html.erb +2 -0
  15. data/app/views/mozaic/amp/_form-response.html.erb +5 -0
  16. data/app/views/mozaic/amp/_form.html.erb +3 -0
  17. data/app/views/mozaic/amp/_head.html.erb +13 -0
  18. data/app/views/mozaic/amp/_img.html.erb +1 -0
  19. data/app/views/mozaic/amp/_input.html.erb +1 -0
  20. data/app/views/mozaic/amp/_mustache.html.erb +3 -0
  21. data/app/views/mozaic/amp/_selector.html.erb +3 -0
  22. data/app/views/mozaic/amp/_video.html.erb +11 -0
  23. data/lib/amp-html.rb +4 -20
  24. data/lib/amp-html/configuration.rb +13 -158
  25. data/lib/amp-html/engine.rb +6 -0
  26. data/lib/amp-html/railtie.rb +109 -0
  27. data/lib/amp-html/version.rb +1 -9
  28. data/lib/generators/amp_html_generator.rb +27 -0
  29. data/lib/generators/templates/{assets/stylesheets/application.scss → application.css} +1 -1
  30. data/lib/generators/templates/initializer.rb +14 -0
  31. data/lib/generators/templates/layout.html.erb +15 -0
  32. metadata +53 -204
  33. data/.github/issue_template.md +0 -16
  34. data/.github/pull_request_template.md +0 -21
  35. data/.gitignore +0 -13
  36. data/.travis.yml +0 -4
  37. data/CODE_OF_CONDUCT.md +0 -46
  38. data/CONTRIBUTING.md +0 -1
  39. data/DEPRECATIONS.md +0 -9
  40. data/Gemfile +0 -12
  41. data/Gemfile.lock +0 -164
  42. data/INSTALL.md +0 -2
  43. data/OWNERS.yaml +0 -1
  44. data/Rakefile +0 -6
  45. data/amp-html.gemspec +0 -30
  46. data/bin/amp-html +0 -4
  47. data/lib/amp-html/cli.rb +0 -113
  48. data/lib/amp-html/components/docs/README.md +0 -101
  49. data/lib/amp-html/components/docs/ad.md +0 -83
  50. data/lib/amp-html/components/docs/analytics.md +0 -131
  51. data/lib/amp-html/components/docs/anim.md +0 -66
  52. data/lib/amp-html/components/docs/fonts.md +0 -63
  53. data/lib/amp-html/components/docs/forms.md +0 -79
  54. data/lib/amp-html/components/docs/iframe.md +0 -62
  55. data/lib/amp-html/components/docs/javascript.md +0 -71
  56. data/lib/amp-html/components/docs/lists.md +0 -168
  57. data/lib/amp-html/components/docs/media.md +0 -52
  58. data/lib/amp-html/components/docs/mustache.md +0 -46
  59. data/lib/amp-html/components/docs/notifications.md +0 -0
  60. data/lib/amp-html/components/docs/schema.md +0 -80
  61. data/lib/amp-html/components/docs/service_worker.md +0 -60
  62. data/lib/amp-html/components/docs/social.md +0 -130
  63. data/lib/amp-html/components/docs/stylesheets.md +0 -50
  64. data/lib/amp-html/components/help.rb +0 -19
  65. data/lib/amp-html/components/install.rb +0 -34
  66. data/lib/amp-html/components/templates/ERROR.md +0 -5
  67. data/lib/amp-html/components/templates/README.md +0 -12
  68. data/lib/amp-html/configuration/docs/README.md +0 -0
  69. data/lib/amp-html/configuration/help.rb +0 -11
  70. data/lib/amp-html/helpers/docs/README.md +0 -98
  71. data/lib/amp-html/helpers/docs/amp.md +0 -0
  72. data/lib/amp-html/helpers/docs/amp_ad.md +0 -86
  73. data/lib/amp-html/helpers/docs/amp_analytics.md +0 -76
  74. data/lib/amp-html/helpers/docs/amp_anim.md +0 -68
  75. data/lib/amp-html/helpers/docs/amp_audio.md +0 -54
  76. data/lib/amp-html/helpers/docs/amp_auto_ads.md +0 -43
  77. data/lib/amp-html/helpers/docs/amp_close_user_notification_button.md +0 -0
  78. data/lib/amp-html/helpers/docs/amp_css.md +0 -37
  79. data/lib/amp-html/helpers/docs/amp_css_link.md +0 -0
  80. data/lib/amp-html/helpers/docs/amp_custom_ad.md +0 -0
  81. data/lib/amp-html/helpers/docs/amp_document_link.md +0 -0
  82. data/lib/amp-html/helpers/docs/amp_embed.md +0 -86
  83. data/lib/amp-html/helpers/docs/amp_facebook.md +0 -70
  84. data/lib/amp-html/helpers/docs/amp_fallback.md +0 -47
  85. data/lib/amp-html/helpers/docs/amp_font.md +0 -0
  86. data/lib/amp-html/helpers/docs/amp_font_link.md +0 -0
  87. data/lib/amp-html/helpers/docs/amp_form.md +0 -0
  88. data/lib/amp-html/helpers/docs/amp_form_response.md +0 -0
  89. data/lib/amp-html/helpers/docs/amp_gfycat.md +0 -0
  90. data/lib/amp-html/helpers/docs/amp_global_css.md +0 -0
  91. data/lib/amp-html/helpers/docs/amp_google_analytics.md +0 -0
  92. data/lib/amp-html/helpers/docs/amp_google_font.md +0 -0
  93. data/lib/amp-html/helpers/docs/amp_head.md +0 -0
  94. data/lib/amp-html/helpers/docs/amp_html_doctype.md +0 -0
  95. data/lib/amp-html/helpers/docs/amp_iframe.md +0 -0
  96. data/lib/amp-html/helpers/docs/amp_image.md +0 -0
  97. data/lib/amp-html/helpers/docs/amp_input.md +0 -0
  98. data/lib/amp-html/helpers/docs/amp_instagram.md +0 -0
  99. data/lib/amp-html/helpers/docs/amp_js.md +0 -0
  100. data/lib/amp-html/helpers/docs/amp_link.md +0 -0
  101. data/lib/amp-html/helpers/docs/amp_list.md +0 -0
  102. data/lib/amp-html/helpers/docs/amp_live_list.md +0 -0
  103. data/lib/amp-html/helpers/docs/amp_live_list_items.md +0 -0
  104. data/lib/amp-html/helpers/docs/amp_live_list_pagination.md +0 -0
  105. data/lib/amp-html/helpers/docs/amp_live_list_update.md +0 -0
  106. data/lib/amp-html/helpers/docs/amp_mustache.md +0 -0
  107. data/lib/amp-html/helpers/docs/amp_pin_it.md +0 -0
  108. data/lib/amp-html/helpers/docs/amp_pin_widget.md +0 -0
  109. data/lib/amp-html/helpers/docs/amp_pinterest_follow.md +0 -0
  110. data/lib/amp-html/helpers/docs/amp_pixel.md +0 -0
  111. data/lib/amp-html/helpers/docs/amp_placeholder.md +0 -0
  112. data/lib/amp-html/helpers/docs/amp_reddit.md +0 -0
  113. data/lib/amp-html/helpers/docs/amp_resources.md +0 -0
  114. data/lib/amp-html/helpers/docs/amp_selector.md +0 -0
  115. data/lib/amp-html/helpers/docs/amp_serviceworker.md +0 -0
  116. data/lib/amp-html/helpers/docs/amp_social_share.md +0 -0
  117. data/lib/amp-html/helpers/docs/amp_soundcloud.md +0 -0
  118. data/lib/amp-html/helpers/docs/amp_twitter.md +0 -0
  119. data/lib/amp-html/helpers/docs/amp_user_notification.md +0 -0
  120. data/lib/amp-html/helpers/docs/amp_video.md +0 -0
  121. data/lib/amp-html/helpers/docs/amp_video_ad.md +0 -0
  122. data/lib/amp-html/helpers/docs/amp_vine.md +0 -0
  123. data/lib/amp-html/helpers/docs/amp_youtube.md +0 -0
  124. data/lib/amp-html/helpers/docs/audio_tag.md +0 -0
  125. data/lib/amp-html/helpers/docs/canonical_document_link.md +0 -0
  126. data/lib/amp-html/helpers/docs/form_tag.md +0 -0
  127. data/lib/amp-html/helpers/docs/image_tag.md +0 -0
  128. data/lib/amp-html/helpers/docs/input_tag.md +0 -0
  129. data/lib/amp-html/helpers/docs/javascript_include_tag.md +0 -0
  130. data/lib/amp-html/helpers/docs/noscript_tag.md +0 -0
  131. data/lib/amp-html/helpers/docs/schema_tag.md +0 -0
  132. data/lib/amp-html/helpers/docs/stylesheet_link_tag.md +0 -0
  133. data/lib/amp-html/helpers/docs/video_tag.md +0 -0
  134. data/lib/amp-html/helpers/help.rb +0 -23
  135. data/lib/amp-html/root.rb +0 -7
  136. data/lib/amp-html/test.rb +0 -169
  137. data/lib/amp-html/test/help.rb +0 -11
  138. data/lib/amp-html/test/templates/README.md +0 -43
  139. data/lib/amp-html/test/templates/css/!important.md +0 -1
  140. data/lib/amp-html/test/templates/css/-amp-.md +0 -1
  141. data/lib/amp-html/test/templates/css/-moz-binding.md +0 -1
  142. data/lib/amp-html/test/templates/css/@import.md +0 -1
  143. data/lib/amp-html/test/templates/css/behavior.md +0 -1
  144. data/lib/amp-html/test/templates/css/filter.md +0 -1
  145. data/lib/amp-html/test/templates/css/i-amp-.md +0 -1
  146. data/lib/amp-html/test/templates/css/overflow.md +0 -1
  147. data/lib/amp-html/test/templates/html/applet.md +0 -1
  148. data/lib/amp-html/test/templates/html/audio.md +0 -1
  149. data/lib/amp-html/test/templates/html/base.md +0 -1
  150. data/lib/amp-html/test/templates/html/embed.md +0 -1
  151. data/lib/amp-html/test/templates/html/frame.md +0 -1
  152. data/lib/amp-html/test/templates/html/frameset.md +0 -1
  153. data/lib/amp-html/test/templates/html/http-equiv.md +0 -1
  154. data/lib/amp-html/test/templates/html/iframe.md +0 -1
  155. data/lib/amp-html/test/templates/html/img.md +0 -1
  156. data/lib/amp-html/test/templates/html/javascript_include_tag.md +0 -1
  157. data/lib/amp-html/test/templates/html/object.md +0 -1
  158. data/lib/amp-html/test/templates/html/onclick.md +0 -1
  159. data/lib/amp-html/test/templates/html/onmousehover.md +0 -1
  160. data/lib/amp-html/test/templates/html/param.md +0 -1
  161. data/lib/amp-html/test/templates/html/stylesheet_link_tag.md +0 -1
  162. data/lib/amp-html/test/templates/html/video.md +0 -1
  163. data/lib/amp-html/test/templates/markup/!doctype.md +0 -1
  164. data/lib/amp-html/test/templates/markup/amp_document_link.md +0 -1
  165. data/lib/amp-html/test/templates/markup/amp_head.md +0 -1
  166. data/lib/amp-html/test/templates/markup/amp_html_doctype.md +0 -1
  167. data/lib/amp-html/test/templates/markup/canonical_document_link.md +0 -1
  168. data/lib/amp-html/test/templates/markup/head_body.md +0 -1
  169. data/lib/amp-html/test/templates/markup/html.md +0 -1
  170. data/lib/amp-html/test/templates/markup/meta_viewport.md +0 -1
  171. data/lib/amp-html/validate.rb +0 -46
  172. data/lib/amp-html/validate/help.rb +0 -11
  173. data/lib/amp-html/validate/templates/README.md +0 -32
  174. data/lib/generators/amp_html/assets_generator.rb +0 -31
  175. data/lib/generators/amp_html/bundle_generator.rb +0 -50
  176. data/lib/generators/amp_html/components_generator.rb +0 -84
  177. data/lib/generators/amp_html/helpers_generator.rb +0 -32
  178. data/lib/generators/amp_html/install_generator.rb +0 -53
  179. data/lib/generators/amp_html/views_generator.rb +0 -62
  180. data/lib/generators/templates/assets/README.md +0 -0
  181. data/lib/generators/templates/components/README.md +0 -0
  182. data/lib/generators/templates/components/views/_components.html.erb +0 -141
  183. data/lib/generators/templates/components/views/_google_analytics.html.erb +0 -23
  184. data/lib/generators/templates/helpers/README.md +0 -0
  185. data/lib/generators/templates/helpers/amp/fallback_tag_helper.rb +0 -16
  186. data/lib/generators/templates/helpers/amp/font_tag_helper.rb +0 -37
  187. data/lib/generators/templates/helpers/amp/link_tag_helper.rb +0 -11
  188. data/lib/generators/templates/helpers/amp/mustache_tag_helper.rb +0 -13
  189. data/lib/generators/templates/helpers/amp/noscript_tag_helper.rb +0 -13
  190. data/lib/generators/templates/helpers/amp/placeholder_tag_helper.rb +0 -16
  191. data/lib/generators/templates/helpers/amp/schema_tag_helper.rb +0 -16
  192. data/lib/generators/templates/helpers/amp/stylesheets_tag_helper.rb +0 -21
  193. data/lib/generators/templates/helpers/amp_tag_helper.rb.erb +0 -65
  194. data/lib/generators/templates/helpers/asset_tag_helper.rb.erb +0 -119
  195. data/lib/generators/templates/helpers/form_tag_helper.rb.erb +0 -79
  196. data/lib/generators/templates/install/README.md +0 -0
  197. data/lib/generators/templates/install/amp-html.rb.erb +0 -19
  198. data/lib/generators/templates/install/amp-html.yml.erb +0 -189
  199. data/lib/generators/templates/views/README.md +0 -0
  200. data/lib/generators/templates/views/application.html.erb +0 -71
  201. data/lib/generators/templates/views/application/_head.html.erb +0 -47
  202. data/lib/generators/templates/views/application/_resources.html.erb +0 -16
  203. data/lib/generators/templates/views/application/_schema.html.erb +0 -6
  204. data/lib/generators/templates/views/config/mime_types.rb +0 -8
@@ -1,130 +0,0 @@
1
-
2
- # [Components](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs) / Social BETA
3
-
4
-
5
- ## Information
6
-
7
- The AMP-HTML Social Component allows to embed content of various social-platforms and more in an AMP document.
8
-
9
- ---
10
-
11
- ### Quick info
12
-
13
- #### Latest component release: 0.7.0 (Pre-release) - 2017-03-21
14
-
15
- [**Changelog for version 0.7.0**](https://github.com/slooob/amp-html/blob/master/CHANGELOG.md#070-pre-release---2017-03-21)
16
-
17
- #### Requirements
18
-
19
- The Social Component does not depend on any other components.
20
-
21
- #### Dependents
22
-
23
- No other components depend on the Social Component.
24
-
25
- #### [DeepIntegration](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs#deepintegration-components): Enabled
26
-
27
- #### [Availability](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs#availability-of-components): Installable
28
-
29
- ---
30
-
31
- ## Installation
32
-
33
- Run in the command line:
34
-
35
- amp-html install social
36
-
37
- Now you are ready to use the Social Component.
38
-
39
- To learn more about this component, without opening the documentation, run:
40
-
41
- amp-html component social
42
-
43
-
44
- ## Configuration
45
-
46
- The Social Component allows you to specify a default provider for your app.
47
-
48
- In your AMP-HTML configuration (`config/amp-html.yml`) search for the section of the Social Component.
49
-
50
- There you can set your default network like so:
51
-
52
- default_provider: twitter
53
-
54
- You can always override this provider default by passing a different provider to your social integration in your view.
55
-
56
- A list of all by AMP preconfigured providers: https://github.com/ampproject/amp-html/blob/master/extensions/amp-social-share/0.1/amp-social-share-config.js
57
-
58
- To use a provider that is not preconfigured by AMP, specify the default_data_share_endpoint:
59
-
60
- default_provider: whatsapp
61
- default_data_share_endpoint: whatsapp://send
62
-
63
-
64
- ## Usage
65
-
66
- **The AMP-HTML Social Component introduces a lot of seperate helpers. To take a look at the functionality of each of them, take a look at their references, lnked below.**
67
-
68
- ### Examples: Embed a Tweet
69
-
70
- You can embed a tweet like so:
71
-
72
- <%= amp_twitter(tweet_id) %>
73
- <%= amp_twitter("585110598171631616", width: 486, height: 657, data: { cards: "hidden" }) %>
74
-
75
- It also takes a block:
76
-
77
- <%= amp_twitter("585110598171631616", width: 486, height: 657, data: { cards: "hidden" }) do %>
78
- <%= amp_placeholder("blockquote", class: "twitter-tweet" data: { lang: "en" }) do %>
79
- <p lang="en" dir="ltr">The story how I became what some people would call a frontend engineer and an exploration into what that even means<a href="https://t.co/HrVz4cGMWG">https://t.co/HrVz4cGMWG</a></p>&mdash; Malte Ubl (@cramforce) <a href="https://twitter.com/cramforce/status/585110598171631616">April 6, 2015</a>
80
- <% end %>
81
- <% end %>
82
-
83
- Learn more about the `amp_twitter` helper in the dedicated reference linked below.
84
-
85
- **References:** [`amp_placeholder`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_placeholder.md)
86
-
87
- ### Examples: Social Share
88
-
89
- It is that easy to create a social share button:
90
-
91
- <%= amp_social_share(type) %>
92
- <%= amp_social_share("twitter") %>
93
-
94
- It assumes that the current document canonical url is the URL you want to share and the page title is the text you want to share.
95
-
96
- When you want to pass parameters to the share endpoint, you can specify `data-param-<attribute>` that will be appended to the share endpoint.
97
-
98
- <%= amp_social_share("linkedin", width: "60", height: "44", data: { param: { text: "Hello world", url: "https://railsamp.com/" } }) %>
99
-
100
- If the provider is not preconfigured ([preconfigured providers](https://github.com/ampproject/amp-html/blob/master/extensions/amp-social-share/0.1/amp-social-share-config.js)):
101
-
102
- <%= amp_social_share("whatsapp", width: "60", height: "44", data: { share: { endpoint: "whatsapp://send" } param: { text: "Check out this article: TITLE - CANONICAL_URL" } }) %>
103
-
104
- It also takes a block:
105
-
106
- <%= amp_social_share("whatsapp", width: "60", height: "44", data: { share: { endpoint: "whatsapp://send" } param: { text: "Check out this article: TITLE - CANONICAL_URL" } }) do %>
107
- Share on Whatsapp
108
- <% end %>
109
-
110
- Learn more about the `amp_social_share` helper in the dedicated reference linked below.
111
-
112
- **References:** [AMP HTML URL Variable Substitutions](https://github.com/ampproject/amp-html/blob/master/spec/amp-var-substitutions.md)
113
-
114
-
115
- ### Helpers
116
-
117
- The following helpers are usable with the Social Component of AMP-HTML
118
-
119
- * [`amp_twitter`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_twitter.md)
120
- * [`amp_instagram`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_instagram.md)
121
- * [`amp_facebook`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_facebook.md)
122
- * [`amp_youtube`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_youtube.md)
123
- * [`amp_reddit`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_reddit.md)
124
- * [`amp_social_share`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_social_share.md)
125
- * [`amp_soundcloud`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_soundcloud.md)
126
- * [`amp_vine`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_vine.md)
127
- * [`amp_gfycat`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_gfycat.md)
128
- * [`amp_pin_it`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pin_it.md)
129
- * [`amp_pin_widget`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pin_widget.md)
130
- * [`amp_pinterest_follow`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pinterest_follow.md)
@@ -1,50 +0,0 @@
1
-
2
- # [Components](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs) / Stylesheets
3
-
4
-
5
- ## Information
6
-
7
- The AMP-HTML Stylesheets Component allows the use of stylesheets in AMP documents.
8
-
9
- ---
10
-
11
- ### Quick info
12
-
13
- #### Latest component release: 0.6.1 (Pre-release) - 2017-03-19
14
-
15
- [**Changelog for version 0.6.1**](https://github.com/slooob/amp-html/blob/master/CHANGELOG.md#061-pre-release---2017-03-19)
16
-
17
- #### Requirements
18
-
19
- The Stylesheets Component does not depend on any other components.
20
-
21
- #### Dependents
22
-
23
- No other components depend on the Stylesheets Component.
24
-
25
- #### [DeepIntegration](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs#deepintegration-components): Disabled
26
-
27
- #### [Availability](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs#availability-of-components): Build-in
28
-
29
- ---
30
-
31
- ## Usage
32
-
33
- By default every stylesheet (`.scss`) file inside of your `app/assets/stylesheets/amp` (depending on your AMP-HTML configuration) directory is included in your application layout.
34
-
35
- You can include some view specific styles utilizing the `amp_css` helper in your `<head>` tag:
36
-
37
- <%= amp_css do %>
38
- /* Your CSS here */
39
- <% end %>
40
-
41
- For a detailed reference on the `amp_css` helper, follow the link below.
42
-
43
-
44
- ### Helpers
45
-
46
- The following helpers are usable with the Stylesheets Component of AMP-HTML
47
-
48
- * [`amp_css`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_css.md)
49
- * [`amp_css_link` (in development)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_css_link.md)
50
- * [`amp_global_css` (deprecated)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_global_css.md)
@@ -1,19 +0,0 @@
1
- module AmpHtml
2
- module Components
3
- class Help
4
-
5
- def self.all
6
- puts IO.read File.join AmpHtml.root, 'amp-html', 'components', 'docs', 'README.md'
7
- end
8
-
9
- def self.component name
10
- begin
11
- puts IO.read File.join AmpHtml.root, 'amp-html', 'components', 'docs', "#{name}.md"
12
- rescue Exception
13
- warn 'Component is not available'
14
- end
15
- end
16
-
17
- end
18
- end
19
- end
@@ -1,34 +0,0 @@
1
- module AmpHtml
2
- module Components
3
-
4
- COMPONENTS = ['analytics', 'iframe', 'notifications', 'anim', 'ad', 'social', 'javascript', 'service_worker', 'lists']
5
-
6
- class Install
7
-
8
- def self.bundle
9
- success1 = system "rails g amp_html:components#{ ' -s' if AmpHtml.split_view }#{ ' -f ' + AmpHtml.raw_format if AmpHtml.raw_format }#{ ' --analytics' if AmpHtml.components && AmpHtml.components.include?('analytics') || AmpHtml.components && AmpHtml.components.include?('notifications') }#{ ' --iframe' if AmpHtml.components && AmpHtml.components.include?('iframe') || AmpHtml.components && AmpHtml.components.include?('javascript') || AmpHtml.components && AmpHtml.components.include?('service_worker') }#{' --notifications' if AmpHtml.components && AmpHtml.components.include?('notifications') }#{ ' --anim' if AmpHtml.components && AmpHtml.components.include?('anim') }#{ ' --ad' if AmpHtml.components && AmpHtml.components.include?('ad') }#{ ' --social' if AmpHtml.components && AmpHtml.components.include?('social') }#{ ' --javascript' if (AmpHtml.components && AmpHtml.components.include?('javascript')) }#{ ' --service_worker' if (AmpHtml.components && AmpHtml.components.include?('service_worker')) }#{ ' --lists' if (AmpHtml.components && AmpHtml.components.include?('lists')) }"
10
- success2 = system "rails g amp_html:install --only_initializer#{ ' --javascript' if (AmpHtml.components && AmpHtml.components.include?('javascript')) }"
11
- if success1 && success2
12
- puts IO.read File.join AmpHtml.root, 'amp-html', 'components', 'templates', 'README.md'
13
- else
14
- puts IO.read File.join AmpHtml.root, 'amp-html', 'components', 'templates', 'ERROR.md'
15
- end
16
- end
17
-
18
- def self.install component
19
- if COMPONENTS.include? component
20
- success1 = system "rails g amp_html:install#{ ' -s' if AmpHtml.split_view }#{ ' -f ' + AmpHtml.raw_format if AmpHtml.raw_format }#{ ' --analytics' if (AmpHtml.components && AmpHtml.components.include?('analytics')) || AmpHtml.components && AmpHtml.components.include?('notifications') || component == 'analytics' || component == 'notifications' }#{ ' --iframe' if (AmpHtml.components && AmpHtml.components.include?('iframe')) || AmpHtml.components && AmpHtml.components.include?('javascript') || AmpHtml.components && AmpHtml.components.include?('service_worker') || component == 'iframe' || component == 'javascript' || component == 'service_worker' }#{' --notifications' if (AmpHtml.components && AmpHtml.components.include?('notifications')) || component == 'notifications' }#{ ' --anim' if (AmpHtml.components && AmpHtml.components.include?('anim')) || component == 'anim' }#{ ' --ad' if (AmpHtml.components && AmpHtml.components.include?('ad')) || component == 'ad' }#{ ' --social' if (AmpHtml.components && AmpHtml.components.include?('social')) || component == 'social' }#{ ' --javascript' if (AmpHtml.components && AmpHtml.components.include?('javascript')) || component == 'javascript' }#{ ' --service_worker' if (AmpHtml.components && AmpHtml.components.include?('service_worker')) || component == 'service_worker' }#{ ' --lists' if (AmpHtml.components && AmpHtml.components.include?('lists')) || component == 'lists' }"
21
- success2 = system "rails g amp_html:components#{ ' -s' if AmpHtml.split_view }#{ ' -f ' + AmpHtml.raw_format if AmpHtml.raw_format }#{ ' --analytics' if (AmpHtml.components && AmpHtml.components.include?('analytics')) || AmpHtml.components && AmpHtml.components.include?('notifications') || component == 'analytics' || component == 'notifications' }#{ ' --iframe' if (AmpHtml.components && AmpHtml.components.include?('iframe')) || AmpHtml.components && AmpHtml.components.include?('javascript') || AmpHtml.components && AmpHtml.components.include?('service_worker') || component == 'iframe' || component == 'javascript' || component == 'service_worker' }#{' --notifications' if (AmpHtml.components && AmpHtml.components.include?('notifications')) || component == 'notifications' }#{ ' --anim' if (AmpHtml.components && AmpHtml.components.include?('anim')) || component == 'anim' }#{ ' --ad' if (AmpHtml.components && AmpHtml.components.include?('ad')) || component == 'ad' }#{ ' --social' if (AmpHtml.components && AmpHtml.components.include?('social')) || component == 'social' }#{ ' --javascript' if (AmpHtml.components && AmpHtml.components.include?('javascript')) || component == 'javascript' }#{ ' --service_worker' if (AmpHtml.components && AmpHtml.components.include?('service_worker')) || component == 'service_worker' }#{ ' --lists' if (AmpHtml.components && AmpHtml.components.include?('lists')) || component == 'lists' }"
22
- success3 = system "rails g amp_html:views --only_resources#{ ' --javascript' if (AmpHtml.components && AmpHtml.components.include?('javascript')) || component == 'javascript' }"
23
- if success1 && success2 && success3
24
- puts "Successfully installed '#{component}' component!"
25
- puts IO.read File.join AmpHtml.root, 'amp-html', 'components', 'templates', 'README.md'
26
- else
27
- puts IO.read File.join AmpHtml.root, 'amp-html', 'components', 'templates', 'ERROR.md'
28
- end
29
- end
30
- end
31
-
32
- end
33
- end
34
- end
@@ -1,5 +0,0 @@
1
- **An error occurred while installing AMP-HTML components**
2
-
3
- ---
4
-
5
- Please visit "https://github.com/slooob/amp-html/issues" to report a bug.
@@ -1,12 +0,0 @@
1
-
2
- **Your installation of AMP-HTML components completed successfully!**
3
-
4
- You can now use the components specified in `config/amp-html.yml`.
5
-
6
- ---
7
-
8
- Learn more about AMP-HTML components: https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs
9
-
10
- Get help: https://github.com/slooob/amp-html/issues
11
-
12
- View guides: https://github.com/slooob/amp-html/wiki/Guides
File without changes
@@ -1,11 +0,0 @@
1
- module AmpHtml
2
- module Configuration
3
- class Help
4
-
5
- def self.all
6
- puts IO.read File.join AmpHtml.root, 'amp-html', 'configuration', 'docs', 'README.md'
7
- end
8
-
9
- end
10
- end
11
- end
@@ -1,98 +0,0 @@
1
-
2
- # AMP-HTML Helpers
3
-
4
-
5
- ## About Helpers
6
-
7
- AMP-HTML helpers are an easy way to use AMP specific tags and features in your Ruby on Rails views.
8
-
9
- ### Takes a block?
10
-
11
- Some helpers can "take a block", others cannot. If a helper can take a block, you can wrap it around of some other code-snippet:
12
-
13
- <%= i_am_a_wrapper do %>
14
- <%= i_am_inside_of_a_block %>
15
- <% end %>
16
-
17
- ### DeepIntegration Helpers
18
-
19
- DeepIntegration helpers are parts of a [DeepIntegration component](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs#deepintegration-components).
20
-
21
- ### Availability of Helpers
22
-
23
- The availability of helpers summarizes whether a helper is included in the vanilla version of AMP-HTML or if it needs to be installed as a part of a [component](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs) in order to get used.
24
-
25
- ---
26
-
27
- ## Helpers Reference
28
-
29
- Take a look at the references of the helpers of AMP-HTML.
30
-
31
- ### Built-in
32
-
33
- * [`amp_audio` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_audio.md)
34
- * [`amp_css`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_css.md)
35
- * [`amp_css_link` (in development)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_css_link.md)
36
- * [`amp_document_link` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_document_link.md)
37
- * [`amp_fallback` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_fallback.md)
38
- * [`amp_font_link` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_font_link.md)
39
- * [`amp_form_response` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_form_response.md)
40
- * [`amp_form` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_form.md)
41
- * [`amp_global_css` (deprecated)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_global_css.md)
42
- * [`amp_google_font` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_google_font.md)
43
- * [`amp_head`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_head.md)
44
- * [`amp_html_doctype`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_html_doctype.md)
45
- * [`amp_image` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_image.md)
46
- * [`amp_input` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_input.md)
47
- * [`amp_link` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_link.md)
48
- * [`amp_placeholder` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_placeholder.md)
49
- * [`amp_resources` (deprecated)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_resources.md)
50
- * [`amp_selector` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_selector.md)
51
- * [`amp_serviceworker` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_serviceworker.md)
52
- * [`amp_video` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_video.md)
53
- * [`amp?` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp.md)
54
- * [`audio_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/audio_tag.md)
55
- * [`canonical_document_link` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/canonical_document_link.md)
56
- * [`form_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/form_tag.md)
57
- * [`image_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/image_tag.md)
58
- * [`input_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/input_tag.md)
59
- * [`javascript_include_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/javascript_include_tag.md)
60
- * [`noscript_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/noscript_tag.md)
61
- * [`schema_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/schema_tag.md)
62
- * [`stylesheet_link_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/stylesheet_link_tag.md)
63
- * [`video_tag`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/video_tag.md)
64
-
65
- ### Installable
66
-
67
- * [`amp_ad` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_ad.md)
68
- * [`amp_analytics` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_analytics.md)
69
- * [`amp_anim` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_anim.md)
70
- * [`amp_auto_ads` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_auto_ads.md)
71
- * [`amp_close_user_notification_button` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_close_user_notification_button.md)
72
- * [`amp_custom_ad` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_custom_ad.md)
73
- * [`amp_embed` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_embed.md)
74
- * [`amp_facebook` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_facebook.md)
75
- * [`amp_font` (in development)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_font.md)
76
- * [`amp_gfycat` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_gfycat.md)
77
- * [`amp_google_analytics` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_google_analytics.md)
78
- * [`amp_iframe` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_iframe.md)
79
- * [`amp_instagram` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_instagram.md)
80
- * [`amp_js` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_js.md)
81
- * [`amp_list` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_list.md)
82
- * [`amp_live_list_items` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_live_list_items.md)
83
- * [`amp_live_list_pagination` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_live_list_pagination.md)
84
- * [`amp_live_list_update` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_live_list_update.md)
85
- * [`amp_live_list` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_live_list.md)
86
- * [`amp_mustache` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_mustache.md)
87
- * [`amp_pin_it` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pin_it.md)
88
- * [`amp_pin_widget` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pin_widget.md)
89
- * [`amp_pinterest_follow` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pinterest_follow.md)
90
- * [`amp_pixel` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_pixel.md)
91
- * [`amp_reddit` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_reddit.md)
92
- * [`amp_social_share` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_social_share.md)
93
- * [`amp_soundcloud` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_soundcloud.md)
94
- * [`amp_twitter` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_twitter.md)
95
- * [`amp_user_notification` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_user_notification.md)
96
- * [`amp_video_ad` (in development)](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_video_ad.md)
97
- * [`amp_vine` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_vine.md)
98
- * [`amp_youtube` BETA](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_youtube.md)
File without changes
@@ -1,86 +0,0 @@
1
-
2
- # [Helpers](https://github.com/slooob/amp-html/tree/master/lib/amp-html/helpers/docs#amp-html-helpers) / `amp_ad`
3
-
4
-
5
- ## Information
6
-
7
- `amp_ad` allows to easily embed ads with AMP, not hurting performance.
8
-
9
- ---
10
-
11
- ### Quick info
12
-
13
- #### Latest update: 0.5.4 (Pre-release) - 2017-03-19
14
-
15
- [**Changelog for version 0.5.4**](https://github.com/slooob/amp-html/blob/master/CHANGELOG.md#054-pre-release---2017-03-19)
16
-
17
- #### [DeepIntegration](https://github.com/slooob/amp-html/tree/master/lib/amp-html/helpers/docs#deepintegration-helpers): Enabled
18
-
19
- #### [Availability](https://github.com/slooob/amp-html/tree/master/lib/amp-html/helpers/docs#availability-of-helpers): Installable with the [Advertisements Component](https://github.com/slooob/amp-html/tree/master/lib/amp-html/components/docs/ad.md)
20
-
21
- #### [Takes a block?](https://github.com/slooob/amp-html/tree/master/lib/amp-html/helpers/docs#takes-a-block): Yes
22
-
23
- ---
24
-
25
- ## General
26
-
27
- ### Reference
28
-
29
- [**AMP Reference**](https://www.ampproject.org/docs/reference/components/ads/amp-ad)
30
-
31
- #### Required Parameters
32
-
33
- * `network` (if not set in the AMP-HTML configuration)
34
- * `size` (or `width` & `height`)
35
-
36
- #### Structure
37
-
38
- <%= amp_ad(network, options) %>
39
- # <amp-ad type=network layout="responsive"></amp-ad>
40
-
41
- **Note:** `layout` defaults to `responsive` if not explicitly permitted.
42
-
43
-
44
- ## Examples
45
-
46
- Setting width & height:
47
-
48
- <%= amp_ad("a9", width: 400, height: 300) %>
49
- <%= amp_ad("a9", size: "400x300") %>
50
- # <amp-ad type="a9" layout="responsive" width=400 height=300></amp-ad>
51
-
52
- Creating a sticky ad at the bottom of the viewport:
53
-
54
- <%= amp_ad("a9", sticky: true) %>
55
- # <amp-sticky-ad layout="nodisplay">
56
- # <amp-ad type="a9" layout="responsive"></amp-ad>
57
- # </amp-sticky-ad>
58
-
59
- Setting a placeholder:
60
-
61
- <%= amp_ad("a9", placeholder: "my-ad-screencap.jpg") %>
62
- # <amp-ad type="a9" layout="responsive">
63
- # <amp-img placeholder src="my-ad-screencap.jpg"></amp-img>
64
- # </amp-ad>
65
-
66
- Setting a fallback:
67
-
68
- <%= amp_ad("a9", fallback: "my-ad-screencap.jpg") %>
69
- # <amp-ad type="a9" layout="responsive">
70
- # <amp-img fallback src="my-ad-screencap.jpg"></amp-img>
71
- # </amp-ad>
72
-
73
- **Note:** Currently you can only pass `sticky` **or** `placeholder` **or** `fallback` as an option.
74
-
75
- `amp_ad` also takes a block:
76
-
77
- <%= amp_ad("a9", options) do %>
78
- <%= amp_placeholder("amp-img", src: "my-ad-screencap.jpg") %>
79
- <%= amp_fallback("amp-img", src: "my-ad-screencap.jpg") %>
80
- <% end %>
81
- # <amp-ad type="a9" layout="responsive">
82
- # <amp-img placeholder src="my-ad-screencap.jpg"></amp-img>
83
- # <amp-img fallback src="my-ad-screencap.jpg"></amp-img>
84
- # </amp-ad>
85
-
86
- **References:** [`amp_placeholder`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_placeholder.md), [`amp_fallback`](https://github.com/slooob/amp-html/blob/master/lib/amp-html/helpers/docs/amp_fallback.md)