qipowl 0.9.1 → 0.9.2

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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/config/bowlers/html.yaml +2 -0
  3. data/features/html.feature +10 -0
  4. data/images/owl-16x16.png +0 -0
  5. data/images/owl-24x24.png +0 -0
  6. data/images/owl-32x32.png +0 -0
  7. data/images/owl-48x48.png +0 -0
  8. data/images/owl-64x64.png +0 -0
  9. data/images/owl-96x96.png +0 -0
  10. data/lib/qipowl/bowlers/html.rb +6 -0
  11. data/lib/qipowl/constants.rb +5 -0
  12. data/lib/qipowl/core/bowler.rb +7 -4
  13. data/lib/qipowl/core/ruler.rb +2 -1
  14. data/lib/qipowl/version.rb +1 -1
  15. data/lib/qipowl.rb +2 -0
  16. metadata +8 -25
  17. data/extras/demo/main.rb +0 -35
  18. data/extras/demo/public/apple-touch-icon-114x114-precomposed.png +0 -0
  19. data/extras/demo/public/apple-touch-icon-144x144-precomposed.png +0 -0
  20. data/extras/demo/public/apple-touch-icon-57x57-precomposed.png +0 -0
  21. data/extras/demo/public/apple-touch-icon-72x72-precomposed.png +0 -0
  22. data/extras/demo/public/apple-touch-icon-precomposed.png +0 -0
  23. data/extras/demo/public/apple-touch-icon.png +0 -0
  24. data/extras/demo/public/css/bootstrap-theme.css +0 -384
  25. data/extras/demo/public/css/bootstrap-theme.min.css +0 -1
  26. data/extras/demo/public/css/bootstrap.css +0 -6805
  27. data/extras/demo/public/css/bootstrap.min.css +0 -9
  28. data/extras/demo/public/css/main.css +0 -22
  29. data/extras/demo/public/favicon.ico +0 -0
  30. data/extras/demo/public/fonts/glyphicons-halflings-regular.eot +0 -0
  31. data/extras/demo/public/fonts/glyphicons-halflings-regular.svg +0 -228
  32. data/extras/demo/public/fonts/glyphicons-halflings-regular.ttf +0 -0
  33. data/extras/demo/public/fonts/glyphicons-halflings-regular.woff +0 -0
  34. data/extras/demo/public/html.html +0 -269
  35. data/extras/demo/public/index.html +0 -110
  36. data/extras/demo/public/js/main.js +0 -1
  37. data/extras/demo/public/js/vendor/bootstrap.js +0 -1999
  38. data/extras/demo/public/js/vendor/bootstrap.min.js +0 -6
  39. data/extras/demo/public/js/vendor/jquery-1.10.1.min.js +0 -6
  40. data/extras/demo/public/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
- metadata.gz: c656b2aa5f88eb634e30f0ae4c9f8a1dae18237d
4
- data.tar.gz: 26b1185aedc158f4fcb660b807bf5691fea97570
3
+ metadata.gz: c27c57511c9dffe2f1d4c5f36f5f689f811b4081
4
+ data.tar.gz: 5df7de841f328a65f71311772fd7ca815617f118
5
5
  !binary "U0hBNTEy":
6
- metadata.gz: 78be05dbfaf7720127cb2da7db32c4b204f8f7146d69fc3749f330e0e95ec2ce5fa3d99451fc38aa38b3e041c3a41e10f3c99ea37238c4bc5c5180943bfcf4e6
7
- data.tar.gz: 50e3187848e51d7aca086f5410ed23cf0f472bd40844e2b83101cf67c574c6267c483e53e31db4ac3ae6d37a82616cf3b6005cc9a13f9bdacd20d22e6534a89c
6
+ metadata.gz: 989c41bdb4f38b793b55dbbd7c3164d9cb8b29735c0ddbd71ec3486c670587bc6937a04fdad7068c2fd9f5489c64812fda9ae98ad6fabadbec2dac97ad9e6594
7
+ data.tar.gz: 3ae8a24d7788cabc4dcdf647dae1e686adfca7e699f710c5013546914efa719fb5e5dd39cf89b900193e242292af0b891e035b2e7fac77547f669f1be17bcf57
@@ -10,6 +10,8 @@
10
10
  - 'markdown2html'
11
11
 
12
12
  :entities :
13
+ :self :
14
+ :qipowl : :strong
13
15
  :block :
14
16
  :✍ :
15
17
  :synonyms :
@@ -141,6 +141,16 @@ Feature: All the possibilities of HTML parser
141
141
  | "§1 Header" | "<h1>Header</h1>" |
142
142
  | "〉 Blockquote" | "<blockquote><p class='blockquote'>Blockquote</p></blockquote>" |
143
143
 
144
+ Scenario Outline: Self tags
145
+ Given we use "html" bowler
146
+ When the input string is <input>
147
+ And the execute method is called on bowler
148
+ Then the result should equal to <output>
149
+
150
+ Examples:
151
+ | input | output |
152
+ | "here qipowl goes" | "<p>here <strong>qipowl</strong> goes</p>" |
153
+
144
154
  Scenario: Address tag
145
155
  Given we use "html" bowler
146
156
  When the input string is "℁ ≡Twitter≡ ⏎ ☎ +1(987)5554321 ⏎ ✉ info@twitter.com"
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -69,6 +69,12 @@ module Qipowl
69
69
  )
70
70
  end
71
71
 
72
+ # `:self` default handler
73
+ # @param [Array] args the words, gained since last call to {#harvest}
74
+ def ∀_self *args
75
+ [tagify(∃_self_tag(__callee__), {:class => ∃_self(__callee__)[:class]}, __callee__), args]
76
+ end
77
+
72
78
  ##############################################################################
73
79
  ### Grip :: Specific handlers ###
74
80
  ##############################################################################
@@ -0,0 +1,5 @@
1
+ # encoding: utf-8
2
+
3
+ module Qipowl
4
+ ENTITIES = %w(block alone magnet grip regular self)
5
+ end
@@ -1,8 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
- require_relative 'monkeypatches'
3
+ require_relative "../constants"
4
4
  require_relative '../utils/logging'
5
5
 
6
+ require_relative 'monkeypatches'
7
+
6
8
  # @author Alexei Matyushkin
7
9
  module Qipowl::Bowlers
8
10
 
@@ -109,10 +111,11 @@ module Qipowl::Bowlers
109
111
  #
110
112
  # @param [Symbol] key the key to be removed
111
113
  def remove_entity key
112
- %w(block alone magnet grip regular).each { |section|
114
+ Qipowl::ENTITIES.each { |section|
115
+ next unless (curr_sect = self.class.const_get("#{section.upcase}_TAGS") rescue nil)
113
116
  next unless send :"∃_#{section}_tag", key.to_sym
114
117
 
115
- self.class.const_get("#{section.upcase}_TAGS").delete key
118
+ curr_sect.delete key
116
119
  self.class.const_get("ENCLOSURES_TAGS").delete key
117
120
  self.class.class_eval %Q{
118
121
  remove_method :#{key.bowl}
@@ -122,7 +125,7 @@ module Qipowl::Bowlers
122
125
 
123
126
 
124
127
  protected
125
- %w(block alone magnet grip regular).each { |section|
128
+ Qipowl::ENTITIES.each { |section|
126
129
  define_method "∀_#{section}".to_sym, ->(*args) {
127
130
  raise "Default method for #{section} (“#{self.class.name.gsub(/_\d+\Z/, '')}#∀_#{section}”) MUST be defined"
128
131
  } unless Bowler.instance_methods(true).include?("∀_#{section}".to_sym)
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
+ require_relative "../constants"
3
4
  require_relative '../utils/logging'
4
5
 
5
6
  # @author Alexei Matyushkin
@@ -75,7 +76,7 @@ module Qipowl
75
76
  nil
76
77
  end
77
78
  }
78
- %w(block alone magnet grip regular).each { |section|
79
+ Qipowl::ENTITIES.each { |section|
79
80
  next unless mapper.entities && mapper.entities[section.to_sym]
80
81
  clazz.const_set("#{section.upcase}_TAGS", mapper.entities[section.to_sym])
81
82
  clazz.class_eval %Q{
@@ -1,3 +1,3 @@
1
1
  module Qipowl
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
data/lib/qipowl.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  require_relative "qipowl/version"
4
+ require_relative "qipowl/constants"
5
+
4
6
  require_relative "qipowl/core/mapper"
5
7
  require_relative "qipowl/core/ruler"
6
8
  require_relative "qipowl/core/bowler"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qipowl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexei Matyushkin
@@ -174,30 +174,6 @@ files:
174
174
  - config/bowlers/html_supplemental.yaml
175
175
  - config/bowlers/ispru.yaml
176
176
  - config/bowlers/markdown2html.yaml
177
- - extras/demo/main.rb
178
- - extras/demo/public/apple-touch-icon-114x114-precomposed.png
179
- - extras/demo/public/apple-touch-icon-144x144-precomposed.png
180
- - extras/demo/public/apple-touch-icon-57x57-precomposed.png
181
- - extras/demo/public/apple-touch-icon-72x72-precomposed.png
182
- - extras/demo/public/apple-touch-icon-precomposed.png
183
- - extras/demo/public/apple-touch-icon.png
184
- - extras/demo/public/css/bootstrap-theme.css
185
- - extras/demo/public/css/bootstrap-theme.min.css
186
- - extras/demo/public/css/bootstrap.css
187
- - extras/demo/public/css/bootstrap.min.css
188
- - extras/demo/public/css/main.css
189
- - extras/demo/public/favicon.ico
190
- - extras/demo/public/fonts/glyphicons-halflings-regular.eot
191
- - extras/demo/public/fonts/glyphicons-halflings-regular.svg
192
- - extras/demo/public/fonts/glyphicons-halflings-regular.ttf
193
- - extras/demo/public/fonts/glyphicons-halflings-regular.woff
194
- - extras/demo/public/html.html
195
- - extras/demo/public/index.html
196
- - extras/demo/public/js/main.js
197
- - extras/demo/public/js/vendor/bootstrap.js
198
- - extras/demo/public/js/vendor/bootstrap.min.js
199
- - extras/demo/public/js/vendor/jquery-1.10.1.min.js
200
- - extras/demo/public/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js
201
177
  - extras/drafts/parsing.md
202
178
  - extras/support/typo
203
179
  - features/bowler.feature
@@ -209,6 +185,12 @@ files:
209
185
  - features/step_definitions/ispru_steps.rb
210
186
  - features/step_definitions/monkey_steps.rb
211
187
  - features/support/env.rb
188
+ - images/owl-16x16.png
189
+ - images/owl-24x24.png
190
+ - images/owl-32x32.png
191
+ - images/owl-48x48.png
192
+ - images/owl-64x64.png
193
+ - images/owl-96x96.png
212
194
  - images/owl-old.png
213
195
  - images/owl-old.xcf
214
196
  - images/owl.png
@@ -218,6 +200,7 @@ files:
218
200
  - lib/qipowl/bowlers/html.rb
219
201
  - lib/qipowl/bowlers/i_sp_ru.rb
220
202
  - lib/qipowl/bowlers/yaml.rb
203
+ - lib/qipowl/constants.rb
221
204
  - lib/qipowl/core/bowler.rb
222
205
  - lib/qipowl/core/mapper.rb
223
206
  - lib/qipowl/core/monkeypatches.rb
data/extras/demo/main.rb DELETED
@@ -1,35 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'cgi'
4
- require 'json'
5
- require 'sinatra'
6
-
7
- require_relative '../../lib/qipowl'
8
-
9
- use Rack::Session::Pool, :expire_after => 2592000
10
-
11
- before do
12
- session[:typo] ||= Qipowl::Ruler.new_bowler "html"
13
- session[:mapping] ||= session[:typo].class::ENTITIES.rmerge({:custom => session[:typo].class::CUSTOM_TAGS}).to_json
14
- end
15
-
16
- get '/html/mapping' do
17
- content_type :json
18
- session[:mapping]
19
- end
20
-
21
- delete '/html/mapping/:key' do |key|
22
- content_type :json
23
- session[:typo].remove_entity(key.to_sym).to_json
24
- end
25
-
26
- put '/html/mapping/:section/:key/:value/?:enclosure?' do |section, key, value, enclosure|
27
- content_type :json
28
- session[:typo].add_entity(section.to_sym, key.to_sym, value.to_sym, enclosure ? enclosure.to_sym : nil).to_json
29
- end
30
-
31
- get '/html/parse' do
32
- str = CGI::parse(request.query_string)['text'].first
33
- content_type :html
34
- session[:typo].execute str
35
- end
@@ -1,384 +0,0 @@
1
- .btn-default,
2
- .btn-primary,
3
- .btn-success,
4
- .btn-info,
5
- .btn-warning,
6
- .btn-danger {
7
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
8
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
9
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
10
- }
11
-
12
- .btn-default:active,
13
- .btn-primary:active,
14
- .btn-success:active,
15
- .btn-info:active,
16
- .btn-warning:active,
17
- .btn-danger:active,
18
- .btn-default.active,
19
- .btn-primary.active,
20
- .btn-success.active,
21
- .btn-info.active,
22
- .btn-warning.active,
23
- .btn-danger.active {
24
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
25
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
26
- }
27
-
28
- .btn:active,
29
- .btn.active {
30
- background-image: none;
31
- }
32
-
33
- .btn-default {
34
- text-shadow: 0 1px 0 #fff;
35
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#e6e6e6));
36
- background-image: -webkit-linear-gradient(top, #ffffff, 0%, #e6e6e6, 100%);
37
- background-image: -moz-linear-gradient(top, #ffffff 0%, #e6e6e6 100%);
38
- background-image: linear-gradient(to bottom, #ffffff 0%, #e6e6e6 100%);
39
- background-repeat: repeat-x;
40
- border-color: #e0e0e0;
41
- border-color: #ccc;
42
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
43
- }
44
-
45
- .btn-default:active,
46
- .btn-default.active {
47
- background-color: #e6e6e6;
48
- border-color: #e0e0e0;
49
- }
50
-
51
- .btn-primary {
52
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
53
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
54
- background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
55
- background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
56
- background-repeat: repeat-x;
57
- border-color: #2d6ca2;
58
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
59
- }
60
-
61
- .btn-primary:active,
62
- .btn-primary.active {
63
- background-color: #3071a9;
64
- border-color: #2d6ca2;
65
- }
66
-
67
- .btn-success {
68
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
69
- background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
70
- background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
71
- background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
72
- background-repeat: repeat-x;
73
- border-color: #419641;
74
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
75
- }
76
-
77
- .btn-success:active,
78
- .btn-success.active {
79
- background-color: #449d44;
80
- border-color: #419641;
81
- }
82
-
83
- .btn-warning {
84
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
85
- background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
86
- background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
87
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
88
- background-repeat: repeat-x;
89
- border-color: #eb9316;
90
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
91
- }
92
-
93
- .btn-warning:active,
94
- .btn-warning.active {
95
- background-color: #ec971f;
96
- border-color: #eb9316;
97
- }
98
-
99
- .btn-danger {
100
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
101
- background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
102
- background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
103
- background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
104
- background-repeat: repeat-x;
105
- border-color: #c12e2a;
106
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
107
- }
108
-
109
- .btn-danger:active,
110
- .btn-danger.active {
111
- background-color: #c9302c;
112
- border-color: #c12e2a;
113
- }
114
-
115
- .btn-info {
116
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
117
- background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
118
- background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
119
- background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
120
- background-repeat: repeat-x;
121
- border-color: #2aabd2;
122
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
123
- }
124
-
125
- .btn-info:active,
126
- .btn-info.active {
127
- background-color: #31b0d5;
128
- border-color: #2aabd2;
129
- }
130
-
131
- .thumbnail,
132
- .img-thumbnail {
133
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
134
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
135
- }
136
-
137
- .dropdown-menu > li > a:hover,
138
- .dropdown-menu > li > a:focus,
139
- .dropdown-menu > .active > a,
140
- .dropdown-menu > .active > a:hover,
141
- .dropdown-menu > .active > a:focus {
142
- background-color: #357ebd;
143
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
144
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
145
- background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
146
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
147
- background-repeat: repeat-x;
148
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
149
- }
150
-
151
- .navbar {
152
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
153
- background-image: -webkit-linear-gradient(top, #ffffff, 0%, #f8f8f8, 100%);
154
- background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
155
- background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
156
- background-repeat: repeat-x;
157
- border-radius: 4px;
158
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
159
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
160
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
161
- }
162
-
163
- .navbar .navbar-nav > .active > a {
164
- background-color: #f8f8f8;
165
- }
166
-
167
- .navbar-brand,
168
- .navbar-nav > li > a {
169
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);
170
- }
171
-
172
- .navbar-inverse {
173
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
174
- background-image: -webkit-linear-gradient(top, #3c3c3c, 0%, #222222, 100%);
175
- background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
176
- background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
177
- background-repeat: repeat-x;
178
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
179
- }
180
-
181
- .navbar-inverse .navbar-nav > .active > a {
182
- background-color: #222222;
183
- }
184
-
185
- .navbar-inverse .navbar-brand,
186
- .navbar-inverse .navbar-nav > li > a {
187
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
188
- }
189
-
190
- .navbar-static-top,
191
- .navbar-fixed-top,
192
- .navbar-fixed-bottom {
193
- border-radius: 0;
194
- }
195
-
196
- .alert {
197
- text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
198
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
199
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);
200
- }
201
-
202
- .alert-success {
203
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
204
- background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #c8e5bc, 100%);
205
- background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
206
- background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
207
- background-repeat: repeat-x;
208
- border-color: #b2dba1;
209
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
210
- }
211
-
212
- .alert-info {
213
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
214
- background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #b9def0, 100%);
215
- background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
216
- background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
217
- background-repeat: repeat-x;
218
- border-color: #9acfea;
219
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
220
- }
221
-
222
- .alert-warning {
223
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
224
- background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #f8efc0, 100%);
225
- background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
226
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
227
- background-repeat: repeat-x;
228
- border-color: #f5e79e;
229
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
230
- }
231
-
232
- .alert-danger {
233
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
234
- background-image: -webkit-linear-gradient(top, #f2dede, 0%, #e7c3c3, 100%);
235
- background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
236
- background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
237
- background-repeat: repeat-x;
238
- border-color: #dca7a7;
239
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
240
- }
241
-
242
- .progress {
243
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
244
- background-image: -webkit-linear-gradient(top, #ebebeb, 0%, #f5f5f5, 100%);
245
- background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
246
- background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
247
- background-repeat: repeat-x;
248
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
249
- }
250
-
251
- .progress-bar {
252
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
253
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #3071a9, 100%);
254
- background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
255
- background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
256
- background-repeat: repeat-x;
257
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
258
- }
259
-
260
- .progress-bar-success {
261
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
262
- background-image: -webkit-linear-gradient(top, #5cb85c, 0%, #449d44, 100%);
263
- background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
264
- background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
265
- background-repeat: repeat-x;
266
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
267
- }
268
-
269
- .progress-bar-info {
270
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
271
- background-image: -webkit-linear-gradient(top, #5bc0de, 0%, #31b0d5, 100%);
272
- background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
273
- background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
274
- background-repeat: repeat-x;
275
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
276
- }
277
-
278
- .progress-bar-warning {
279
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
280
- background-image: -webkit-linear-gradient(top, #f0ad4e, 0%, #ec971f, 100%);
281
- background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
282
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
283
- background-repeat: repeat-x;
284
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
285
- }
286
-
287
- .progress-bar-danger {
288
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
289
- background-image: -webkit-linear-gradient(top, #d9534f, 0%, #c9302c, 100%);
290
- background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
291
- background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
292
- background-repeat: repeat-x;
293
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
294
- }
295
-
296
- .list-group {
297
- border-radius: 4px;
298
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
299
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);
300
- }
301
-
302
- .list-group-item.active,
303
- .list-group-item.active:hover,
304
- .list-group-item.active:focus {
305
- text-shadow: 0 -1px 0 #3071a9;
306
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
307
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #3278b3, 100%);
308
- background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
309
- background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
310
- background-repeat: repeat-x;
311
- border-color: #3278b3;
312
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
313
- }
314
-
315
- .panel {
316
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
317
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
318
- }
319
-
320
- .panel-default > .panel-heading {
321
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
322
- background-image: -webkit-linear-gradient(top, #f5f5f5, 0%, #e8e8e8, 100%);
323
- background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
324
- background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
325
- background-repeat: repeat-x;
326
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
327
- }
328
-
329
- .panel-primary > .panel-heading {
330
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
331
- background-image: -webkit-linear-gradient(top, #428bca, 0%, #357ebd, 100%);
332
- background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
333
- background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
334
- background-repeat: repeat-x;
335
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
336
- }
337
-
338
- .panel-success > .panel-heading {
339
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
340
- background-image: -webkit-linear-gradient(top, #dff0d8, 0%, #d0e9c6, 100%);
341
- background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
342
- background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
343
- background-repeat: repeat-x;
344
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
345
- }
346
-
347
- .panel-info > .panel-heading {
348
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
349
- background-image: -webkit-linear-gradient(top, #d9edf7, 0%, #c4e3f3, 100%);
350
- background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
351
- background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
352
- background-repeat: repeat-x;
353
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
354
- }
355
-
356
- .panel-warning > .panel-heading {
357
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
358
- background-image: -webkit-linear-gradient(top, #fcf8e3, 0%, #faf2cc, 100%);
359
- background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
360
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
361
- background-repeat: repeat-x;
362
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
363
- }
364
-
365
- .panel-danger > .panel-heading {
366
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
367
- background-image: -webkit-linear-gradient(top, #f2dede, 0%, #ebcccc, 100%);
368
- background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
369
- background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
370
- background-repeat: repeat-x;
371
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
372
- }
373
-
374
- .well {
375
- background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
376
- background-image: -webkit-linear-gradient(top, #e8e8e8, 0%, #f5f5f5, 100%);
377
- background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
378
- background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
379
- background-repeat: repeat-x;
380
- border-color: #dcdcdc;
381
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
382
- -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
383
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);
384
- }