genus 0.0.1

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 (99) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +29 -0
  4. data/Rakefile +2 -0
  5. data/app/assets/fonts/FontAwesome.otf +0 -0
  6. data/app/assets/fonts/fontawesome-webfont.eot +0 -0
  7. data/app/assets/fonts/fontawesome-webfont.svg +520 -0
  8. data/app/assets/fonts/fontawesome-webfont.ttf +0 -0
  9. data/app/assets/fonts/fontawesome-webfont.woff +0 -0
  10. data/app/assets/javascripts/bootstrap/affix.js +142 -0
  11. data/app/assets/javascripts/bootstrap/alert.js +92 -0
  12. data/app/assets/javascripts/bootstrap/button.js +110 -0
  13. data/app/assets/javascripts/bootstrap/carousel.js +223 -0
  14. data/app/assets/javascripts/bootstrap/collapse.js +170 -0
  15. data/app/assets/javascripts/bootstrap/dropdown.js +151 -0
  16. data/app/assets/javascripts/bootstrap/modal.js +280 -0
  17. data/app/assets/javascripts/bootstrap/popover.js +113 -0
  18. data/app/assets/javascripts/bootstrap/scrollspy.js +170 -0
  19. data/app/assets/javascripts/bootstrap/tab.js +128 -0
  20. data/app/assets/javascripts/bootstrap/tooltip.js +457 -0
  21. data/app/assets/javascripts/bootstrap/transition.js +59 -0
  22. data/app/assets/javascripts/bootstrap.js +12 -0
  23. data/app/assets/javascripts/genus.js.coffee +4 -0
  24. data/app/assets/stylesheets/bootstrap/_alerts.scss +68 -0
  25. data/app/assets/stylesheets/bootstrap/_badges.scss +57 -0
  26. data/app/assets/stylesheets/bootstrap/_breadcrumbs.scss +26 -0
  27. data/app/assets/stylesheets/bootstrap/_button-groups.scss +240 -0
  28. data/app/assets/stylesheets/bootstrap/_buttons.scss +157 -0
  29. data/app/assets/stylesheets/bootstrap/_carousel.scss +243 -0
  30. data/app/assets/stylesheets/bootstrap/_close.scss +35 -0
  31. data/app/assets/stylesheets/bootstrap/_code.scss +68 -0
  32. data/app/assets/stylesheets/bootstrap/_component-animations.scss +35 -0
  33. data/app/assets/stylesheets/bootstrap/_dropdowns.scss +215 -0
  34. data/app/assets/stylesheets/bootstrap/_forms.scss +538 -0
  35. data/app/assets/stylesheets/bootstrap/_glyphicons.scss +237 -0
  36. data/app/assets/stylesheets/bootstrap/_grid.scss +84 -0
  37. data/app/assets/stylesheets/bootstrap/_input-groups.scss +166 -0
  38. data/app/assets/stylesheets/bootstrap/_jumbotron.scss +48 -0
  39. data/app/assets/stylesheets/bootstrap/_labels.scss +66 -0
  40. data/app/assets/stylesheets/bootstrap/_list-group.scss +131 -0
  41. data/app/assets/stylesheets/bootstrap/_media.scss +56 -0
  42. data/app/assets/stylesheets/bootstrap/_mixins.scss +39 -0
  43. data/app/assets/stylesheets/bootstrap/_modals.scss +150 -0
  44. data/app/assets/stylesheets/bootstrap/_navbar.scss +659 -0
  45. data/app/assets/stylesheets/bootstrap/_navs.scss +242 -0
  46. data/app/assets/stylesheets/bootstrap/_normalize.scss +425 -0
  47. data/app/assets/stylesheets/bootstrap/_pager.scss +55 -0
  48. data/app/assets/stylesheets/bootstrap/_pagination.scss +88 -0
  49. data/app/assets/stylesheets/bootstrap/_panels.scss +243 -0
  50. data/app/assets/stylesheets/bootstrap/_popovers.scss +133 -0
  51. data/app/assets/stylesheets/bootstrap/_print.scss +101 -0
  52. data/app/assets/stylesheets/bootstrap/_progress-bars.scss +105 -0
  53. data/app/assets/stylesheets/bootstrap/_responsive-embed.scss +34 -0
  54. data/app/assets/stylesheets/bootstrap/_responsive-utilities.scss +174 -0
  55. data/app/assets/stylesheets/bootstrap/_scaffolding.scss +150 -0
  56. data/app/assets/stylesheets/bootstrap/_tables.scss +233 -0
  57. data/app/assets/stylesheets/bootstrap/_theme.scss +258 -0
  58. data/app/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  59. data/app/assets/stylesheets/bootstrap/_tooltip.scss +95 -0
  60. data/app/assets/stylesheets/bootstrap/_type.scss +304 -0
  61. data/app/assets/stylesheets/bootstrap/_utilities.scss +57 -0
  62. data/app/assets/stylesheets/bootstrap/_variables.scss +850 -0
  63. data/app/assets/stylesheets/bootstrap/_wells.scss +29 -0
  64. data/app/assets/stylesheets/bootstrap/bootstrap.scss +50 -0
  65. data/app/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  66. data/app/assets/stylesheets/bootstrap/mixins/_background-variant.scss +11 -0
  67. data/app/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  68. data/app/assets/stylesheets/bootstrap/mixins/_buttons.scss +50 -0
  69. data/app/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  70. data/app/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  71. data/app/assets/stylesheets/bootstrap/mixins/_forms.scss +84 -0
  72. data/app/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  73. data/app/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  74. data/app/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  75. data/app/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  76. data/app/assets/stylesheets/bootstrap/mixins/_image.scss +34 -0
  77. data/app/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  78. data/app/assets/stylesheets/bootstrap/mixins/_list-group.scss +31 -0
  79. data/app/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  80. data/app/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  81. data/app/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  82. data/app/assets/stylesheets/bootstrap/mixins/_pagination.scss +23 -0
  83. data/app/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  84. data/app/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  85. data/app/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  86. data/app/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  87. data/app/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  88. data/app/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  89. data/app/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  90. data/app/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  91. data/app/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +11 -0
  92. data/app/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  93. data/app/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  94. data/app/assets/stylesheets/bootstrap.scss +50 -0
  95. data/app/assets/stylesheets/font-awesome.css.erb +1677 -0
  96. data/app/assets/stylesheets/genus.css.scss +15 -0
  97. data/lib/genus/version.rb +3 -0
  98. data/lib/genus.rb +6 -0
  99. metadata +211 -0
@@ -0,0 +1,170 @@
1
+ /* ========================================================================
2
+ * Bootstrap: scrollspy.js v3.2.0
3
+ * http://getbootstrap.com/javascript/#scrollspy
4
+ * ========================================================================
5
+ * Copyright 2011-2014 Twitter, Inc.
6
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7
+ * ======================================================================== */
8
+
9
+
10
+ +function ($) {
11
+ 'use strict';
12
+
13
+ // SCROLLSPY CLASS DEFINITION
14
+ // ==========================
15
+
16
+ function ScrollSpy(element, options) {
17
+ var process = $.proxy(this.process, this)
18
+
19
+ this.$body = $('body')
20
+ this.$scrollElement = $(element).is('body') ? $(window) : $(element)
21
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
22
+ this.selector = (this.options.target || '') + ' .nav li > a'
23
+ this.offsets = []
24
+ this.targets = []
25
+ this.activeTarget = null
26
+ this.scrollHeight = 0
27
+
28
+ this.$scrollElement.on('scroll.bs.scrollspy', process)
29
+ this.refresh()
30
+ this.process()
31
+ }
32
+
33
+ ScrollSpy.VERSION = '3.2.0'
34
+
35
+ ScrollSpy.DEFAULTS = {
36
+ offset: 10
37
+ }
38
+
39
+ ScrollSpy.prototype.getScrollHeight = function () {
40
+ return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
41
+ }
42
+
43
+ ScrollSpy.prototype.refresh = function () {
44
+ var offsetMethod = 'offset'
45
+ var offsetBase = 0
46
+
47
+ if (!$.isWindow(this.$scrollElement[0])) {
48
+ offsetMethod = 'position'
49
+ offsetBase = this.$scrollElement.scrollTop()
50
+ }
51
+
52
+ this.offsets = []
53
+ this.targets = []
54
+ this.scrollHeight = this.getScrollHeight()
55
+
56
+ var self = this
57
+
58
+ this.$body
59
+ .find(this.selector)
60
+ .map(function () {
61
+ var $el = $(this)
62
+ var href = $el.data('target') || $el.attr('href')
63
+ var $href = /^#./.test(href) && $(href)
64
+
65
+ return ($href
66
+ && $href.length
67
+ && $href.is(':visible')
68
+ && [[$href[offsetMethod]().top + offsetBase, href]]) || null
69
+ })
70
+ .sort(function (a, b) { return a[0] - b[0] })
71
+ .each(function () {
72
+ self.offsets.push(this[0])
73
+ self.targets.push(this[1])
74
+ })
75
+ }
76
+
77
+ ScrollSpy.prototype.process = function () {
78
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
79
+ var scrollHeight = this.getScrollHeight()
80
+ var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
81
+ var offsets = this.offsets
82
+ var targets = this.targets
83
+ var activeTarget = this.activeTarget
84
+ var i
85
+
86
+ if (this.scrollHeight != scrollHeight) {
87
+ this.refresh()
88
+ }
89
+
90
+ if (scrollTop >= maxScroll) {
91
+ return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
92
+ }
93
+
94
+ if (activeTarget && scrollTop <= offsets[0]) {
95
+ return activeTarget != (i = targets[0]) && this.activate(i)
96
+ }
97
+
98
+ for (i = offsets.length; i--;) {
99
+ activeTarget != targets[i]
100
+ && scrollTop >= offsets[i]
101
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
102
+ && this.activate(targets[i])
103
+ }
104
+ }
105
+
106
+ ScrollSpy.prototype.activate = function (target) {
107
+ this.activeTarget = target
108
+
109
+ $(this.selector)
110
+ .parentsUntil(this.options.target, '.active')
111
+ .removeClass('active')
112
+
113
+ var selector = this.selector +
114
+ '[data-target="' + target + '"],' +
115
+ this.selector + '[href="' + target + '"]'
116
+
117
+ var active = $(selector)
118
+ .parents('li')
119
+ .addClass('active')
120
+
121
+ if (active.parent('.dropdown-menu').length) {
122
+ active = active
123
+ .closest('li.dropdown')
124
+ .addClass('active')
125
+ }
126
+
127
+ active.trigger('activate.bs.scrollspy')
128
+ }
129
+
130
+
131
+ // SCROLLSPY PLUGIN DEFINITION
132
+ // ===========================
133
+
134
+ function Plugin(option) {
135
+ return this.each(function () {
136
+ var $this = $(this)
137
+ var data = $this.data('bs.scrollspy')
138
+ var options = typeof option == 'object' && option
139
+
140
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
141
+ if (typeof option == 'string') data[option]()
142
+ })
143
+ }
144
+
145
+ var old = $.fn.scrollspy
146
+
147
+ $.fn.scrollspy = Plugin
148
+ $.fn.scrollspy.Constructor = ScrollSpy
149
+
150
+
151
+ // SCROLLSPY NO CONFLICT
152
+ // =====================
153
+
154
+ $.fn.scrollspy.noConflict = function () {
155
+ $.fn.scrollspy = old
156
+ return this
157
+ }
158
+
159
+
160
+ // SCROLLSPY DATA-API
161
+ // ==================
162
+
163
+ $(window).on('load.bs.scrollspy.data-api', function () {
164
+ $('[data-spy="scroll"]').each(function () {
165
+ var $spy = $(this)
166
+ Plugin.call($spy, $spy.data())
167
+ })
168
+ })
169
+
170
+ }(jQuery);
@@ -0,0 +1,128 @@
1
+ /* ========================================================================
2
+ * Bootstrap: tab.js v3.2.0
3
+ * http://getbootstrap.com/javascript/#tabs
4
+ * ========================================================================
5
+ * Copyright 2011-2014 Twitter, Inc.
6
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
7
+ * ======================================================================== */
8
+
9
+
10
+ +function ($) {
11
+ 'use strict';
12
+
13
+ // TAB CLASS DEFINITION
14
+ // ====================
15
+
16
+ var Tab = function (element) {
17
+ this.element = $(element)
18
+ }
19
+
20
+ Tab.VERSION = '3.2.0'
21
+
22
+ Tab.prototype.show = function () {
23
+ var $this = this.element
24
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
25
+ var selector = $this.data('target')
26
+
27
+ if (!selector) {
28
+ selector = $this.attr('href')
29
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
30
+ }
31
+
32
+ if ($this.parent('li').hasClass('active')) return
33
+
34
+ var previous = $ul.find('.active:last a')[0]
35
+ var e = $.Event('show.bs.tab', {
36
+ relatedTarget: previous
37
+ })
38
+
39
+ $this.trigger(e)
40
+
41
+ if (e.isDefaultPrevented()) return
42
+
43
+ var $target = $(selector)
44
+
45
+ this.activate($this.closest('li'), $ul)
46
+ this.activate($target, $target.parent(), function () {
47
+ $this.trigger({
48
+ type: 'shown.bs.tab',
49
+ relatedTarget: previous
50
+ })
51
+ })
52
+ }
53
+
54
+ Tab.prototype.activate = function (element, container, callback) {
55
+ var $active = container.find('> .active')
56
+ var transition = callback
57
+ && $.support.transition
58
+ && $active.hasClass('fade')
59
+
60
+ function next() {
61
+ $active
62
+ .removeClass('active')
63
+ .find('> .dropdown-menu > .active')
64
+ .removeClass('active')
65
+
66
+ element.addClass('active')
67
+
68
+ if (transition) {
69
+ element[0].offsetWidth // reflow for transition
70
+ element.addClass('in')
71
+ } else {
72
+ element.removeClass('fade')
73
+ }
74
+
75
+ if (element.parent('.dropdown-menu')) {
76
+ element.closest('li.dropdown').addClass('active')
77
+ }
78
+
79
+ callback && callback()
80
+ }
81
+
82
+ transition ?
83
+ $active
84
+ .one('bsTransitionEnd', next)
85
+ .emulateTransitionEnd(150) :
86
+ next()
87
+
88
+ $active.removeClass('in')
89
+ }
90
+
91
+
92
+ // TAB PLUGIN DEFINITION
93
+ // =====================
94
+
95
+ function Plugin(option) {
96
+ return this.each(function () {
97
+ var $this = $(this)
98
+ var data = $this.data('bs.tab')
99
+
100
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
101
+ if (typeof option == 'string') data[option]()
102
+ })
103
+ }
104
+
105
+ var old = $.fn.tab
106
+
107
+ $.fn.tab = Plugin
108
+ $.fn.tab.Constructor = Tab
109
+
110
+
111
+ // TAB NO CONFLICT
112
+ // ===============
113
+
114
+ $.fn.tab.noConflict = function () {
115
+ $.fn.tab = old
116
+ return this
117
+ }
118
+
119
+
120
+ // TAB DATA-API
121
+ // ============
122
+
123
+ $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
124
+ e.preventDefault()
125
+ Plugin.call($(this), 'show')
126
+ })
127
+
128
+ }(jQuery);