skypager 0.1.2 → 0.2.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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -11
  3. data/bin/skypager +16 -10
  4. data/lib/skypager.rb +1 -69
  5. data/lib/skypager/cli.rb +14 -0
  6. data/lib/skypager/cli/01_extensions.rb +25 -0
  7. data/lib/skypager/cli/config.rb +41 -0
  8. data/lib/skypager/proxy.rb +0 -10
  9. data/lib/skypager/version.rb +1 -1
  10. data/skypager.gemspec +1 -15
  11. metadata +9 -216
  12. data/ARCHITECTURE.md +0 -34
  13. data/CONTRIBUTING.md +0 -7
  14. data/LICENSE.txt +0 -22
  15. data/bin/bootstrap.sh +0 -29
  16. data/examples/.gitignore +0 -4
  17. data/examples/blog-site/.gitignore +0 -18
  18. data/examples/blog-site/.pryrc +0 -4
  19. data/examples/blog-site/Gemfile +0 -8
  20. data/examples/blog-site/config.rb +0 -17
  21. data/examples/blog-site/data/dropbox.json +0 -1
  22. data/examples/blog-site/source/images/background.png +0 -0
  23. data/examples/blog-site/source/images/middleman.png +0 -0
  24. data/examples/blog-site/source/index.html.erb +0 -10
  25. data/examples/blog-site/source/javascripts/all.js +0 -1
  26. data/examples/blog-site/source/layouts/layout.erb +0 -19
  27. data/examples/blog-site/source/posts/introduction-to-skypager.html.md +0 -23
  28. data/examples/blog-site/source/posts/skypager-and-dnsimple-and-amazon-web-services-combo.html.md +0 -9
  29. data/examples/blog-site/source/stylesheets/all.css +0 -55
  30. data/examples/blog-site/source/stylesheets/normalize.css +0 -375
  31. data/examples/gallery-site/.gitignore +0 -18
  32. data/examples/gallery-site/.pryrc +0 -4
  33. data/examples/gallery-site/Gemfile +0 -11
  34. data/examples/gallery-site/config.rb +0 -38
  35. data/examples/gallery-site/data/dropbox.json +0 -1
  36. data/examples/gallery-site/data/galleries.json +0 -1
  37. data/examples/gallery-site/source/gallery.html.erb +0 -7
  38. data/examples/gallery-site/source/images/background.png +0 -0
  39. data/examples/gallery-site/source/images/galleries/cristian-gallery-1/001.jpg +0 -0
  40. data/examples/gallery-site/source/images/galleries/cristian-gallery-1/002.jpg +0 -0
  41. data/examples/gallery-site/source/images/galleries/cristian-gallery-1/003.jpg +0 -0
  42. data/examples/gallery-site/source/images/galleries/cristian-gallery-1/004.jpg +0 -0
  43. data/examples/gallery-site/source/images/galleries/luca-gallery-1/001.jpg +0 -0
  44. data/examples/gallery-site/source/images/galleries/luca-gallery-1/002.JPG +0 -0
  45. data/examples/gallery-site/source/images/galleries/luca-gallery-1/003.jpg +0 -0
  46. data/examples/gallery-site/source/images/galleries/luca-gallery-1/004.JPG +0 -0
  47. data/examples/gallery-site/source/images/middleman.png +0 -0
  48. data/examples/gallery-site/source/index.html.erb +0 -10
  49. data/examples/gallery-site/source/javascripts/all.js +0 -1
  50. data/examples/gallery-site/source/layouts/layout.erb +0 -20
  51. data/examples/gallery-site/source/stylesheets/all.css +0 -0
  52. data/examples/gallery-site/source/stylesheets/normalize.css +0 -375
  53. data/examples/gallery-site/source/tutorial.md +0 -151
  54. data/lib/skypager/builder.rb +0 -158
  55. data/lib/skypager/cli/commands/build.rb +0 -64
  56. data/lib/skypager/cli/commands/config.rb +0 -58
  57. data/lib/skypager/cli/commands/create.rb +0 -98
  58. data/lib/skypager/cli/commands/deploy.rb +0 -62
  59. data/lib/skypager/cli/commands/edit.rb +0 -32
  60. data/lib/skypager/cli/commands/list.rb +0 -12
  61. data/lib/skypager/cli/commands/setup.rb +0 -153
  62. data/lib/skypager/cli/commands/site.rb +0 -22
  63. data/lib/skypager/cli/commands/sync.rb +0 -20
  64. data/lib/skypager/data.rb +0 -8
  65. data/lib/skypager/data/excel_spreadsheet.rb +0 -8
  66. data/lib/skypager/data/google_spreadsheet.rb +0 -227
  67. data/lib/skypager/data/request.rb +0 -12
  68. data/lib/skypager/data/source.rb +0 -194
  69. data/lib/skypager/data/source_routes_proxy.rb +0 -30
  70. data/lib/skypager/dns.rb +0 -69
  71. data/lib/skypager/extension.rb +0 -271
  72. data/lib/skypager/middleman/commands/data.rb +0 -0
  73. data/lib/skypager/middleman/commands/deploy.rb +0 -0
  74. data/lib/skypager/middleman/commands/sync.rb +0 -0
  75. data/lib/skypager/sync.rb +0 -23
  76. data/lib/skypager/sync/amazon.rb +0 -181
  77. data/lib/skypager/sync/dropbox.rb +0 -173
  78. data/lib/skypager/sync/dropbox/delta.rb +0 -67
  79. data/lib/skypager/sync/folder.rb +0 -266
  80. data/lib/skypager/sync/github.rb +0 -55
  81. data/lib/skypager/sync/google.rb +0 -143
  82. data/spec/dummy/site-one/.gitignore +0 -18
  83. data/spec/dummy/site-one/Gemfile +0 -14
  84. data/spec/dummy/site-one/config.rb +0 -13
  85. data/spec/dummy/site-one/source/images/background.png +0 -0
  86. data/spec/dummy/site-one/source/images/middleman.png +0 -0
  87. data/spec/dummy/site-one/source/index.html.erb +0 -10
  88. data/spec/dummy/site-one/source/javascripts/all.js +0 -1
  89. data/spec/dummy/site-one/source/layouts/layout.erb +0 -19
  90. data/spec/dummy/site-one/source/stylesheets/all.css +0 -55
  91. data/spec/dummy/site-one/source/stylesheets/normalize.css +0 -375
  92. data/spec/lib/skypager/builder/server_spec.rb +0 -5
  93. data/spec/lib/skypager/configuration_spec.rb +0 -12
  94. data/spec/lib/skypager/data_spec.rb +0 -5
  95. data/spec/lib/skypager/site_spec.rb +0 -44
  96. data/spec/lib/skypager_spec.rb +0 -9
  97. data/spec/skypager-test-config.rb.example +0 -22
  98. data/spec/spec_helper.rb +0 -49
  99. data/spec/support/fixtures/cwd_config.json +0 -3
  100. data/spec/support/fixtures/home_config.json +0 -1
  101. data/spec/support/json_helper.rb +0 -7
@@ -1,34 +0,0 @@
1
- ### Middleman Extension
2
-
3
- The middleman extension provides configuration to do things like
4
- declare mappings between dropbox folders and your local folders, or to
5
- define an external data source based on a google spreadsheet.
6
-
7
- the extension takes care of keeping everything in sync for you between
8
- builds, or more frequently in development
9
-
10
- ### Skypager CLI
11
-
12
- Creates new data sources, shared folders, etc. Walks you through
13
- setting up AWS, DNSimple, etc. Can be used to deploy.
14
-
15
- ### Skypager Site
16
-
17
- This represents a single middleman application which uses the skypager
18
- etension.
19
-
20
- ### Syncable Folders
21
-
22
- syncable folders (folders which are tied to external file hosting
23
- services, such as Dropbox or Google Drive)
24
-
25
- ### Data Sources
26
-
27
- data sources .external services such as Google Drive, or Dropox, will
28
- hold spreadsheets or csv files, which are basically just editable
29
- tables. These get pulled in to the `data` folder and stored as json
30
- files.
31
-
32
- middleman provides that json files stored in the data folder, will be
33
- available to the config.rb as well as the template helpers. this is
34
- how skypager data sources get used by the middleman project.
@@ -1,7 +0,0 @@
1
- ### To work on external integrations
2
-
3
- You will need to register a few apps with Dropbox, Google, and Github.
4
-
5
- You will need AWS credentials (secret access key, access key id)
6
-
7
- You will need a dnsimple username and api token.
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 Jonathan Soeder
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -eo pipefail
4
- export DEBIAN_FRONTEND=noninteractive
5
- export SKYPAGER_REPO=${SKYPAGER_REPO:-"https://github.com/architects/skypager.git"}
6
-
7
- if ! command -v apt-get &>/dev/null
8
- then
9
- echo "This installation script requires apt-get. For manual installation instructions, consult https://github.com/progrium/dokku ."
10
- exit 1
11
- fi
12
-
13
- apt-get update
14
- apt-get install -qq -y git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties
15
- apt-get install -qq -y git make curl software-properties-common man-db
16
-
17
- cd ~
18
- git clone git://github.com/sstephenson/rbenv.git .rbenv
19
- echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
20
- echo 'eval "$(rbenv init -)"' >> ~/.bashrc
21
- exec $SHELL
22
-
23
- git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
24
- echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
25
- exec $SHELL
26
-
27
- rbenv install 2.1.3
28
- rbenv global 2.1.3
29
- ruby -v
@@ -1,4 +0,0 @@
1
- skypager.json
2
- .DS_Store
3
- *.swp
4
- *.swo
@@ -1,18 +0,0 @@
1
- # See http://help.github.com/ignore-files/ for more about ignoring files.
2
- #
3
- # If you find yourself ignoring temporary files generated by your text editor
4
- # or operating system, you probably want to add a global ignore instead:
5
- # git config --global core.excludesfile ~/.gitignore_global
6
-
7
- # Ignore bundler config
8
- /.bundle
9
-
10
- # Ignore the build directory
11
- /build
12
-
13
- # Ignore cache
14
- /.sass-cache
15
- /.cache
16
-
17
- # Ignore .DS_store file
18
- .DS_Store
@@ -1,4 +0,0 @@
1
- require 'skypager'
2
-
3
- $skypager_command = true
4
- app = Skypager.app
@@ -1,8 +0,0 @@
1
- # If you do not have OpenSSL installed, update
2
- # the following line to use "http://" instead
3
- source 'https://rubygems.org'
4
-
5
- gem "middleman", "~>3.3.7"
6
- gem "skypager", github: "architects/skypager", branch: "master"
7
- gem "slim"
8
- gem "pry"
@@ -1,17 +0,0 @@
1
- set :css_dir, 'stylesheets'
2
- set :js_dir, 'javascripts'
3
- set :images_dir, 'images'
4
-
5
- activate :directory_indexes
6
-
7
- activate :skypager, :site_name => "blog-site"
8
-
9
- configure :build do
10
- activate :minify_css
11
- activate :minify_javascript
12
- activate :directory_indexes
13
- end
14
-
15
- deploy_to(:amazon, :custom_domain => 'soederpop.com', :use_cdn => true, :bucket_name => 'blog-site.skypager.io')
16
-
17
- dropbox_sync('source/posts', '/skypager-blog-posts')
@@ -1 +0,0 @@
1
- {"folders":{"source/posts":{"remote_path":"/skypager-blog-posts","local_path":"source/posts","type":"dropbox","cursor":"AAFebPtoQSguOg25pPEQIswvxHOJSfMbQKRN88X6_EW8mw7FztN_6lh_3IHV5Y-ao4RHd0JPyC07hRSeNQrXVmEmH1gQ5QY9xLr1NxX-uwLR5KWqamJtuhUjvhy5bxhuDontuiFNmAPkd0W4R0RJdNpX","site_name":"blog-site","folder":"source/posts"}}}
@@ -1,10 +0,0 @@
1
- ---
2
- title: Welcome to Middleman
3
- ---
4
-
5
- <div class="welcome">
6
- <h1>Middleman is Watching</h1>
7
- <p class="doc">
8
- <%= link_to "Read Online Documentation", "http://middlemanapp.com/" %>
9
- </p><!-- .doc -->
10
- </div><!-- .welcome -->
@@ -1 +0,0 @@
1
- //= require_tree .
@@ -1,19 +0,0 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
-
6
- <!-- Always force latest IE rendering engine or request Chrome Frame -->
7
- <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
8
-
9
- <!-- Use title if it's in the page YAML frontmatter -->
10
- <title><%= current_page.data.title || "The Middleman" %></title>
11
-
12
- <%= stylesheet_link_tag "normalize", "all" %>
13
- <%= javascript_include_tag "all" %>
14
- </head>
15
-
16
- <body class="<%= page_classes %>">
17
- <%= yield %>
18
- </body>
19
- </html>
@@ -1,23 +0,0 @@
1
- ---
2
- status: draft
3
- title: Introduction to Skypager
4
- tags:
5
- - gems
6
- - personal projects
7
- ---
8
-
9
- # Introduction to Skypager
10
-
11
- Skypager is a tool that I made which makes it extremely easy to launch
12
- websites which are backed by Amazon CloudFront as the CDN, and Amazon S3 for file storage.
13
-
14
- Skypager lets you use Dropbox, Google Drive, or Github as your shared
15
- file storage so you can collaborate with developers, designers, content
16
- editors, clients, or whoever using the same files. With Skypager's
17
- support for continuous deployment, you can have your site deployed
18
- instantly whenever anything changes in these systems.
19
-
20
- Skypager also lets you use spreadsheets or CSV files stored on either Google Drive or
21
- Dropbox to control the dynamic custom data that powers your website.
22
- Adding that new product to a storefront is as easy as adding a row in a
23
- spreadsheet.
@@ -1,9 +0,0 @@
1
- ---
2
- status: draft
3
- title: "Amazon Web Services and DNSimple: A killer combo"
4
- tags:
5
- - showing off
6
- - integrations
7
- ---
8
-
9
- Boom
@@ -1,55 +0,0 @@
1
- @charset "utf-8";
2
-
3
- body {
4
- background: #d4d4d4 url("../images/background.png");
5
- text-align: center;
6
- font-family: sans-serif; }
7
-
8
- h1 {
9
- color: rgba(0, 0, 0, .3);
10
- font-weight: bold;
11
- font-size: 32px;
12
- letter-spacing: -1px;
13
- text-transform: uppercase;
14
- text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
15
- background: url("../images/middleman.png") no-repeat center 100px;
16
- padding: 350px 0 10px;
17
- margin: 0; }
18
-
19
- .doc {
20
- font-size: 14px;
21
- margin: 0; }
22
- .doc:before,
23
- .doc:after {
24
- opacity: .2;
25
- padding: 6px;
26
- font-style: normal;
27
- position: relative;
28
- content: "•"; }
29
- .doc a {
30
- color: rgba(0, 0, 0, 0.3); }
31
- .doc a:hover {
32
- color: #666; }
33
-
34
- .welcome {
35
- -webkit-animation-name: welcome;
36
- -webkit-animation-duration: .9s; }
37
-
38
- @-webkit-keyframes welcome {
39
- from {
40
- -webkit-transform: scale(0);
41
- opacity: 0;
42
- }
43
- 50% {
44
- -webkit-transform: scale(0);
45
- opacity: 0;
46
- }
47
- 82.5% {
48
- -webkit-transform: scale(1.03);
49
- -webkit-animation-timing-function: ease-out;
50
- opacity: 1;
51
- }
52
- to {
53
- -webkit-transform: scale(1);
54
- }
55
- }
@@ -1,375 +0,0 @@
1
- /*! normalize.css v2.0.1 | MIT License | git.io/normalize */
2
-
3
- /* ==========================================================================
4
- HTML5 display definitions
5
- ========================================================================== */
6
-
7
- /*
8
- * Corrects `block` display not defined in IE 8/9.
9
- */
10
-
11
- article,
12
- aside,
13
- details,
14
- figcaption,
15
- figure,
16
- footer,
17
- header,
18
- hgroup,
19
- nav,
20
- section,
21
- summary {
22
- display: block;
23
- }
24
-
25
- /*
26
- * Corrects `inline-block` display not defined in IE 8/9.
27
- */
28
-
29
- audio,
30
- canvas,
31
- video {
32
- display: inline-block;
33
- }
34
-
35
- /*
36
- * Prevents modern browsers from displaying `audio` without controls.
37
- * Remove excess height in iOS 5 devices.
38
- */
39
-
40
- audio:not([controls]) {
41
- display: none;
42
- height: 0;
43
- }
44
-
45
- /*
46
- * Addresses styling for `hidden` attribute not present in IE 8/9.
47
- */
48
-
49
- [hidden] {
50
- display: none;
51
- }
52
-
53
- /* ==========================================================================
54
- Base
55
- ========================================================================== */
56
-
57
- /*
58
- * 1. Sets default font family to sans-serif.
59
- * 2. Prevents iOS text size adjust after orientation change, without disabling
60
- * user zoom.
61
- */
62
-
63
- html {
64
- font-family: sans-serif; /* 1 */
65
- -webkit-text-size-adjust: 100%; /* 2 */
66
- -ms-text-size-adjust: 100%; /* 2 */
67
- }
68
-
69
- /*
70
- * Removes default margin.
71
- */
72
-
73
- body {
74
- margin: 0;
75
- }
76
-
77
- /* ==========================================================================
78
- Links
79
- ========================================================================== */
80
-
81
- /*
82
- * Addresses `outline` inconsistency between Chrome and other browsers.
83
- */
84
-
85
- a:focus {
86
- outline: thin dotted;
87
- }
88
-
89
- /*
90
- * Improves readability when focused and also mouse hovered in all browsers.
91
- */
92
-
93
- a:active,
94
- a:hover {
95
- outline: 0;
96
- }
97
-
98
- /* ==========================================================================
99
- Typography
100
- ========================================================================== */
101
-
102
- /*
103
- * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
104
- * Safari 5, and Chrome.
105
- */
106
-
107
- h1 {
108
- font-size: 2em;
109
- }
110
-
111
- /*
112
- * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
113
- */
114
-
115
- abbr[title] {
116
- border-bottom: 1px dotted;
117
- }
118
-
119
- /*
120
- * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
121
- */
122
-
123
- b,
124
- strong {
125
- font-weight: bold;
126
- }
127
-
128
- /*
129
- * Addresses styling not present in Safari 5 and Chrome.
130
- */
131
-
132
- dfn {
133
- font-style: italic;
134
- }
135
-
136
- /*
137
- * Addresses styling not present in IE 8/9.
138
- */
139
-
140
- mark {
141
- background: #ff0;
142
- color: #000;
143
- }
144
-
145
-
146
- /*
147
- * Corrects font family set oddly in Safari 5 and Chrome.
148
- */
149
-
150
- code,
151
- kbd,
152
- pre,
153
- samp {
154
- font-family: monospace, serif;
155
- font-size: 1em;
156
- }
157
-
158
- /*
159
- * Improves readability of pre-formatted text in all browsers.
160
- */
161
-
162
- pre {
163
- white-space: pre;
164
- white-space: pre-wrap;
165
- word-wrap: break-word;
166
- }
167
-
168
- /*
169
- * Sets consistent quote types.
170
- */
171
-
172
- q {
173
- quotes: "\201C" "\201D" "\2018" "\2019";
174
- }
175
-
176
- /*
177
- * Addresses inconsistent and variable font size in all browsers.
178
- */
179
-
180
- small {
181
- font-size: 80%;
182
- }
183
-
184
- /*
185
- * Prevents `sub` and `sup` affecting `line-height` in all browsers.
186
- */
187
-
188
- sub,
189
- sup {
190
- font-size: 75%;
191
- line-height: 0;
192
- position: relative;
193
- vertical-align: baseline;
194
- }
195
-
196
- sup {
197
- top: -0.5em;
198
- }
199
-
200
- sub {
201
- bottom: -0.25em;
202
- }
203
-
204
- /* ==========================================================================
205
- Embedded content
206
- ========================================================================== */
207
-
208
- /*
209
- * Removes border when inside `a` element in IE 8/9.
210
- */
211
-
212
- img {
213
- border: 0;
214
- }
215
-
216
- /*
217
- * Corrects overflow displayed oddly in IE 9.
218
- */
219
-
220
- svg:not(:root) {
221
- overflow: hidden;
222
- }
223
-
224
- /* ==========================================================================
225
- Figures
226
- ========================================================================== */
227
-
228
- /*
229
- * Addresses margin not present in IE 8/9 and Safari 5.
230
- */
231
-
232
- figure {
233
- margin: 0;
234
- }
235
-
236
- /* ==========================================================================
237
- Forms
238
- ========================================================================== */
239
-
240
- /*
241
- * Define consistent border, margin, and padding.
242
- */
243
-
244
- fieldset {
245
- border: 1px solid #c0c0c0;
246
- margin: 0 2px;
247
- padding: 0.35em 0.625em 0.75em;
248
- }
249
-
250
- /*
251
- * 1. Corrects color not being inherited in IE 8/9.
252
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
253
- */
254
-
255
- legend {
256
- border: 0; /* 1 */
257
- padding: 0; /* 2 */
258
- }
259
-
260
- /*
261
- * 1. Corrects font family not being inherited in all browsers.
262
- * 2. Corrects font size not being inherited in all browsers.
263
- * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
264
- */
265
-
266
- button,
267
- input,
268
- select,
269
- textarea {
270
- font-family: inherit; /* 1 */
271
- font-size: 100%; /* 2 */
272
- margin: 0; /* 3 */
273
- }
274
-
275
- /*
276
- * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
277
- * the UA stylesheet.
278
- */
279
-
280
- button,
281
- input {
282
- line-height: normal;
283
- }
284
-
285
- /*
286
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
287
- * and `video` controls.
288
- * 2. Corrects inability to style clickable `input` types in iOS.
289
- * 3. Improves usability and consistency of cursor style between image-type
290
- * `input` and others.
291
- */
292
-
293
- button,
294
- html input[type="button"], /* 1 */
295
- input[type="reset"],
296
- input[type="submit"] {
297
- -webkit-appearance: button; /* 2 */
298
- cursor: pointer; /* 3 */
299
- }
300
-
301
- /*
302
- * Re-set default cursor for disabled elements.
303
- */
304
-
305
- button[disabled],
306
- input[disabled] {
307
- cursor: default;
308
- }
309
-
310
- /*
311
- * 1. Addresses box sizing set to `content-box` in IE 8/9.
312
- * 2. Removes excess padding in IE 8/9.
313
- */
314
-
315
- input[type="checkbox"],
316
- input[type="radio"] {
317
- box-sizing: border-box; /* 1 */
318
- padding: 0; /* 2 */
319
- }
320
-
321
- /*
322
- * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
323
- * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
324
- * (include `-moz` to future-proof).
325
- */
326
-
327
- input[type="search"] {
328
- -webkit-appearance: textfield; /* 1 */
329
- -moz-box-sizing: content-box;
330
- -webkit-box-sizing: content-box; /* 2 */
331
- box-sizing: content-box;
332
- }
333
-
334
- /*
335
- * Removes inner padding and search cancel button in Safari 5 and Chrome
336
- * on OS X.
337
- */
338
-
339
- input[type="search"]::-webkit-search-cancel-button,
340
- input[type="search"]::-webkit-search-decoration {
341
- -webkit-appearance: none;
342
- }
343
-
344
- /*
345
- * Removes inner padding and border in Firefox 4+.
346
- */
347
-
348
- button::-moz-focus-inner,
349
- input::-moz-focus-inner {
350
- border: 0;
351
- padding: 0;
352
- }
353
-
354
- /*
355
- * 1. Removes default vertical scrollbar in IE 8/9.
356
- * 2. Improves readability and alignment in all browsers.
357
- */
358
-
359
- textarea {
360
- overflow: auto; /* 1 */
361
- vertical-align: top; /* 2 */
362
- }
363
-
364
- /* ==========================================================================
365
- Tables
366
- ========================================================================== */
367
-
368
- /*
369
- * Remove most spacing between table cells.
370
- */
371
-
372
- table {
373
- border-collapse: collapse;
374
- border-spacing: 0;
375
- }