lady_josephine 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (304) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +32 -0
  4. data/app/assets/fonts/lady_josephine/icons/icons.eot +0 -0
  5. data/app/assets/fonts/lady_josephine/icons/icons.svg +215 -0
  6. data/app/assets/fonts/lady_josephine/icons/icons.ttf +0 -0
  7. data/app/assets/fonts/lady_josephine/icons/icons.woff +0 -0
  8. data/app/assets/javascripts/lady_josephine/blocks/facebook.js +25 -0
  9. data/app/assets/javascripts/lady_josephine/blocks/instagram.js +22 -0
  10. data/app/assets/javascripts/lady_josephine/blocks/soundcloud.js +24 -0
  11. data/app/assets/javascripts/lady_josephine/blocks/twitter.js +25 -0
  12. data/app/assets/javascripts/lady_josephine/blocks/vimeo.js +55 -0
  13. data/app/assets/javascripts/lady_josephine/blocks/youtube.js +64 -0
  14. data/app/assets/javascripts/lady_josephine/editor.js +40 -0
  15. data/app/assets/javascripts/lady_josephine/lady_josephine.js +4 -0
  16. data/app/assets/javascripts/lady_josephine/lady_josephine_view.js +6 -0
  17. data/app/assets/stylesheets/lady_josephine/content.sass +33 -0
  18. data/app/assets/stylesheets/lady_josephine/icons.sass +175 -0
  19. data/app/assets/stylesheets/lady_josephine/lady_josephine.sass +6 -0
  20. data/app/assets/stylesheets/lady_josephine/sir_trevor.sass +619 -0
  21. data/app/assets/stylesheets/lady_josephine/vars.sass +36 -0
  22. data/app/controllers/lady_josephine/application_controller.rb +4 -0
  23. data/app/controllers/lady_josephine/editor_controller.rb +40 -0
  24. data/app/controllers/lady_josephine/images_controller.rb +26 -0
  25. data/app/helpers/lady_josephine/helper.rb +25 -0
  26. data/app/helpers/lady_josephine/sir_trevor_helper.rb +172 -0
  27. data/app/models/lady_josephine/concerns/model.rb +29 -0
  28. data/app/models/lady_josephine/concerns/pingable.rb +28 -0
  29. data/app/models/lady_josephine/concerns/server_uuid.rb +24 -0
  30. data/app/models/lady_josephine/concerns/sir_trevor_images.rb +38 -0
  31. data/app/models/lady_josephine/image.rb +41 -0
  32. data/app/uploader/lady_josephine/base_uploader.rb +47 -0
  33. data/app/uploader/lady_josephine/image_uploader.rb +149 -0
  34. data/app/views/lady_josephine/blocks/_audio_block.haml +2 -0
  35. data/app/views/lady_josephine/blocks/_definition_block.haml +4 -0
  36. data/app/views/lady_josephine/blocks/_divider_block.haml +2 -0
  37. data/app/views/lady_josephine/blocks/_extended_image_block.haml +63 -0
  38. data/app/views/lady_josephine/blocks/_extended_quote_block.haml +5 -0
  39. data/app/views/lady_josephine/blocks/_extended_tweet_block.haml +2 -0
  40. data/app/views/lady_josephine/blocks/_facebook_post_block.haml +2 -0
  41. data/app/views/lady_josephine/blocks/_heading_block.haml +2 -0
  42. data/app/views/lady_josephine/blocks/_html_block.haml +1 -0
  43. data/app/views/lady_josephine/blocks/_instagram_block.haml +2 -0
  44. data/app/views/lady_josephine/blocks/_list_block.haml +3 -0
  45. data/app/views/lady_josephine/blocks/_quote_block.haml +5 -0
  46. data/app/views/lady_josephine/blocks/_text_block.html.haml +2 -0
  47. data/app/views/lady_josephine/blocks/_video_block.haml +9 -0
  48. data/config/routes.rb +9 -0
  49. data/db/migrate/20160222151500_lady_josephine_image.rb +18 -0
  50. data/lib/generators/lady_josephine_migration/USAGE +9 -0
  51. data/lib/generators/lady_josephine_migration/lady_josephine_migration_generator.rb +17 -0
  52. data/lib/generators/lady_josephine_migration/templates/migration.rb +9 -0
  53. data/lib/lady_josephine.rb +18 -0
  54. data/lib/lady_josephine/engine.rb +18 -0
  55. data/lib/lady_josephine/redcarpet/custom_markdown_formatter.rb +63 -0
  56. data/lib/lady_josephine/renderer/sir_trevor_renderer.rb +16 -0
  57. data/lib/lady_josephine/version.rb +3 -0
  58. data/lib/lady_josephine/whitelist.rb +26 -0
  59. data/lib/tasks/lady_josephine_tasks.rake +4 -0
  60. data/spec/controllers/lady_josephine/editor_controller_spec.rb +58 -0
  61. data/spec/dummy/README.rdoc +28 -0
  62. data/spec/dummy/Rakefile +6 -0
  63. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  64. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  65. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  66. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  67. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  68. data/spec/dummy/bin/bundle +3 -0
  69. data/spec/dummy/bin/rails +4 -0
  70. data/spec/dummy/bin/rake +4 -0
  71. data/spec/dummy/bin/setup +29 -0
  72. data/spec/dummy/config.ru +4 -0
  73. data/spec/dummy/config/application.rb +26 -0
  74. data/spec/dummy/config/boot.rb +5 -0
  75. data/spec/dummy/config/database.yml +25 -0
  76. data/spec/dummy/config/environment.rb +5 -0
  77. data/spec/dummy/config/environments/development.rb +41 -0
  78. data/spec/dummy/config/environments/production.rb +79 -0
  79. data/spec/dummy/config/environments/test.rb +42 -0
  80. data/spec/dummy/config/initializers/assets.rb +11 -0
  81. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  82. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  83. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  84. data/spec/dummy/config/initializers/inflections.rb +16 -0
  85. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  86. data/spec/dummy/config/initializers/session_store.rb +3 -0
  87. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  88. data/spec/dummy/config/locales/en.yml +23 -0
  89. data/spec/dummy/config/routes.rb +4 -0
  90. data/spec/dummy/config/secrets.yml +22 -0
  91. data/spec/dummy/db/development.sqlite3 +0 -0
  92. data/spec/dummy/db/schema.rb +16 -0
  93. data/spec/dummy/db/test.sqlite3 +0 -0
  94. data/spec/dummy/log/bla +0 -0
  95. data/spec/dummy/public/404.html +67 -0
  96. data/spec/dummy/public/422.html +67 -0
  97. data/spec/dummy/public/500.html +66 -0
  98. data/spec/dummy/public/favicon.ico +0 -0
  99. data/spec/spec_helper.rb +17 -0
  100. data/vendor/assets/components/Eventable/README.md +12 -0
  101. data/vendor/assets/components/Eventable/bower.json +10 -0
  102. data/vendor/assets/components/Eventable/component.json +11 -0
  103. data/vendor/assets/components/Eventable/eventable.js +207 -0
  104. data/vendor/assets/components/Eventable/package.json +15 -0
  105. data/vendor/assets/components/jquery-autosize/bower.json +30 -0
  106. data/vendor/assets/components/jquery-autosize/demo.html +36 -0
  107. data/vendor/assets/components/jquery-autosize/jquery.autosize.js +273 -0
  108. data/vendor/assets/components/jquery-autosize/jquery.autosize.min.js +6 -0
  109. data/vendor/assets/components/jquery-autosize/package.json +32 -0
  110. data/vendor/assets/components/jquery-autosize/readme.md +216 -0
  111. data/vendor/assets/components/jquery/AUTHORS.txt +163 -0
  112. data/vendor/assets/components/jquery/CONTRIBUTING.md +216 -0
  113. data/vendor/assets/components/jquery/Gruntfile.js +496 -0
  114. data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
  115. data/vendor/assets/components/jquery/README.md +415 -0
  116. data/vendor/assets/components/jquery/build/release-notes.js +59 -0
  117. data/vendor/assets/components/jquery/build/release.js +246 -0
  118. data/vendor/assets/components/jquery/component.json +13 -0
  119. data/vendor/assets/components/jquery/composer.json +35 -0
  120. data/vendor/assets/components/jquery/jquery-migrate.js +496 -0
  121. data/vendor/assets/components/jquery/jquery-migrate.min.js +3 -0
  122. data/vendor/assets/components/jquery/jquery.js +9597 -0
  123. data/vendor/assets/components/jquery/jquery.min.js +5 -0
  124. data/vendor/assets/components/jquery/jquery.min.map +1 -0
  125. data/vendor/assets/components/jquery/package.json +39 -0
  126. data/vendor/assets/components/jquery/speed/benchmark.js +15 -0
  127. data/vendor/assets/components/jquery/speed/benchmarker.css +65 -0
  128. data/vendor/assets/components/jquery/speed/benchmarker.js +181 -0
  129. data/vendor/assets/components/jquery/speed/closest.html +39 -0
  130. data/vendor/assets/components/jquery/speed/css.html +82 -0
  131. data/vendor/assets/components/jquery/speed/event.html +58 -0
  132. data/vendor/assets/components/jquery/speed/filter.html +183 -0
  133. data/vendor/assets/components/jquery/speed/find.html +179 -0
  134. data/vendor/assets/components/jquery/speed/index.html +72 -0
  135. data/vendor/assets/components/jquery/speed/jquery-basis.js +6238 -0
  136. data/vendor/assets/components/jquery/speed/slice.vs.concat.html +47 -0
  137. data/vendor/assets/components/jquery/src/ajax.js +851 -0
  138. data/vendor/assets/components/jquery/src/ajax/jsonp.js +80 -0
  139. data/vendor/assets/components/jquery/src/ajax/script.js +86 -0
  140. data/vendor/assets/components/jquery/src/ajax/xhr.js +207 -0
  141. data/vendor/assets/components/jquery/src/attributes.js +661 -0
  142. data/vendor/assets/components/jquery/src/callbacks.js +196 -0
  143. data/vendor/assets/components/jquery/src/core.js +949 -0
  144. data/vendor/assets/components/jquery/src/css.js +679 -0
  145. data/vendor/assets/components/jquery/src/data.js +340 -0
  146. data/vendor/assets/components/jquery/src/deferred.js +141 -0
  147. data/vendor/assets/components/jquery/src/deprecated.js +4 -0
  148. data/vendor/assets/components/jquery/src/dimensions.js +41 -0
  149. data/vendor/assets/components/jquery/src/effects.js +730 -0
  150. data/vendor/assets/components/jquery/src/event-alias.js +15 -0
  151. data/vendor/assets/components/jquery/src/event.js +991 -0
  152. data/vendor/assets/components/jquery/src/exports.js +18 -0
  153. data/vendor/assets/components/jquery/src/intro.js +20 -0
  154. data/vendor/assets/components/jquery/src/manipulation.js +796 -0
  155. data/vendor/assets/components/jquery/src/offset.js +169 -0
  156. data/vendor/assets/components/jquery/src/outro.js +2 -0
  157. data/vendor/assets/components/jquery/src/queue.js +147 -0
  158. data/vendor/assets/components/jquery/src/serialize.js +99 -0
  159. data/vendor/assets/components/jquery/src/sizzle-jquery.js +9 -0
  160. data/vendor/assets/components/jquery/src/support.js +241 -0
  161. data/vendor/assets/components/jquery/src/traversing.js +275 -0
  162. data/vendor/assets/components/jquery/test/csp.php +16 -0
  163. data/vendor/assets/components/jquery/test/data/1x1.jpg +0 -0
  164. data/vendor/assets/components/jquery/test/data/ajax/unreleasedXHR.html +25 -0
  165. data/vendor/assets/components/jquery/test/data/atom+xml.php +4 -0
  166. data/vendor/assets/components/jquery/test/data/badcall.js +1 -0
  167. data/vendor/assets/components/jquery/test/data/badjson.js +1 -0
  168. data/vendor/assets/components/jquery/test/data/cleanScript.html +10 -0
  169. data/vendor/assets/components/jquery/test/data/core/cc_on.html +22 -0
  170. data/vendor/assets/components/jquery/test/data/dashboard.xml +11 -0
  171. data/vendor/assets/components/jquery/test/data/dimensions/documentLarge.html +17 -0
  172. data/vendor/assets/components/jquery/test/data/dimensions/documentSmall.html +21 -0
  173. data/vendor/assets/components/jquery/test/data/echoData.php +1 -0
  174. data/vendor/assets/components/jquery/test/data/echoQuery.php +1 -0
  175. data/vendor/assets/components/jquery/test/data/errorWithText.php +5 -0
  176. data/vendor/assets/components/jquery/test/data/etag.php +21 -0
  177. data/vendor/assets/components/jquery/test/data/evalScript.php +1 -0
  178. data/vendor/assets/components/jquery/test/data/event/longLoadScript.php +4 -0
  179. data/vendor/assets/components/jquery/test/data/event/promiseReady.html +17 -0
  180. data/vendor/assets/components/jquery/test/data/event/syncReady.html +23 -0
  181. data/vendor/assets/components/jquery/test/data/headers.php +18 -0
  182. data/vendor/assets/components/jquery/test/data/if_modified_since.php +20 -0
  183. data/vendor/assets/components/jquery/test/data/iframe.html +8 -0
  184. data/vendor/assets/components/jquery/test/data/jquery-1.8.2.ajax_xhr.min.js +2 -0
  185. data/vendor/assets/components/jquery/test/data/json.php +13 -0
  186. data/vendor/assets/components/jquery/test/data/json_obj.js +1 -0
  187. data/vendor/assets/components/jquery/test/data/jsonp.php +14 -0
  188. data/vendor/assets/components/jquery/test/data/manipulation/iframe-denied.html +36 -0
  189. data/vendor/assets/components/jquery/test/data/name.html +1 -0
  190. data/vendor/assets/components/jquery/test/data/name.php +24 -0
  191. data/vendor/assets/components/jquery/test/data/nocontent.php +5 -0
  192. data/vendor/assets/components/jquery/test/data/offset/absolute.html +41 -0
  193. data/vendor/assets/components/jquery/test/data/offset/body.html +26 -0
  194. data/vendor/assets/components/jquery/test/data/offset/fixed.html +34 -0
  195. data/vendor/assets/components/jquery/test/data/offset/relative.html +31 -0
  196. data/vendor/assets/components/jquery/test/data/offset/scroll.html +39 -0
  197. data/vendor/assets/components/jquery/test/data/offset/static.html +31 -0
  198. data/vendor/assets/components/jquery/test/data/offset/table.html +43 -0
  199. data/vendor/assets/components/jquery/test/data/params_html.php +12 -0
  200. data/vendor/assets/components/jquery/test/data/readywaitasset.js +1 -0
  201. data/vendor/assets/components/jquery/test/data/readywaitloader.js +25 -0
  202. data/vendor/assets/components/jquery/test/data/script.php +11 -0
  203. data/vendor/assets/components/jquery/test/data/selector/html5_selector.html +114 -0
  204. data/vendor/assets/components/jquery/test/data/selector/sizzle_cache.html +21 -0
  205. data/vendor/assets/components/jquery/test/data/statusText.php +5 -0
  206. data/vendor/assets/components/jquery/test/data/support/bodyBackground.html +28 -0
  207. data/vendor/assets/components/jquery/test/data/support/shrinkWrapBlocks.html +23 -0
  208. data/vendor/assets/components/jquery/test/data/support/testElementCrash.html +17 -0
  209. data/vendor/assets/components/jquery/test/data/test.html +7 -0
  210. data/vendor/assets/components/jquery/test/data/test.js +3 -0
  211. data/vendor/assets/components/jquery/test/data/test.php +7 -0
  212. data/vendor/assets/components/jquery/test/data/test2.html +5 -0
  213. data/vendor/assets/components/jquery/test/data/test3.html +3 -0
  214. data/vendor/assets/components/jquery/test/data/testinit.js +269 -0
  215. data/vendor/assets/components/jquery/test/data/testrunner.js +368 -0
  216. data/vendor/assets/components/jquery/test/data/testsuite.css +155 -0
  217. data/vendor/assets/components/jquery/test/data/text.php +12 -0
  218. data/vendor/assets/components/jquery/test/data/ua.txt +272 -0
  219. data/vendor/assets/components/jquery/test/data/with_fries.xml +25 -0
  220. data/vendor/assets/components/jquery/test/data/with_fries_over_jsonp.php +7 -0
  221. data/vendor/assets/components/jquery/test/delegatetest.html +228 -0
  222. data/vendor/assets/components/jquery/test/hovertest.html +158 -0
  223. data/vendor/assets/components/jquery/test/index.html +330 -0
  224. data/vendor/assets/components/jquery/test/localfile.html +75 -0
  225. data/vendor/assets/components/jquery/test/networkerror.html +84 -0
  226. data/vendor/assets/components/jquery/test/polluted.php +110 -0
  227. data/vendor/assets/components/jquery/test/readywait.html +70 -0
  228. data/vendor/assets/components/jquery/test/unit/ajax.js +1971 -0
  229. data/vendor/assets/components/jquery/test/unit/attributes.js +1332 -0
  230. data/vendor/assets/components/jquery/test/unit/callbacks.js +326 -0
  231. data/vendor/assets/components/jquery/test/unit/core.js +1332 -0
  232. data/vendor/assets/components/jquery/test/unit/css.js +1036 -0
  233. data/vendor/assets/components/jquery/test/unit/data.js +636 -0
  234. data/vendor/assets/components/jquery/test/unit/deferred.js +440 -0
  235. data/vendor/assets/components/jquery/test/unit/deprecated.js +1 -0
  236. data/vendor/assets/components/jquery/test/unit/dimensions.js +461 -0
  237. data/vendor/assets/components/jquery/test/unit/effects.js +2050 -0
  238. data/vendor/assets/components/jquery/test/unit/event.js +2690 -0
  239. data/vendor/assets/components/jquery/test/unit/exports.js +7 -0
  240. data/vendor/assets/components/jquery/test/unit/manipulation.js +2242 -0
  241. data/vendor/assets/components/jquery/test/unit/offset.js +549 -0
  242. data/vendor/assets/components/jquery/test/unit/queue.js +316 -0
  243. data/vendor/assets/components/jquery/test/unit/selector.js +185 -0
  244. data/vendor/assets/components/jquery/test/unit/serialize.js +146 -0
  245. data/vendor/assets/components/jquery/test/unit/support.js +384 -0
  246. data/vendor/assets/components/jquery/test/unit/traversing.js +667 -0
  247. data/vendor/assets/components/jquery/test/xhtml.php +5 -0
  248. data/vendor/assets/components/sir-trevor-js/CHANGELOG.md +44 -0
  249. data/vendor/assets/components/sir-trevor-js/Gemfile +3 -0
  250. data/vendor/assets/components/sir-trevor-js/Gemfile.lock +10 -0
  251. data/vendor/assets/components/sir-trevor-js/Gruntfile.js +109 -0
  252. data/vendor/assets/components/sir-trevor-js/MIT-LICENCE +20 -0
  253. data/vendor/assets/components/sir-trevor-js/Readme.md +84 -0
  254. data/vendor/assets/components/sir-trevor-js/bower.json +21 -0
  255. data/vendor/assets/components/sir-trevor-js/component.json +42 -0
  256. data/vendor/assets/components/sir-trevor-js/contributing.md +74 -0
  257. data/vendor/assets/components/sir-trevor-js/examples-component/component.json +14 -0
  258. data/vendor/assets/components/sir-trevor-js/examples-component/index.html +33 -0
  259. data/vendor/assets/components/sir-trevor-js/examples-component/index.js +29 -0
  260. data/vendor/assets/components/sir-trevor-js/examples-component/javascript/example_block.js +203 -0
  261. data/vendor/assets/components/sir-trevor-js/examples-component/javascript/limit_chars.js +46 -0
  262. data/vendor/assets/components/sir-trevor-js/examples-component/sir-trevor.gif +0 -0
  263. data/vendor/assets/components/sir-trevor-js/locales/cn.js +51 -0
  264. data/vendor/assets/components/sir-trevor-js/locales/de.js +51 -0
  265. data/vendor/assets/components/sir-trevor-js/locales/es.js +51 -0
  266. data/vendor/assets/components/sir-trevor-js/locales/fi.js +51 -0
  267. data/vendor/assets/components/sir-trevor-js/locales/fr.js +51 -0
  268. data/vendor/assets/components/sir-trevor-js/locales/pt.js +52 -0
  269. data/vendor/assets/components/sir-trevor-js/package.json +23 -0
  270. data/vendor/assets/components/sir-trevor-js/sir-trevor-icons.css +6 -0
  271. data/vendor/assets/components/sir-trevor-js/sir-trevor.css +393 -0
  272. data/vendor/assets/components/sir-trevor-js/sir-trevor.css.map +7 -0
  273. data/vendor/assets/components/sir-trevor-js/sir-trevor.js +5481 -0
  274. data/vendor/assets/components/sir-trevor-js/sir-trevor.min.js +13 -0
  275. data/vendor/assets/components/underscore/CNAME +1 -0
  276. data/vendor/assets/components/underscore/CONTRIBUTING.md +9 -0
  277. data/vendor/assets/components/underscore/LICENSE +22 -0
  278. data/vendor/assets/components/underscore/README.md +19 -0
  279. data/vendor/assets/components/underscore/Rakefile +10 -0
  280. data/vendor/assets/components/underscore/docs/docco.css +192 -0
  281. data/vendor/assets/components/underscore/docs/favicon.ico +0 -0
  282. data/vendor/assets/components/underscore/docs/images/background.png +0 -0
  283. data/vendor/assets/components/underscore/docs/images/underscore.png +0 -0
  284. data/vendor/assets/components/underscore/docs/underscore.html +823 -0
  285. data/vendor/assets/components/underscore/favicon.ico +0 -0
  286. data/vendor/assets/components/underscore/index.html +2467 -0
  287. data/vendor/assets/components/underscore/index.js +1 -0
  288. data/vendor/assets/components/underscore/package.json +16 -0
  289. data/vendor/assets/components/underscore/test/arrays.js +200 -0
  290. data/vendor/assets/components/underscore/test/chaining.js +59 -0
  291. data/vendor/assets/components/underscore/test/collections.js +453 -0
  292. data/vendor/assets/components/underscore/test/functions.js +265 -0
  293. data/vendor/assets/components/underscore/test/index.html +44 -0
  294. data/vendor/assets/components/underscore/test/objects.js +570 -0
  295. data/vendor/assets/components/underscore/test/speed.js +75 -0
  296. data/vendor/assets/components/underscore/test/utility.js +266 -0
  297. data/vendor/assets/components/underscore/test/vendor/jquery.js +9404 -0
  298. data/vendor/assets/components/underscore/test/vendor/jslitmus.js +670 -0
  299. data/vendor/assets/components/underscore/test/vendor/qunit.css +235 -0
  300. data/vendor/assets/components/underscore/test/vendor/qunit.js +1977 -0
  301. data/vendor/assets/components/underscore/test/vendor/runner.js +98 -0
  302. data/vendor/assets/components/underscore/underscore-min.js +1 -0
  303. data/vendor/assets/components/underscore/underscore.js +1226 -0
  304. metadata +473 -0
@@ -0,0 +1,6 @@
1
+ /*!
2
+ Autosize 1.18.18
3
+ license: MIT
4
+ http://www.jacklmoore.com/autosize
5
+ */
6
+ !function(e){var t,o={className:"autosizejs",id:"autosizejs",append:"\n",callback:!1,resizeDelay:10,placeholder:!0},i=["fontFamily","fontSize","fontWeight","fontStyle","letterSpacing","textTransform","wordSpacing","textIndent","whiteSpace"],a=e('<textarea tabindex="-1"/>').data("autosize",!0)[0];a.style.cssText="position:absolute; top:-999px; left:0; right:auto; bottom:auto; border:0; padding: 0; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; height:0 !important; min-height:0 !important; overflow:hidden; transition:none; -webkit-transition:none; -moz-transition:none;",a.style.lineHeight="99px","99px"===e(a).css("lineHeight")&&i.push("lineHeight"),a.style.lineHeight="",e.fn.autosize=function(n){return this.length?(n=e.extend({},o,n||{}),a.parentNode!==document.body&&e(document.body).append(a),this.each(function(){function o(){var t,o=window.getComputedStyle?window.getComputedStyle(u,null):null;o?(t=parseFloat(o.width),("border-box"===o.boxSizing||"border-box"===o.webkitBoxSizing||"border-box"===o.mozBoxSizing)&&e.each(["paddingLeft","paddingRight","borderLeftWidth","borderRightWidth"],function(e,i){t-=parseFloat(o[i])})):t=p.width(),a.style.width=Math.max(t,0)+"px"}function s(){var s={};if(t=u,a.className=n.className,a.id=n.id,d=parseFloat(p.css("maxHeight")),e.each(i,function(e,t){s[t]=p.css(t)}),e(a).css(s).attr("wrap",p.attr("wrap")),o(),window.chrome){var r=u.style.width;u.style.width="0px";{u.offsetWidth}u.style.width=r}}function r(){var e,i;t!==u?s():o(),a.value=!u.value&&n.placeholder?p.attr("placeholder")||"":u.value,a.value+=n.append||"",a.style.overflowY=u.style.overflowY,i=parseFloat(u.style.height)||0,a.scrollTop=0,a.scrollTop=9e4,e=a.scrollTop,d&&e>d?(u.style.overflowY="scroll",e=d):(u.style.overflowY="hidden",c>e&&(e=c)),e+=z,Math.abs(i-e)>.01&&(u.style.height=e+"px",a.className=a.className,w&&n.callback.call(u,u),p.trigger("autosize.resized"))}function l(){clearTimeout(h),h=setTimeout(function(){var e=p.width();e!==b&&(b=e,r())},parseInt(n.resizeDelay,10))}var d,c,h,u=this,p=e(u),z=0,w=e.isFunction(n.callback),f={height:u.style.height,overflow:u.style.overflow,overflowY:u.style.overflowY,wordWrap:u.style.wordWrap,resize:u.style.resize},b=p.width(),g=p.css("resize");p.data("autosize")||(p.data("autosize",!0),("border-box"===p.css("box-sizing")||"border-box"===p.css("-moz-box-sizing")||"border-box"===p.css("-webkit-box-sizing"))&&(z=p.outerHeight()-p.height()),c=Math.max(parseFloat(p.css("minHeight"))-z||0,p.height()),p.css({overflow:"hidden",overflowY:"hidden",wordWrap:"break-word"}),"vertical"===g?p.css("resize","none"):"both"===g&&p.css("resize","horizontal"),"onpropertychange"in u?"oninput"in u?p.on("input.autosize keyup.autosize",r):p.on("propertychange.autosize",function(){"value"===event.propertyName&&r()}):p.on("input.autosize",r),n.resizeDelay!==!1&&e(window).on("resize.autosize",l),p.on("autosize.resize",r),p.on("autosize.resizeIncludeStyle",function(){t=null,r()}),p.on("autosize.destroy",function(){t=null,clearTimeout(h),e(window).off("resize",l),p.off("autosize").off(".autosize").css(f).removeData("autosize")}),r())})):this}}(jQuery||$);
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "jquery-autosize",
3
+ "description": "Automatically adjust textarea height based on user input.",
4
+ "version": "1.18.18",
5
+ "dependencies": {},
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git://github.com/jackmoore/autosize.git"
9
+ },
10
+ "keywords": [
11
+ "form",
12
+ "textarea",
13
+ "ui",
14
+ "jQuery",
15
+ "jquery-plugin"
16
+ ],
17
+ "authors": [
18
+ {
19
+ "name": "Jack Moore",
20
+ "url": "http://www.jacklmoore.com",
21
+ "email": "hello@jacklmoore.com"
22
+ }
23
+ ],
24
+ "licenses": [
25
+ {
26
+ "type": "MIT",
27
+ "url": "http://www.opensource.org/licenses/mit-license.php"
28
+ }
29
+ ],
30
+ "homepage": "http://www.jacklmoore.com/autosize",
31
+ "main": "jquery.autosize.js"
32
+ }
@@ -0,0 +1,216 @@
1
+ ## Autosize
2
+
3
+ Small jQuery plugin to allow dynamic resizing of textarea height, so that it grows as based on visitor input. To use, just call the `.autosize()` method on any textarea element. Example `$('textarea').autosize();`. See the [project page](http://jacklmoore.com/autosize/) for documentation, caveats, and a demonstration. Released under the [MIT license](http://www.opensource.org/licenses/mit-license.php).
4
+
5
+ ## Changelog
6
+
7
+ ##### v.1.18.18 - 2015/02/24
8
+ * Fix Content Security Policy (CSP) warnings about unsafe-inline styles. Fixes #199.
9
+
10
+ ##### v.1.18.17 - 2014/12/10
11
+ * Fixed potential issue when using transforms to scale a textarea. Fixes #190.
12
+
13
+ ##### v1.18.16 - 2014/12/9
14
+ * Treat height differences smaller than 1/100px as equal. Merges #189.
15
+
16
+ ##### v1.18.15 - 2014/11/11
17
+ * Replaced parseInt with parseFloat to support sub-pixel values. Merges #185.
18
+
19
+ ##### v1.18.14 - 2014/10/3
20
+ * Fixed potential IE8 issue. Merged #181.
21
+
22
+ ##### v1.18.13 - 2014/10/3
23
+ * Allow setting the append property to falsey values. Fixes #177, Ref #168, Ref #166.
24
+
25
+ ##### v1.18.12 - 2014/9/9
26
+ * Replace window.jQuery with jQuery. Fixes #176.
27
+
28
+ ##### v1.18.11 - 2014/9/9
29
+ * Merged request for autosize.resized event. Fixes #149.
30
+
31
+ ##### v1.18.10 - 2014/9/9
32
+ * Added white-space to the list of monitored textarea properties.
33
+
34
+ ##### v1.18.9 - 2014/5/27
35
+ * Minor change to fix potential IE8 negative width bug. Fixes #157 Fixes #158
36
+
37
+ ##### v1.18.8 - 2014/5/20
38
+ * Minor change to logic for applying the CSS resize property. Fixes #156
39
+
40
+ ##### v1.18.7 - 2014/4/13
41
+ * Very minor change to better represent condition for taking the element width from the style object. Fixes #147
42
+ * Added a newline character by default to the textarea element for smoother behavior in IE. Reference #148
43
+
44
+ ##### v1.18.6 - 2014/3/13
45
+ * Fixed incorrect size when setting the HTML5 textarea wrap attribute to 'hard'.
46
+
47
+ ##### v1.18.5 - 2014/3/10
48
+ * Added 'id' property for setting the id of the mirrored textarea element
49
+
50
+ ##### v1.18.4 - 2014/1/11
51
+ * If textarea displays placeholder text, use placeholder text for sizing. Ref #130, Ref #84.
52
+
53
+ ##### v1.18.3 - 2014/1/10
54
+ * Allow correct width calculation of hidden textarea elements, when they have a specified width. Fixes #134
55
+
56
+ ##### v1.18.2 - 2014/1/6
57
+ * Checked getComputedStyle return value to avoid potential error exception. Fixes #133
58
+
59
+ ##### v1.18.1 - 2013/11/5
60
+ * Removed AMD support. Fixes #109 Ref #56.
61
+
62
+ ##### v1.18.0 - 2013/10/20
63
+ * Fixed error that was being thrown in Firefox 3.x. Fixes #112
64
+
65
+ ##### v1.17.8 - 2013/9/7
66
+ * Minor change to not append the mirror element when the plugin is applied to an empty jQuery collection
67
+
68
+ ##### v1.17.7 - 2013/9/3
69
+ * Reverted to an earlier fix for a Chrome issue. Too many issues with using setSelectionRange.
70
+
71
+ ##### v1.17.6 - 2013/8/24
72
+ * Fixed a potential issue introduced in 1.17.4 that causes an 'NS_ERROR_FAILURE' error in Firefox.
73
+
74
+ ##### v1.17.5 - 2013/8/23
75
+ * Fixed oversight in 1.17.4 that caused Firefox fix not to be applied.
76
+
77
+ ##### v1.17.4 - 2013/8/22
78
+ * Improved speed of editing large blocks of text in Firefox.
79
+
80
+ ##### v1.17.3 - 2013/8/2013
81
+ * Resolved an issue that was causing slowing down initialization for large blocks of text in Chrome.
82
+ * Renamed minified file from jquery.autosize-min.js to jquery.autosize.min.js
83
+
84
+ ##### v1.17.2 - 2013/7/28
85
+ * Added support for loading as an AMD module.
86
+ * Added package.json for installing through NPM.
87
+
88
+ ##### v1.17.1 - 2013/6/22
89
+ * Fixed potential memory leak when using autosize.destroy.
90
+
91
+ ##### v1.17.0 - 2013/6/19
92
+ * Renamed 'autosize' event to 'autosize.resize'
93
+ * Renamed 'autosize.includeStyle' event to 'autosize.resizeIncludeStyle'
94
+ * Fixes problem introduced in 1.16.18 with manually triggering the 'autosize' event:
95
+
96
+ ##### v1.16.20 - 2013/6/18
97
+ * Minor improvement to the destroy event.
98
+
99
+ ##### v1.16.19 - 2013/6/18
100
+ * Added event for removing autosize from a textarea element:
101
+ $('textarea.example').trigger('autosize.destroy');
102
+
103
+ ##### v1.16.18 - 2013/6/18
104
+ * Added event for manually triggering resize that also accounts for typographic styles that have changed on the textarea element. Example:
105
+ $('textarea.example').css('text-indent', 25);
106
+ $('textarea.example').trigger('autosize.includeStyle');
107
+ * Minor optimization
108
+
109
+ ##### v1.16.17 - 2013/6/12
110
+ * Fixed a compatibility issue with jQuery versions before 1.9 introduced in the previous update.
111
+
112
+ ##### v1.16.16 - 2013/6/11
113
+ * Fixed an issue where the calculated height might be slightly off in modern browsers when the width of the textarea has a sub-pixel value.
114
+
115
+ ##### v1.16.15 - 2013/6/7
116
+ * Reduced how frequently autosize is triggered when resizing the window. Added resizeDelay property so that the frequency can be adjusted or disabled.
117
+
118
+ ##### v1.16.14 - 2013/6/6
119
+ * Fixed an issue with autosize working poorly if the mirror element has a transition applied to it's width.
120
+
121
+ ##### v1.16.13 - 2013/6/4
122
+ * Fixed a Chrome cursor position issue introduced with the reflow workaround added in 1.16.10.
123
+
124
+ ##### v1.16.12 - 2013/5/31
125
+ * Much better efficiency and smoothness for IE8 and lower.
126
+
127
+ ##### v1.16.11 - 2013/5/31
128
+ * Fixed a default height issue in IE8 and lower.
129
+
130
+ ##### v1.16.10 - 2013/5/30
131
+ * Dropped scrollHeight for scrollTop. This fixed a height problem relating to padding. (Fixes #70)
132
+ * Re-added workaround to get Chrome to reflow text after hiding overflow.
133
+
134
+ ##### v1.16.9 - 2013/5/20
135
+ * Reverted change from 1.16.8 as it caused an issue in IE8. (Fixes #69)
136
+
137
+ ##### v1.16.8 - 2013/5/7
138
+ * Fixed issue where autosize was creating a horizontal scrollbar for a user
139
+
140
+ ##### v1.16.7 - 2013/3/20
141
+ * Added workaround for a very edge-case iOS bug (Fixes #58).
142
+
143
+ ##### v1.16.6 - 2013/3/12
144
+ * Replaced jQuery shorthand methods with on() in anticipation of jQuery 2.0 conditional builds
145
+
146
+ ##### v1.16.5 - 2013/3/12
147
+ * Fixed a bug where triggering the autosize event immediately after assigning autosize had no effect.
148
+
149
+ ##### v1.16.4 - 2013/1/29
150
+ * Fixed a conflict with direction:ltr pages.
151
+
152
+ ##### v1.16.3 - 2013/1/23
153
+ * Added minified file back to repository
154
+
155
+ ##### v1.16.2 - 2013/1/20
156
+ * Minor box-sizing issue dealing with min-heights.
157
+
158
+ ##### v1.16.1 - 2013/1/20
159
+ * Added to plugins.jquery.com
160
+
161
+ ##### v1.15 - 2012/11/16
162
+ * Reworked to only create a single mirror element, instead of one for each textarea.
163
+ * Dropped feature detection for FF3 and Safari 4.
164
+
165
+ ##### v1.14 - 2012/10/6
166
+ * Added 'append' option for appending whitespace to the end of the height calculation (an extra newline improves the apperance when animating).
167
+ * Added a demonstration of animating the height change using a CSS transition.
168
+
169
+ ##### v1.13 - 2012/9/21
170
+ * Added optional callback that fires after resize.
171
+
172
+ ##### v1.12 - 2012/9/3
173
+ * Fixed a bug I introduced in the last update.
174
+
175
+ ##### v1.11 - 2012/8/8
176
+ * Added workaround to get Chrome to reflow default text better.
177
+
178
+ ##### v1.10 - 2012/4/30
179
+ * Added 'lineHeight' to the list of styles considered for size detection.
180
+
181
+ ##### v1.9 - 2012/6/19
182
+ * Added 'textIndent' to the list of styles considered for size detection.
183
+ * Added vender prefixes to box-sizing detection
184
+
185
+ ##### v1.8 - 2012/6/7
186
+ * Added conditional so that autosize cannot be applied twice to the same element
187
+ * When autosize is applied to an element, it will have a data property that links it to the mirrored textarea element. This will make it easier to keep track of and remove unneeded mirror elements. Example:
188
+
189
+ $('textarea.example').data('mirror').remove(); // delete the mirror
190
+
191
+ $('textarea.example').remove(); // delete the original
192
+
193
+ ##### v1.7 - 2012/5/3
194
+ * Now supports box-sizing:border-box
195
+
196
+ ##### v1.6 - 2012/2/11
197
+ * added binding to allow autosize to be triggered manually. Example:
198
+ $('#myTextArea').trigger('autosize');
199
+
200
+ ##### v1.5 - 2011/12/7
201
+ * fixed a regression in detecting Firefox support
202
+
203
+ ##### v1.4 - 2011/11/22
204
+ * added branching to exclude old browsers (FF3- & Safari4-)
205
+
206
+ ##### v1.3 - 2011/11/13
207
+ * fixed a regression in 1.1 relating to Opera.
208
+
209
+ ##### v1.2 - 2011/11/10
210
+ * fixed a regression in 1.1 that broke autosize for IE9.
211
+
212
+ ##### v1.1 - 2011/11/10
213
+ * autosize now follows the max-height of textareas. OverflowY will be set to scroll once the content height exceeds max-height.
214
+
215
+ ##### v1.0 - 2011/11/7
216
+ * first release
@@ -0,0 +1,163 @@
1
+ Authors ordered by first contribution.
2
+
3
+ John Resig <jeresig@gmail.com>
4
+ Gilles van den Hoven <gilles0181@gmail.com>
5
+ Michael Geary <mike@geary.com>
6
+ Stefan Petre <stefan.petre@gmail.com>
7
+ Yehuda Katz <wycats@gmail.com>
8
+ Corey Jewett <cj@syntheticplayground.com>
9
+ Klaus Hartl <klaus.hartl@googlemail.com>
10
+ Franck Marcia <franck.marcia@gmail.com>
11
+ Jörn Zaefferer <joern.zaefferer@gmail.com>
12
+ Paul Bakaus <paul.bakaus@googlemail.com>
13
+ Brandon Aaron <brandon.aaron@gmail.com>
14
+ Mike Alsup <malsup@gmail.com>
15
+ Dave Methvin <dave.methvin@gmail.com>
16
+ Ed Engelhardt <edengelhardt@gmail.com>
17
+ Sean Catchpole <sean@sunsean.com>
18
+ Paul Mclanahan <pmclanahan@gmail.com>
19
+ David Serduke <davidserduke@gmail.com>
20
+ Richard D. Worth <rdworth@gmail.com>
21
+ Scott González <scott.gonzalez@gmail.com>
22
+ Ariel Flesler <aflesler@gmail.com>
23
+ Jon Evans <jon@springyweb.com>
24
+ TJ Holowaychuk <tj@vision-media.ca>
25
+ Michael Bensoussan <mickey@seesmic.com>
26
+ Robert Katić <robert.katic@gmail.com>
27
+ Louis-Rémi Babé <lrbabe@gmail.com>
28
+ Earle Castledine <mrspeaker@gmail.com>
29
+ Damian Janowski <damian.janowski@gmail.com>
30
+ Rich Dougherty <rich@rd.gen.nz>
31
+ Kim Dalsgaard <kim@kimdalsgaard.com>
32
+ Andrea Giammarchi <andrea.giammarchi@gmail.com>
33
+ Mark Gibson <jollytoad@gmail.com>
34
+ Karl Swedberg <karl@englishrules.com>
35
+ Justin Meyer <justinbmeyer@gmail.com>
36
+ Ben Alman <cowboy@rj3.net>
37
+ James Padolsey <cla@padolsey.net>
38
+ David Petersen <public@petersendidit.com>
39
+ Batiste Bieler <batiste@gmail.com>
40
+ Alexander Farkas <info@corrupt-system.de>
41
+ Rick Waldron <waldron.rick@gmail.com>
42
+ Filipe Fortes <filipe@fortes.com>
43
+ Neeraj Singh <neerajdotname@gmail.com>
44
+ Paul Irish <paul.irish@gmail.com>
45
+ Iraê Carvalho <irae@irae.pro.br>
46
+ Matt Curry <matt@pseudocoder.com>
47
+ Michael Monteleone <michael@michaelmonteleone.net>
48
+ Noah Sloan <noah.sloan@gmail.com>
49
+ Tom Viner <github@viner.tv>
50
+ Douglas Neiner <doug@pixelgraphics.us>
51
+ Adam J. Sontag <ajpiano@ajpiano.com>
52
+ Dave Reed <dareed@microsoft.com>
53
+ Ralph Whitbeck <ralph.whitbeck@gmail.com>
54
+ Carl Fürstenberg <azatoth@gmail.com>
55
+ Jacob Wright <jacwright@gmail.com>
56
+ J. Ryan Stinnett <jryans@gmail.com>
57
+ Heungsub Lee <h@subl.ee>
58
+ Colin Snover <colin@alpha.zetafleet.com>
59
+ Ryan W Tenney <ryan@10e.us>
60
+ Ron Otten <r.j.g.otten@gmail.com>
61
+ Jephte Clain <Jephte.Clain@univ-reunion.fr>
62
+ Anton Matzneller <obhvsbypqghgc@gmail.com>
63
+ Alex Sexton <AlexSexton@gmail.com>
64
+ Dan Heberden <danheberden@gmail.com>
65
+ Henri Wiechers <hwiechers@gmail.com>
66
+ Russell Holbrook <russellholbrook@gmail.com>
67
+ Julian Aubourg <aubourg.julian@gmail.com>
68
+ Gianni Alessandro Chiappetta <gianni@runlevel6.org>
69
+ Scott Jehl <scott@scottjehl.com>
70
+ James Burke <jrburke@gmail.com>
71
+ Jonas Pfenniger <jonas@pfenniger.name>
72
+ Xavi Ramirez <xavi.rmz@gmail.com>
73
+ Jared Grippe <jared@deadlyicon.com>
74
+ Sylvester Keil <sylvester@keil.or.at>
75
+ Brandon Sterne <bsterne@mozilla.com>
76
+ Mathias Bynens <mathias@qiwi.be>
77
+ Timmy Willison <timmywillisn@gmail.com>
78
+ Corey Frang <gnarf@gnarf.net>
79
+ Anton Kovalyov <anton@kovalyov.net>
80
+ David Murdoch <musicisair@yahoo.com>
81
+ Josh Varner <josh.varner@gmail.com>
82
+ Charles McNulty <cmcnulty@kznf.com>
83
+ Jordan Boesch <jboesch26@gmail.com>
84
+ Jess Thrysoee <jess@thrysoee.dk>
85
+ Michael Murray <m@murz.net>
86
+ Lee Carpenter <elcarpie@gmail.com>
87
+ Alexis Abril <me@alexisabril.com>
88
+ Rob Morgan <robbym@gmail.com>
89
+ John Firebaugh <john_firebaugh@bigfix.com>
90
+ Sam Bisbee <sam@sbisbee.com>
91
+ Gilmore Davidson <gilmoreorless@gmail.com>
92
+ Brian Brennan <me@brianlovesthings.com>
93
+ Xavier Montillet <xavierm02.net@gmail.com>
94
+ Daniel Pihlstrom <sciolist.se@gmail.com>
95
+ Sahab Yazdani <sahab.yazdani+github@gmail.com>
96
+ Scott Hughes <shughes@atlassian.com>
97
+ Mike Sherov <mike.sherov@gmail.com>
98
+ Greg Hazel <ghazel@gmail.com>
99
+ Schalk Neethling <schalk@ossreleasefeed.com>
100
+ Denis Knauf <Denis.Knauf@gmail.com>
101
+ Timo Tijhof <krinklemail@gmail.com>
102
+ Steen Nielsen <swinedk@gmail.com>
103
+ Anton Ryzhov <anton@ryzhov.me>
104
+ Shi Chuan <shichuanr@gmail.com>
105
+ Berker Peksag <berker.peksag@gmail.com>
106
+ Toby Brain <tobyb@freshview.com>
107
+ Matt Mueller <mattmuelle@gmail.com>
108
+ Daniel Herman <daniel.c.herman@gmail.com>
109
+ Oleg Gaidarenko <markelog@gmail.com>
110
+ Richard Gibson <richard.gibson@gmail.com>
111
+ Rafaël Blais Masson <rafbmasson@gmail.com>
112
+ Joe Presbrey <presbrey@gmail.com>
113
+ Sindre Sorhus <sindresorhus@gmail.com>
114
+ Arne de Bree <arne@bukkie.nl>
115
+ Vladislav Zarakovsky <vlad.zar@gmail.com>
116
+ Andrew E Monat <amonat@gmail.com>
117
+ Joao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br>
118
+ Dominik D. Geyer <dominik.geyer@gmail.com>
119
+ Matt Farmer <matt@frmr.me>
120
+ Trey Hunner <treyhunner@gmail.com>
121
+ Jason Moon <jmoon@socialcast.com>
122
+ Jeffery To <jeffery.to@gmail.com>
123
+ Kris Borchers <kris.borchers@gmail.com>
124
+ Vladimir Zhuravlev <private.face@gmail.com>
125
+ Jacob Thornton <jacobthornton@gmail.com>
126
+ Chad Killingsworth <chadkillingsworth@missouristate.edu>
127
+ Nowres Rafid <nowres.rafed@gmail.com>
128
+ David Benjamin <davidben@mit.edu>
129
+ Uri Gilad <antishok@gmail.com>
130
+ Chris Faulkner <thefaulkner@gmail.com>
131
+ Elijah Manor <elijah.manor@gmail.com>
132
+ Daniel Chatfield <chatfielddaniel@gmail.com>
133
+ Nikita Govorov <nikita.govorov@gmail.com>
134
+ Wesley Walser <wwalser@atlassian.com>
135
+ Michael Pennisi <mike@mikepennisi.com>
136
+ Markus Staab <markus.staab@redaxo.de>
137
+ Benjamin Truyman <bentruyman@gmail.com>
138
+ James Huston <james@jameshuston.net>
139
+ Ismail Khair <ismail.khair@gmail.com>
140
+ Carl Danley <carldanley@gmail.com>
141
+ Michael Petrovich <michael.c.petrovich@gmail.com>
142
+ Callum Macrae <callum@lynxphp.com>
143
+ David Bonner <dbonner@cogolabs.com>
144
+ Erick Ruiz de Chávez <erickrdch@gmail.com>
145
+ Akintayo Akinwunmi <aakinwunmi@judge.com>
146
+ Dave Riddle <david@joyvuu.com>
147
+ Greg Lavallee <greglavallee@wapolabs.com>
148
+ Daniel Gálvez <dgalvez@editablething.com>
149
+ Sai Lung Wong <sai.wong@huffingtonpost.com>
150
+ Tom H Fuertes <TomFuertes@gmail.com>
151
+ Roland Eckl <eckl.roland@googlemail.com>
152
+ Jay Merrifield <fracmak@gmail.com>
153
+ Allen J Schmidt Jr <cobrasoft@gmail.com>
154
+ Marcel Greter <marcel.greter@ocbnet.ch>
155
+ Matthias Jäggli <matthias.jaeggli@gmail.com>
156
+ Yiming He <yiminghe@gmail.com>
157
+ Devin Cooper <cooper.semantics@gmail.com>
158
+ Bennett Sorbo <bsorbo@gmail.com>
159
+ Sebastian Burkhard <sebi.burkhard@gmail.com>
160
+ Danil Somsikov <danilasomsikov@gmail.com>
161
+ Jean Boussier <jean.boussier@gmail.com>
162
+ Adam Coulombe <me@adam.co>
163
+ Andrew Plummer <plummer.andrew@gmail.com>
@@ -0,0 +1,216 @@
1
+ # Contributing to jQuery
2
+
3
+ 1. [Getting Involved](#getting-involved)
4
+ 2. [Discussion](#discussion)
5
+ 3. [How To Report Bugs](#how-to-report-bugs)
6
+ 4. [Core Style Guide](#jquery-core-style-guide)
7
+ 5. [Tips For Bug Patching](#tips-for-bug-patching)
8
+
9
+
10
+
11
+ ## Getting Involved
12
+
13
+ There are a number of ways to get involved with the development of jQuery core. Even if you've never contributed code to an Open Source project before, we're always looking for help identifying bugs, writing and reducing test cases and documentation.
14
+
15
+ This is the best way to contribute to jQuery core. Please read through the full guide detailing [How to Report Bugs](#how-to-report-bugs).
16
+
17
+ ## Discussion
18
+
19
+ ### Forum and IRC
20
+
21
+ The jQuery core development team frequently tracks posts on the [jQuery Development Forum](http://forum.jquery.com/developing-jquery-core). If you have longer posts or questions please feel free to post them there. If you think you've found a bug please [file it in the bug tracker](#how-to-report-bugs).
22
+
23
+ Additionally most of the jQuery core development team can be found in the [#jquery-dev](http://webchat.freenode.net/?channels=jquery-dev) IRC channel on irc.freenode.net.
24
+
25
+ ### Weekly Status Meetings
26
+
27
+ Every week (unless otherwise noted) the jQuery core dev team has a meeting to discuss the progress of current work and to bring forward possible new blocker bugs for discussion.
28
+
29
+ The meeting is held in the [#jquery-meeting](http://webchat.freenode.net/?channels=jquery-meeting) IRC channel on irc.freenode.net at [Noon EST](http://www.timeanddate.com/worldclock/fixedtime.html?month=1&day=17&year=2011&hour=12&min=0&sec=0&p1=43) on Mondays.
30
+
31
+ [Past Meeting Notes](https://docs.google.com/document/d/1MrLFvoxW7GMlH9KK-bwypn77cC98jUnz7sMW1rg_TP4/edit?hl=en)
32
+
33
+
34
+ ## How to Report Bugs
35
+
36
+ ### Make sure it is a jQuery bug
37
+
38
+ Many bugs reported to our bug tracker are actually bugs in user code, not in jQuery code. Keep in mind that just because your code throws an error and the console points to a line number inside of jQuery, this does *not* mean the bug is a jQuery bug; more often than not, these errors result from providing incorrect arguments when calling a jQuery function.
39
+
40
+ If you are new to jQuery, it is usually a much better idea to ask for help first in the [Using jQuery Forum](http://forum.jquery.com/using-jquery) or the [jQuery IRC channel](http://webchat.freenode.net/?channels=%23jquery). You will get much quicker support, and you will help avoid tying up the jQuery team with invalid bug reports. These same resources can also be useful if you want to confirm that your bug is indeed a bug in jQuery before filing any tickets.
41
+
42
+
43
+ ### Disable any browser extensions
44
+
45
+ Make sure you have reproduced the bug with all browser extensions and add-ons disabled, as these can sometimes cause things to break in interesting and unpredictable ways. Try using incognito, stealth or anonymous browsing modes.
46
+
47
+
48
+ ### Try the latest version of jQuery
49
+
50
+ Bugs in old versions of jQuery may have already been fixed. In order to avoid reporting known issues, make sure you are always testing against the [latest build](http://code.jquery.com/jquery.js).
51
+
52
+ ### Try an older version of jQuery
53
+
54
+ Sometimes, bugs are introduced in newer versions of jQuery that do not exist in previous versions. When possible, it can be useful to try testing with an older release.
55
+
56
+ ### Reduce, reduce, reduce!
57
+
58
+ When you are experiencing a problem, the most useful thing you can possibly do is to [reduce your code](http://webkit.org/quality/reduction.html) to the bare minimum required to reproduce the issue. This makes it *much* easier to isolate and fix the offending code. Bugs that are reported without reduced test cases take on average 9001% longer to fix than bugs that are submitted with them, so you really should try to do this if at all possible.
59
+
60
+ ## jQuery Core Style Guide
61
+
62
+ See: [jQuery Core Style Guide](http://docs.jquery.com/JQuery_Core_Style_Guidelines)
63
+
64
+ ## Tips For Bug Patching
65
+
66
+
67
+ ### Environment: localhost w/ PHP, Node & Grunt
68
+
69
+ Starting in jQuery 1.8, a newly overhauled development workflow has been introduced. In this new system, we rely on node & gruntjs to automate the building and validation of source code—while you write code.
70
+
71
+ The Ajax tests still depend on PHP running locally*, so make sure you have the following installed:
72
+
73
+ * Some kind of localhost server program that supports PHP (any will do)
74
+ * Node.js
75
+ * NPM (comes with the latest version of Node.js)
76
+ * Grunt (install with: `npm install grunt -g`
77
+
78
+
79
+ Maintaining a list of platform specific instructions is outside of the scope of this document and there is plenty of existing documentation for the above technologies.
80
+
81
+ * The PHP dependency will soon be shed in favor of an all-node solution.
82
+
83
+
84
+ ### Build a Local Copy of jQuery
85
+
86
+ Create a fork of the jQuery repo on github at http://github.com/jquery/jquery
87
+
88
+ Change directory to your web root directory, whatever that might be:
89
+
90
+ ```bash
91
+ $ cd /path/to/your/www/root/
92
+ ```
93
+
94
+ Clone your jQuery fork to work locally
95
+
96
+ ```bash
97
+ $ git clone git@github.com:username/jquery.git
98
+ ```
99
+
100
+ Change directory to the newly created dir jquery/
101
+
102
+ ```bash
103
+ $ cd jquery
104
+ ```
105
+
106
+ Add the jQuery master as a remote. I label mine "upstream"
107
+
108
+ ```bash
109
+ $ git remote add upstream git://github.com/jquery/jquery.git
110
+ ```
111
+
112
+ Get in the habit of pulling in the "upstream" master to stay up to date as jQuery receives new commits
113
+
114
+ ```bash
115
+ $ git pull upstream master
116
+ ```
117
+
118
+ Run the Grunt tools:
119
+
120
+ ```bash
121
+ $ grunt && grunt watch
122
+ ```
123
+
124
+ Now open the jQuery test suite in a browser at http://localhost/test. If there is a port, be sure to include it.
125
+
126
+ Success! You just built and tested jQuery!
127
+
128
+
129
+ ### Fix a bug from a ticket filed at bugs.jquery.com:
130
+
131
+ **NEVER write your patches to the master branch** - it gets messy (I say this from experience!)
132
+
133
+ **ALWAYS USE A "TOPIC" BRANCH!** Like so (#### = the ticket #)...
134
+
135
+ Make sure you start with your up-to-date master:
136
+
137
+ ```bash
138
+ $ git checkout master
139
+ ```
140
+
141
+ Create and checkout a new branch that includes the ticket #
142
+
143
+ ```bash
144
+ $ git checkout -b bug_####
145
+
146
+ # ( Explanation: this useful command will:
147
+ # "checkout" a "-b" (branch) by the name of "bug_####"
148
+ # or create it if it doesn't exist )
149
+ ```
150
+
151
+ Now you're on branch: bug_####
152
+
153
+ Determine the module/file you'll be working in...
154
+
155
+ Open up the corresponding /test/unit/?????.js and add the initial failing unit tests. This may seem awkward at first, but in the long run it will make sense. To truly and efficiently patch a bug, you need to be working against that bug.
156
+
157
+ Next, open the module files and make your changes
158
+
159
+ Run http://localhost/test --> **ALL TESTS MUST PASS**
160
+
161
+ Once you're satisfied with your patch...
162
+
163
+ Stage the files to be tracked:
164
+
165
+ ```bash
166
+ $ git add filename
167
+ # (you can use "git status" to list the files you've changed)
168
+ ```
169
+
170
+
171
+ ( I recommend NEVER, EVER using "git add . " )
172
+
173
+ Once you've staged all of your changed files, go ahead and commit them
174
+
175
+ ```bash
176
+ $ git commit -m "Brief description of fix. Fixes #0000"
177
+ ```
178
+
179
+ For a multiple line commit message, leave off the `-m "description"`.
180
+
181
+ You will then be led into vi (or the text editor that you have set up) to complete your commit message.
182
+
183
+ Then, push your branch with the bug fix commits to your github fork
184
+
185
+ ```bash
186
+ $ git push origin -u bug_####
187
+ ```
188
+
189
+ Before you tackle your next bug patch, return to the master:
190
+
191
+ ```bash
192
+ $ git checkout master
193
+ ```
194
+
195
+
196
+
197
+ ### Test Suite Tips...
198
+
199
+ During the process of writing your patch, you will run the test suite MANY times. You can speed up the process by narrowing the running test suite down to the module you are testing by either double clicking the title of the test or appending it to the url. The following examples assume you're working on a local repo, hosted on your localhost server.
200
+
201
+ Example:
202
+
203
+ http://localhost/test/?filter=css
204
+
205
+ This will only run the "css" module tests. This will significantly speed up your development and debugging.
206
+
207
+ **ALWAYS RUN THE FULL SUITE BEFORE COMMITTING AND PUSHING A PATCH!**
208
+
209
+
210
+ ### jQuery supports the following browsers:
211
+
212
+ * Chrome Current-1
213
+ * Safari Current-1
214
+ * Firefox Current-1
215
+ * IE 6+
216
+ * Opera Current-1