plate-lang 0.1.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 (536) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.codeclimate.yml +7 -0
  4. data/.gitignore +25 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +4 -0
  7. data/CODE_OF_CONDUCT.md +13 -0
  8. data/Gemfile +10 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +64 -0
  11. data/Rakefile +36 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +7 -0
  14. data/bower.json +10 -0
  15. data/circle.yml +4 -0
  16. data/exe/plate +6 -0
  17. data/lib/plate/cli.rb +97 -0
  18. data/lib/plate/compiler.rb +244 -0
  19. data/lib/plate/grammar.y +145 -0
  20. data/lib/plate/lexer.rb +138 -0
  21. data/lib/plate/nodes.rb +107 -0
  22. data/lib/plate/parser.rb +568 -0
  23. data/lib/plate/version.rb +3 -0
  24. data/lib/plate.rb +14 -0
  25. data/plate-lang.gemspec +30 -0
  26. data/skeleton/app/assets/css/app.css +21 -0
  27. data/skeleton/app/assets/js/app.js +15 -0
  28. data/skeleton/app/index.html +26 -0
  29. data/skeleton/app/vendor/.keep +0 -0
  30. data/skeleton/vendor/bootstrap/.bower.json +44 -0
  31. data/skeleton/vendor/bootstrap/Gruntfile.js +531 -0
  32. data/skeleton/vendor/bootstrap/LICENSE +21 -0
  33. data/skeleton/vendor/bootstrap/README.md +137 -0
  34. data/skeleton/vendor/bootstrap/bower.json +34 -0
  35. data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.css +587 -0
  36. data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  37. data/skeleton/vendor/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
  38. data/skeleton/vendor/bootstrap/dist/css/bootstrap.css +6800 -0
  39. data/skeleton/vendor/bootstrap/dist/css/bootstrap.css.map +1 -0
  40. data/skeleton/vendor/bootstrap/dist/css/bootstrap.min.css +5 -0
  41. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  42. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  43. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  44. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  45. data/skeleton/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  46. data/skeleton/vendor/bootstrap/dist/js/bootstrap.js +2363 -0
  47. data/skeleton/vendor/bootstrap/dist/js/bootstrap.min.js +7 -0
  48. data/skeleton/vendor/bootstrap/dist/js/npm.js +13 -0
  49. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  50. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  51. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  52. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  53. data/skeleton/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  54. data/skeleton/vendor/bootstrap/grunt/.jshintrc +7 -0
  55. data/skeleton/vendor/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  56. data/skeleton/vendor/bootstrap/grunt/bs-glyphicons-data-generator.js +42 -0
  57. data/skeleton/vendor/bootstrap/grunt/bs-lessdoc-parser.js +237 -0
  58. data/skeleton/vendor/bootstrap/grunt/bs-raw-files-generator.js +44 -0
  59. data/skeleton/vendor/bootstrap/grunt/configBridge.json +46 -0
  60. data/skeleton/vendor/bootstrap/grunt/sauce_browsers.yml +82 -0
  61. data/skeleton/vendor/bootstrap/js/.jscsrc +42 -0
  62. data/skeleton/vendor/bootstrap/js/.jshintrc +15 -0
  63. data/skeleton/vendor/bootstrap/js/affix.js +162 -0
  64. data/skeleton/vendor/bootstrap/js/alert.js +94 -0
  65. data/skeleton/vendor/bootstrap/js/button.js +120 -0
  66. data/skeleton/vendor/bootstrap/js/carousel.js +237 -0
  67. data/skeleton/vendor/bootstrap/js/collapse.js +211 -0
  68. data/skeleton/vendor/bootstrap/js/dropdown.js +165 -0
  69. data/skeleton/vendor/bootstrap/js/modal.js +337 -0
  70. data/skeleton/vendor/bootstrap/js/popover.js +108 -0
  71. data/skeleton/vendor/bootstrap/js/scrollspy.js +172 -0
  72. data/skeleton/vendor/bootstrap/js/tab.js +155 -0
  73. data/skeleton/vendor/bootstrap/js/tooltip.js +514 -0
  74. data/skeleton/vendor/bootstrap/js/transition.js +59 -0
  75. data/skeleton/vendor/bootstrap/less/.csscomb.json +304 -0
  76. data/skeleton/vendor/bootstrap/less/.csslintrc +19 -0
  77. data/skeleton/vendor/bootstrap/less/alerts.less +73 -0
  78. data/skeleton/vendor/bootstrap/less/badges.less +66 -0
  79. data/skeleton/vendor/bootstrap/less/bootstrap.less +56 -0
  80. data/skeleton/vendor/bootstrap/less/breadcrumbs.less +26 -0
  81. data/skeleton/vendor/bootstrap/less/button-groups.less +244 -0
  82. data/skeleton/vendor/bootstrap/less/buttons.less +166 -0
  83. data/skeleton/vendor/bootstrap/less/carousel.less +269 -0
  84. data/skeleton/vendor/bootstrap/less/close.less +34 -0
  85. data/skeleton/vendor/bootstrap/less/code.less +69 -0
  86. data/skeleton/vendor/bootstrap/less/component-animations.less +33 -0
  87. data/skeleton/vendor/bootstrap/less/dropdowns.less +216 -0
  88. data/skeleton/vendor/bootstrap/less/forms.less +607 -0
  89. data/skeleton/vendor/bootstrap/less/glyphicons.less +305 -0
  90. data/skeleton/vendor/bootstrap/less/grid.less +84 -0
  91. data/skeleton/vendor/bootstrap/less/input-groups.less +167 -0
  92. data/skeleton/vendor/bootstrap/less/jumbotron.less +52 -0
  93. data/skeleton/vendor/bootstrap/less/labels.less +64 -0
  94. data/skeleton/vendor/bootstrap/less/list-group.less +130 -0
  95. data/skeleton/vendor/bootstrap/less/media.less +66 -0
  96. data/skeleton/vendor/bootstrap/less/mixins/alerts.less +14 -0
  97. data/skeleton/vendor/bootstrap/less/mixins/background-variant.less +9 -0
  98. data/skeleton/vendor/bootstrap/less/mixins/border-radius.less +18 -0
  99. data/skeleton/vendor/bootstrap/less/mixins/buttons.less +68 -0
  100. data/skeleton/vendor/bootstrap/less/mixins/center-block.less +7 -0
  101. data/skeleton/vendor/bootstrap/less/mixins/clearfix.less +22 -0
  102. data/skeleton/vendor/bootstrap/less/mixins/forms.less +85 -0
  103. data/skeleton/vendor/bootstrap/less/mixins/gradients.less +59 -0
  104. data/skeleton/vendor/bootstrap/less/mixins/grid-framework.less +91 -0
  105. data/skeleton/vendor/bootstrap/less/mixins/grid.less +122 -0
  106. data/skeleton/vendor/bootstrap/less/mixins/hide-text.less +21 -0
  107. data/skeleton/vendor/bootstrap/less/mixins/image.less +33 -0
  108. data/skeleton/vendor/bootstrap/less/mixins/labels.less +12 -0
  109. data/skeleton/vendor/bootstrap/less/mixins/list-group.less +30 -0
  110. data/skeleton/vendor/bootstrap/less/mixins/nav-divider.less +10 -0
  111. data/skeleton/vendor/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  112. data/skeleton/vendor/bootstrap/less/mixins/opacity.less +8 -0
  113. data/skeleton/vendor/bootstrap/less/mixins/pagination.less +24 -0
  114. data/skeleton/vendor/bootstrap/less/mixins/panels.less +24 -0
  115. data/skeleton/vendor/bootstrap/less/mixins/progress-bar.less +10 -0
  116. data/skeleton/vendor/bootstrap/less/mixins/reset-filter.less +8 -0
  117. data/skeleton/vendor/bootstrap/less/mixins/reset-text.less +18 -0
  118. data/skeleton/vendor/bootstrap/less/mixins/resize.less +6 -0
  119. data/skeleton/vendor/bootstrap/less/mixins/responsive-visibility.less +15 -0
  120. data/skeleton/vendor/bootstrap/less/mixins/size.less +10 -0
  121. data/skeleton/vendor/bootstrap/less/mixins/tab-focus.less +9 -0
  122. data/skeleton/vendor/bootstrap/less/mixins/table-row.less +28 -0
  123. data/skeleton/vendor/bootstrap/less/mixins/text-emphasis.less +9 -0
  124. data/skeleton/vendor/bootstrap/less/mixins/text-overflow.less +8 -0
  125. data/skeleton/vendor/bootstrap/less/mixins/vendor-prefixes.less +227 -0
  126. data/skeleton/vendor/bootstrap/less/mixins.less +40 -0
  127. data/skeleton/vendor/bootstrap/less/modals.less +150 -0
  128. data/skeleton/vendor/bootstrap/less/navbar.less +660 -0
  129. data/skeleton/vendor/bootstrap/less/navs.less +242 -0
  130. data/skeleton/vendor/bootstrap/less/normalize.less +424 -0
  131. data/skeleton/vendor/bootstrap/less/pager.less +54 -0
  132. data/skeleton/vendor/bootstrap/less/pagination.less +89 -0
  133. data/skeleton/vendor/bootstrap/less/panels.less +271 -0
  134. data/skeleton/vendor/bootstrap/less/popovers.less +131 -0
  135. data/skeleton/vendor/bootstrap/less/print.less +101 -0
  136. data/skeleton/vendor/bootstrap/less/progress-bars.less +87 -0
  137. data/skeleton/vendor/bootstrap/less/responsive-embed.less +35 -0
  138. data/skeleton/vendor/bootstrap/less/responsive-utilities.less +194 -0
  139. data/skeleton/vendor/bootstrap/less/scaffolding.less +161 -0
  140. data/skeleton/vendor/bootstrap/less/tables.less +234 -0
  141. data/skeleton/vendor/bootstrap/less/theme.less +291 -0
  142. data/skeleton/vendor/bootstrap/less/thumbnails.less +36 -0
  143. data/skeleton/vendor/bootstrap/less/tooltip.less +101 -0
  144. data/skeleton/vendor/bootstrap/less/type.less +302 -0
  145. data/skeleton/vendor/bootstrap/less/utilities.less +55 -0
  146. data/skeleton/vendor/bootstrap/less/variables.less +867 -0
  147. data/skeleton/vendor/bootstrap/less/wells.less +29 -0
  148. data/skeleton/vendor/bootstrap/package.js +25 -0
  149. data/skeleton/vendor/bootstrap/package.json +87 -0
  150. data/skeleton/vendor/bootswatch/.bower.json +52 -0
  151. data/skeleton/vendor/bootswatch/.bowerrc +5 -0
  152. data/skeleton/vendor/bootswatch/LICENSE +21 -0
  153. data/skeleton/vendor/bootswatch/README.md +59 -0
  154. data/skeleton/vendor/bootswatch/bower.json +42 -0
  155. data/skeleton/vendor/bootswatch/cerulean/_bootswatch.scss +131 -0
  156. data/skeleton/vendor/bootswatch/cerulean/_variables.scss +868 -0
  157. data/skeleton/vendor/bootswatch/cerulean/bootstrap.css +6944 -0
  158. data/skeleton/vendor/bootswatch/cerulean/bootstrap.min.css +11 -0
  159. data/skeleton/vendor/bootswatch/cerulean/bootswatch.less +131 -0
  160. data/skeleton/vendor/bootswatch/cerulean/thumbnail.png +0 -0
  161. data/skeleton/vendor/bootswatch/cerulean/variables.less +867 -0
  162. data/skeleton/vendor/bootswatch/cosmo/_bootswatch.scss +261 -0
  163. data/skeleton/vendor/bootswatch/cosmo/_variables.scss +868 -0
  164. data/skeleton/vendor/bootswatch/cosmo/bootstrap.css +6979 -0
  165. data/skeleton/vendor/bootswatch/cosmo/bootstrap.min.css +11 -0
  166. data/skeleton/vendor/bootswatch/cosmo/bootswatch.less +261 -0
  167. data/skeleton/vendor/bootswatch/cosmo/thumbnail.png +0 -0
  168. data/skeleton/vendor/bootswatch/cosmo/variables.less +867 -0
  169. data/skeleton/vendor/bootswatch/cyborg/_bootswatch.scss +234 -0
  170. data/skeleton/vendor/bootswatch/cyborg/_variables.scss +868 -0
  171. data/skeleton/vendor/bootswatch/cyborg/bootstrap.css +6963 -0
  172. data/skeleton/vendor/bootswatch/cyborg/bootstrap.min.css +11 -0
  173. data/skeleton/vendor/bootswatch/cyborg/bootswatch.less +234 -0
  174. data/skeleton/vendor/bootswatch/cyborg/thumbnail.png +0 -0
  175. data/skeleton/vendor/bootswatch/cyborg/variables.less +867 -0
  176. data/skeleton/vendor/bootswatch/darkly/_bootswatch.scss +346 -0
  177. data/skeleton/vendor/bootswatch/darkly/_variables.scss +868 -0
  178. data/skeleton/vendor/bootswatch/darkly/bootstrap.css +7086 -0
  179. data/skeleton/vendor/bootswatch/darkly/bootstrap.min.css +11 -0
  180. data/skeleton/vendor/bootswatch/darkly/bootswatch.less +346 -0
  181. data/skeleton/vendor/bootswatch/darkly/thumbnail.png +0 -0
  182. data/skeleton/vendor/bootswatch/darkly/variables.less +867 -0
  183. data/skeleton/vendor/bootswatch/flatly/_bootswatch.scss +329 -0
  184. data/skeleton/vendor/bootswatch/flatly/_variables.scss +868 -0
  185. data/skeleton/vendor/bootswatch/flatly/bootstrap.css +7065 -0
  186. data/skeleton/vendor/bootswatch/flatly/bootstrap.min.css +11 -0
  187. data/skeleton/vendor/bootswatch/flatly/bootswatch.less +329 -0
  188. data/skeleton/vendor/bootswatch/flatly/thumbnail.png +0 -0
  189. data/skeleton/vendor/bootswatch/flatly/variables.less +867 -0
  190. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.eot +0 -0
  191. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.svg +288 -0
  192. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.ttf +0 -0
  193. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.woff +0 -0
  194. data/skeleton/vendor/bootswatch/fonts/glyphicons-halflings-regular.woff2 +0 -0
  195. data/skeleton/vendor/bootswatch/journal/_bootswatch.scss +144 -0
  196. data/skeleton/vendor/bootswatch/journal/_variables.scss +868 -0
  197. data/skeleton/vendor/bootswatch/journal/bootstrap.css +6891 -0
  198. data/skeleton/vendor/bootswatch/journal/bootstrap.min.css +11 -0
  199. data/skeleton/vendor/bootswatch/journal/bootswatch.less +144 -0
  200. data/skeleton/vendor/bootswatch/journal/thumbnail.png +0 -0
  201. data/skeleton/vendor/bootswatch/journal/variables.less +867 -0
  202. data/skeleton/vendor/bootswatch/lumen/_bootswatch.scss +520 -0
  203. data/skeleton/vendor/bootswatch/lumen/_variables.scss +868 -0
  204. data/skeleton/vendor/bootswatch/lumen/bootstrap.css +7216 -0
  205. data/skeleton/vendor/bootswatch/lumen/bootstrap.min.css +11 -0
  206. data/skeleton/vendor/bootswatch/lumen/bootswatch.less +520 -0
  207. data/skeleton/vendor/bootswatch/lumen/thumbnail.png +0 -0
  208. data/skeleton/vendor/bootswatch/lumen/variables.less +867 -0
  209. data/skeleton/vendor/bootswatch/paper/_bootswatch.scss +585 -0
  210. data/skeleton/vendor/bootswatch/paper/_variables.scss +868 -0
  211. data/skeleton/vendor/bootswatch/paper/bootstrap.css +7502 -0
  212. data/skeleton/vendor/bootswatch/paper/bootstrap.min.css +11 -0
  213. data/skeleton/vendor/bootswatch/paper/bootswatch.less +585 -0
  214. data/skeleton/vendor/bootswatch/paper/thumbnail.png +0 -0
  215. data/skeleton/vendor/bootswatch/paper/variables.less +867 -0
  216. data/skeleton/vendor/bootswatch/readable/_bootswatch.scss +182 -0
  217. data/skeleton/vendor/bootswatch/readable/_variables.scss +868 -0
  218. data/skeleton/vendor/bootswatch/readable/bootstrap.css +6915 -0
  219. data/skeleton/vendor/bootswatch/readable/bootstrap.min.css +11 -0
  220. data/skeleton/vendor/bootswatch/readable/bootswatch.less +182 -0
  221. data/skeleton/vendor/bootswatch/readable/thumbnail.png +0 -0
  222. data/skeleton/vendor/bootswatch/readable/variables.less +867 -0
  223. data/skeleton/vendor/bootswatch/sandstone/_bootswatch.scss +194 -0
  224. data/skeleton/vendor/bootswatch/sandstone/_variables.scss +868 -0
  225. data/skeleton/vendor/bootswatch/sandstone/bootstrap.css +6953 -0
  226. data/skeleton/vendor/bootswatch/sandstone/bootstrap.min.css +11 -0
  227. data/skeleton/vendor/bootswatch/sandstone/bootswatch.less +194 -0
  228. data/skeleton/vendor/bootswatch/sandstone/thumbnail.png +0 -0
  229. data/skeleton/vendor/bootswatch/sandstone/variables.less +867 -0
  230. data/skeleton/vendor/bootswatch/simplex/_bootswatch.scss +169 -0
  231. data/skeleton/vendor/bootswatch/simplex/_variables.scss +868 -0
  232. data/skeleton/vendor/bootswatch/simplex/bootstrap.css +6953 -0
  233. data/skeleton/vendor/bootswatch/simplex/bootstrap.min.css +11 -0
  234. data/skeleton/vendor/bootswatch/simplex/bootswatch.less +169 -0
  235. data/skeleton/vendor/bootswatch/simplex/thumbnail.png +0 -0
  236. data/skeleton/vendor/bootswatch/simplex/variables.less +867 -0
  237. data/skeleton/vendor/bootswatch/slate/_bootswatch.scss +441 -0
  238. data/skeleton/vendor/bootswatch/slate/_variables.scss +868 -0
  239. data/skeleton/vendor/bootswatch/slate/bootstrap.css +7301 -0
  240. data/skeleton/vendor/bootswatch/slate/bootstrap.min.css +11 -0
  241. data/skeleton/vendor/bootswatch/slate/bootswatch.less +441 -0
  242. data/skeleton/vendor/bootswatch/slate/thumbnail.png +0 -0
  243. data/skeleton/vendor/bootswatch/slate/variables.less +867 -0
  244. data/skeleton/vendor/bootswatch/spacelab/_bootswatch.scss +137 -0
  245. data/skeleton/vendor/bootswatch/spacelab/_variables.scss +868 -0
  246. data/skeleton/vendor/bootswatch/spacelab/bootstrap.css +6998 -0
  247. data/skeleton/vendor/bootswatch/spacelab/bootstrap.min.css +11 -0
  248. data/skeleton/vendor/bootswatch/spacelab/bootswatch.less +137 -0
  249. data/skeleton/vendor/bootswatch/spacelab/thumbnail.png +0 -0
  250. data/skeleton/vendor/bootswatch/spacelab/variables.less +867 -0
  251. data/skeleton/vendor/bootswatch/superhero/_bootswatch.scss +356 -0
  252. data/skeleton/vendor/bootswatch/superhero/_variables.scss +868 -0
  253. data/skeleton/vendor/bootswatch/superhero/bootstrap.css +7048 -0
  254. data/skeleton/vendor/bootswatch/superhero/bootstrap.min.css +11 -0
  255. data/skeleton/vendor/bootswatch/superhero/bootswatch.less +356 -0
  256. data/skeleton/vendor/bootswatch/superhero/thumbnail.png +0 -0
  257. data/skeleton/vendor/bootswatch/superhero/variables.less +867 -0
  258. data/skeleton/vendor/bootswatch/united/_bootswatch.scss +55 -0
  259. data/skeleton/vendor/bootswatch/united/_variables.scss +868 -0
  260. data/skeleton/vendor/bootswatch/united/bootstrap.css +6813 -0
  261. data/skeleton/vendor/bootswatch/united/bootstrap.min.css +11 -0
  262. data/skeleton/vendor/bootswatch/united/bootswatch.less +55 -0
  263. data/skeleton/vendor/bootswatch/united/thumbnail.png +0 -0
  264. data/skeleton/vendor/bootswatch/united/variables.less +867 -0
  265. data/skeleton/vendor/bootswatch/yeti/_bootswatch.scss +437 -0
  266. data/skeleton/vendor/bootswatch/yeti/_variables.scss +868 -0
  267. data/skeleton/vendor/bootswatch/yeti/bootstrap.css +7107 -0
  268. data/skeleton/vendor/bootswatch/yeti/bootstrap.min.css +11 -0
  269. data/skeleton/vendor/bootswatch/yeti/bootswatch.less +437 -0
  270. data/skeleton/vendor/bootswatch/yeti/thumbnail.png +0 -0
  271. data/skeleton/vendor/bootswatch/yeti/variables.less +867 -0
  272. data/skeleton/vendor/font-awesome/.bower.json +36 -0
  273. data/skeleton/vendor/font-awesome/.gitignore +33 -0
  274. data/skeleton/vendor/font-awesome/.npmignore +42 -0
  275. data/skeleton/vendor/font-awesome/HELP-US-OUT.txt +7 -0
  276. data/skeleton/vendor/font-awesome/bower.json +22 -0
  277. data/skeleton/vendor/font-awesome/css/font-awesome.css +2026 -0
  278. data/skeleton/vendor/font-awesome/css/font-awesome.css.map +7 -0
  279. data/skeleton/vendor/font-awesome/css/font-awesome.min.css +4 -0
  280. data/skeleton/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
  281. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  282. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.svg +640 -0
  283. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  284. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  285. data/skeleton/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  286. data/skeleton/vendor/font-awesome/less/animated.less +34 -0
  287. data/skeleton/vendor/font-awesome/less/bordered-pulled.less +25 -0
  288. data/skeleton/vendor/font-awesome/less/core.less +12 -0
  289. data/skeleton/vendor/font-awesome/less/fixed-width.less +6 -0
  290. data/skeleton/vendor/font-awesome/less/font-awesome.less +17 -0
  291. data/skeleton/vendor/font-awesome/less/icons.less +677 -0
  292. data/skeleton/vendor/font-awesome/less/larger.less +13 -0
  293. data/skeleton/vendor/font-awesome/less/list.less +19 -0
  294. data/skeleton/vendor/font-awesome/less/mixins.less +26 -0
  295. data/skeleton/vendor/font-awesome/less/path.less +15 -0
  296. data/skeleton/vendor/font-awesome/less/rotated-flipped.less +20 -0
  297. data/skeleton/vendor/font-awesome/less/stacked.less +20 -0
  298. data/skeleton/vendor/font-awesome/less/variables.less +688 -0
  299. data/skeleton/vendor/font-awesome/scss/_animated.scss +34 -0
  300. data/skeleton/vendor/font-awesome/scss/_bordered-pulled.scss +25 -0
  301. data/skeleton/vendor/font-awesome/scss/_core.scss +12 -0
  302. data/skeleton/vendor/font-awesome/scss/_fixed-width.scss +6 -0
  303. data/skeleton/vendor/font-awesome/scss/_icons.scss +677 -0
  304. data/skeleton/vendor/font-awesome/scss/_larger.scss +13 -0
  305. data/skeleton/vendor/font-awesome/scss/_list.scss +19 -0
  306. data/skeleton/vendor/font-awesome/scss/_mixins.scss +26 -0
  307. data/skeleton/vendor/font-awesome/scss/_path.scss +15 -0
  308. data/skeleton/vendor/font-awesome/scss/_rotated-flipped.scss +20 -0
  309. data/skeleton/vendor/font-awesome/scss/_stacked.scss +20 -0
  310. data/skeleton/vendor/font-awesome/scss/_variables.scss +688 -0
  311. data/skeleton/vendor/font-awesome/scss/font-awesome.scss +17 -0
  312. data/skeleton/vendor/google-code-prettify/.bower.json +26 -0
  313. data/skeleton/vendor/google-code-prettify/CHANGES.html +172 -0
  314. data/skeleton/vendor/google-code-prettify/COPYING +191 -0
  315. data/skeleton/vendor/google-code-prettify/README-zh-Hans.html +143 -0
  316. data/skeleton/vendor/google-code-prettify/README.html +233 -0
  317. data/skeleton/vendor/google-code-prettify/README.md +54 -0
  318. data/skeleton/vendor/google-code-prettify/bin/prettify.min.css +1 -0
  319. data/skeleton/vendor/google-code-prettify/bin/prettify.min.js +30 -0
  320. data/skeleton/vendor/google-code-prettify/bin/run_prettify.min.js +34 -0
  321. data/skeleton/vendor/google-code-prettify/bower.json +16 -0
  322. data/skeleton/vendor/google-code-prettify/examples/quine.html +55 -0
  323. data/skeleton/vendor/google-code-prettify/src/lang-apollo.js +51 -0
  324. data/skeleton/vendor/google-code-prettify/src/lang-basic.js +32 -0
  325. data/skeleton/vendor/google-code-prettify/src/lang-clj.js +64 -0
  326. data/skeleton/vendor/google-code-prettify/src/lang-css.js +159 -0
  327. data/skeleton/vendor/google-code-prettify/src/lang-dart.js +88 -0
  328. data/skeleton/vendor/google-code-prettify/src/lang-erlang.js +92 -0
  329. data/skeleton/vendor/google-code-prettify/src/lang-go.js +58 -0
  330. data/skeleton/vendor/google-code-prettify/src/lang-hs.js +101 -0
  331. data/skeleton/vendor/google-code-prettify/src/lang-lisp.js +94 -0
  332. data/skeleton/vendor/google-code-prettify/src/lang-llvm.js +61 -0
  333. data/skeleton/vendor/google-code-prettify/src/lang-lua.js +59 -0
  334. data/skeleton/vendor/google-code-prettify/src/lang-matlab.js +180 -0
  335. data/skeleton/vendor/google-code-prettify/src/lang-ml.js +56 -0
  336. data/skeleton/vendor/google-code-prettify/src/lang-mumps.js +139 -0
  337. data/skeleton/vendor/google-code-prettify/src/lang-n.js +65 -0
  338. data/skeleton/vendor/google-code-prettify/src/lang-pascal.js +32 -0
  339. data/skeleton/vendor/google-code-prettify/src/lang-proto.js +35 -0
  340. data/skeleton/vendor/google-code-prettify/src/lang-r.js +57 -0
  341. data/skeleton/vendor/google-code-prettify/src/lang-rd.js +47 -0
  342. data/skeleton/vendor/google-code-prettify/src/lang-scala.js +54 -0
  343. data/skeleton/vendor/google-code-prettify/src/lang-sql.js +58 -0
  344. data/skeleton/vendor/google-code-prettify/src/lang-tcl.js +62 -0
  345. data/skeleton/vendor/google-code-prettify/src/lang-tex.js +46 -0
  346. data/skeleton/vendor/google-code-prettify/src/lang-vb.js +66 -0
  347. data/skeleton/vendor/google-code-prettify/src/lang-vhdl.js +34 -0
  348. data/skeleton/vendor/google-code-prettify/src/lang-wiki.js +53 -0
  349. data/skeleton/vendor/google-code-prettify/src/lang-xq.js +67 -0
  350. data/skeleton/vendor/google-code-prettify/src/lang-yaml.js +27 -0
  351. data/skeleton/vendor/google-code-prettify/src/prettify.css +52 -0
  352. data/skeleton/vendor/google-code-prettify/src/prettify.js +1655 -0
  353. data/skeleton/vendor/google-code-prettify/src/run_prettify.js +1905 -0
  354. data/skeleton/vendor/google-code-prettify/styles/demo.html +61 -0
  355. data/skeleton/vendor/google-code-prettify/styles/desert.css +34 -0
  356. data/skeleton/vendor/google-code-prettify/styles/doxy.css +64 -0
  357. data/skeleton/vendor/google-code-prettify/styles/index.html +89 -0
  358. data/skeleton/vendor/google-code-prettify/styles/sons-of-obsidian.css +118 -0
  359. data/skeleton/vendor/google-code-prettify/styles/sunburst.css +51 -0
  360. data/skeleton/vendor/jquery/.bower.json +38 -0
  361. data/skeleton/vendor/jquery/MIT-LICENSE.txt +21 -0
  362. data/skeleton/vendor/jquery/bower.json +28 -0
  363. data/skeleton/vendor/jquery/dist/jquery.js +9210 -0
  364. data/skeleton/vendor/jquery/dist/jquery.min.js +5 -0
  365. data/skeleton/vendor/jquery/dist/jquery.min.map +1 -0
  366. data/skeleton/vendor/jquery/src/ajax/jsonp.js +89 -0
  367. data/skeleton/vendor/jquery/src/ajax/load.js +75 -0
  368. data/skeleton/vendor/jquery/src/ajax/parseJSON.js +13 -0
  369. data/skeleton/vendor/jquery/src/ajax/parseXML.js +28 -0
  370. data/skeleton/vendor/jquery/src/ajax/script.js +64 -0
  371. data/skeleton/vendor/jquery/src/ajax/var/nonce.js +5 -0
  372. data/skeleton/vendor/jquery/src/ajax/var/rquery.js +3 -0
  373. data/skeleton/vendor/jquery/src/ajax/xhr.js +136 -0
  374. data/skeleton/vendor/jquery/src/ajax.js +786 -0
  375. data/skeleton/vendor/jquery/src/attributes/attr.js +141 -0
  376. data/skeleton/vendor/jquery/src/attributes/classes.js +158 -0
  377. data/skeleton/vendor/jquery/src/attributes/prop.js +94 -0
  378. data/skeleton/vendor/jquery/src/attributes/support.js +35 -0
  379. data/skeleton/vendor/jquery/src/attributes/val.js +161 -0
  380. data/skeleton/vendor/jquery/src/attributes.js +11 -0
  381. data/skeleton/vendor/jquery/src/callbacks.js +205 -0
  382. data/skeleton/vendor/jquery/src/core/access.js +60 -0
  383. data/skeleton/vendor/jquery/src/core/init.js +123 -0
  384. data/skeleton/vendor/jquery/src/core/parseHTML.js +39 -0
  385. data/skeleton/vendor/jquery/src/core/ready.js +97 -0
  386. data/skeleton/vendor/jquery/src/core/var/rsingleTag.js +4 -0
  387. data/skeleton/vendor/jquery/src/core.js +502 -0
  388. data/skeleton/vendor/jquery/src/css/addGetHookIf.js +22 -0
  389. data/skeleton/vendor/jquery/src/css/curCSS.js +57 -0
  390. data/skeleton/vendor/jquery/src/css/defaultDisplay.js +70 -0
  391. data/skeleton/vendor/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  392. data/skeleton/vendor/jquery/src/css/support.js +96 -0
  393. data/skeleton/vendor/jquery/src/css/swap.js +28 -0
  394. data/skeleton/vendor/jquery/src/css/var/cssExpand.js +3 -0
  395. data/skeleton/vendor/jquery/src/css/var/getStyles.js +12 -0
  396. data/skeleton/vendor/jquery/src/css/var/isHidden.js +13 -0
  397. data/skeleton/vendor/jquery/src/css/var/rmargin.js +3 -0
  398. data/skeleton/vendor/jquery/src/css/var/rnumnonpx.js +5 -0
  399. data/skeleton/vendor/jquery/src/css.js +450 -0
  400. data/skeleton/vendor/jquery/src/data/Data.js +181 -0
  401. data/skeleton/vendor/jquery/src/data/accepts.js +20 -0
  402. data/skeleton/vendor/jquery/src/data/var/data_priv.js +5 -0
  403. data/skeleton/vendor/jquery/src/data/var/data_user.js +5 -0
  404. data/skeleton/vendor/jquery/src/data.js +178 -0
  405. data/skeleton/vendor/jquery/src/deferred.js +149 -0
  406. data/skeleton/vendor/jquery/src/deprecated.js +13 -0
  407. data/skeleton/vendor/jquery/src/dimensions.js +50 -0
  408. data/skeleton/vendor/jquery/src/effects/Tween.js +114 -0
  409. data/skeleton/vendor/jquery/src/effects/animatedSelector.js +13 -0
  410. data/skeleton/vendor/jquery/src/effects.js +648 -0
  411. data/skeleton/vendor/jquery/src/event/ajax.js +13 -0
  412. data/skeleton/vendor/jquery/src/event/alias.js +39 -0
  413. data/skeleton/vendor/jquery/src/event/support.js +9 -0
  414. data/skeleton/vendor/jquery/src/event.js +868 -0
  415. data/skeleton/vendor/jquery/src/exports/amd.js +24 -0
  416. data/skeleton/vendor/jquery/src/exports/global.js +32 -0
  417. data/skeleton/vendor/jquery/src/intro.js +44 -0
  418. data/skeleton/vendor/jquery/src/jquery.js +37 -0
  419. data/skeleton/vendor/jquery/src/manipulation/_evalUrl.js +18 -0
  420. data/skeleton/vendor/jquery/src/manipulation/support.js +32 -0
  421. data/skeleton/vendor/jquery/src/manipulation/var/rcheckableType.js +3 -0
  422. data/skeleton/vendor/jquery/src/manipulation.js +580 -0
  423. data/skeleton/vendor/jquery/src/offset.js +207 -0
  424. data/skeleton/vendor/jquery/src/outro.js +1 -0
  425. data/skeleton/vendor/jquery/src/queue/delay.js +22 -0
  426. data/skeleton/vendor/jquery/src/queue.js +142 -0
  427. data/skeleton/vendor/jquery/src/selector-native.js +172 -0
  428. data/skeleton/vendor/jquery/src/selector-sizzle.js +14 -0
  429. data/skeleton/vendor/jquery/src/selector.js +1 -0
  430. data/skeleton/vendor/jquery/src/serialize.js +111 -0
  431. data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.js +2067 -0
  432. data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  433. data/skeleton/vendor/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  434. data/skeleton/vendor/jquery/src/traversing/findFilter.js +100 -0
  435. data/skeleton/vendor/jquery/src/traversing/var/rneedsContext.js +6 -0
  436. data/skeleton/vendor/jquery/src/traversing.js +199 -0
  437. data/skeleton/vendor/jquery/src/var/arr.js +3 -0
  438. data/skeleton/vendor/jquery/src/var/class2type.js +4 -0
  439. data/skeleton/vendor/jquery/src/var/concat.js +5 -0
  440. data/skeleton/vendor/jquery/src/var/hasOwn.js +5 -0
  441. data/skeleton/vendor/jquery/src/var/indexOf.js +5 -0
  442. data/skeleton/vendor/jquery/src/var/pnum.js +3 -0
  443. data/skeleton/vendor/jquery/src/var/push.js +5 -0
  444. data/skeleton/vendor/jquery/src/var/rnotwhite.js +3 -0
  445. data/skeleton/vendor/jquery/src/var/slice.js +5 -0
  446. data/skeleton/vendor/jquery/src/var/strundefined.js +3 -0
  447. data/skeleton/vendor/jquery/src/var/support.js +4 -0
  448. data/skeleton/vendor/jquery/src/var/toString.js +5 -0
  449. data/skeleton/vendor/jquery/src/wrap.js +79 -0
  450. data/skeleton/vendor/vue/.bower.json +29 -0
  451. data/skeleton/vendor/vue/LICENSE +21 -0
  452. data/skeleton/vendor/vue/bower.json +16 -0
  453. data/skeleton/vendor/vue/build/banner.js +8 -0
  454. data/skeleton/vendor/vue/build/grunt-tasks/build.js +50 -0
  455. data/skeleton/vendor/vue/build/grunt-tasks/casper.js +26 -0
  456. data/skeleton/vendor/vue/build/grunt-tasks/codecov.js +18 -0
  457. data/skeleton/vendor/vue/build/grunt-tasks/open.js +11 -0
  458. data/skeleton/vendor/vue/build/grunt-tasks/release.js +84 -0
  459. data/skeleton/vendor/vue/build/saucelabs.config.js +79 -0
  460. data/skeleton/vendor/vue/build/webpack.build.dev.config.js +20 -0
  461. data/skeleton/vendor/vue/build/webpack.build.prod.config.js +25 -0
  462. data/skeleton/vendor/vue/build/webpack.dev.config.js +10 -0
  463. data/skeleton/vendor/vue/build/webpack.test.config.js +13 -0
  464. data/skeleton/vendor/vue/circle.yml +4 -0
  465. data/skeleton/vendor/vue/dist/vue.js +9863 -0
  466. data/skeleton/vendor/vue/dist/vue.min.js +8 -0
  467. data/skeleton/vendor/vue/perf/bench.html +2 -0
  468. data/skeleton/vendor/vue/perf/bench.js +87 -0
  469. data/skeleton/vendor/vue/src/api/child.js +49 -0
  470. data/skeleton/vendor/vue/src/api/data.js +154 -0
  471. data/skeleton/vendor/vue/src/api/dom.js +226 -0
  472. data/skeleton/vendor/vue/src/api/events.js +174 -0
  473. data/skeleton/vendor/vue/src/api/global.js +119 -0
  474. data/skeleton/vendor/vue/src/api/lifecycle.js +68 -0
  475. data/skeleton/vendor/vue/src/batcher.js +98 -0
  476. data/skeleton/vendor/vue/src/cache.js +112 -0
  477. data/skeleton/vendor/vue/src/compiler/compile-props.js +183 -0
  478. data/skeleton/vendor/vue/src/compiler/compile.js +631 -0
  479. data/skeleton/vendor/vue/src/compiler/index.js +4 -0
  480. data/skeleton/vendor/vue/src/compiler/transclude.js +144 -0
  481. data/skeleton/vendor/vue/src/config.js +124 -0
  482. data/skeleton/vendor/vue/src/directive.js +224 -0
  483. data/skeleton/vendor/vue/src/directives/attr.js +51 -0
  484. data/skeleton/vendor/vue/src/directives/class.js +70 -0
  485. data/skeleton/vendor/vue/src/directives/cloak.js +10 -0
  486. data/skeleton/vendor/vue/src/directives/component.js +300 -0
  487. data/skeleton/vendor/vue/src/directives/el.js +12 -0
  488. data/skeleton/vendor/vue/src/directives/html.js +40 -0
  489. data/skeleton/vendor/vue/src/directives/if.js +126 -0
  490. data/skeleton/vendor/vue/src/directives/index.js +24 -0
  491. data/skeleton/vendor/vue/src/directives/model/checkbox.js +24 -0
  492. data/skeleton/vendor/vue/src/directives/model/index.js +76 -0
  493. data/skeleton/vendor/vue/src/directives/model/radio.js +26 -0
  494. data/skeleton/vendor/vue/src/directives/model/select.js +199 -0
  495. data/skeleton/vendor/vue/src/directives/model/text.js +159 -0
  496. data/skeleton/vendor/vue/src/directives/on.js +60 -0
  497. data/skeleton/vendor/vue/src/directives/prop.js +62 -0
  498. data/skeleton/vendor/vue/src/directives/ref.js +22 -0
  499. data/skeleton/vendor/vue/src/directives/repeat.js +754 -0
  500. data/skeleton/vendor/vue/src/directives/show.js +8 -0
  501. data/skeleton/vendor/vue/src/directives/style.js +110 -0
  502. data/skeleton/vendor/vue/src/directives/text.js +14 -0
  503. data/skeleton/vendor/vue/src/directives/transition.js +26 -0
  504. data/skeleton/vendor/vue/src/element-directives/content.js +111 -0
  505. data/skeleton/vendor/vue/src/element-directives/index.js +2 -0
  506. data/skeleton/vendor/vue/src/element-directives/partial.js +73 -0
  507. data/skeleton/vendor/vue/src/filters/array-filters.js +85 -0
  508. data/skeleton/vendor/vue/src/filters/index.js +137 -0
  509. data/skeleton/vendor/vue/src/instance/compile.js +196 -0
  510. data/skeleton/vendor/vue/src/instance/events.js +139 -0
  511. data/skeleton/vendor/vue/src/instance/init.js +89 -0
  512. data/skeleton/vendor/vue/src/instance/misc.js +93 -0
  513. data/skeleton/vendor/vue/src/instance/scope.js +282 -0
  514. data/skeleton/vendor/vue/src/observer/array.js +92 -0
  515. data/skeleton/vendor/vue/src/observer/dep.js +61 -0
  516. data/skeleton/vendor/vue/src/observer/index.js +212 -0
  517. data/skeleton/vendor/vue/src/observer/object.js +82 -0
  518. data/skeleton/vendor/vue/src/parsers/directive.js +179 -0
  519. data/skeleton/vendor/vue/src/parsers/expression.js +264 -0
  520. data/skeleton/vendor/vue/src/parsers/path.js +348 -0
  521. data/skeleton/vendor/vue/src/parsers/template.js +264 -0
  522. data/skeleton/vendor/vue/src/parsers/text.js +176 -0
  523. data/skeleton/vendor/vue/src/transition/index.js +128 -0
  524. data/skeleton/vendor/vue/src/transition/queue.js +35 -0
  525. data/skeleton/vendor/vue/src/transition/transition.js +308 -0
  526. data/skeleton/vendor/vue/src/util/component.js +124 -0
  527. data/skeleton/vendor/vue/src/util/debug.js +64 -0
  528. data/skeleton/vendor/vue/src/util/dom.js +262 -0
  529. data/skeleton/vendor/vue/src/util/env.js +85 -0
  530. data/skeleton/vendor/vue/src/util/index.js +9 -0
  531. data/skeleton/vendor/vue/src/util/lang.js +289 -0
  532. data/skeleton/vendor/vue/src/util/options.js +353 -0
  533. data/skeleton/vendor/vue/src/vue.js +89 -0
  534. data/skeleton/vendor/vue/src/watcher.js +292 -0
  535. data/tmp/.keep +0 -0
  536. metadata +677 -0
@@ -0,0 +1,226 @@
1
+ var _ = require('../util')
2
+ var transition = require('../transition')
3
+
4
+ /**
5
+ * Convenience on-instance nextTick. The callback is
6
+ * auto-bound to the instance, and this avoids component
7
+ * modules having to rely on the global Vue.
8
+ *
9
+ * @param {Function} fn
10
+ */
11
+
12
+ exports.$nextTick = function (fn) {
13
+ _.nextTick(fn, this)
14
+ }
15
+
16
+ /**
17
+ * Append instance to target
18
+ *
19
+ * @param {Node} target
20
+ * @param {Function} [cb]
21
+ * @param {Boolean} [withTransition] - defaults to true
22
+ */
23
+
24
+ exports.$appendTo = function (target, cb, withTransition) {
25
+ return insert(
26
+ this, target, cb, withTransition,
27
+ append, transition.append
28
+ )
29
+ }
30
+
31
+ /**
32
+ * Prepend instance to target
33
+ *
34
+ * @param {Node} target
35
+ * @param {Function} [cb]
36
+ * @param {Boolean} [withTransition] - defaults to true
37
+ */
38
+
39
+ exports.$prependTo = function (target, cb, withTransition) {
40
+ target = query(target)
41
+ if (target.hasChildNodes()) {
42
+ this.$before(target.firstChild, cb, withTransition)
43
+ } else {
44
+ this.$appendTo(target, cb, withTransition)
45
+ }
46
+ return this
47
+ }
48
+
49
+ /**
50
+ * Insert instance before target
51
+ *
52
+ * @param {Node} target
53
+ * @param {Function} [cb]
54
+ * @param {Boolean} [withTransition] - defaults to true
55
+ */
56
+
57
+ exports.$before = function (target, cb, withTransition) {
58
+ return insert(
59
+ this, target, cb, withTransition,
60
+ before, transition.before
61
+ )
62
+ }
63
+
64
+ /**
65
+ * Insert instance after target
66
+ *
67
+ * @param {Node} target
68
+ * @param {Function} [cb]
69
+ * @param {Boolean} [withTransition] - defaults to true
70
+ */
71
+
72
+ exports.$after = function (target, cb, withTransition) {
73
+ target = query(target)
74
+ if (target.nextSibling) {
75
+ this.$before(target.nextSibling, cb, withTransition)
76
+ } else {
77
+ this.$appendTo(target.parentNode, cb, withTransition)
78
+ }
79
+ return this
80
+ }
81
+
82
+ /**
83
+ * Remove instance from DOM
84
+ *
85
+ * @param {Function} [cb]
86
+ * @param {Boolean} [withTransition] - defaults to true
87
+ */
88
+
89
+ exports.$remove = function (cb, withTransition) {
90
+ if (!this.$el.parentNode) {
91
+ return cb && cb()
92
+ }
93
+ var inDoc = this._isAttached && _.inDoc(this.$el)
94
+ // if we are not in document, no need to check
95
+ // for transitions
96
+ if (!inDoc) withTransition = false
97
+ var op
98
+ var self = this
99
+ var realCb = function () {
100
+ if (inDoc) self._callHook('detached')
101
+ if (cb) cb()
102
+ }
103
+ if (
104
+ this._isFragment &&
105
+ !this._blockFragment.hasChildNodes()
106
+ ) {
107
+ op = withTransition === false
108
+ ? append
109
+ : transition.removeThenAppend
110
+ blockOp(this, this._blockFragment, op, realCb)
111
+ } else {
112
+ op = withTransition === false
113
+ ? remove
114
+ : transition.remove
115
+ op(this.$el, this, realCb)
116
+ }
117
+ return this
118
+ }
119
+
120
+ /**
121
+ * Shared DOM insertion function.
122
+ *
123
+ * @param {Vue} vm
124
+ * @param {Element} target
125
+ * @param {Function} [cb]
126
+ * @param {Boolean} [withTransition]
127
+ * @param {Function} op1 - op for non-transition insert
128
+ * @param {Function} op2 - op for transition insert
129
+ * @return vm
130
+ */
131
+
132
+ function insert (vm, target, cb, withTransition, op1, op2) {
133
+ target = query(target)
134
+ var targetIsDetached = !_.inDoc(target)
135
+ var op = withTransition === false || targetIsDetached
136
+ ? op1
137
+ : op2
138
+ var shouldCallHook =
139
+ !targetIsDetached &&
140
+ !vm._isAttached &&
141
+ !_.inDoc(vm.$el)
142
+ if (vm._isFragment) {
143
+ blockOp(vm, target, op, cb)
144
+ } else {
145
+ op(vm.$el, target, vm, cb)
146
+ }
147
+ if (shouldCallHook) {
148
+ vm._callHook('attached')
149
+ }
150
+ return vm
151
+ }
152
+
153
+ /**
154
+ * Execute a transition operation on a fragment instance,
155
+ * iterating through all its block nodes.
156
+ *
157
+ * @param {Vue} vm
158
+ * @param {Node} target
159
+ * @param {Function} op
160
+ * @param {Function} cb
161
+ */
162
+
163
+ function blockOp (vm, target, op, cb) {
164
+ var current = vm._fragmentStart
165
+ var end = vm._fragmentEnd
166
+ var next
167
+ while (next !== end) {
168
+ next = current.nextSibling
169
+ op(current, target, vm)
170
+ current = next
171
+ }
172
+ op(end, target, vm, cb)
173
+ }
174
+
175
+ /**
176
+ * Check for selectors
177
+ *
178
+ * @param {String|Element} el
179
+ */
180
+
181
+ function query (el) {
182
+ return typeof el === 'string'
183
+ ? document.querySelector(el)
184
+ : el
185
+ }
186
+
187
+ /**
188
+ * Append operation that takes a callback.
189
+ *
190
+ * @param {Node} el
191
+ * @param {Node} target
192
+ * @param {Vue} vm - unused
193
+ * @param {Function} [cb]
194
+ */
195
+
196
+ function append (el, target, vm, cb) {
197
+ target.appendChild(el)
198
+ if (cb) cb()
199
+ }
200
+
201
+ /**
202
+ * InsertBefore operation that takes a callback.
203
+ *
204
+ * @param {Node} el
205
+ * @param {Node} target
206
+ * @param {Vue} vm - unused
207
+ * @param {Function} [cb]
208
+ */
209
+
210
+ function before (el, target, vm, cb) {
211
+ _.before(el, target)
212
+ if (cb) cb()
213
+ }
214
+
215
+ /**
216
+ * Remove operation that takes a callback.
217
+ *
218
+ * @param {Node} el
219
+ * @param {Vue} vm - unused
220
+ * @param {Function} [cb]
221
+ */
222
+
223
+ function remove (el, vm, cb) {
224
+ _.remove(el)
225
+ if (cb) cb()
226
+ }
@@ -0,0 +1,174 @@
1
+ var _ = require('../util')
2
+
3
+ /**
4
+ * Listen on the given `event` with `fn`.
5
+ *
6
+ * @param {String} event
7
+ * @param {Function} fn
8
+ */
9
+
10
+ exports.$on = function (event, fn) {
11
+ (this._events[event] || (this._events[event] = []))
12
+ .push(fn)
13
+ modifyListenerCount(this, event, 1)
14
+ return this
15
+ }
16
+
17
+ /**
18
+ * Adds an `event` listener that will be invoked a single
19
+ * time then automatically removed.
20
+ *
21
+ * @param {String} event
22
+ * @param {Function} fn
23
+ */
24
+
25
+ exports.$once = function (event, fn) {
26
+ var self = this
27
+ function on () {
28
+ self.$off(event, on)
29
+ fn.apply(this, arguments)
30
+ }
31
+ on.fn = fn
32
+ this.$on(event, on)
33
+ return this
34
+ }
35
+
36
+ /**
37
+ * Remove the given callback for `event` or all
38
+ * registered callbacks.
39
+ *
40
+ * @param {String} event
41
+ * @param {Function} fn
42
+ */
43
+
44
+ exports.$off = function (event, fn) {
45
+ var cbs
46
+ // all
47
+ if (!arguments.length) {
48
+ if (this.$parent) {
49
+ for (event in this._events) {
50
+ cbs = this._events[event]
51
+ if (cbs) {
52
+ modifyListenerCount(this, event, -cbs.length)
53
+ }
54
+ }
55
+ }
56
+ this._events = {}
57
+ return this
58
+ }
59
+ // specific event
60
+ cbs = this._events[event]
61
+ if (!cbs) {
62
+ return this
63
+ }
64
+ if (arguments.length === 1) {
65
+ modifyListenerCount(this, event, -cbs.length)
66
+ this._events[event] = null
67
+ return this
68
+ }
69
+ // specific handler
70
+ var cb
71
+ var i = cbs.length
72
+ while (i--) {
73
+ cb = cbs[i]
74
+ if (cb === fn || cb.fn === fn) {
75
+ modifyListenerCount(this, event, -1)
76
+ cbs.splice(i, 1)
77
+ break
78
+ }
79
+ }
80
+ return this
81
+ }
82
+
83
+ /**
84
+ * Trigger an event on self.
85
+ *
86
+ * @param {String} event
87
+ */
88
+
89
+ exports.$emit = function (event) {
90
+ this._eventCancelled = false
91
+ var cbs = this._events[event]
92
+ if (cbs) {
93
+ // avoid leaking arguments:
94
+ // http://jsperf.com/closure-with-arguments
95
+ var i = arguments.length - 1
96
+ var args = new Array(i)
97
+ while (i--) {
98
+ args[i] = arguments[i + 1]
99
+ }
100
+ i = 0
101
+ cbs = cbs.length > 1
102
+ ? _.toArray(cbs)
103
+ : cbs
104
+ for (var l = cbs.length; i < l; i++) {
105
+ if (cbs[i].apply(this, args) === false) {
106
+ this._eventCancelled = true
107
+ }
108
+ }
109
+ }
110
+ return this
111
+ }
112
+
113
+ /**
114
+ * Recursively broadcast an event to all children instances.
115
+ *
116
+ * @param {String} event
117
+ * @param {...*} additional arguments
118
+ */
119
+
120
+ exports.$broadcast = function (event) {
121
+ // if no child has registered for this event,
122
+ // then there's no need to broadcast.
123
+ if (!this._eventsCount[event]) return
124
+ var children = this.$children
125
+ for (var i = 0, l = children.length; i < l; i++) {
126
+ var child = children[i]
127
+ child.$emit.apply(child, arguments)
128
+ if (!child._eventCancelled) {
129
+ child.$broadcast.apply(child, arguments)
130
+ }
131
+ }
132
+ return this
133
+ }
134
+
135
+ /**
136
+ * Recursively propagate an event up the parent chain.
137
+ *
138
+ * @param {String} event
139
+ * @param {...*} additional arguments
140
+ */
141
+
142
+ exports.$dispatch = function () {
143
+ var parent = this.$parent
144
+ while (parent) {
145
+ parent.$emit.apply(parent, arguments)
146
+ parent = parent._eventCancelled
147
+ ? null
148
+ : parent.$parent
149
+ }
150
+ return this
151
+ }
152
+
153
+ /**
154
+ * Modify the listener counts on all parents.
155
+ * This bookkeeping allows $broadcast to return early when
156
+ * no child has listened to a certain event.
157
+ *
158
+ * @param {Vue} vm
159
+ * @param {String} event
160
+ * @param {Number} count
161
+ */
162
+
163
+ var hookRE = /^hook:/
164
+ function modifyListenerCount (vm, event, count) {
165
+ var parent = vm.$parent
166
+ // hooks do not get broadcasted so no need
167
+ // to do bookkeeping for them
168
+ if (!parent || !count || hookRE.test(event)) return
169
+ while (parent) {
170
+ parent._eventsCount[event] =
171
+ (parent._eventsCount[event] || 0) + count
172
+ parent = parent.$parent
173
+ }
174
+ }
@@ -0,0 +1,119 @@
1
+ var _ = require('../util')
2
+ var config = require('../config')
3
+
4
+ /**
5
+ * Expose useful internals
6
+ */
7
+
8
+ exports.util = _
9
+ exports.config = config
10
+ exports.nextTick = _.nextTick
11
+ exports.compiler = require('../compiler')
12
+
13
+ exports.parsers = {
14
+ path: require('../parsers/path'),
15
+ text: require('../parsers/text'),
16
+ template: require('../parsers/template'),
17
+ directive: require('../parsers/directive'),
18
+ expression: require('../parsers/expression')
19
+ }
20
+
21
+ /**
22
+ * Each instance constructor, including Vue, has a unique
23
+ * cid. This enables us to create wrapped "child
24
+ * constructors" for prototypal inheritance and cache them.
25
+ */
26
+
27
+ exports.cid = 0
28
+ var cid = 1
29
+
30
+ /**
31
+ * Class inheritance
32
+ *
33
+ * @param {Object} extendOptions
34
+ */
35
+
36
+ exports.extend = function (extendOptions) {
37
+ extendOptions = extendOptions || {}
38
+ var Super = this
39
+ var Sub = createClass(
40
+ extendOptions.name ||
41
+ Super.options.name ||
42
+ 'VueComponent'
43
+ )
44
+ Sub.prototype = Object.create(Super.prototype)
45
+ Sub.prototype.constructor = Sub
46
+ Sub.cid = cid++
47
+ Sub.options = _.mergeOptions(
48
+ Super.options,
49
+ extendOptions
50
+ )
51
+ Sub['super'] = Super
52
+ // allow further extension
53
+ Sub.extend = Super.extend
54
+ // create asset registers, so extended classes
55
+ // can have their private assets too.
56
+ config._assetTypes.forEach(function (type) {
57
+ Sub[type] = Super[type]
58
+ })
59
+ return Sub
60
+ }
61
+
62
+ /**
63
+ * A function that returns a sub-class constructor with the
64
+ * given name. This gives us much nicer output when
65
+ * logging instances in the console.
66
+ *
67
+ * @param {String} name
68
+ * @return {Function}
69
+ */
70
+
71
+ function createClass (name) {
72
+ return new Function(
73
+ 'return function ' + _.classify(name) +
74
+ ' (options) { this._init(options) }'
75
+ )()
76
+ }
77
+
78
+ /**
79
+ * Plugin system
80
+ *
81
+ * @param {Object} plugin
82
+ */
83
+
84
+ exports.use = function (plugin) {
85
+ // additional parameters
86
+ var args = _.toArray(arguments, 1)
87
+ args.unshift(this)
88
+ if (typeof plugin.install === 'function') {
89
+ plugin.install.apply(plugin, args)
90
+ } else {
91
+ plugin.apply(null, args)
92
+ }
93
+ return this
94
+ }
95
+
96
+ /**
97
+ * Create asset registration methods with the following
98
+ * signature:
99
+ *
100
+ * @param {String} id
101
+ * @param {*} definition
102
+ */
103
+
104
+ config._assetTypes.forEach(function (type) {
105
+ exports[type] = function (id, definition) {
106
+ if (!definition) {
107
+ return this.options[type + 's'][id]
108
+ } else {
109
+ if (
110
+ type === 'component' &&
111
+ _.isPlainObject(definition)
112
+ ) {
113
+ definition.name = id
114
+ definition = _.Vue.extend(definition)
115
+ }
116
+ this.options[type + 's'][id] = definition
117
+ }
118
+ }
119
+ })
@@ -0,0 +1,68 @@
1
+ var _ = require('../util')
2
+ var compiler = require('../compiler')
3
+
4
+ /**
5
+ * Set instance target element and kick off the compilation
6
+ * process. The passed in `el` can be a selector string, an
7
+ * existing Element, or a DocumentFragment (for block
8
+ * instances).
9
+ *
10
+ * @param {Element|DocumentFragment|string} el
11
+ * @public
12
+ */
13
+
14
+ exports.$mount = function (el) {
15
+ if (this._isCompiled) {
16
+ process.env.NODE_ENV !== 'production' && _.warn(
17
+ '$mount() should be called only once.'
18
+ )
19
+ return
20
+ }
21
+ el = _.query(el)
22
+ if (!el) {
23
+ el = document.createElement('div')
24
+ }
25
+ this._compile(el)
26
+ this._isCompiled = true
27
+ this._callHook('compiled')
28
+ this._initDOMHooks()
29
+ if (_.inDoc(this.$el)) {
30
+ this._callHook('attached')
31
+ ready.call(this)
32
+ } else {
33
+ this.$once('hook:attached', ready)
34
+ }
35
+ return this
36
+ }
37
+
38
+ /**
39
+ * Mark an instance as ready.
40
+ */
41
+
42
+ function ready () {
43
+ this._isAttached = true
44
+ this._isReady = true
45
+ this._callHook('ready')
46
+ }
47
+
48
+ /**
49
+ * Teardown the instance, simply delegate to the internal
50
+ * _destroy.
51
+ */
52
+
53
+ exports.$destroy = function (remove, deferCleanup) {
54
+ this._destroy(remove, deferCleanup)
55
+ }
56
+
57
+ /**
58
+ * Partially compile a piece of DOM and return a
59
+ * decompile function.
60
+ *
61
+ * @param {Element|DocumentFragment} el
62
+ * @param {Vue} [host]
63
+ * @return {Function}
64
+ */
65
+
66
+ exports.$compile = function (el, host) {
67
+ return compiler.compile(el, this.$options, true, host)(this, el)
68
+ }
@@ -0,0 +1,98 @@
1
+ var _ = require('./util')
2
+ var config = require('./config')
3
+
4
+ // we have two separate queues: one for directive updates
5
+ // and one for user watcher registered via $watch().
6
+ // we want to guarantee directive updates to be called
7
+ // before user watchers so that when user watchers are
8
+ // triggered, the DOM would have already been in updated
9
+ // state.
10
+ var queue = []
11
+ var userQueue = []
12
+ var has = {}
13
+ var circular = {}
14
+ var waiting = false
15
+ var internalQueueDepleted = false
16
+
17
+ /**
18
+ * Reset the batcher's state.
19
+ */
20
+
21
+ function reset () {
22
+ queue = []
23
+ userQueue = []
24
+ has = {}
25
+ circular = {}
26
+ waiting = internalQueueDepleted = false
27
+ }
28
+
29
+ /**
30
+ * Flush both queues and run the watchers.
31
+ */
32
+
33
+ function flush () {
34
+ run(queue)
35
+ internalQueueDepleted = true
36
+ run(userQueue)
37
+ reset()
38
+ }
39
+
40
+ /**
41
+ * Run the watchers in a single queue.
42
+ *
43
+ * @param {Array} queue
44
+ */
45
+
46
+ function run (queue) {
47
+ // do not cache length because more watchers might be pushed
48
+ // as we run existing watchers
49
+ for (var i = 0; i < queue.length; i++) {
50
+ var watcher = queue[i]
51
+ var id = watcher.id
52
+ has[id] = null
53
+ watcher.run()
54
+ // in dev build, check and stop circular updates.
55
+ if (process.env.NODE_ENV !== 'production' && has[id] != null) {
56
+ circular[id] = (circular[id] || 0) + 1
57
+ if (circular[id] > config._maxUpdateCount) {
58
+ queue.splice(has[id], 1)
59
+ _.warn(
60
+ 'You may have an infinite update loop for watcher ' +
61
+ 'with expression: ' + watcher.expression
62
+ )
63
+ }
64
+ }
65
+ }
66
+ }
67
+
68
+ /**
69
+ * Push a watcher into the watcher queue.
70
+ * Jobs with duplicate IDs will be skipped unless it's
71
+ * pushed when the queue is being flushed.
72
+ *
73
+ * @param {Watcher} watcher
74
+ * properties:
75
+ * - {Number} id
76
+ * - {Function} run
77
+ */
78
+
79
+ exports.push = function (watcher) {
80
+ var id = watcher.id
81
+ if (has[id] == null) {
82
+ // if an internal watcher is pushed, but the internal
83
+ // queue is already depleted, we run it immediately.
84
+ if (internalQueueDepleted && !watcher.user) {
85
+ watcher.run()
86
+ return
87
+ }
88
+ // push watcher into appropriate queue
89
+ var q = watcher.user ? userQueue : queue
90
+ has[id] = q.length
91
+ q.push(watcher)
92
+ // queue the flush
93
+ if (!waiting) {
94
+ waiting = true
95
+ _.nextTick(flush)
96
+ }
97
+ }
98
+ }