gh-preview 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/.travis.yml +6 -0
- data/AUTHORS +1 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +6 -0
- data/LICENSE +19 -0
- data/README.md +56 -0
- data/Rakefile +15 -0
- data/bin/gh-preview +5 -0
- data/gh-preview.gemspec +43 -0
- data/lib/gh_preview.rb +7 -0
- data/lib/gh_preview/config.rb +27 -0
- data/lib/gh_preview/converter.rb +31 -0
- data/lib/gh_preview/redcarpet_filter.rb +49 -0
- data/lib/gh_preview/runner.rb +18 -0
- data/lib/gh_preview/server.rb +64 -0
- data/lib/gh_preview/version.rb +3 -0
- data/lib/sinatra/flash/style_patch.rb +32 -0
- data/public/stylesheets/application.css +15 -0
- data/public/stylesheets/github-markdown.css +652 -0
- data/spec/fixtures/example.html +71 -0
- data/spec/fixtures/example.md +56 -0
- data/spec/lib/gh_preview/config_spec.rb +15 -0
- data/spec/lib/gh_preview/converter_spec.rb +21 -0
- data/spec/lib/gh_preview/server_spec.rb +28 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/support/helper.rb +12 -0
- data/spec/zeus_plan.rb +25 -0
- data/views/_headers.haml +7 -0
- data/views/_nav_bar.haml +9 -0
- data/views/_page.haml +9 -0
- data/views/index.haml +13 -0
- data/zeus.json +9 -0
- metadata +466 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cfa2b455d2ca4bb7a09b18e6ec44abf69d000750
|
4
|
+
data.tar.gz: 6bde0e4328449d704b0a0b70bc461b409aa3bd7f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4c9a82c9156ee1b62989693b23938a4968b7e61d2d04831219cd122b57e7a783a6582ebbf8a6a4f1d223bc01429d36ecc929bd5854b9cf0a4cf2b08114a709cd
|
7
|
+
data.tar.gz: cc387fdf810a89bab28e19dd995ccce22a1580886938072a83c698b7824c70524891623f86836e0cc34a1ffc3f57302f25de3e17a1aaf390d269a9470d4bbf0e
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/AUTHORS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Nicolas Rodriguez <nrodriguez@jbox-web.com>
|
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
## GitHubPreview
|
2
|
+
|
3
|
+
[](https://github.com/jbox-web/gh-preview/blob/master/LICENSE)
|
4
|
+
[](https://github.com/jbox-web/gh-preview/releases/latest)
|
5
|
+
[](https://travis-ci.org/jbox-web/gh-preview)
|
6
|
+
[](https://codeclimate.com/github/jbox-web/gh-preview)
|
7
|
+
[](https://codeclimate.com/github/jbox-web/gh-preview/coverage)
|
8
|
+
[](https://gemnasium.com/jbox-web/gh-preview)
|
9
|
+
|
10
|
+
### A small Sinatra application to preview GitHub README files, easy ;)
|
11
|
+
|
12
|
+
This gem provides a small Sinatra application to preview GitHub README files or any markdown file.
|
13
|
+
|
14
|
+
**Notes** : The app can only serve one file at a time. If you need a more sophisticated rendering system, look at [Jekyll](https://github.com/jekyll/jekyll) ;)
|
15
|
+
|
16
|
+
## Installation
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
gem install gh-preview
|
20
|
+
```
|
21
|
+
|
22
|
+
No need to add it to your Gemfile, it will be globally available.
|
23
|
+
|
24
|
+
## Usage
|
25
|
+
|
26
|
+
From any directory containing a ```README.md``` file :
|
27
|
+
|
28
|
+
```sh
|
29
|
+
nicolas@desktop:~/my/wonderful/application$ gh-preview server
|
30
|
+
```
|
31
|
+
|
32
|
+
Then open your browser at this url : [http://localhost:4000](http://localhost:4000).
|
33
|
+
|
34
|
+
## Options
|
35
|
+
|
36
|
+
```sh
|
37
|
+
Usage:
|
38
|
+
gh-preview server [options]
|
39
|
+
|
40
|
+
Options:
|
41
|
+
-f, [--file=FILE] # File to serve (default: README.md)
|
42
|
+
-p, [--port=PORT] # Port for server (default 4000)
|
43
|
+
```
|
44
|
+
|
45
|
+
## Contributors
|
46
|
+
|
47
|
+
A big thank to [them](https://github.com/jbox-web/gh-preview/blob/master/AUTHORS) for their contribution!
|
48
|
+
|
49
|
+
## Contribute
|
50
|
+
|
51
|
+
You can contribute to this plugin in many ways such as :
|
52
|
+
|
53
|
+
* Helping with documentation
|
54
|
+
* Contributing code (features or bugfixes)
|
55
|
+
* Reporting a bug
|
56
|
+
* Submitting translations
|
data/Rakefile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
3
|
+
|
4
|
+
require 'rake'
|
5
|
+
require 'rspec/core/rake_task'
|
6
|
+
|
7
|
+
desc 'Start unit tests'
|
8
|
+
task test: :default
|
9
|
+
|
10
|
+
task :default do
|
11
|
+
RSpec::Core::RakeTask.new(:spec) do |config|
|
12
|
+
config.rspec_opts = '--color'
|
13
|
+
end
|
14
|
+
Rake::Task['spec'].invoke
|
15
|
+
end
|
data/bin/gh-preview
ADDED
data/gh-preview.gemspec
ADDED
@@ -0,0 +1,43 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path('../lib', __FILE__)
|
3
|
+
require 'gh_preview/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = 'gh-preview'
|
7
|
+
s.version = GhPreview::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ['Nicolas Rodriguez']
|
10
|
+
s.email = ['nrodriguez@jbox-web.com']
|
11
|
+
s.homepage = 'http://jbox-web.github.io/gh-preview/'
|
12
|
+
s.description = %q{A small gem to preview GitHub README files}
|
13
|
+
s.summary = %q{This gem provides a small Sinatra application to preview GitHub README files}
|
14
|
+
s.license = 'MIT'
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ['lib']
|
20
|
+
|
21
|
+
s.add_runtime_dependency 'rake', '~> 10.4', '>= 10.4.2'
|
22
|
+
s.add_runtime_dependency 'rack', '~> 1.6', '>= 1.6.4'
|
23
|
+
s.add_runtime_dependency 'thor', '~> 0.19', '>= 0.19.1'
|
24
|
+
s.add_runtime_dependency 'haml', '~> 4.0', '>= 4.0.7'
|
25
|
+
s.add_runtime_dependency 'json', '~> 1.8', '>= 1.8.3'
|
26
|
+
s.add_runtime_dependency 'mime-types', '~> 2.6', '>= 2.6.2'
|
27
|
+
|
28
|
+
s.add_runtime_dependency 'sinatra', '~> 1.4', '>= 1.4.6'
|
29
|
+
s.add_runtime_dependency 'sinatra-contrib', '~> 1.4', '>= 1.4.6'
|
30
|
+
s.add_runtime_dependency 'sinatra-flash', '~> 0.3', '>= 0.3.0'
|
31
|
+
|
32
|
+
s.add_runtime_dependency 'html-pipeline', '~> 2.0', '>= 2.0.0'
|
33
|
+
s.add_runtime_dependency 'redcarpet', '~> 3.3', '>= 3.3.2'
|
34
|
+
s.add_runtime_dependency 'pygments.rb', '~> 0.6', '>= 0.6.3'
|
35
|
+
s.add_runtime_dependency 'task_list', '~> 1.0', '>= 1.0.2'
|
36
|
+
s.add_runtime_dependency 'rinku', '~> 1.7', '>= 1.7.3'
|
37
|
+
|
38
|
+
s.add_development_dependency 'rspec', '~> 3.3', '>= 3.3.0'
|
39
|
+
s.add_development_dependency 'capybara', '~> 2.5', '>= 2.5.0'
|
40
|
+
s.add_development_dependency 'simplecov', '~> 0.10', '>= 0.10.0'
|
41
|
+
s.add_development_dependency 'zeus', '~> 0.15', '>= 0.15.4'
|
42
|
+
s.add_development_dependency 'rack-test', '~> 0.6', '>= 0.6.3'
|
43
|
+
end
|
data/lib/gh_preview.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
module GhPreview
|
2
|
+
module Config
|
3
|
+
extend self
|
4
|
+
|
5
|
+
NAME = 'GitHub Preview'
|
6
|
+
GITHUB_URL = 'https://github.com/jbox-web/gh-preview'
|
7
|
+
|
8
|
+
|
9
|
+
def views_folder
|
10
|
+
File.join(gem_path, 'views')
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
def public_folder
|
15
|
+
File.join(gem_path, 'public')
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
|
22
|
+
def gem_path
|
23
|
+
Gem::Specification.find_by_name('gh-preview').gem_dir
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'html/pipeline'
|
2
|
+
require 'task_list/filter'
|
3
|
+
|
4
|
+
module GhPreview
|
5
|
+
module Converter
|
6
|
+
extend self
|
7
|
+
|
8
|
+
def to_html(markdown)
|
9
|
+
pipeline.call(markdown)[:output].to_s
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
|
16
|
+
def pipeline
|
17
|
+
HTML::Pipeline.new(filters)
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
def filters
|
22
|
+
[
|
23
|
+
GhPreview::RedcarpetFilter,
|
24
|
+
TaskList::Filter,
|
25
|
+
HTML::Pipeline::AutolinkFilter,
|
26
|
+
HTML::Pipeline::TableOfContentsFilter
|
27
|
+
]
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'html/pipeline/filter'
|
2
|
+
require 'html/pipeline/text_filter'
|
3
|
+
require 'pygments'
|
4
|
+
require 'redcarpet'
|
5
|
+
|
6
|
+
module GhPreview
|
7
|
+
|
8
|
+
class HTMLwithPygments < Redcarpet::Render::HTML
|
9
|
+
|
10
|
+
def block_code(code, language)
|
11
|
+
Pygments.highlight(code, lexer: language)
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
|
17
|
+
class RedcarpetFilter < HTML::Pipeline::TextFilter
|
18
|
+
|
19
|
+
def initialize(text, context = nil, result = nil)
|
20
|
+
super text, context, result
|
21
|
+
@text = @text.gsub "\r", ''
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
# Convert Markdown to HTML using the best available implementation
|
26
|
+
# and convert into a DocumentFragment.
|
27
|
+
#
|
28
|
+
def call
|
29
|
+
Redcarpet::Markdown.new(HTMLwithPygments, mk_options).render(@text)
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
|
36
|
+
def mk_options
|
37
|
+
{
|
38
|
+
strikethrough: true,
|
39
|
+
autolink: true,
|
40
|
+
tables: true,
|
41
|
+
underline: true,
|
42
|
+
highlight: true,
|
43
|
+
lax_spacing: true,
|
44
|
+
fenced_code_blocks: true
|
45
|
+
}
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rack'
|
2
|
+
require 'thor'
|
3
|
+
|
4
|
+
module GhPreview
|
5
|
+
class Runner < Thor
|
6
|
+
|
7
|
+
desc 'server [options]', 'runs server mode'
|
8
|
+
method_option :file, aliases: '-f', desc: 'File to serve (default: README.md)'
|
9
|
+
method_option :port, aliases: '-p', desc: 'Port for server (default 4000)'
|
10
|
+
|
11
|
+
def server
|
12
|
+
app = Rack::Builder.new
|
13
|
+
app.run GhPreview::Server.new(options[:file] || 'README.md')
|
14
|
+
Rack::Server.start app: app, Port: (options[:port] || 4000), server: 'webrick'
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'sinatra/base'
|
2
|
+
require 'sinatra/reloader'
|
3
|
+
require 'sinatra/flash'
|
4
|
+
require 'sinatra/flash/style_patch'
|
5
|
+
require 'tilt/haml'
|
6
|
+
|
7
|
+
module GhPreview
|
8
|
+
class Server < Sinatra::Base
|
9
|
+
|
10
|
+
enable :sessions
|
11
|
+
register Sinatra::Flash
|
12
|
+
|
13
|
+
configure :development do
|
14
|
+
register Sinatra::Reloader
|
15
|
+
end
|
16
|
+
|
17
|
+
set :views, GhPreview::Config.views_folder
|
18
|
+
set :public_folder, GhPreview::Config.public_folder
|
19
|
+
set :haml, attr_wrapper: '"'
|
20
|
+
|
21
|
+
helpers do
|
22
|
+
|
23
|
+
def render(*args)
|
24
|
+
if args.first.is_a?(Hash) && args.first.keys.include?(:partial)
|
25
|
+
return haml "_#{args.first[:partial]}".to_sym, layout: false
|
26
|
+
else
|
27
|
+
super
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
def initialize(file)
|
35
|
+
super
|
36
|
+
@file = file
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
get '/' do
|
41
|
+
if file_content(@file)
|
42
|
+
@text = render_file(file_content(@file))
|
43
|
+
else
|
44
|
+
flash.now[:warning] = "#{@file} doesn't exist !"
|
45
|
+
end
|
46
|
+
haml :index
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
private
|
51
|
+
|
52
|
+
|
53
|
+
def render_file(file)
|
54
|
+
GhPreview::Converter.to_html(file)
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
def file_content(file)
|
59
|
+
return nil unless File.exist?(file)
|
60
|
+
File.read(file)
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Sinatra
|
2
|
+
module Flash
|
3
|
+
module Style
|
4
|
+
|
5
|
+
# A view helper for rendering flash messages to HTML with reasonable CSS structure. Handles
|
6
|
+
# multiple flash messages in one request. Wraps them in a <div> tag with id #flash containing
|
7
|
+
# a <div> for each message with classes of .flash and the message type. E.g.:
|
8
|
+
#
|
9
|
+
# @example
|
10
|
+
# <div id='flash'>
|
11
|
+
# <div class='flash info'>Today is Tuesday, April 27th.</div>
|
12
|
+
# <div class='flash warning'>Missiles are headed to destroy the Earth!</div>
|
13
|
+
# </div>
|
14
|
+
#
|
15
|
+
# It is your responsibility to style these classes the way you want in your stylesheets.
|
16
|
+
#
|
17
|
+
# @param[optional, String, Symbol] key Specifies which flash collection you want to display.
|
18
|
+
# If you use this, the collection key will be appended to the top-level div id (e.g.,
|
19
|
+
# 'flash_login' if you pass a key of :login).
|
20
|
+
#
|
21
|
+
# @return [String] Styled HTML if the flash contains messages, or an empty string if it's empty.
|
22
|
+
#
|
23
|
+
def styled_flash(key=:flash)
|
24
|
+
return '' if flash(key).empty?
|
25
|
+
id = (key == :flash ? 'flash' : "flash_#{key}")
|
26
|
+
messages = flash(key).collect { |message| " <div class='alert alert-#{message[0]}'>#{message[1]}</div>\n" }
|
27
|
+
"<div id='#{id}'>\n" + messages.join + '</div>'
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,652 @@
|
|
1
|
+
@font-face {
|
2
|
+
font-family: octicons-anchor;
|
3
|
+
src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
|
4
|
+
}
|
5
|
+
|
6
|
+
.markdown-body {
|
7
|
+
-webkit-text-size-adjust: 100%;
|
8
|
+
text-size-adjust: 100%;
|
9
|
+
color: #333;
|
10
|
+
overflow: hidden;
|
11
|
+
font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
|
12
|
+
font-size: 16px;
|
13
|
+
line-height: 1.6;
|
14
|
+
word-wrap: break-word;
|
15
|
+
}
|
16
|
+
|
17
|
+
.markdown-body a {
|
18
|
+
background-color: transparent;
|
19
|
+
}
|
20
|
+
|
21
|
+
.markdown-body a:active,
|
22
|
+
.markdown-body a:hover {
|
23
|
+
outline: 0;
|
24
|
+
}
|
25
|
+
|
26
|
+
.markdown-body strong {
|
27
|
+
font-weight: bold;
|
28
|
+
}
|
29
|
+
|
30
|
+
.markdown-body h1 {
|
31
|
+
font-size: 2em;
|
32
|
+
margin: 0.67em 0;
|
33
|
+
}
|
34
|
+
|
35
|
+
.markdown-body img {
|
36
|
+
border: 0;
|
37
|
+
}
|
38
|
+
|
39
|
+
.markdown-body hr {
|
40
|
+
box-sizing: content-box;
|
41
|
+
height: 0;
|
42
|
+
}
|
43
|
+
|
44
|
+
.markdown-body pre {
|
45
|
+
overflow: auto;
|
46
|
+
}
|
47
|
+
|
48
|
+
.markdown-body code,
|
49
|
+
.markdown-body kbd,
|
50
|
+
.markdown-body pre {
|
51
|
+
font-family: monospace, monospace;
|
52
|
+
font-size: 1em;
|
53
|
+
}
|
54
|
+
|
55
|
+
.markdown-body input {
|
56
|
+
color: inherit;
|
57
|
+
font: inherit;
|
58
|
+
margin: 0;
|
59
|
+
}
|
60
|
+
|
61
|
+
.markdown-body html input[disabled] {
|
62
|
+
cursor: default;
|
63
|
+
}
|
64
|
+
|
65
|
+
.markdown-body input {
|
66
|
+
line-height: normal;
|
67
|
+
}
|
68
|
+
|
69
|
+
.markdown-body input[type="checkbox"] {
|
70
|
+
box-sizing: border-box;
|
71
|
+
padding: 0;
|
72
|
+
}
|
73
|
+
|
74
|
+
.markdown-body table {
|
75
|
+
border-collapse: collapse;
|
76
|
+
border-spacing: 0;
|
77
|
+
}
|
78
|
+
|
79
|
+
.markdown-body td,
|
80
|
+
.markdown-body th {
|
81
|
+
padding: 0;
|
82
|
+
}
|
83
|
+
|
84
|
+
.markdown-body * {
|
85
|
+
box-sizing: border-box;
|
86
|
+
}
|
87
|
+
|
88
|
+
.markdown-body input {
|
89
|
+
font: 13px/1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
|
90
|
+
}
|
91
|
+
|
92
|
+
.markdown-body a {
|
93
|
+
color: #4078c0;
|
94
|
+
text-decoration: none;
|
95
|
+
}
|
96
|
+
|
97
|
+
.markdown-body a:hover,
|
98
|
+
.markdown-body a:active {
|
99
|
+
text-decoration: underline;
|
100
|
+
}
|
101
|
+
|
102
|
+
.markdown-body hr {
|
103
|
+
height: 0;
|
104
|
+
margin: 15px 0;
|
105
|
+
overflow: hidden;
|
106
|
+
background: transparent;
|
107
|
+
border: 0;
|
108
|
+
border-bottom: 1px solid #ddd;
|
109
|
+
}
|
110
|
+
|
111
|
+
.markdown-body hr:before {
|
112
|
+
display: table;
|
113
|
+
content: "";
|
114
|
+
}
|
115
|
+
|
116
|
+
.markdown-body hr:after {
|
117
|
+
display: table;
|
118
|
+
clear: both;
|
119
|
+
content: "";
|
120
|
+
}
|
121
|
+
|
122
|
+
.markdown-body h1,
|
123
|
+
.markdown-body h2,
|
124
|
+
.markdown-body h3,
|
125
|
+
.markdown-body h4,
|
126
|
+
.markdown-body h5,
|
127
|
+
.markdown-body h6 {
|
128
|
+
margin-top: 15px;
|
129
|
+
margin-bottom: 15px;
|
130
|
+
line-height: 1.1;
|
131
|
+
}
|
132
|
+
|
133
|
+
.markdown-body h1 {
|
134
|
+
font-size: 30px;
|
135
|
+
}
|
136
|
+
|
137
|
+
.markdown-body h2 {
|
138
|
+
font-size: 21px;
|
139
|
+
}
|
140
|
+
|
141
|
+
.markdown-body h3 {
|
142
|
+
font-size: 16px;
|
143
|
+
}
|
144
|
+
|
145
|
+
.markdown-body h4 {
|
146
|
+
font-size: 14px;
|
147
|
+
}
|
148
|
+
|
149
|
+
.markdown-body h5 {
|
150
|
+
font-size: 12px;
|
151
|
+
}
|
152
|
+
|
153
|
+
.markdown-body h6 {
|
154
|
+
font-size: 11px;
|
155
|
+
}
|
156
|
+
|
157
|
+
.markdown-body blockquote {
|
158
|
+
margin: 0;
|
159
|
+
}
|
160
|
+
|
161
|
+
.markdown-body ul,
|
162
|
+
.markdown-body ol {
|
163
|
+
padding: 0;
|
164
|
+
margin-top: 0;
|
165
|
+
margin-bottom: 0;
|
166
|
+
}
|
167
|
+
|
168
|
+
.markdown-body ol ol,
|
169
|
+
.markdown-body ul ol {
|
170
|
+
list-style-type: lower-roman;
|
171
|
+
}
|
172
|
+
|
173
|
+
.markdown-body ul ul ol,
|
174
|
+
.markdown-body ul ol ol,
|
175
|
+
.markdown-body ol ul ol,
|
176
|
+
.markdown-body ol ol ol {
|
177
|
+
list-style-type: lower-alpha;
|
178
|
+
}
|
179
|
+
|
180
|
+
.markdown-body dd {
|
181
|
+
margin-left: 0;
|
182
|
+
}
|
183
|
+
|
184
|
+
.markdown-body code {
|
185
|
+
font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
186
|
+
font-size: 12px;
|
187
|
+
}
|
188
|
+
|
189
|
+
.markdown-body pre {
|
190
|
+
margin-top: 0;
|
191
|
+
margin-bottom: 0;
|
192
|
+
font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
193
|
+
}
|
194
|
+
|
195
|
+
.markdown-body .select::-ms-expand {
|
196
|
+
opacity: 0;
|
197
|
+
}
|
198
|
+
|
199
|
+
.markdown-body .octicon {
|
200
|
+
font: normal normal normal 16px/1 octicons-anchor;
|
201
|
+
display: inline-block;
|
202
|
+
text-decoration: none;
|
203
|
+
text-rendering: auto;
|
204
|
+
-webkit-font-smoothing: antialiased;
|
205
|
+
-moz-osx-font-smoothing: grayscale;
|
206
|
+
-webkit-user-select: none;
|
207
|
+
-moz-user-select: none;
|
208
|
+
-ms-user-select: none;
|
209
|
+
user-select: none;
|
210
|
+
}
|
211
|
+
|
212
|
+
.markdown-body .octicon-link:before {
|
213
|
+
content: '\f05c';
|
214
|
+
}
|
215
|
+
|
216
|
+
.markdown-body>*:first-child {
|
217
|
+
margin-top: 0 !important;
|
218
|
+
}
|
219
|
+
|
220
|
+
.markdown-body>*:last-child {
|
221
|
+
margin-bottom: 0 !important;
|
222
|
+
}
|
223
|
+
|
224
|
+
.markdown-body a:not([href]) {
|
225
|
+
color: inherit;
|
226
|
+
text-decoration: none;
|
227
|
+
}
|
228
|
+
|
229
|
+
.markdown-body .anchor {
|
230
|
+
position: absolute;
|
231
|
+
top: 0;
|
232
|
+
left: 0;
|
233
|
+
display: block;
|
234
|
+
padding-right: 6px;
|
235
|
+
padding-left: 30px;
|
236
|
+
margin-left: -30px;
|
237
|
+
}
|
238
|
+
|
239
|
+
.markdown-body .anchor:focus {
|
240
|
+
outline: none;
|
241
|
+
}
|
242
|
+
|
243
|
+
.markdown-body h1,
|
244
|
+
.markdown-body h2,
|
245
|
+
.markdown-body h3,
|
246
|
+
.markdown-body h4,
|
247
|
+
.markdown-body h5,
|
248
|
+
.markdown-body h6 {
|
249
|
+
position: relative;
|
250
|
+
margin-top: 1em;
|
251
|
+
margin-bottom: 16px;
|
252
|
+
font-weight: bold;
|
253
|
+
line-height: 1.4;
|
254
|
+
}
|
255
|
+
|
256
|
+
.markdown-body h1 .octicon-link,
|
257
|
+
.markdown-body h2 .octicon-link,
|
258
|
+
.markdown-body h3 .octicon-link,
|
259
|
+
.markdown-body h4 .octicon-link,
|
260
|
+
.markdown-body h5 .octicon-link,
|
261
|
+
.markdown-body h6 .octicon-link {
|
262
|
+
display: none;
|
263
|
+
color: #000;
|
264
|
+
vertical-align: middle;
|
265
|
+
}
|
266
|
+
|
267
|
+
.markdown-body h1:hover .anchor,
|
268
|
+
.markdown-body h2:hover .anchor,
|
269
|
+
.markdown-body h3:hover .anchor,
|
270
|
+
.markdown-body h4:hover .anchor,
|
271
|
+
.markdown-body h5:hover .anchor,
|
272
|
+
.markdown-body h6:hover .anchor {
|
273
|
+
padding-left: 8px;
|
274
|
+
margin-left: -30px;
|
275
|
+
text-decoration: none;
|
276
|
+
}
|
277
|
+
|
278
|
+
.markdown-body h1:hover .anchor .octicon-link,
|
279
|
+
.markdown-body h2:hover .anchor .octicon-link,
|
280
|
+
.markdown-body h3:hover .anchor .octicon-link,
|
281
|
+
.markdown-body h4:hover .anchor .octicon-link,
|
282
|
+
.markdown-body h5:hover .anchor .octicon-link,
|
283
|
+
.markdown-body h6:hover .anchor .octicon-link {
|
284
|
+
display: inline-block;
|
285
|
+
}
|
286
|
+
|
287
|
+
.markdown-body h1 {
|
288
|
+
padding-bottom: 0.3em;
|
289
|
+
font-size: 2.25em;
|
290
|
+
line-height: 1.2;
|
291
|
+
border-bottom: 1px solid #eee;
|
292
|
+
}
|
293
|
+
|
294
|
+
.markdown-body h1 .anchor {
|
295
|
+
line-height: 1;
|
296
|
+
}
|
297
|
+
|
298
|
+
.markdown-body h2 {
|
299
|
+
padding-bottom: 0.3em;
|
300
|
+
font-size: 1.75em;
|
301
|
+
line-height: 1.225;
|
302
|
+
border-bottom: 1px solid #eee;
|
303
|
+
}
|
304
|
+
|
305
|
+
.markdown-body h2 .anchor {
|
306
|
+
line-height: 1;
|
307
|
+
}
|
308
|
+
|
309
|
+
.markdown-body h3 {
|
310
|
+
font-size: 1.5em;
|
311
|
+
line-height: 1.43;
|
312
|
+
}
|
313
|
+
|
314
|
+
.markdown-body h3 .anchor {
|
315
|
+
line-height: 1.2;
|
316
|
+
}
|
317
|
+
|
318
|
+
.markdown-body h4 {
|
319
|
+
font-size: 1.25em;
|
320
|
+
}
|
321
|
+
|
322
|
+
.markdown-body h4 .anchor {
|
323
|
+
line-height: 1.2;
|
324
|
+
}
|
325
|
+
|
326
|
+
.markdown-body h5 {
|
327
|
+
font-size: 1em;
|
328
|
+
}
|
329
|
+
|
330
|
+
.markdown-body h5 .anchor {
|
331
|
+
line-height: 1.1;
|
332
|
+
}
|
333
|
+
|
334
|
+
.markdown-body h6 {
|
335
|
+
font-size: 1em;
|
336
|
+
color: #777;
|
337
|
+
}
|
338
|
+
|
339
|
+
.markdown-body h6 .anchor {
|
340
|
+
line-height: 1.1;
|
341
|
+
}
|
342
|
+
|
343
|
+
.markdown-body p,
|
344
|
+
.markdown-body blockquote,
|
345
|
+
.markdown-body ul,
|
346
|
+
.markdown-body ol,
|
347
|
+
.markdown-body dl,
|
348
|
+
.markdown-body table,
|
349
|
+
.markdown-body pre {
|
350
|
+
margin-top: 0;
|
351
|
+
margin-bottom: 16px;
|
352
|
+
}
|
353
|
+
|
354
|
+
.markdown-body hr {
|
355
|
+
height: 4px;
|
356
|
+
padding: 0;
|
357
|
+
margin: 16px 0;
|
358
|
+
background-color: #e7e7e7;
|
359
|
+
border: 0 none;
|
360
|
+
}
|
361
|
+
|
362
|
+
.markdown-body ul,
|
363
|
+
.markdown-body ol {
|
364
|
+
padding-left: 2em;
|
365
|
+
}
|
366
|
+
|
367
|
+
.markdown-body ul ul,
|
368
|
+
.markdown-body ul ol,
|
369
|
+
.markdown-body ol ol,
|
370
|
+
.markdown-body ol ul {
|
371
|
+
margin-top: 0;
|
372
|
+
margin-bottom: 0;
|
373
|
+
}
|
374
|
+
|
375
|
+
.markdown-body li>p {
|
376
|
+
margin-top: 16px;
|
377
|
+
}
|
378
|
+
|
379
|
+
.markdown-body dl {
|
380
|
+
padding: 0;
|
381
|
+
}
|
382
|
+
|
383
|
+
.markdown-body dl dt {
|
384
|
+
padding: 0;
|
385
|
+
margin-top: 16px;
|
386
|
+
font-size: 1em;
|
387
|
+
font-style: italic;
|
388
|
+
font-weight: bold;
|
389
|
+
}
|
390
|
+
|
391
|
+
.markdown-body dl dd {
|
392
|
+
padding: 0 16px;
|
393
|
+
margin-bottom: 16px;
|
394
|
+
}
|
395
|
+
|
396
|
+
.markdown-body blockquote {
|
397
|
+
padding: 0 15px;
|
398
|
+
color: #777;
|
399
|
+
border-left: 4px solid #ddd;
|
400
|
+
}
|
401
|
+
|
402
|
+
.markdown-body blockquote>:first-child {
|
403
|
+
margin-top: 0;
|
404
|
+
}
|
405
|
+
|
406
|
+
.markdown-body blockquote>:last-child {
|
407
|
+
margin-bottom: 0;
|
408
|
+
}
|
409
|
+
|
410
|
+
.markdown-body table {
|
411
|
+
display: block;
|
412
|
+
width: 100%;
|
413
|
+
overflow: auto;
|
414
|
+
word-break: normal;
|
415
|
+
word-break: keep-all;
|
416
|
+
}
|
417
|
+
|
418
|
+
.markdown-body table th {
|
419
|
+
font-weight: bold;
|
420
|
+
}
|
421
|
+
|
422
|
+
.markdown-body table th,
|
423
|
+
.markdown-body table td {
|
424
|
+
padding: 6px 13px;
|
425
|
+
border: 1px solid #ddd;
|
426
|
+
}
|
427
|
+
|
428
|
+
.markdown-body table tr {
|
429
|
+
background-color: #fff;
|
430
|
+
border-top: 1px solid #ccc;
|
431
|
+
}
|
432
|
+
|
433
|
+
.markdown-body table tr:nth-child(2n) {
|
434
|
+
background-color: #f8f8f8;
|
435
|
+
}
|
436
|
+
|
437
|
+
.markdown-body img {
|
438
|
+
max-width: 100%;
|
439
|
+
box-sizing: border-box;
|
440
|
+
}
|
441
|
+
|
442
|
+
.markdown-body code {
|
443
|
+
padding: 0;
|
444
|
+
padding-top: 0.2em;
|
445
|
+
padding-bottom: 0.2em;
|
446
|
+
margin: 0;
|
447
|
+
font-size: 85%;
|
448
|
+
background-color: rgba(0,0,0,0.04);
|
449
|
+
border-radius: 3px;
|
450
|
+
}
|
451
|
+
|
452
|
+
.markdown-body code:before,
|
453
|
+
.markdown-body code:after {
|
454
|
+
letter-spacing: -0.2em;
|
455
|
+
content: "\00a0";
|
456
|
+
}
|
457
|
+
|
458
|
+
.markdown-body pre>code {
|
459
|
+
padding: 0;
|
460
|
+
margin: 0;
|
461
|
+
font-size: 100%;
|
462
|
+
word-break: normal;
|
463
|
+
white-space: pre;
|
464
|
+
background: transparent;
|
465
|
+
border: 0;
|
466
|
+
}
|
467
|
+
|
468
|
+
.markdown-body .highlight {
|
469
|
+
margin-bottom: 16px;
|
470
|
+
}
|
471
|
+
|
472
|
+
.markdown-body .highlight pre,
|
473
|
+
.markdown-body pre {
|
474
|
+
padding: 16px;
|
475
|
+
overflow: auto;
|
476
|
+
font-size: 85%;
|
477
|
+
line-height: 1.45;
|
478
|
+
background-color: #f7f7f7;
|
479
|
+
border-radius: 3px;
|
480
|
+
}
|
481
|
+
|
482
|
+
.markdown-body .highlight pre {
|
483
|
+
margin-bottom: 0;
|
484
|
+
word-break: normal;
|
485
|
+
}
|
486
|
+
|
487
|
+
.markdown-body pre {
|
488
|
+
word-wrap: normal;
|
489
|
+
}
|
490
|
+
|
491
|
+
.markdown-body pre code {
|
492
|
+
display: inline;
|
493
|
+
max-width: initial;
|
494
|
+
padding: 0;
|
495
|
+
margin: 0;
|
496
|
+
overflow: initial;
|
497
|
+
line-height: inherit;
|
498
|
+
word-wrap: normal;
|
499
|
+
background-color: transparent;
|
500
|
+
border: 0;
|
501
|
+
}
|
502
|
+
|
503
|
+
.markdown-body pre code:before,
|
504
|
+
.markdown-body pre code:after {
|
505
|
+
content: normal;
|
506
|
+
}
|
507
|
+
|
508
|
+
.markdown-body kbd {
|
509
|
+
display: inline-block;
|
510
|
+
padding: 3px 5px;
|
511
|
+
font-size: 11px;
|
512
|
+
line-height: 10px;
|
513
|
+
color: #555;
|
514
|
+
vertical-align: middle;
|
515
|
+
background-color: #fcfcfc;
|
516
|
+
border: solid 1px #ccc;
|
517
|
+
border-bottom-color: #bbb;
|
518
|
+
border-radius: 3px;
|
519
|
+
box-shadow: inset 0 -1px 0 #bbb;
|
520
|
+
}
|
521
|
+
|
522
|
+
.markdown-body .pl-c {
|
523
|
+
color: #969896;
|
524
|
+
}
|
525
|
+
|
526
|
+
.markdown-body .pl-c1,
|
527
|
+
.markdown-body .pl-s .pl-v {
|
528
|
+
color: #0086b3;
|
529
|
+
}
|
530
|
+
|
531
|
+
.markdown-body .pl-e,
|
532
|
+
.markdown-body .pl-en {
|
533
|
+
color: #795da3;
|
534
|
+
}
|
535
|
+
|
536
|
+
.markdown-body .pl-s .pl-s1,
|
537
|
+
.markdown-body .pl-smi {
|
538
|
+
color: #333;
|
539
|
+
}
|
540
|
+
|
541
|
+
.markdown-body .pl-ent {
|
542
|
+
color: #63a35c;
|
543
|
+
}
|
544
|
+
|
545
|
+
.markdown-body .pl-k {
|
546
|
+
color: #a71d5d;
|
547
|
+
}
|
548
|
+
|
549
|
+
.markdown-body .pl-pds,
|
550
|
+
.markdown-body .pl-s,
|
551
|
+
.markdown-body .pl-s .pl-pse .pl-s1,
|
552
|
+
.markdown-body .pl-sr,
|
553
|
+
.markdown-body .pl-sr .pl-cce,
|
554
|
+
.markdown-body .pl-sr .pl-sra,
|
555
|
+
.markdown-body .pl-sr .pl-sre {
|
556
|
+
color: #183691;
|
557
|
+
}
|
558
|
+
|
559
|
+
.markdown-body .pl-v {
|
560
|
+
color: #ed6a43;
|
561
|
+
}
|
562
|
+
|
563
|
+
.markdown-body .pl-id {
|
564
|
+
color: #b52a1d;
|
565
|
+
}
|
566
|
+
|
567
|
+
.markdown-body .pl-ii {
|
568
|
+
background-color: #b52a1d;
|
569
|
+
color: #f8f8f8;
|
570
|
+
}
|
571
|
+
|
572
|
+
.markdown-body .pl-sr .pl-cce {
|
573
|
+
color: #63a35c;
|
574
|
+
font-weight: bold;
|
575
|
+
}
|
576
|
+
|
577
|
+
.markdown-body .pl-ml {
|
578
|
+
color: #693a17;
|
579
|
+
}
|
580
|
+
|
581
|
+
.markdown-body .pl-mh,
|
582
|
+
.markdown-body .pl-mh .pl-en,
|
583
|
+
.markdown-body .pl-ms {
|
584
|
+
color: #1d3e81;
|
585
|
+
font-weight: bold;
|
586
|
+
}
|
587
|
+
|
588
|
+
.markdown-body .pl-mq {
|
589
|
+
color: #008080;
|
590
|
+
}
|
591
|
+
|
592
|
+
.markdown-body .pl-mi {
|
593
|
+
color: #333;
|
594
|
+
font-style: italic;
|
595
|
+
}
|
596
|
+
|
597
|
+
.markdown-body .pl-mb {
|
598
|
+
color: #333;
|
599
|
+
font-weight: bold;
|
600
|
+
}
|
601
|
+
|
602
|
+
.markdown-body .pl-md {
|
603
|
+
background-color: #ffecec;
|
604
|
+
color: #bd2c00;
|
605
|
+
}
|
606
|
+
|
607
|
+
.markdown-body .pl-mi1 {
|
608
|
+
background-color: #eaffea;
|
609
|
+
color: #55a532;
|
610
|
+
}
|
611
|
+
|
612
|
+
.markdown-body .pl-mdr {
|
613
|
+
color: #795da3;
|
614
|
+
font-weight: bold;
|
615
|
+
}
|
616
|
+
|
617
|
+
.markdown-body .pl-mo {
|
618
|
+
color: #1d3e81;
|
619
|
+
}
|
620
|
+
|
621
|
+
.markdown-body kbd {
|
622
|
+
display: inline-block;
|
623
|
+
padding: 3px 5px;
|
624
|
+
font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
625
|
+
line-height: 10px;
|
626
|
+
color: #555;
|
627
|
+
vertical-align: middle;
|
628
|
+
background-color: #fcfcfc;
|
629
|
+
border: solid 1px #ccc;
|
630
|
+
border-bottom-color: #bbb;
|
631
|
+
border-radius: 3px;
|
632
|
+
box-shadow: inset 0 -1px 0 #bbb;
|
633
|
+
}
|
634
|
+
|
635
|
+
.markdown-body .task-list-item {
|
636
|
+
list-style-type: none;
|
637
|
+
}
|
638
|
+
|
639
|
+
.markdown-body .task-list-item+.task-list-item {
|
640
|
+
margin-top: 3px;
|
641
|
+
}
|
642
|
+
|
643
|
+
.markdown-body .task-list-item input {
|
644
|
+
margin: 0 0.35em 0.25em -1.6em;
|
645
|
+
vertical-align: middle;
|
646
|
+
}
|
647
|
+
|
648
|
+
.markdown-body :checked+.radio-label {
|
649
|
+
z-index: 1;
|
650
|
+
position: relative;
|
651
|
+
border-color: #4078c0;
|
652
|
+
}
|