alchemy-usermanual 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 (73) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.travis.yml +10 -0
  4. data/Gemfile +9 -0
  5. data/LICENSE.txt +27 -0
  6. data/README.md +65 -0
  7. data/Rakefile +39 -0
  8. data/alchemy-usermanual.gemspec +26 -0
  9. data/app/assets/images/alchemy/icon_user_manual.png +0 -0
  10. data/app/assets/javascripts/alchemy/user_manual.js.coffee +8 -0
  11. data/app/assets/stylesheets/alchemy/user_manual.scss +577 -0
  12. data/app/controllers/alchemy/admin/user_manual_controller.rb +11 -0
  13. data/app/views/alchemy/admin/user_manual/show.html.erb +9 -0
  14. data/config/authorization_rules.rb +5 -0
  15. data/config/initializers/alchemy_module.rb +15 -0
  16. data/config/locales/de.yml +25 -0
  17. data/config/locales/en.yml +25 -0
  18. data/config/routes.rb +5 -0
  19. data/lib/alchemy/user_manual/creator.rb +43 -0
  20. data/lib/alchemy/user_manual/engine.rb +21 -0
  21. data/lib/alchemy/user_manual/helpers/template_helper.rb +51 -0
  22. data/lib/alchemy/user_manual/templates/elements.md.erb +13 -0
  23. data/lib/alchemy/user_manual/templates/introduction.md.erb +3 -0
  24. data/lib/alchemy/user_manual/templates/page_layouts.md.erb +13 -0
  25. data/lib/alchemy/user_manual/version.rb +5 -0
  26. data/lib/alchemy/usermanual.rb +9 -0
  27. data/spec/controllers/admin/user_manual_controller_spec.rb +14 -0
  28. data/spec/dummy/README.rdoc +28 -0
  29. data/spec/dummy/Rakefile +6 -0
  30. data/spec/dummy/app/assets/images/.keep +0 -0
  31. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  32. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  33. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  34. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  35. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  36. data/spec/dummy/app/mailers/.keep +0 -0
  37. data/spec/dummy/app/models/.keep +0 -0
  38. data/spec/dummy/app/models/concerns/.keep +0 -0
  39. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  40. data/spec/dummy/bin/bundle +3 -0
  41. data/spec/dummy/bin/rails +4 -0
  42. data/spec/dummy/bin/rake +4 -0
  43. data/spec/dummy/config.ru +4 -0
  44. data/spec/dummy/config/alchemy/elements.yml +6 -0
  45. data/spec/dummy/config/alchemy/page_layouts.yml +2 -0
  46. data/spec/dummy/config/application.rb +28 -0
  47. data/spec/dummy/config/boot.rb +5 -0
  48. data/spec/dummy/config/database.yml +25 -0
  49. data/spec/dummy/config/environment.rb +5 -0
  50. data/spec/dummy/config/environments/development.rb +29 -0
  51. data/spec/dummy/config/environments/production.rb +80 -0
  52. data/spec/dummy/config/environments/test.rb +36 -0
  53. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  54. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  55. data/spec/dummy/config/initializers/inflections.rb +16 -0
  56. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  57. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  58. data/spec/dummy/config/initializers/session_store.rb +3 -0
  59. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  60. data/spec/dummy/config/locales/en.yml +23 -0
  61. data/spec/dummy/config/routes.rb +3 -0
  62. data/spec/dummy/db/migrate/20131214164341_alchemy_two_point_six.alchemy.rb +337 -0
  63. data/spec/dummy/db/schema.rb +338 -0
  64. data/spec/dummy/lib/assets/.keep +0 -0
  65. data/spec/dummy/log/.keep +0 -0
  66. data/spec/dummy/public/404.html +58 -0
  67. data/spec/dummy/public/422.html +58 -0
  68. data/spec/dummy/public/500.html +57 -0
  69. data/spec/dummy/public/favicon.ico +0 -0
  70. data/spec/libraries/creator_spec.rb +29 -0
  71. data/spec/libraries/template_helper_spec.rb +7 -0
  72. data/spec/spec_helper.rb +21 -0
  73. metadata +231 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4a63300d0871805fe28355e205b443efeaccc15e
4
+ data.tar.gz: 062b5b47a887748e06cb5c941a37da1a0cac8719
5
+ SHA512:
6
+ metadata.gz: a08b62140781d8b20147693e29f40db3cde20418f9d33bf6190424a200d1bf07ff3555bf96008da5719b99e9cd12c84d610bc9dbbd7f7d142f1862409d1b4b56
7
+ data.tar.gz: d8ef0aed3655454b2fde0039b402dedbbf94b0ffa39c5c30733c694e721f021b92921c7b0836b19ba7e55b61c0ec237ab4e742ab99e65ad51092e261996d1177
@@ -0,0 +1,13 @@
1
+ .bundle
2
+ .rspec
3
+ .ruby-version
4
+ log/*.log
5
+ pkg/
6
+ spec/dummy/db/*.sqlite3
7
+ spec/dummy/db/*.sqlite3-journal
8
+ spec/dummy/log/*.log
9
+ spec/dummy/tmp/
10
+ spec/dummy/index/
11
+ spec/dummy/.sass-cache
12
+ Gemfile.lock
13
+ /coverage
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ branches:
6
+ only:
7
+ - master
8
+ script: rake
9
+ env:
10
+ - DB=mysql
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :test do
6
+ gem 'sqlite3'
7
+ end
8
+
9
+ gem 'coveralls', require: false
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2010-2013, magic labs GmbH, Hamburg Germany
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without modification,
5
+ are permitted provided that the following conditions are met:
6
+
7
+ Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+
10
+ Redistributions in binary form must reproduce the above copyright notice, this
11
+ list of conditions and the following disclaimer in the documentation and/or
12
+ other materials provided with the distribution.
13
+
14
+ Neither the name of the magic labs GmbH nor the names of its
15
+ contributors may be used to endorse or promote products derived from
16
+ this software without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
22
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,65 @@
1
+ ## On-site user manual for Alchemy CMS
2
+
3
+ [![Build Status](https://secure.travis-ci.org/magiclabs/alchemy-usermanual.png)](http://travis-ci.org/magiclabs/alchemy-usermanual) [![Coverage Status](https://coveralls.io/repos/magiclabs/alchemy-usermanual/badge.png)](https://coveralls.io/r/magiclabs/alchemy-usermanual) [![Code Climate](https://codeclimate.com/github/magiclabs/alchemy-usermanual.png)](https://codeclimate.com/github/magiclabs/alchemy-usermanual)
4
+
5
+ The version 0.9.x is used to work with [Alchemy CMS 2.7-stable](https://github.com/magiclabs/alchemy_cms/tree/2.7-stable)
6
+
7
+ The alchemy-usermanual gem reads your `page_layouts.yml` and `elements.yml` and wraps all the interesting stuff into a module rendered in the admin-frontend of your Alchemy CMS driven application.
8
+
9
+ Users that are logged in to Alchemy can read through the self-explaining website configuration.
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's `Gemfile`:
14
+
15
+ ~~~
16
+ gem 'alchemy-usermanual', '~> 0.9'
17
+ ~~~
18
+
19
+ And then run `bundle install` on your terminal.
20
+
21
+
22
+ ## Usage
23
+
24
+ You just need to bundle the gem with your application. Then the user manual will be available in the Alchemy admin-frontend.
25
+
26
+ By default translated informations of your page_layouts and elements are presented to the user.
27
+ If you like to extend these informations with individual descriptions, you can store these translatable informations as *hints* in your `page_layouts.yml` and `elements.yml` files.
28
+
29
+ *Example 1 (hint for a page_layout)*
30
+
31
+ ~~~
32
+ # /config/alchemy/page_layouts.yml
33
+ - name: product_detail
34
+ hint: true
35
+ elements: [...]
36
+
37
+ # /config/locales/en.yml
38
+ en:
39
+ alchemy:
40
+ page_layout_hints:
41
+ product_detail: "This page template is used for presenting all the details of one certain product... You can write a full description of what the page template is used to and what the user should consider when using it."
42
+ ~~~
43
+
44
+ *Example 2 (hint for an element)*
45
+
46
+ ~~~
47
+ # /config/alchemy/elements.yml
48
+ - name: product_detail
49
+ hint: true
50
+ elements: [...]
51
+
52
+ # /config/locales/en.yml
53
+ en:
54
+ alchemy:
55
+ element_hints:
56
+ product_video: "This element is used to play the youtube video of your product... You can write a full description of what the element is used to and what the user should consider when using it."
57
+ ~~~
58
+
59
+ ## Contributing
60
+
61
+ 1. Fork it
62
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
63
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
64
+ 4. Push to the branch (`git push origin my-new-feature`)
65
+ 5. Create new Pull Request
@@ -0,0 +1,39 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'AlchemyUserManual'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ rdoc.rdoc_files.include('app/**/*.rb')
16
+ end
17
+
18
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
19
+ load 'rails/tasks/engine.rake'
20
+
21
+ require 'rspec/core'
22
+ require 'rspec/core/rake_task'
23
+
24
+ RSpec::Core::RakeTask.new(:spec)
25
+
26
+ task :default => ['alchemy:spec:prepare', :spec]
27
+
28
+ Bundler::GemHelper.install_tasks
29
+
30
+ namespace :alchemy do
31
+ namespace :spec do
32
+
33
+ desc "Prepares database for testing Alchemy"
34
+ task :prepare do
35
+ system 'cd spec/dummy && RAILS_ENV=test bundle exec rake db:drop db:create alchemy:prepare && cd -'
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+
4
+ require "alchemy/user_manual/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "alchemy-usermanual"
8
+ spec.version = Alchemy::UserManual::VERSION
9
+ spec.authors = ["Robin Böning"]
10
+ spec.email = ["rb@magiclabs.de"]
11
+ spec.description = "This gem adds a user manual module to your alchemy cms driven application."
12
+ spec.summary = "This gem adds a user manual module to your alchemy cms driven application."
13
+ spec.homepage = "http://magiclabs.de"
14
+ spec.license = "BSD New"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+
20
+ spec.add_dependency "alchemy_cms", ['~> 2.7.0']
21
+ spec.add_dependency "redcarpet"
22
+ spec.add_dependency "github-markdown", "~> 0.6.3"
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.3"
25
+ spec.add_development_dependency "rspec-rails"
26
+ end
@@ -0,0 +1,8 @@
1
+ $ ->
2
+ # Because of the toolbar at the top, all anchor links scroll to their targets with an offset
3
+ $('.user_manual a[href^="#"]').on 'click', (e) ->
4
+ e.preventDefault()
5
+ $target = $("a[name=#{$(@).attr('href').split('#')[1]}]")
6
+ $("html, body").animate
7
+ scrollTop: $target.offset().top - '85'
8
+ , 200
@@ -0,0 +1,577 @@
1
+ .alchemy_user_manual {
2
+ padding: 0 16px 16px;
3
+ line-height: 1.6;
4
+
5
+ a { text-decoration: underline }
6
+
7
+ h1,h2,h3,h4,h5,h6 {
8
+ margin: 20px 0 10px;
9
+ padding: 0;
10
+ font-weight: bold;
11
+ -webkit-font-smoothing: subpixel-antialiased;
12
+ cursor: text;
13
+ }
14
+
15
+ h1 {
16
+ font-size: 28px;
17
+ color: #000;
18
+ }
19
+
20
+ h2 {
21
+ font-size: 24px;
22
+ border-bottom: 1px solid #ccc;
23
+ color: #000;
24
+ }
25
+
26
+ h3 {
27
+ font-size: 18px;
28
+ color: #333;
29
+ }
30
+
31
+ h4 {
32
+ font-size: 16px;
33
+ color: #333;
34
+ }
35
+
36
+ h5 {
37
+ font-size: 14px;
38
+ color: #333;
39
+ }
40
+
41
+ h6 {
42
+ color: #777;
43
+ font-size: 14px;
44
+ }
45
+
46
+ p,blockquote,table,pre {
47
+ margin: 15px 0;
48
+ }
49
+
50
+ ul {
51
+ padding-left: 30px;
52
+ }
53
+
54
+ ol {
55
+ padding-left: 30px;
56
+ }
57
+
58
+ ol li ul:first-of-type {
59
+ margin-top: 0;
60
+ }
61
+
62
+ hr {
63
+ background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OENDRjNBN0E2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OENDRjNBN0I2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Q0NGM0E3ODY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Q0NGM0E3OTY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqqezsUAAAAfSURBVHjaYmRABcYwBiM2QSA4y4hNEKYDQxAEAAIMAHNGAzhkPOlYAAAAAElFTkSuQmCC) repeat-x 0 0;
64
+ border: 0 none;
65
+ color: #ccc;
66
+ height: 4px;
67
+ padding: 0;
68
+ }
69
+
70
+ #wrapper>h2:first-child {
71
+ margin-top: 0;
72
+ padding-top: 0;
73
+ }
74
+
75
+ #wrapper>h1:first-child {
76
+ margin-top: 0;
77
+ padding-top: 0;
78
+ }
79
+
80
+ #wrapper>h1:first-child+h2 {
81
+ margin-top: 0;
82
+ padding-top: 0;
83
+ }
84
+
85
+ #wrapper>h3:first-child,#wrapper>h4:first-child,#wrapper>h5:first-child,#wrapper>h6:first-child {
86
+ margin-top: 0;
87
+ padding-top: 0;
88
+ }
89
+
90
+ a:first-child h1,a:first-child h2,a:first-child h3,a:first-child h4,a:first-child h5,a:first-child h6 {
91
+ margin-top: 0;
92
+ padding-top: 0;
93
+ }
94
+
95
+ h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,ul li>:first-child,ol li>:first-child {
96
+ margin-top: 0;
97
+ }
98
+
99
+ dl {
100
+ padding: 0;
101
+ }
102
+
103
+ dl dt {
104
+ font-size: 14px;
105
+ font-weight: bold;
106
+ font-style: italic;
107
+ padding: 0;
108
+ margin: 15px 0 5px;
109
+ }
110
+
111
+ dl dt:first-child {
112
+ padding: 0;
113
+ }
114
+
115
+ dl dt>:first-child {
116
+ margin-top: 0;
117
+ }
118
+
119
+ dl dt>:last-child {
120
+ margin-bottom: 0;
121
+ }
122
+
123
+ dl dd {
124
+ margin: 0 0 15px;
125
+ padding: 0 15px;
126
+ }
127
+
128
+ dl dd>:first-child {
129
+ margin-top: 0;
130
+ }
131
+
132
+ dl dd>:last-child {
133
+ margin-bottom: 0;
134
+ }
135
+
136
+ blockquote {
137
+ border-left: 4px solid #DDD;
138
+ padding: 0 15px;
139
+ color: #777;
140
+ }
141
+
142
+ blockquote>:first-child {
143
+ margin-top: 0;
144
+ }
145
+
146
+ blockquote>:last-child {
147
+ margin-bottom: 0;
148
+ }
149
+
150
+ table {
151
+ border-collapse: collapse;
152
+ border-spacing: 0;
153
+ font-size: 100%;
154
+ font: inherit;
155
+ }
156
+
157
+ table th {
158
+ font-weight: bold;
159
+ border: 1px solid #ccc;
160
+ padding: 6px 13px;
161
+ }
162
+
163
+ table td {
164
+ border: 1px solid #ccc;
165
+ padding: 6px 13px;
166
+ }
167
+
168
+ table tr {
169
+ border-top: 1px solid #ccc;
170
+ background-color: #fff;
171
+ }
172
+
173
+ table tr:nth-child(2n) {
174
+ background-color: #f8f8f8;
175
+ }
176
+
177
+ img {
178
+ max-width: 100%;
179
+ }
180
+
181
+ code,tt {
182
+ margin: 0 2px;
183
+ padding: 0 5px;
184
+ white-space: nowrap;
185
+ border: 1px solid #eaeaea;
186
+ background-color: #f8f8f8;
187
+ border-radius: 3px;
188
+ font-family: Consolas,'Liberation Mono',Courier,monospace;
189
+ font-size: 12px;
190
+ color: #333;
191
+ }
192
+
193
+ pre>code {
194
+ margin: 0;
195
+ padding: 0;
196
+ white-space: pre;
197
+ border: 0;
198
+ background: transparent;
199
+ }
200
+
201
+ .highlight pre {
202
+ background-color: #f8f8f8;
203
+ border: 1px solid #ccc;
204
+ font-size: 13px;
205
+ line-height: 19px;
206
+ overflow: auto;
207
+ padding: 6px 10px;
208
+ border-radius: 3px;
209
+ }
210
+
211
+ pre {
212
+ background-color: #f8f8f8;
213
+ border: 1px solid #ccc;
214
+ font-size: 13px;
215
+ line-height: 19px;
216
+ overflow: auto;
217
+ padding: 6px 10px;
218
+ border-radius: 3px;
219
+ }
220
+
221
+ pre code,pre tt {
222
+ background-color: transparent;
223
+ border: 0;
224
+ }
225
+
226
+ .poetry pre {
227
+ font-family: Georgia,Garamond,serif!important;
228
+ font-style: italic;
229
+ font-size: 110%!important;
230
+ line-height: 1.6em;
231
+ display: block;
232
+ margin-left: 1em;
233
+ }
234
+
235
+ .poetry pre code {
236
+ font-family: Georgia,Garamond,serif!important;
237
+ word-break: break-all;
238
+ word-break: break-word;
239
+ -webkit-hyphens: auto;
240
+ -moz-hyphens: auto;
241
+ hyphens: auto;
242
+ white-space: pre-wrap;
243
+ }
244
+
245
+ sup,sub,a.footnote {
246
+ font-size: 1.4ex;
247
+ height: 0;
248
+ line-height: 1;
249
+ vertical-align: super;
250
+ position: relative;
251
+ }
252
+
253
+ sub {
254
+ vertical-align: sub;
255
+ top: -1px;
256
+ }
257
+
258
+ @media print {
259
+ body {
260
+ background: #fff;
261
+ }
262
+
263
+ img,pre,blockquote,table,figure {
264
+ page-break-inside: avoid;
265
+ }
266
+
267
+ #wrapper {
268
+ background: #fff;
269
+ border: 0;
270
+ }
271
+
272
+ code {
273
+ background-color: #fff;
274
+ color: #333!important;
275
+ padding: 0 .2em;
276
+ border: 1px solid #dedede;
277
+ }
278
+
279
+ pre {
280
+ background: #fff;
281
+ }
282
+
283
+ pre code {
284
+ background-color: white!important;
285
+ overflow: visible;
286
+ }
287
+ }
288
+
289
+ @media screen {
290
+ body.inverted {
291
+ color: #eee!important;
292
+ border-color: #555;
293
+ box-shadow: none;
294
+ }
295
+
296
+ .inverted #wrapper,.inverted hr .inverted p,.inverted td,.inverted li,.inverted h1,.inverted h2,.inverted h3,.inverted h4,.inverted h5,.inverted h6,.inverted th,.inverted .math,.inverted caption,.inverted dd,.inverted dt,.inverted blockquote {
297
+ color: #eee!important;
298
+ border-color: #555;
299
+ box-shadow: none;
300
+ }
301
+
302
+ .inverted td,.inverted th {
303
+ background: #333;
304
+ }
305
+
306
+ .inverted h2 {
307
+ border-color: #555;
308
+ }
309
+
310
+ .inverted hr {
311
+ border-color: #777;
312
+ border-width: 1px!important;
313
+ }
314
+
315
+ ::selection {
316
+ background: rgba(157,193,200,0.5);
317
+ }
318
+
319
+ h1::selection {
320
+ background-color: rgba(45,156,208,0.3);
321
+ }
322
+
323
+ h2::selection {
324
+ background-color: rgba(90,182,224,0.3);
325
+ }
326
+
327
+ h3::selection,h4::selection,h5::selection,h6::selection,li::selection,ol::selection {
328
+ background-color: rgba(133,201,232,0.3);
329
+ }
330
+
331
+ code::selection {
332
+ background-color: rgba(0,0,0,0.7);
333
+ color: #eee;
334
+ }
335
+
336
+ code span::selection {
337
+ background-color: rgba(0,0,0,0.7)!important;
338
+ color: #eee!important;
339
+ }
340
+
341
+ a::selection {
342
+ background-color: rgba(255,230,102,0.2);
343
+ }
344
+
345
+ .inverted a::selection {
346
+ background-color: rgba(255,230,102,0.6);
347
+ }
348
+
349
+ td::selection,th::selection,caption::selection {
350
+ background-color: rgba(180,237,95,0.5);
351
+ }
352
+
353
+ .inverted {
354
+ background: #0b2531;
355
+ background: #252a2a;
356
+ }
357
+
358
+ .inverted #wrapper {
359
+ background: #252a2a;
360
+ }
361
+
362
+ .inverted a {
363
+ color: #acd1d5;
364
+ }
365
+ }
366
+
367
+ .highlight .c {
368
+ color: #998;
369
+ font-style: italic;
370
+ }
371
+
372
+ .highlight .err {
373
+ color: #a61717;
374
+ background-color: #e3d2d2;
375
+ }
376
+
377
+ .highlight .k,.highlight .o {
378
+ font-weight: bold;
379
+ }
380
+
381
+ .highlight .cm {
382
+ color: #998;
383
+ font-style: italic;
384
+ }
385
+
386
+ .highlight .cp {
387
+ color: #999;
388
+ font-weight: bold;
389
+ }
390
+
391
+ .highlight .c1 {
392
+ color: #998;
393
+ font-style: italic;
394
+ }
395
+
396
+ .highlight .cs {
397
+ color: #999;
398
+ font-weight: bold;
399
+ font-style: italic;
400
+ }
401
+
402
+ .highlight .gd {
403
+ color: #000;
404
+ background-color: #fdd;
405
+ }
406
+
407
+ .highlight .gd .x {
408
+ color: #000;
409
+ background-color: #faa;
410
+ }
411
+
412
+ .highlight .ge {
413
+ font-style: italic;
414
+ }
415
+
416
+ .highlight .gr {
417
+ color: #a00;
418
+ }
419
+
420
+ .highlight .gh {
421
+ color: #999;
422
+ }
423
+
424
+ .highlight .gi {
425
+ color: #000;
426
+ background-color: #dfd;
427
+ }
428
+
429
+ .highlight .gi .x {
430
+ color: #000;
431
+ background-color: #afa;
432
+ }
433
+
434
+ .highlight .go {
435
+ color: #888;
436
+ }
437
+
438
+ .highlight .gp {
439
+ color: #555;
440
+ }
441
+
442
+ .highlight .gs {
443
+ font-weight: bold;
444
+ }
445
+
446
+ .highlight .gu {
447
+ color: #800080;
448
+ font-weight: bold;
449
+ }
450
+
451
+ .highlight .gt {
452
+ color: #a00;
453
+ }
454
+
455
+ .highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr {
456
+ font-weight: bold;
457
+ }
458
+
459
+ .highlight .kt {
460
+ color: #458;
461
+ font-weight: bold;
462
+ }
463
+
464
+ .highlight .m {
465
+ color: #099;
466
+ }
467
+
468
+ .highlight .s {
469
+ color: #d14;
470
+ }
471
+
472
+ .highlight .na {
473
+ color: #008080;
474
+ }
475
+
476
+ .highlight .nb {
477
+ color: #0086b3;
478
+ }
479
+
480
+ .highlight .nc {
481
+ color: #458;
482
+ font-weight: bold;
483
+ }
484
+
485
+ .highlight .no {
486
+ color: #008080;
487
+ }
488
+
489
+ .highlight .ni {
490
+ color: #800080;
491
+ }
492
+
493
+ .highlight .ne,.highlight .nf {
494
+ color: #900;
495
+ font-weight: bold;
496
+ }
497
+
498
+ .highlight .nn {
499
+ color: #555;
500
+ }
501
+
502
+ .highlight .nt {
503
+ color: #000080;
504
+ }
505
+
506
+ .highlight .nv {
507
+ color: #008080;
508
+ }
509
+
510
+ .highlight .ow {
511
+ font-weight: bold;
512
+ }
513
+
514
+ .highlight .w {
515
+ color: #bbb;
516
+ }
517
+
518
+ .highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo {
519
+ color: #099;
520
+ }
521
+
522
+ .highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx {
523
+ color: #d14;
524
+ }
525
+
526
+ .highlight .sr {
527
+ color: #009926;
528
+ }
529
+
530
+ .highlight .s1 {
531
+ color: #d14;
532
+ }
533
+
534
+ .highlight .ss {
535
+ color: #990073;
536
+ }
537
+
538
+ .highlight .bp {
539
+ color: #999;
540
+ }
541
+
542
+ .highlight .vc,.highlight .vg,.highlight .vi {
543
+ color: #008080;
544
+ }
545
+
546
+ .highlight .il {
547
+ color: #099;
548
+ }
549
+
550
+ .highlight .gc {
551
+ color: #999;
552
+ background-color: #eaf2f5;
553
+ }
554
+
555
+ .type-csharp .highlight .k,.type-csharp .highlight .kt {
556
+ color: #00F;
557
+ }
558
+
559
+ .type-csharp .highlight .nf {
560
+ color: #000;
561
+ font-weight: normal;
562
+ }
563
+
564
+ .type-csharp .highlight .nc {
565
+ color: #2b91af;
566
+ }
567
+
568
+ .type-csharp .highlight .nn {
569
+ color: #000;
570
+ }
571
+
572
+ .type-csharp .highlight .s,.type-csharp .highlight .sc {
573
+ color: #a31515;
574
+ }
575
+
576
+
577
+ }