j1m_scroll 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +21 -0
  3. data/README.md +41 -0
  4. data/_data/modules/default/j1_scroll-0.0.1/j1_back2top.yml +131 -0
  5. data/_data/modules/default/j1_scroll-0.0.1/j1_smooth_scroll.yml +162 -0
  6. data/_data/resources/default/j1_scroll-0.0.1/resource.yml +43 -0
  7. data/assets/themes/j1/iframe_resizer/.npmignore +9 -0
  8. data/assets/themes/j1/iframe_resizer/.travis.yml +6 -0
  9. data/assets/themes/j1/iframe_resizer/CONTRIBUTING.md +86 -0
  10. data/assets/themes/j1/iframe_resizer/Iframe-resizer by davidjbradshaw.url +2 -0
  11. data/assets/themes/j1/iframe_resizer/LICENSE +21 -0
  12. data/assets/themes/j1/iframe_resizer/README.md +608 -0
  13. data/assets/themes/j1/iframe_resizer/bower.json +45 -0
  14. data/assets/themes/j1/iframe_resizer/example/frame.absolute.html +88 -0
  15. data/assets/themes/j1/iframe_resizer/example/frame.content.html +58 -0
  16. data/assets/themes/j1/iframe_resizer/example/frame.hover.html +51 -0
  17. data/assets/themes/j1/iframe_resizer/example/frame.nested.html +72 -0
  18. data/assets/themes/j1/iframe_resizer/example/frame.textarea.html +46 -0
  19. data/assets/themes/j1/iframe_resizer/example/frame.tolerance.html +79 -0
  20. data/assets/themes/j1/iframe_resizer/example/index.html +70 -0
  21. data/assets/themes/j1/iframe_resizer/example/two.html +71 -0
  22. data/assets/themes/j1/iframe_resizer/gruntfile.js +215 -0
  23. data/assets/themes/j1/iframe_resizer/iframeResizer.jquery.json +41 -0
  24. data/assets/themes/j1/iframe_resizer/index.js +4 -0
  25. data/assets/themes/j1/iframe_resizer/js/_client.js +1131 -0
  26. data/assets/themes/j1/iframe_resizer/js/_server.js +1126 -0
  27. data/assets/themes/j1/iframe_resizer/js/ie8.polyfils.js +85 -0
  28. data/assets/themes/j1/iframe_resizer/js/ie8.polyfils.map +1 -0
  29. data/assets/themes/j1/iframe_resizer/js/ie8.polyfils.min.js +4 -0
  30. data/assets/themes/j1/iframe_resizer/js/iframeResizer.contentWindow.js +1104 -0
  31. data/assets/themes/j1/iframe_resizer/js/iframeResizer.contentWindow.map +1 -0
  32. data/assets/themes/j1/iframe_resizer/js/iframeResizer.contentWindow.min.js +10 -0
  33. data/assets/themes/j1/iframe_resizer/js/iframeResizer.js +1007 -0
  34. data/assets/themes/j1/iframe_resizer/js/iframeResizer.js.modified +1004 -0
  35. data/assets/themes/j1/iframe_resizer/js/iframeResizer.map +1 -0
  36. data/assets/themes/j1/iframe_resizer/js/iframeResizer.min.js +9 -0
  37. data/assets/themes/j1/iframe_resizer/js/index.js +2 -0
  38. data/assets/themes/j1/iframe_resizer/karma.conf.js +92 -0
  39. data/assets/themes/j1/iframe_resizer/package.json +111 -0
  40. data/assets/themes/j1/iframe_resizer/spec/_initSpec.js +63 -0
  41. data/assets/themes/j1/iframe_resizer/spec/anchorSpec.js +62 -0
  42. data/assets/themes/j1/iframe_resizer/spec/childSpec.js +403 -0
  43. data/assets/themes/j1/iframe_resizer/spec/closeSpecSpec.js +44 -0
  44. data/assets/themes/j1/iframe_resizer/spec/getPageInfoSpec.js +32 -0
  45. data/assets/themes/j1/iframe_resizer/spec/initCssSpec.js +28 -0
  46. data/assets/themes/j1/iframe_resizer/spec/initDomSpec.js +27 -0
  47. data/assets/themes/j1/iframe_resizer/spec/initDoubleCallSpec.js +33 -0
  48. data/assets/themes/j1/iframe_resizer/spec/initErrorSpec.js +57 -0
  49. data/assets/themes/j1/iframe_resizer/spec/initJQuerySpec.js +29 -0
  50. data/assets/themes/j1/iframe_resizer/spec/initUndefinedDomSpec.js +25 -0
  51. data/assets/themes/j1/iframe_resizer/spec/javascripts/fixtures/iframe.html +2 -0
  52. data/assets/themes/j1/iframe_resizer/spec/javascripts/fixtures/iframe600.html +4 -0
  53. data/assets/themes/j1/iframe_resizer/spec/javascripts/fixtures/iframe600WithId.html +4 -0
  54. data/assets/themes/j1/iframe_resizer/spec/lib/common.js +59 -0
  55. data/assets/themes/j1/iframe_resizer/spec/parentSpec.js +88 -0
  56. data/assets/themes/j1/iframe_resizer/spec/resources/djb.jpg +0 -0
  57. data/assets/themes/j1/iframe_resizer/spec/resources/frame.content.html +176 -0
  58. data/assets/themes/j1/iframe_resizer/spec/resources/frame.lateload.html +33 -0
  59. data/assets/themes/j1/iframe_resizer/spec/resources/frame.nested.html +40 -0
  60. data/assets/themes/j1/iframe_resizer/spec/scrollSpec.js +53 -0
  61. data/assets/themes/j1/iframe_resizer/spec/sendMessageSpec.js +58 -0
  62. data/assets/themes/j1/iframe_resizer/spec/support/jasmine.json +9 -0
  63. data/assets/themes/j1/iframe_resizer/src/ie8.polyfils.js +64 -0
  64. data/assets/themes/j1/iframe_resizer/src/iframeResizer.contentWindow.js +1123 -0
  65. data/assets/themes/j1/iframe_resizer/src/iframeResizer.js +1002 -0
  66. data/assets/themes/j1/iframe_resizer/test-main.js +33 -0
  67. data/assets/themes/j1/iframe_resizer/test/_init.html +44 -0
  68. data/assets/themes/j1/iframe_resizer/test/_init_once.html +45 -0
  69. data/assets/themes/j1/iframe_resizer/test/_init_once_async.html +72 -0
  70. data/assets/themes/j1/iframe_resizer/test/background.html +47 -0
  71. data/assets/themes/j1/iframe_resizer/test/changePage.html +50 -0
  72. data/assets/themes/j1/iframe_resizer/test/close.html +44 -0
  73. data/assets/themes/j1/iframe_resizer/test/getId.html +44 -0
  74. data/assets/themes/j1/iframe_resizer/test/interval.html +56 -0
  75. data/assets/themes/j1/iframe_resizer/test/jqueryNoConflict.html +47 -0
  76. data/assets/themes/j1/iframe_resizer/test/lateImageLoad.html +90 -0
  77. data/assets/themes/j1/iframe_resizer/test/margin.html +73 -0
  78. data/assets/themes/j1/iframe_resizer/test/mutationObserver.html +63 -0
  79. data/assets/themes/j1/iframe_resizer/test/nested.html +46 -0
  80. data/assets/themes/j1/iframe_resizer/test/resize.contentWidth.html +51 -0
  81. data/assets/themes/j1/iframe_resizer/test/resize.width.html +63 -0
  82. data/assets/themes/j1/iframe_resizer/test/resources/djb.jpg +0 -0
  83. data/assets/themes/j1/iframe_resizer/test/resources/frame.content.html +191 -0
  84. data/assets/themes/j1/iframe_resizer/test/resources/frame.lateload.html +33 -0
  85. data/assets/themes/j1/iframe_resizer/test/resources/frame.nested.html +40 -0
  86. data/assets/themes/j1/iframe_resizer/test/resources/jquery.js +6 -0
  87. data/assets/themes/j1/iframe_resizer/test/resources/qunit.css +244 -0
  88. data/assets/themes/j1/iframe_resizer/test/resources/qunit.js +2212 -0
  89. data/assets/themes/j1/iframe_resizer/test/resources/require.js +2103 -0
  90. data/assets/themes/j1/iframe_resizer/test/resources/testLib.js +9 -0
  91. data/assets/themes/j1/iframe_resizer/test/scrolling.html +65 -0
  92. data/assets/themes/j1/iframe_resizer/test/sendMessage.html +61 -0
  93. data/assets/themes/j1/iframe_resizer/test/setHeightCalculationMethod.html +51 -0
  94. data/assets/themes/j1/iframe_resizer/test/size.html +64 -0
  95. data/assets/themes/j1/iframe_resizer/test/v1.html +189 -0
  96. data/assets/themes/j1/j1/js/adapters/iframe_resizer.js +105 -0
  97. data/exe/console +14 -0
  98. data/exe/setup +8 -0
  99. data/lib/j1m_scroll.rb +5 -0
  100. data/lib/j1m_scroll/version.rb +3 -0
  101. metadata +190 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9719b9e26925cef9d0e369d49cc111f0cdf09b39
4
+ data.tar.gz: c56f32fca265fafd6adf391482be69632b655ff4
5
+ SHA512:
6
+ metadata.gz: dc364412a0cb20775987bd7ebf384bd133604503a568c4b9ea128b643e9f52fa92f59c18b4596446eb5e907ac36995fcc07dae8aeb4ffba165fc238c88ed3cec
7
+ data.tar.gz: 7047f122e1177eacba1550b3c6eee4592df528d460bf579597488d40bcedcee8a99a9546a79822872ba5074490cf746fdbe3ce339b45263f12126e4c896cf884
data/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2017 Juergen Adams
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # J1mNav
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/j1m_nav`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'j1m_nav'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install j1m_nav
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/j1m_nav.
36
+
37
+
38
+ ## License
39
+
40
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
+
@@ -0,0 +1,131 @@
1
+ # ------------------------------------------------------------------------------
2
+ # J1: ~/_data/modules/j1_back2top.yml
3
+ # J1 Back2Top specific scroll configuration (SCROLL Module)
4
+ #
5
+ # Product/Info:
6
+ # https://jekyll.one
7
+ #
8
+ # Copyright (C) 2017 Juergen Adams
9
+ #
10
+ # J1 Template is licensed under the MIT License.
11
+ # For details, see https://jekyll.one
12
+ #
13
+ # ------------------------------------------------------------------------------
14
+
15
+ # GENERAL settings
16
+ # -------------------------------------------------------------------------
17
+ # If enabled, a Back2Top button at the bottom of every page is displayed
18
+
19
+ # version
20
+ # --------------------------------------------------------------------
21
+ # Current version of the module
22
+ #
23
+ # values: string
24
+ # default: no defaults
25
+ #
26
+ version: 0.0.1
27
+
28
+
29
+ # DEFAULT settings
30
+ # --------------------------------------------------------------------
31
+ #
32
+ # color
33
+ # ---------------------------------------------------------------
34
+ # Set the color of the Back2Top icon for an hover event.
35
+ # Possible values are the RGB code like "#204a87" or a
36
+ # color name taken from file ~/_data/modules/j1_colors.yml
37
+ #
38
+ # values: string
39
+ # default: j1_darkblue
40
+ #
41
+ # icon
42
+ # ---------------------------------------------------------------
43
+ # Set the font icon used with the Back2Top button. Possible
44
+ # values depend on the icon family defined by "icon_family".
45
+ # Use the respective hex value for the icon to be used
46
+ #
47
+ # values: string
48
+ # default: "f102"
49
+ #
50
+ # icon_family
51
+ # ---------------------------------------------------------------
52
+ # Set the icon familiy from what the icon should be taken
53
+ # from. Be aware that the CSS file for the font icon set
54
+ # needs to be included as a resource.
55
+ #
56
+ # values: string (FontAwesome|MDI)
57
+ # default: FontAwesome
58
+ #
59
+ # startline
60
+ # ---------------------------------------------------------------
61
+ # Number of pixels from top of doc scrollbar is scrolled
62
+ # before showing control.
63
+ #
64
+ # values: integer (px)
65
+ # default: 100
66
+ #
67
+ # scrollto
68
+ # ---------------------------------------------------------------
69
+ # Integer or "Scroll_to_Element_ID". Specifies how far
70
+ # to scroll a page up when control is clicked on (0=top).
71
+ # showing control.
72
+ #
73
+ # values: integer (px)
74
+ # default: 0
75
+ #
76
+ # scrollduration
77
+ # ---------------------------------------------------------------
78
+ # Time (Duration) measured in msec to scroll the whole page
79
+ #
80
+ # values: integer (msec)
81
+ # default: 1000
82
+ #
83
+ # fadeduration
84
+ # ---------------------------------------------------------------
85
+ # Fade effect (durationd) measured in msec to show|hide
86
+ # the control button
87
+ #
88
+ # values: integer (msec)
89
+ # default: 500
90
+ #
91
+ # controlHTML
92
+ # ---------------------------------------------------------------
93
+ # HTML code for the control button which is AUTO wrapped in an
94
+ # DIV element tha is automatically placed (ID = #topcontrol).
95
+ # the control button
96
+ #
97
+ # values: string (HTML)
98
+ # default: '<img src="assets/img/up.png" style="width:51px; height:42px'
99
+ #
100
+ # controlattrs
101
+ # ---------------------------------------------------------------
102
+ # Offset measured in pixels to place the control (button)
103
+ # relative to right|bottom of the window corner.
104
+ #
105
+ # values: array (integer|px)
106
+ # default: [5, 5]
107
+ #
108
+ # anchorkeyword
109
+ # ---------------------------------------------------------------
110
+ # Anchor|href value of HTML anchors on the page that should
111
+ # be used for a "Scroll Up" link.
112
+ #
113
+ # values: string (ID)
114
+ # default: "#top"
115
+ #
116
+ defaults:
117
+
118
+ active_color: j1_primary
119
+ background_color: md_grey_800
120
+ icon: "f102"
121
+ icon_family: FontAwesome
122
+ startline: 100
123
+ scrollto: 0
124
+ scrollduration: 1000
125
+ fadeduration: 500
126
+ controlHTML: '<img src="/assets/img/up.png" style="width:51px; height:42px'
127
+ controlattrs: [ 5, 5 ]
128
+ anchorkeyword: "#top"
129
+
130
+
131
+
@@ -0,0 +1,162 @@
1
+ # ------------------------------------------------------------------------------
2
+ # J1: ~/_data/modules/j1_smooth_scroll.yml
3
+ # J1 SmoothScroll specific configuration (SCROLL Module)
4
+ #
5
+ # Product/Info:
6
+ # https://jekyll.one
7
+ #
8
+ # Copyright (C) 2016 Juergen Adams
9
+ #
10
+ # J1 Template is licensed under the MIT License.
11
+ # For details, see https://jekyll.one
12
+ #
13
+ # ------------------------------------------------------------------------------
14
+
15
+ # GENERAL settings
16
+ # -------------------------------------------------------------------------
17
+
18
+ # version
19
+ # --------------------------------------------------------------------
20
+ # Current version of the module
21
+ #
22
+ # values: string
23
+ # default: no defaults
24
+ #
25
+ version: 0.0.1
26
+
27
+
28
+ # DEFAULT settings
29
+ # --------------------------------------------------------------------
30
+ #
31
+ # Enables smooth vertical page scrolling on Mouse Wheel, Keyboard
32
+ # and Touchpad
33
+
34
+
35
+ # SCROLLING CORE
36
+ # ---------------------------------------------------------------
37
+ #
38
+ # frameRate
39
+ # -----------------------------------------------------
40
+ # ...
41
+ #
42
+ # values: integer (Hz)
43
+ # default: 150
44
+ #
45
+ # animationTime
46
+ # -----------------------------------------------------
47
+ # ...
48
+ #
49
+ # values: integer (msec)
50
+ # default: 400
51
+ #
52
+ # stepSize
53
+ # -----------------------------------------------------
54
+ # ...
55
+ #
56
+ # values: integer (px)
57
+ # default: 100
58
+ #
59
+ # ACCELERATION SETTINGS
60
+ # ---------------------------------------------------------------
61
+ #
62
+ # accelerationDelta
63
+ # -----------------------------------------------------
64
+ # ...
65
+ #
66
+ # values: integer
67
+ # default: 50
68
+ #
69
+ # accelerationMax
70
+ # -----------------------------------------------------
71
+ # values: integer
72
+ # default: 3
73
+ #
74
+ # KEYBOARD SETTINGS
75
+ # ---------------------------------------------------------------
76
+ #
77
+ # keyboardSupport
78
+ # -----------------------------------------------------
79
+ # Enables|Disables Keyboard support for smooth
80
+ # scrolling
81
+ #
82
+ # values: boolean (true|false)
83
+ # default: true
84
+ #
85
+ # arrowScroll
86
+ # -----------------------------------------------------
87
+ # Number of pixels to scroll when pressing a keyboard
88
+ # arrow key
89
+ #
90
+ # values: integer (px)
91
+ # default: 50
92
+ #
93
+ # PULSE ALGORITHM SETTINGS
94
+ # ---------------------------------------------------------------
95
+ #
96
+ # pulseAlgorithm
97
+ # -----------------------------------------------------
98
+ # Enables easing of the scrolling animation. When
99
+ # disabled, the page animation will be linear (ratio
100
+ # of "tail" to "acceleration")
101
+ #
102
+ # values: boolean (true|false)
103
+ # default: true
104
+ #
105
+ # pulseScale
106
+ # -----------------------------------------------------
107
+ # Defines the speed of pulse step scrolling
108
+ #
109
+ # values: integer
110
+ # default: 4
111
+ #
112
+ # pulseNormalize
113
+ # -----------------------------------------------------
114
+ # ...
115
+ #
116
+ # values: integer
117
+ # default: 1
118
+ #
119
+ # TOUCHPAD SETTINGS
120
+ # ---------------------------------------------------------------
121
+ #
122
+ # touchpadSupport
123
+ # -----------------------------------------------------
124
+ # Enables|Disables Touchpad support for smooth
125
+ # scrolling
126
+ #
127
+ # values: boolean (true|false)
128
+ # default: false
129
+ #
130
+ # OTHER SETTINGS
131
+ # ---------------------------------------------------------------
132
+ #
133
+ # fixedBackground
134
+ # -----------------------------------------------------
135
+ # ...
136
+ #
137
+ # values: boolean (true|false)
138
+ # default: true
139
+ #
140
+ # excluded
141
+ # -----------------------------------------------------
142
+ # ...
143
+ #
144
+ # values: string
145
+ # default: empty string
146
+ #
147
+ defaults:
148
+
149
+ frameRate: 150
150
+ animationTime: 400
151
+ stepSize: 100
152
+ accelerationDelta: 50
153
+ accelerationMax: 3
154
+ keyboardSupport: true
155
+ arrowScroll: 50
156
+ pulseAlgorithm: true
157
+ pulseScale: 4
158
+ pulseNormalize: 1
159
+ touchpadSupport: false
160
+ fixedBackground: true
161
+ excluded:
162
+
@@ -0,0 +1,43 @@
1
+
2
+ # -------------------------------------------------------------
3
+ # Back2Top (SCROLL Module)
4
+ #
5
+ - resource:
6
+ enabled: true
7
+ version: 0.0.1
8
+ id: j1_back2top
9
+ comment: Resources for Back2Top
10
+ layout: [ home, page, post, app ]
11
+ region: head
12
+ required: always
13
+ script_load: defer
14
+ data:
15
+ css: []
16
+ files: [
17
+ back_to_top/css/back_to_top.css
18
+ ]
19
+ js: [
20
+ back_to_top/js/back_to_top
21
+ ]
22
+
23
+ # -------------------------------------------------------------
24
+ # Smooth Scroll (SCROLL Module)
25
+ #
26
+ - resource:
27
+ enabled: true
28
+ version: 0.0.1
29
+ id: j1_smooth_scroll
30
+ comment: Resources for Smooth Scroll
31
+ layout: [ home, page, post, app ]
32
+ region: head
33
+ required: always
34
+ script_load: defer
35
+ data:
36
+ css: []
37
+ files: [
38
+ j1/js/adapters/smooth_scroll.js
39
+ ]
40
+ js: [
41
+ smooth_scroll/js/SmoothScroll
42
+ ]
43
+ init_function: J1SmoothScroll.init
@@ -0,0 +1,9 @@
1
+ .DS_Store
2
+ .coveralls.yml
3
+ node_modules
4
+ bin
5
+ example/test.html
6
+ test/*.off
7
+ npm-debug.log
8
+ bower_components
9
+ coverage*
@@ -0,0 +1,6 @@
1
+ language: node_js
2
+ node_js:
3
+ - "4.1"
4
+ before_script:
5
+ - npm install -g grunt-cli
6
+ sudo: false
@@ -0,0 +1,86 @@
1
+ # Contributing to iframe-resizer
2
+
3
+ Looking to contribute something? **Here's how you can help.**
4
+
5
+ Please take a moment to review this document in order to make the contribution
6
+ process easy and effective for everyone involved.
7
+
8
+ ## Using the issue tracker
9
+
10
+ The [issue tracker](https://github.com/davidjbradshaw/iframe-resizer/issues) is
11
+ the preferred channel for [bug reports](#bug-reports), [features requests](#feature-requests)
12
+ and [submitting pull requests](#pull-requests).
13
+
14
+ **Please do not use the issue tracker for personal support requests. These should be raised on
15
+ Stack Overflow ([`iframe-resizer`](http://stackoverflow.com/questions/tagged/iframe-resizer) tag).**
16
+
17
+
18
+ ## Bug reports
19
+
20
+ A bug is a _demonstrable problem_ that is caused by the code in the repository.
21
+ Good bug reports are extremely helpful, so thanks!
22
+
23
+ Guidelines for bug reports:
24
+
25
+ 0. **Lint your code** &mdash; Use [jshint](http://jshint.com/)
26
+ to ensure your problem isn't caused by a simple error in your own code.
27
+
28
+ 1. **Use the GitHub issue search** &mdash; check if the issue has already been
29
+ reported.
30
+
31
+ 2. **Check if the issue has been fixed** &mdash; try to reproduce it using the
32
+ latest `master` or development branch in the repository.
33
+
34
+ 3. **Isolate the problem** &mdash; ideally create a [reduced test
35
+ case](https://css-tricks.com/reduced-test-cases/) and a live example.
36
+
37
+
38
+ A good bug report shouldn't leave others needing to chase you up for more
39
+ information. Please try to be as detailed as possible in your report. What is
40
+ your environment? What steps will reproduce the issue? What browser(s) and OS
41
+ experience the problem? Do other browsers show the bug differently? What
42
+ would you expect to be the outcome? All these details will help people to fix
43
+ any potential bugs.
44
+
45
+ Example:
46
+
47
+ > Short and descriptive example bug report title
48
+ >
49
+ > A summary of the issue and the browser/OS environment in which it occurs. If
50
+ > suitable, include the steps required to reproduce the bug.
51
+ >
52
+ > 1. This is the first step
53
+ > 2. This is the second step
54
+ > 3. Further steps, etc.
55
+ >
56
+ > `<url>` - a link to the reduced test case
57
+ >
58
+ > Any other information you want to share that is relevant to the issue being
59
+ > reported. This might include the lines of code that you have identified as
60
+ > causing the bug, and potential solutions (and your opinions on their
61
+ > merits).
62
+
63
+ ## Feature requests
64
+
65
+ Feature requests are welcome. But take a moment to find out whether your idea
66
+ fits with the scope and aims of the project.
67
+
68
+
69
+ ## Pull requests
70
+
71
+ Good pull requests—patches, improvements, new features—are a fantastic
72
+ help. They should remain focused in scope and avoid containing unrelated
73
+ commits.
74
+
75
+ **Please ask first** before embarking on any significant pull request (e.g.
76
+ implementing features or refactoring code),
77
+ otherwise you risk spending a lot of time working on something that the
78
+ project's developers might not want to merge into the project.
79
+
80
+ In lieu of a formal style-guide, take care to maintain the existing coding
81
+ style. Add unit tests for any new or changed functionality. Lint and test
82
+ your code using [Grunt](http://gruntjs.com/).
83
+
84
+ ## License
85
+
86
+ By contributing your code, you agree to license your contribution under the [MIT License](LICENSE).