legionio 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. metadata +4 -94
  3. data/.circleci/config.yml +0 -119
  4. data/.gitignore +0 -14
  5. data/.rspec +0 -2
  6. data/.rubocop.yml +0 -89
  7. data/CHANGELOG.md +0 -16
  8. data/Gemfile +0 -3
  9. data/LICENSE.txt +0 -21
  10. data/README.md +0 -49
  11. data/Rakefile +0 -38
  12. data/bin/console +0 -16
  13. data/bin/legion +0 -49
  14. data/bin/setup +0 -8
  15. data/bin/test +0 -32
  16. data/bitbucket-pipelines.yml +0 -55
  17. data/docs/Makefile +0 -20
  18. data/docs/_build/doctrees/environment.pickle +0 -0
  19. data/docs/_build/doctrees/index.doctree +0 -0
  20. data/docs/_build/doctrees/overview.doctree +0 -0
  21. data/docs/_build/html/.buildinfo +0 -4
  22. data/docs/_build/html/_sources/index.rst.txt +0 -28
  23. data/docs/_build/html/_sources/overview.rst.txt +0 -0
  24. data/docs/_build/html/_static/alabaster.css +0 -701
  25. data/docs/_build/html/_static/basic.css +0 -855
  26. data/docs/_build/html/_static/custom.css +0 -1
  27. data/docs/_build/html/_static/doctools.js +0 -315
  28. data/docs/_build/html/_static/documentation_options.js +0 -12
  29. data/docs/_build/html/_static/file.png +0 -0
  30. data/docs/_build/html/_static/jquery-3.5.1.js +0 -10872
  31. data/docs/_build/html/_static/jquery.js +0 -2
  32. data/docs/_build/html/_static/language_data.js +0 -297
  33. data/docs/_build/html/_static/minus.png +0 -0
  34. data/docs/_build/html/_static/plus.png +0 -0
  35. data/docs/_build/html/_static/pygments.css +0 -82
  36. data/docs/_build/html/_static/searchtools.js +0 -514
  37. data/docs/_build/html/_static/underscore-1.3.1.js +0 -999
  38. data/docs/_build/html/_static/underscore.js +0 -31
  39. data/docs/_build/html/genindex.html +0 -101
  40. data/docs/_build/html/index.html +0 -117
  41. data/docs/_build/html/objects.inv +0 -6
  42. data/docs/_build/html/overview.html +0 -98
  43. data/docs/_build/html/search.html +0 -110
  44. data/docs/_build/html/searchindex.js +0 -1
  45. data/docs/conf.py +0 -54
  46. data/docs/index.rst +0 -28
  47. data/docs/make.bat +0 -35
  48. data/exe/legion +0 -52
  49. data/legion.gemspec +0 -59
  50. data/lib/legion.rb +0 -21
  51. data/lib/legion/exceptions/handled_task.rb +0 -6
  52. data/lib/legion/exceptions/invalidjson.rb +0 -5
  53. data/lib/legion/exceptions/missingargument.rb +0 -6
  54. data/lib/legion/exceptions/wrongtype.rb +0 -10
  55. data/lib/legion/exceptions/wrongtypes/array.rb +0 -8
  56. data/lib/legion/exceptions/wrongtypes/hash.rb +0 -8
  57. data/lib/legion/exceptions/wrongtypes/integer.rb +0 -8
  58. data/lib/legion/exceptions/wrongtypes/string.rb +0 -8
  59. data/lib/legion/extensions.rb +0 -185
  60. data/lib/legion/extensions/actors/base.rb +0 -49
  61. data/lib/legion/extensions/actors/every.rb +0 -48
  62. data/lib/legion/extensions/actors/loop.rb +0 -32
  63. data/lib/legion/extensions/actors/nothing.rb +0 -15
  64. data/lib/legion/extensions/actors/once.rb +0 -40
  65. data/lib/legion/extensions/actors/poll.rb +0 -88
  66. data/lib/legion/extensions/actors/subscription.rb +0 -138
  67. data/lib/legion/extensions/builders/actors.rb +0 -61
  68. data/lib/legion/extensions/builders/base.rb +0 -36
  69. data/lib/legion/extensions/builders/helpers.rb +0 -24
  70. data/lib/legion/extensions/builders/runners.rb +0 -58
  71. data/lib/legion/extensions/core.rb +0 -126
  72. data/lib/legion/extensions/data.rb +0 -58
  73. data/lib/legion/extensions/data/migrator.rb +0 -28
  74. data/lib/legion/extensions/data/model.rb +0 -8
  75. data/lib/legion/extensions/helpers/base.rb +0 -82
  76. data/lib/legion/extensions/helpers/cache.rb +0 -23
  77. data/lib/legion/extensions/helpers/core.rb +0 -41
  78. data/lib/legion/extensions/helpers/data.rb +0 -23
  79. data/lib/legion/extensions/helpers/lex.rb +0 -48
  80. data/lib/legion/extensions/helpers/logger.rb +0 -47
  81. data/lib/legion/extensions/helpers/task.rb +0 -60
  82. data/lib/legion/extensions/helpers/transport.rb +0 -44
  83. data/lib/legion/extensions/transport.rb +0 -159
  84. data/lib/legion/process.rb +0 -124
  85. data/lib/legion/runner.rb +0 -55
  86. data/lib/legion/runner/log.rb +0 -10
  87. data/lib/legion/runner/status.rb +0 -69
  88. data/lib/legion/service.rb +0 -99
  89. data/lib/legion/supervision.rb +0 -15
  90. data/lib/legion/version.rb +0 -3
data/Rakefile DELETED
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
-
6
- RSpec::Core::RakeTask.new(:spec)
7
-
8
- task default: :spec
9
-
10
- task test: :rubocop
11
- task test: :spec
12
- task test: :start
13
-
14
- task :rubocop do
15
- sh 'rubocop'
16
- end
17
-
18
- task :start do
19
- sh 'bin/legion start -d'
20
- sh 'bin/legion stop'
21
- end
22
-
23
- namespace :deploy do
24
- require 'legion/version'
25
- desc 'Deploy alpha/test'
26
- task :test do
27
- Gem.yank_gem('legion', "#{Legion::VERSION}a")
28
- puts Gem.query('legion-transport').inspect
29
- puts Gem.methods(false)
30
- puts Legion::VERSION
31
- end
32
-
33
- task :staging do
34
- end
35
-
36
- task :production do
37
- end
38
- end
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'bundler/setup'
5
- require 'legion'
6
- Legion::Service.new
7
-
8
- # You can add fixtures and/or initialization code here to make experimenting
9
- # with your gem easier. You can also use a different console, if you like.
10
-
11
- # (If you use this, don't forget to add pry to your Gemfile!)
12
- require 'pry'
13
- Pry.start
14
-
15
- require 'irb'
16
- IRB.start(__FILE__)
data/bin/legion DELETED
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'optparse'
5
- require 'etc'
6
-
7
- @children = []
8
- children = 5
9
- if children == 1
10
- require 'legion'
11
- require 'legion/process'
12
- Legion.start
13
- Legion::Process.new(options).run!
14
- else
15
- children.times do
16
- @children.push(
17
- Process.fork do
18
- require 'legion'
19
- require 'legion/process'
20
-
21
- Legion.start
22
- sleep(1)
23
- Legion::Process.new(options).run!
24
- end
25
- )
26
- sleep(5)
27
- end
28
-
29
- @quit = false
30
- trap('SIGINT') do
31
- @quit = true
32
- @children.each do |child|
33
- Process.kill('SIGINT', child)
34
- end
35
- sleep(0.5)
36
- end
37
-
38
- trap('SIGTERM') do
39
- @children.each do |child|
40
- Process.kill('SIGTERM', child)
41
- end
42
-
43
- sleep(1)
44
- end
45
-
46
- sleep(1) until @quit
47
- end
48
-
49
- sleep(2)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here
data/bin/test DELETED
@@ -1,32 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
- # rubocop:disable all
4
- require 'cli-tree'
5
- # require File.expand_path('lib/legion.rb')
6
- # Legion.setup
7
- require 'legion/json'
8
- require 'legion/logging'
9
- require 'legion/settings'
10
- require 'legion/data'
11
- Legion::Logging.setup(level: 'debug')
12
- Legion::Settings.load
13
- Legion::Settings.merge_settings('data', Legion::Data::Settings.default)
14
- Legion::Data.setup
15
- extensions = {name: 'extensions', children: []}
16
- Legion::Data::Model::Extension.each do | extension|
17
- runners = []
18
- extension.runners.each do |runner|
19
- functions = []
20
- runner.functions.each do |function|
21
- functions.push function.values[:name]
22
- end
23
- # runners.push runner.values[:name]
24
- runners.push({name: runner.values[:name], children: functions})
25
- end
26
- child = {name: extension.values[:name], children: runners}
27
- # extensions[:children].push extension.values[:name]
28
- extensions[:children].push child
29
- end
30
-
31
- tree = TreeNode.from_h(extensions)
32
- tree.print
@@ -1,55 +0,0 @@
1
- image: ruby:2.5.0
2
-
3
- pipelines:
4
- tags:
5
- '0.1.0':
6
- - step:
7
- caches:
8
- - bundler
9
- deployment: rubygems
10
- script:
11
- - mkdir -p ~/.gem/credentials
12
- - (umask 077 ; echo $gem_creds | base64 --decode > ~/.gem/credentials)
13
- - gem build legion.gemspec
14
- - gem push legionio-*.gem
15
- branches:
16
- master:
17
- - step:
18
- caches:
19
- - bundler
20
- script:
21
- - gem install bundle rubocop
22
- - bundle install
23
- - rubocop
24
- - rake
25
- services:
26
- - mysql
27
- - broker
28
- default:
29
- - step:
30
- caches:
31
- - bundler
32
- script:
33
- - gem install bundle rubocop
34
- - bundle install
35
- - rubocop
36
- - rake
37
- services:
38
- - mysql
39
- - broker
40
- definitions:
41
- caches:
42
- bundler: vendor/bundle
43
- services:
44
- mysql:
45
- image: mysql:5.7
46
- environment:
47
- MYSQL_DATABASE: 'legion'
48
- MYSQL_ROOT_PASSWORD: 'legion'
49
- MYSQL_USER: 'legion'
50
- MYSQL_PASSWORD: 'legion'
51
- broker:
52
- image: rabbitmq:3
53
- environment:
54
- RABBITMQ_DEFAULT_USER: guest
55
- RABBITMQ_DEFAULT_PASS: guest
@@ -1,20 +0,0 @@
1
- # Minimal makefile for Sphinx documentation
2
- #
3
-
4
- # You can set these variables from the command line, and also
5
- # from the environment for the first two.
6
- SPHINXOPTS ?=
7
- SPHINXBUILD ?= sphinx-build
8
- SOURCEDIR = .
9
- BUILDDIR = _build
10
-
11
- # Put it first so that "make" without argument is like "make help".
12
- help:
13
- @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
-
15
- .PHONY: help Makefile
16
-
17
- # Catch-all target: route all unknown targets to Sphinx using the new
18
- # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
- %: Makefile
20
- @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -1,4 +0,0 @@
1
- # Sphinx build info version 1
2
- # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3
- config: 1ff32d154946a76f6c36d42450bf619e
4
- tags: 645f666f9bcd5a90fca523b33c5a78b7
@@ -1,28 +0,0 @@
1
- .. LegionIO documentation master file, created by
2
- sphinx-quickstart on Thu Oct 15 08:16:27 2020.
3
- You can adapt this file completely to your liking, but it should at least
4
- contain the root `toctree` directive.
5
-
6
- LegionIO Overview
7
- ==============================
8
-
9
- About
10
- ------------
11
- LegionIO is a platform designed for connecting things. You install a LEX(Legion Extension)
12
- which adds functionality to your Legion service?project?cluster? Whatever it's called.
13
-
14
- A LEX contains 1 or more runners. Think of them as classes
15
- A runner contains 1 or more functions. These are the things you can call and make relationships out of
16
- Example
17
-
18
- * Lex: pagerduty
19
-
20
- * Runners: incident, user, service
21
-
22
- * Functions within the incident runner: trigger, acknowledge, resolve, merge
23
-
24
- * Functions within the services runner: create, delete, update, list, get
25
-
26
- Any function can be a trigger or an action(the input or output in the relationship).
27
-
28
- Legion works by creating chains of relationships to make make a complex workflow without complex yaml
@@ -1,701 +0,0 @@
1
- @import url("basic.css");
2
-
3
- /* -- page layout ----------------------------------------------------------- */
4
-
5
- body {
6
- font-family: Georgia, serif;
7
- font-size: 17px;
8
- background-color: #fff;
9
- color: #000;
10
- margin: 0;
11
- padding: 0;
12
- }
13
-
14
-
15
- div.document {
16
- width: 940px;
17
- margin: 30px auto 0 auto;
18
- }
19
-
20
- div.documentwrapper {
21
- float: left;
22
- width: 100%;
23
- }
24
-
25
- div.bodywrapper {
26
- margin: 0 0 0 220px;
27
- }
28
-
29
- div.sphinxsidebar {
30
- width: 220px;
31
- font-size: 14px;
32
- line-height: 1.5;
33
- }
34
-
35
- hr {
36
- border: 1px solid #B1B4B6;
37
- }
38
-
39
- div.body {
40
- background-color: #fff;
41
- color: #3E4349;
42
- padding: 0 30px 0 30px;
43
- }
44
-
45
- div.body > .section {
46
- text-align: left;
47
- }
48
-
49
- div.footer {
50
- width: 940px;
51
- margin: 20px auto 30px auto;
52
- font-size: 14px;
53
- color: #888;
54
- text-align: right;
55
- }
56
-
57
- div.footer a {
58
- color: #888;
59
- }
60
-
61
- p.caption {
62
- font-family: inherit;
63
- font-size: inherit;
64
- }
65
-
66
-
67
- div.relations {
68
- display: none;
69
- }
70
-
71
-
72
- div.sphinxsidebar a {
73
- color: #444;
74
- text-decoration: none;
75
- border-bottom: 1px dotted #999;
76
- }
77
-
78
- div.sphinxsidebar a:hover {
79
- border-bottom: 1px solid #999;
80
- }
81
-
82
- div.sphinxsidebarwrapper {
83
- padding: 18px 10px;
84
- }
85
-
86
- div.sphinxsidebarwrapper p.logo {
87
- padding: 0;
88
- margin: -10px 0 0 0px;
89
- text-align: center;
90
- }
91
-
92
- div.sphinxsidebarwrapper h1.logo {
93
- margin-top: -10px;
94
- text-align: center;
95
- margin-bottom: 5px;
96
- text-align: left;
97
- }
98
-
99
- div.sphinxsidebarwrapper h1.logo-name {
100
- margin-top: 0px;
101
- }
102
-
103
- div.sphinxsidebarwrapper p.blurb {
104
- margin-top: 0;
105
- font-style: normal;
106
- }
107
-
108
- div.sphinxsidebar h3,
109
- div.sphinxsidebar h4 {
110
- font-family: Georgia, serif;
111
- color: #444;
112
- font-size: 24px;
113
- font-weight: normal;
114
- margin: 0 0 5px 0;
115
- padding: 0;
116
- }
117
-
118
- div.sphinxsidebar h4 {
119
- font-size: 20px;
120
- }
121
-
122
- div.sphinxsidebar h3 a {
123
- color: #444;
124
- }
125
-
126
- div.sphinxsidebar p.logo a,
127
- div.sphinxsidebar h3 a,
128
- div.sphinxsidebar p.logo a:hover,
129
- div.sphinxsidebar h3 a:hover {
130
- border: none;
131
- }
132
-
133
- div.sphinxsidebar p {
134
- color: #555;
135
- margin: 10px 0;
136
- }
137
-
138
- div.sphinxsidebar ul {
139
- margin: 10px 0;
140
- padding: 0;
141
- color: #000;
142
- }
143
-
144
- div.sphinxsidebar ul li.toctree-l1 > a {
145
- font-size: 120%;
146
- }
147
-
148
- div.sphinxsidebar ul li.toctree-l2 > a {
149
- font-size: 110%;
150
- }
151
-
152
- div.sphinxsidebar input {
153
- border: 1px solid #CCC;
154
- font-family: Georgia, serif;
155
- font-size: 1em;
156
- }
157
-
158
- div.sphinxsidebar hr {
159
- border: none;
160
- height: 1px;
161
- color: #AAA;
162
- background: #AAA;
163
-
164
- text-align: left;
165
- margin-left: 0;
166
- width: 50%;
167
- }
168
-
169
- div.sphinxsidebar .badge {
170
- border-bottom: none;
171
- }
172
-
173
- div.sphinxsidebar .badge:hover {
174
- border-bottom: none;
175
- }
176
-
177
- /* To address an issue with donation coming after search */
178
- div.sphinxsidebar h3.donation {
179
- margin-top: 10px;
180
- }
181
-
182
- /* -- body styles ----------------------------------------------------------- */
183
-
184
- a {
185
- color: #004B6B;
186
- text-decoration: underline;
187
- }
188
-
189
- a:hover {
190
- color: #6D4100;
191
- text-decoration: underline;
192
- }
193
-
194
- div.body h1,
195
- div.body h2,
196
- div.body h3,
197
- div.body h4,
198
- div.body h5,
199
- div.body h6 {
200
- font-family: Georgia, serif;
201
- font-weight: normal;
202
- margin: 30px 0px 10px 0px;
203
- padding: 0;
204
- }
205
-
206
- div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
207
- div.body h2 { font-size: 180%; }
208
- div.body h3 { font-size: 150%; }
209
- div.body h4 { font-size: 130%; }
210
- div.body h5 { font-size: 100%; }
211
- div.body h6 { font-size: 100%; }
212
-
213
- a.headerlink {
214
- color: #DDD;
215
- padding: 0 4px;
216
- text-decoration: none;
217
- }
218
-
219
- a.headerlink:hover {
220
- color: #444;
221
- background: #EAEAEA;
222
- }
223
-
224
- div.body p, div.body dd, div.body li {
225
- line-height: 1.4em;
226
- }
227
-
228
- div.admonition {
229
- margin: 20px 0px;
230
- padding: 10px 30px;
231
- background-color: #EEE;
232
- border: 1px solid #CCC;
233
- }
234
-
235
- div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
236
- background-color: #FBFBFB;
237
- border-bottom: 1px solid #fafafa;
238
- }
239
-
240
- div.admonition p.admonition-title {
241
- font-family: Georgia, serif;
242
- font-weight: normal;
243
- font-size: 24px;
244
- margin: 0 0 10px 0;
245
- padding: 0;
246
- line-height: 1;
247
- }
248
-
249
- div.admonition p.last {
250
- margin-bottom: 0;
251
- }
252
-
253
- div.highlight {
254
- background-color: #fff;
255
- }
256
-
257
- dt:target, .highlight {
258
- background: #FAF3E8;
259
- }
260
-
261
- div.warning {
262
- background-color: #FCC;
263
- border: 1px solid #FAA;
264
- }
265
-
266
- div.danger {
267
- background-color: #FCC;
268
- border: 1px solid #FAA;
269
- -moz-box-shadow: 2px 2px 4px #D52C2C;
270
- -webkit-box-shadow: 2px 2px 4px #D52C2C;
271
- box-shadow: 2px 2px 4px #D52C2C;
272
- }
273
-
274
- div.error {
275
- background-color: #FCC;
276
- border: 1px solid #FAA;
277
- -moz-box-shadow: 2px 2px 4px #D52C2C;
278
- -webkit-box-shadow: 2px 2px 4px #D52C2C;
279
- box-shadow: 2px 2px 4px #D52C2C;
280
- }
281
-
282
- div.caution {
283
- background-color: #FCC;
284
- border: 1px solid #FAA;
285
- }
286
-
287
- div.attention {
288
- background-color: #FCC;
289
- border: 1px solid #FAA;
290
- }
291
-
292
- div.important {
293
- background-color: #EEE;
294
- border: 1px solid #CCC;
295
- }
296
-
297
- div.note {
298
- background-color: #EEE;
299
- border: 1px solid #CCC;
300
- }
301
-
302
- div.tip {
303
- background-color: #EEE;
304
- border: 1px solid #CCC;
305
- }
306
-
307
- div.hint {
308
- background-color: #EEE;
309
- border: 1px solid #CCC;
310
- }
311
-
312
- div.seealso {
313
- background-color: #EEE;
314
- border: 1px solid #CCC;
315
- }
316
-
317
- div.topic {
318
- background-color: #EEE;
319
- }
320
-
321
- p.admonition-title {
322
- display: inline;
323
- }
324
-
325
- p.admonition-title:after {
326
- content: ":";
327
- }
328
-
329
- pre, tt, code {
330
- font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
331
- font-size: 0.9em;
332
- }
333
-
334
- .hll {
335
- background-color: #FFC;
336
- margin: 0 -12px;
337
- padding: 0 12px;
338
- display: block;
339
- }
340
-
341
- img.screenshot {
342
- }
343
-
344
- tt.descname, tt.descclassname, code.descname, code.descclassname {
345
- font-size: 0.95em;
346
- }
347
-
348
- tt.descname, code.descname {
349
- padding-right: 0.08em;
350
- }
351
-
352
- img.screenshot {
353
- -moz-box-shadow: 2px 2px 4px #EEE;
354
- -webkit-box-shadow: 2px 2px 4px #EEE;
355
- box-shadow: 2px 2px 4px #EEE;
356
- }
357
-
358
- table.docutils {
359
- border: 1px solid #888;
360
- -moz-box-shadow: 2px 2px 4px #EEE;
361
- -webkit-box-shadow: 2px 2px 4px #EEE;
362
- box-shadow: 2px 2px 4px #EEE;
363
- }
364
-
365
- table.docutils td, table.docutils th {
366
- border: 1px solid #888;
367
- padding: 0.25em 0.7em;
368
- }
369
-
370
- table.field-list, table.footnote {
371
- border: none;
372
- -moz-box-shadow: none;
373
- -webkit-box-shadow: none;
374
- box-shadow: none;
375
- }
376
-
377
- table.footnote {
378
- margin: 15px 0;
379
- width: 100%;
380
- border: 1px solid #EEE;
381
- background: #FDFDFD;
382
- font-size: 0.9em;
383
- }
384
-
385
- table.footnote + table.footnote {
386
- margin-top: -15px;
387
- border-top: none;
388
- }
389
-
390
- table.field-list th {
391
- padding: 0 0.8em 0 0;
392
- }
393
-
394
- table.field-list td {
395
- padding: 0;
396
- }
397
-
398
- table.field-list p {
399
- margin-bottom: 0.8em;
400
- }
401
-
402
- /* Cloned from
403
- * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68
404
- */
405
- .field-name {
406
- -moz-hyphens: manual;
407
- -ms-hyphens: manual;
408
- -webkit-hyphens: manual;
409
- hyphens: manual;
410
- }
411
-
412
- table.footnote td.label {
413
- width: .1px;
414
- padding: 0.3em 0 0.3em 0.5em;
415
- }
416
-
417
- table.footnote td {
418
- padding: 0.3em 0.5em;
419
- }
420
-
421
- dl {
422
- margin: 0;
423
- padding: 0;
424
- }
425
-
426
- dl dd {
427
- margin-left: 30px;
428
- }
429
-
430
- blockquote {
431
- margin: 0 0 0 30px;
432
- padding: 0;
433
- }
434
-
435
- ul, ol {
436
- /* Matches the 30px from the narrow-screen "li > ul" selector below */
437
- margin: 10px 0 10px 30px;
438
- padding: 0;
439
- }
440
-
441
- pre {
442
- background: #EEE;
443
- padding: 7px 30px;
444
- margin: 15px 0px;
445
- line-height: 1.3em;
446
- }
447
-
448
- div.viewcode-block:target {
449
- background: #ffd;
450
- }
451
-
452
- dl pre, blockquote pre, li pre {
453
- margin-left: 0;
454
- padding-left: 30px;
455
- }
456
-
457
- tt, code {
458
- background-color: #ecf0f3;
459
- color: #222;
460
- /* padding: 1px 2px; */
461
- }
462
-
463
- tt.xref, code.xref, a tt {
464
- background-color: #FBFBFB;
465
- border-bottom: 1px solid #fff;
466
- }
467
-
468
- a.reference {
469
- text-decoration: none;
470
- border-bottom: 1px dotted #004B6B;
471
- }
472
-
473
- /* Don't put an underline on images */
474
- a.image-reference, a.image-reference:hover {
475
- border-bottom: none;
476
- }
477
-
478
- a.reference:hover {
479
- border-bottom: 1px solid #6D4100;
480
- }
481
-
482
- a.footnote-reference {
483
- text-decoration: none;
484
- font-size: 0.7em;
485
- vertical-align: top;
486
- border-bottom: 1px dotted #004B6B;
487
- }
488
-
489
- a.footnote-reference:hover {
490
- border-bottom: 1px solid #6D4100;
491
- }
492
-
493
- a:hover tt, a:hover code {
494
- background: #EEE;
495
- }
496
-
497
-
498
- @media screen and (max-width: 870px) {
499
-
500
- div.sphinxsidebar {
501
- display: none;
502
- }
503
-
504
- div.document {
505
- width: 100%;
506
-
507
- }
508
-
509
- div.documentwrapper {
510
- margin-left: 0;
511
- margin-top: 0;
512
- margin-right: 0;
513
- margin-bottom: 0;
514
- }
515
-
516
- div.bodywrapper {
517
- margin-top: 0;
518
- margin-right: 0;
519
- margin-bottom: 0;
520
- margin-left: 0;
521
- }
522
-
523
- ul {
524
- margin-left: 0;
525
- }
526
-
527
- li > ul {
528
- /* Matches the 30px from the "ul, ol" selector above */
529
- margin-left: 30px;
530
- }
531
-
532
- .document {
533
- width: auto;
534
- }
535
-
536
- .footer {
537
- width: auto;
538
- }
539
-
540
- .bodywrapper {
541
- margin: 0;
542
- }
543
-
544
- .footer {
545
- width: auto;
546
- }
547
-
548
- .github {
549
- display: none;
550
- }
551
-
552
-
553
-
554
- }
555
-
556
-
557
-
558
- @media screen and (max-width: 875px) {
559
-
560
- body {
561
- margin: 0;
562
- padding: 20px 30px;
563
- }
564
-
565
- div.documentwrapper {
566
- float: none;
567
- background: #fff;
568
- }
569
-
570
- div.sphinxsidebar {
571
- display: block;
572
- float: none;
573
- width: 102.5%;
574
- margin: 50px -30px -20px -30px;
575
- padding: 10px 20px;
576
- background: #333;
577
- color: #FFF;
578
- }
579
-
580
- div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
581
- div.sphinxsidebar h3 a {
582
- color: #fff;
583
- }
584
-
585
- div.sphinxsidebar a {
586
- color: #AAA;
587
- }
588
-
589
- div.sphinxsidebar p.logo {
590
- display: none;
591
- }
592
-
593
- div.document {
594
- width: 100%;
595
- margin: 0;
596
- }
597
-
598
- div.footer {
599
- display: none;
600
- }
601
-
602
- div.bodywrapper {
603
- margin: 0;
604
- }
605
-
606
- div.body {
607
- min-height: 0;
608
- padding: 0;
609
- }
610
-
611
- .rtd_doc_footer {
612
- display: none;
613
- }
614
-
615
- .document {
616
- width: auto;
617
- }
618
-
619
- .footer {
620
- width: auto;
621
- }
622
-
623
- .footer {
624
- width: auto;
625
- }
626
-
627
- .github {
628
- display: none;
629
- }
630
- }
631
-
632
-
633
- /* misc. */
634
-
635
- .revsys-inline {
636
- display: none!important;
637
- }
638
-
639
- /* Make nested-list/multi-paragraph items look better in Releases changelog
640
- * pages. Without this, docutils' magical list fuckery causes inconsistent
641
- * formatting between different release sub-lists.
642
- */
643
- div#changelog > div.section > ul > li > p:only-child {
644
- margin-bottom: 0;
645
- }
646
-
647
- /* Hide fugly table cell borders in ..bibliography:: directive output */
648
- table.docutils.citation, table.docutils.citation td, table.docutils.citation th {
649
- border: none;
650
- /* Below needed in some edge cases; if not applied, bottom shadows appear */
651
- -moz-box-shadow: none;
652
- -webkit-box-shadow: none;
653
- box-shadow: none;
654
- }
655
-
656
-
657
- /* relbar */
658
-
659
- .related {
660
- line-height: 30px;
661
- width: 100%;
662
- font-size: 0.9rem;
663
- }
664
-
665
- .related.top {
666
- border-bottom: 1px solid #EEE;
667
- margin-bottom: 20px;
668
- }
669
-
670
- .related.bottom {
671
- border-top: 1px solid #EEE;
672
- }
673
-
674
- .related ul {
675
- padding: 0;
676
- margin: 0;
677
- list-style: none;
678
- }
679
-
680
- .related li {
681
- display: inline;
682
- }
683
-
684
- nav#rellinks {
685
- float: right;
686
- }
687
-
688
- nav#rellinks li+li:before {
689
- content: "|";
690
- }
691
-
692
- nav#breadcrumbs li+li:before {
693
- content: "\00BB";
694
- }
695
-
696
- /* Hide certain items when printing */
697
- @media print {
698
- div.related {
699
- display: none;
700
- }
701
- }