octopress-pygments 1.3.1 → 2.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 +4 -4
- data/.gitignore +2 -0
- data/assets/stylesheets/_pygments-style.scss +103 -0
- data/assets/stylesheets/_solarized.scss +58 -0
- data/assets/stylesheets/code-style.scss +156 -0
- data/lib/octopress-pygments/renderer.rb +12 -27
- data/lib/octopress-pygments/version.rb +1 -1
- data/lib/octopress-pygments.rb +16 -0
- data/octopress-pygments.gemspec +1 -0
- data/spec/pygments_spec.rb +19 -25
- metadata +20 -4
- data/spec/octopress-pygments_spec.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7cfb455f85f40aee3672e15f3ad740b2b2481685
|
4
|
+
data.tar.gz: 72edb0d15e63cccba17c4866d4b3c9fa0d62c8e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49eec9a7f8a856d7a80a43df6b06db0e48c5d17382bb9289d1a3470e20976aff9901bfa8a40ec9be922f4e686d052a257a483260ac0706205f25d0f1cd6b219d
|
7
|
+
data.tar.gz: 01e0fbd143f71cf754d8bf41be7b49360c0dd799d658778cfb063ce7485b831a00e1d0308ff8dd89757ca4be66813f5918b201ab6478de6a84c17290689fc30a
|
data/.gitignore
CHANGED
@@ -0,0 +1,103 @@
|
|
1
|
+
%pygments-diff-bg {
|
2
|
+
content: "";
|
3
|
+
position: absolute;
|
4
|
+
z-index: -1;
|
5
|
+
left: 0; right: 0; top: 0; bottom: 0;
|
6
|
+
}
|
7
|
+
|
8
|
+
@mixin pygments-diff-bg($bg) {
|
9
|
+
&:after {
|
10
|
+
background: $bg;
|
11
|
+
@extend %pygments-diff-bg;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
.pygments-code {
|
16
|
+
border: 1px solid $pygments-code-border;
|
17
|
+
background: $pre-bg;
|
18
|
+
color: $base1;
|
19
|
+
span { color: $base1; }
|
20
|
+
span { font-style: normal; font-weight: normal; }
|
21
|
+
|
22
|
+
.c { color: $base01; font-style: italic; } /* Comment */
|
23
|
+
.cm { color: $base01; font-style: italic; } /* Comment.Multiline */
|
24
|
+
.cp { color: $base01; font-style: italic; } /* Comment.Preproc */
|
25
|
+
.c1 { color: $base01; font-style: italic; } /* Comment.Single */
|
26
|
+
.cs { /* Comment.Special */
|
27
|
+
color: $base01;
|
28
|
+
font-weight: bold;
|
29
|
+
font-style: italic; }
|
30
|
+
.err { color: $solar-red; background: none; } /* Error */
|
31
|
+
.k { color: $solar-orange; } /* Keyword */
|
32
|
+
.o { color: $base1; font-weight: bold; } /* Operator */
|
33
|
+
.p { color: $base1; } /* Operator */
|
34
|
+
.ow { color: $solar-cyan; font-weight: bold; } /* Operator.Word */
|
35
|
+
.gd {
|
36
|
+
color: $base1; /* Generic.Deleted */
|
37
|
+
@include pygments-diff-bg(mix($solar-red, $base03, 25%));
|
38
|
+
}
|
39
|
+
.gd .x { /* Generic.Deleted.Specific */
|
40
|
+
color: $base1;
|
41
|
+
@include pygments-diff-bg(mix($solar-red, $base03, 35%));
|
42
|
+
}
|
43
|
+
.ge { /* Generic.Emph */
|
44
|
+
color: $base1;
|
45
|
+
font-style: italic; }
|
46
|
+
//.gr { color: #aa0000 } /* Generic.Error */
|
47
|
+
.gh { color: $base01; } /* Generic.Heading */
|
48
|
+
.gi { /* Generic.Inserted */
|
49
|
+
color: $base1;
|
50
|
+
@include pygments-diff-bg(mix($solar-green, $base03, 20%));
|
51
|
+
}
|
52
|
+
.gi .x { /* Generic.Inserted.Specific */
|
53
|
+
color: $base1;
|
54
|
+
@include pygments-diff-bg(mix($solar-green, $base03, 40%));
|
55
|
+
}
|
56
|
+
//.go { color: #888888 } /* Generic.Output */
|
57
|
+
//.gp { color: #555555 } /* Generic.Prompt */
|
58
|
+
.gs { color: $base1; font-weight: bold; } /* Generic.Strong */
|
59
|
+
.gu { color: $solar-violet; } /* Generic.Subheading */
|
60
|
+
//.gt { color: #aa0000 } /* Generic.Traceback */
|
61
|
+
.kc { color: $solar-green; font-weight: bold; } /* Keyword.Constant */
|
62
|
+
.kd { color: $solar-blue; } /* Keyword.Declaration */
|
63
|
+
.kp { color: $solar-orange; font-weight: bold; } /* Keyword.Pseudo */
|
64
|
+
.kr { color: $solar-magenta; font-weight: bold; } /* Keyword.Reserved */
|
65
|
+
.kt { color: $solar-cyan; } /* Keyword.Type */
|
66
|
+
.n { color: $solar-blue; }
|
67
|
+
.na { color: $solar-blue; } /* Name.Attribute */
|
68
|
+
.nb { color: $solar-green; } /* Name.Builtin */
|
69
|
+
.nc { color: $solar-magenta;} /* Name.Class */
|
70
|
+
.no { color: $solar-yellow; } /* Name.Constant */
|
71
|
+
//.ni { color: #800080 } /* Name.Entity */
|
72
|
+
.nl { color: $solar-green; }
|
73
|
+
.ne { color: $solar-blue; font-weight: bold; } /* Name.Exception */
|
74
|
+
.nf { color: $solar-blue; font-weight: bold; } /* Name.Function */
|
75
|
+
.nn { color: $solar-yellow; } /* Name.Namespace */
|
76
|
+
.nt { color: $solar-blue; font-weight: bold; } /* Name.Tag */
|
77
|
+
.nx { color: $solar-yellow; }
|
78
|
+
//.bp { color: #999999 } /* Name.Builtin.Pseudo */
|
79
|
+
//.vc { color: #008080 } /* Name.Variable.Class */
|
80
|
+
.vg { color: $solar-blue; } /* Name.Variable.Global */
|
81
|
+
.vi { color: $solar-blue; } /* Name.Variable.Instance */
|
82
|
+
.nv { color: $solar-blue; } /* Name.Variable */
|
83
|
+
//.w { color: #bbbbbb } /* Text.Whitespace */
|
84
|
+
.mf { color: $solar-cyan; } /* Literal.Number.Float */
|
85
|
+
.m { color: $solar-cyan; } /* Literal.Number */
|
86
|
+
.mh { color: $solar-cyan; } /* Literal.Number.Hex */
|
87
|
+
.mi { color: $solar-cyan; } /* Literal.Number.Integer */
|
88
|
+
//.mo { color: #009999 } /* Literal.Number.Oct */
|
89
|
+
.s { color: $solar-cyan; } /* Literal.String */
|
90
|
+
//.sb { color: #d14 } /* Literal.String.Backtick */
|
91
|
+
//.sc { color: #d14 } /* Literal.String.Char */
|
92
|
+
.sd { color: $solar-cyan; } /* Literal.String.Doc */
|
93
|
+
.s2 { color: $solar-cyan; } /* Literal.String.Double */
|
94
|
+
.se { color: $solar-red; } /* Literal.String.Escape */
|
95
|
+
//.sh { color: #d14 } /* Literal.String.Heredoc */
|
96
|
+
.si { color: $solar-blue; } /* Literal.String.Interpol */
|
97
|
+
//.sx { color: #d14 } /* Literal.String.Other */
|
98
|
+
.sr { color: $solar-cyan; } /* Literal.String.Regex */
|
99
|
+
.s1 { color: $solar-cyan; } /* Literal.String.Single */
|
100
|
+
//.ss { color: #990073 } /* Literal.String.Symbol */
|
101
|
+
//.il { color: #009999 } /* Literal.Number.Integer.Long */
|
102
|
+
}
|
103
|
+
|
@@ -0,0 +1,58 @@
|
|
1
|
+
$base03: #002b36 !default; //darkest blue
|
2
|
+
$base02: #073642 !default; //dark blue
|
3
|
+
$base01: #586e75 !default; //darkest gray
|
4
|
+
$base00: #657b83 !default; //dark gray
|
5
|
+
$base0: #839496 !default; //medium gray
|
6
|
+
$base1: #93a1a1 !default; //medium light gray
|
7
|
+
$base2: #f2f2f2 !default; //very light gray
|
8
|
+
$base3: #ffffff !default; //white
|
9
|
+
$solar-yellow: #b58900 !default;
|
10
|
+
$solar-orange: #cb4b16 !default;
|
11
|
+
$solar-red: #dc322f !default;
|
12
|
+
$solar-magenta: #d33682 !default;
|
13
|
+
$solar-violet: #6c71c4 !default;
|
14
|
+
$solar-blue: #268bd2 !default;
|
15
|
+
$solar-cyan: #2aa198 !default;
|
16
|
+
$solar-green: #859900 !default;
|
17
|
+
|
18
|
+
$marker: rgba(#00baff, .5) !default;
|
19
|
+
$marker-bg: rgba($marker, .13) !default;
|
20
|
+
$marker-border: rgba($marker, .13) !default;
|
21
|
+
$marker-border-left: $marker !default;
|
22
|
+
|
23
|
+
$solarized: light;// !default;
|
24
|
+
|
25
|
+
$solar-scroll-bg: rgba(#fff, .15);
|
26
|
+
$solar-scroll-thumb: rgba(#fff, .2);
|
27
|
+
|
28
|
+
@if $solarized == light {
|
29
|
+
|
30
|
+
$_base03: $base03;
|
31
|
+
$_base02: $base02;
|
32
|
+
$_base01: $base01;
|
33
|
+
$_base00: $base00;
|
34
|
+
$_base0: $base0;
|
35
|
+
$_base1: $base1;
|
36
|
+
$_base2: $base2;
|
37
|
+
$_base3: $base3;
|
38
|
+
|
39
|
+
$base03: $_base3;
|
40
|
+
$base02: $_base2;
|
41
|
+
$base01: $_base1;
|
42
|
+
$base00: $_base0;
|
43
|
+
$base0: $_base00;
|
44
|
+
$base1: $_base01;
|
45
|
+
$base2: $_base02;
|
46
|
+
$base3: $_base03;
|
47
|
+
|
48
|
+
$solar-scroll-bg: rgba(#000, .15);
|
49
|
+
$solar-scroll-thumb: rgba(#000, .15);
|
50
|
+
|
51
|
+
$marker-bg: rgba($marker, .05);
|
52
|
+
}
|
53
|
+
|
54
|
+
$pre-bg: $base03 !default;
|
55
|
+
$pre-border: darken($base02, 5) !default;
|
56
|
+
$pre-color: $base1 !default;
|
57
|
+
$pygments-code-border: $pre-border;
|
58
|
+
|
@@ -0,0 +1,156 @@
|
|
1
|
+
@import 'solarized';
|
2
|
+
@import 'pygments-style';
|
3
|
+
|
4
|
+
.pygments-code-figure {
|
5
|
+
font-size: 13px;
|
6
|
+
* { box-sizing: border-box; }
|
7
|
+
}
|
8
|
+
|
9
|
+
.pygments-code-pre {
|
10
|
+
background: darken($base03, 1);
|
11
|
+
width: 100%;
|
12
|
+
margin-bottom: 0;
|
13
|
+
display: table;
|
14
|
+
}
|
15
|
+
|
16
|
+
$pre-line-padding: .8em;
|
17
|
+
|
18
|
+
.pygments-code-row {
|
19
|
+
display: table-row;
|
20
|
+
width: 100%;
|
21
|
+
}
|
22
|
+
|
23
|
+
.pygments-code-row {
|
24
|
+
&:before, .pygments-code-line {
|
25
|
+
padding: {left: $pre-line-padding + .8; right: $pre-line-padding + .8 }
|
26
|
+
}
|
27
|
+
&:first-child {
|
28
|
+
&:before, .pygments-code-line { padding-top: $pre-line-padding; }
|
29
|
+
}
|
30
|
+
&:last-child {
|
31
|
+
&:before, .pygments-code-line { padding-bottom: $pre-line-padding; }
|
32
|
+
}
|
33
|
+
&.numbered {
|
34
|
+
&:before, .pygments-code-line {
|
35
|
+
padding: {left: $pre-line-padding; right: $pre-line-padding }
|
36
|
+
}
|
37
|
+
&:before {
|
38
|
+
display: table-cell;
|
39
|
+
content: attr(data-line);
|
40
|
+
min-width: 1.2em;
|
41
|
+
color: $base01;
|
42
|
+
text-align: right;
|
43
|
+
line-height: 1.45em;
|
44
|
+
@if $solarized == light {
|
45
|
+
background: lighten($base03, 1);
|
46
|
+
border-right: 1px solid darken($base02, 2);
|
47
|
+
text-shadow: lighten($base02, 2) 0 -1px;
|
48
|
+
} @else {
|
49
|
+
background: $base02;
|
50
|
+
border-right: 1px solid darken($base03, 2);
|
51
|
+
box-shadow: lighten($base02, 2) -1px 0 inset;
|
52
|
+
text-shadow: darken($base02, 10) 0 -1px;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
.pygments-code-line {
|
59
|
+
display: table-cell;
|
60
|
+
width: 100%;
|
61
|
+
position: relative;
|
62
|
+
z-index: 1;
|
63
|
+
}
|
64
|
+
|
65
|
+
.marked-line {
|
66
|
+
position: relative;
|
67
|
+
&.unnumbered {
|
68
|
+
}
|
69
|
+
.pygments-code-line {
|
70
|
+
&:before {
|
71
|
+
content: "";
|
72
|
+
position: absolute;
|
73
|
+
background: $marker-bg;
|
74
|
+
left: 0; top: 0; bottom: 0; right: 0;
|
75
|
+
border-right: 1px solid $marker-border;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
&.unnumbered .pygments-code-line:before {
|
79
|
+
border-left: 3px solid $marker-border-left;
|
80
|
+
}
|
81
|
+
&.numbered:before {
|
82
|
+
background: $marker-bg;
|
83
|
+
border-left: 3px solid $marker-border-left;
|
84
|
+
border-right-color: darken($marker-bg, 20);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
.start-marked-line {
|
89
|
+
&:before, .pygments-code-line:before {
|
90
|
+
border-top: 1px solid $marker-border;
|
91
|
+
}
|
92
|
+
}
|
93
|
+
.end-marked-line {
|
94
|
+
&:before, .pygments-code-line:before {
|
95
|
+
border-bottom: 1px solid $marker-border;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
.pygments-code {
|
100
|
+
overflow: scroll;
|
101
|
+
overflow-y: hidden;
|
102
|
+
overflow-x: auto;
|
103
|
+
line-height: 1.45em;
|
104
|
+
}
|
105
|
+
|
106
|
+
.pygments-code-table {
|
107
|
+
margin-bottom: 0;
|
108
|
+
background: $base03;
|
109
|
+
pre {
|
110
|
+
padding: .8em;
|
111
|
+
background: none;
|
112
|
+
border-radius: 0;
|
113
|
+
border: none;
|
114
|
+
margin-bottom: 0;
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
.pygments-code-figure {
|
119
|
+
margin: {left: 0; right: 0;}
|
120
|
+
background: none;
|
121
|
+
padding: 0;
|
122
|
+
border: 0;
|
123
|
+
pre { margin-bottom: 0; }
|
124
|
+
}
|
125
|
+
|
126
|
+
.pygments-code-caption {
|
127
|
+
position: relative;
|
128
|
+
text-align: center;
|
129
|
+
line-height: 2em;
|
130
|
+
text-shadow: #fff 0 1px 0;
|
131
|
+
color: #474747;
|
132
|
+
font-weight: normal;
|
133
|
+
margin-bottom: 0;
|
134
|
+
background-color: #ccc;
|
135
|
+
background-image: linear-gradient(#ffffff, #f0f0f0 6%, #e5e5e5 90%, #e5e5e5);
|
136
|
+
border-top-left-radius: 5px;
|
137
|
+
border-top-right-radius: 5px;
|
138
|
+
font-family: "Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;
|
139
|
+
border: 1px solid #cbcbcb;
|
140
|
+
+ .pygments-code { border-top: 0; }
|
141
|
+
}
|
142
|
+
|
143
|
+
.pygments-code-caption-link {
|
144
|
+
position: absolute; right: .8em;
|
145
|
+
color: #666;
|
146
|
+
z-index: 1;
|
147
|
+
text-shadow: #cbcccc 0 1px 0;
|
148
|
+
padding-left: 3em;
|
149
|
+
}
|
150
|
+
|
151
|
+
pre {
|
152
|
+
margin-top: 0;
|
153
|
+
font-size: 13px;
|
154
|
+
font-family: Menlo, Monaco, 'Andale Mono', 'lucida console', 'Courier New', monospace;
|
155
|
+
}
|
156
|
+
|
@@ -24,7 +24,7 @@ module Octopress
|
|
24
24
|
end
|
25
25
|
rendered_code = tableize_code(rendered_code, @lang, {linenos: @options[:linenos], start: @options[:start], marks: @options[:marks]})
|
26
26
|
title = captionize(@options[:title], @options[:url], @options[:link_text]) if @options[:title]
|
27
|
-
rendered_code = "<figure class='code'>#{title}#{rendered_code}</figure>"
|
27
|
+
rendered_code = "<figure class='pygments-code-figure'>#{title}#{rendered_code}</figure>"
|
28
28
|
rendered_code = "{% raw %}#{rendered_code}{% endraw %}" if @options[:escape]
|
29
29
|
Cache.write_to_cache(rendered_code, @options) unless @options[:no_cache]
|
30
30
|
rendered_code
|
@@ -58,8 +58,8 @@ module Octopress
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def captionize (caption, url, link_text)
|
61
|
-
figcaption = "<figcaption>#{caption}"
|
62
|
-
figcaption += "<a href='#{url}'>#{(link_text || 'link').strip}</a>" if url
|
61
|
+
figcaption = "<figcaption class='pygments-code-caption'><span class='pygments-code-caption-title'>#{caption}</span>"
|
62
|
+
figcaption += "<a class='pygments-code-caption-link' href='#{url}'>#{(link_text || 'link').strip}</a>" if url
|
63
63
|
figcaption += "</figcaption>"
|
64
64
|
end
|
65
65
|
|
@@ -67,35 +67,20 @@ module Octopress
|
|
67
67
|
start = options[:start]
|
68
68
|
lines = options[:linenos]
|
69
69
|
marks = options[:marks]
|
70
|
-
table = "<div class='
|
71
|
-
table +=
|
72
|
-
table += "<td class='main #{'unnumbered' unless lines} #{lang}'><pre>"
|
70
|
+
table = "<div class='pygments-code'>"
|
71
|
+
table += "<pre class='pygments-code-pre #{lang}'>"
|
73
72
|
code.lines.each_with_index do |line,index|
|
74
|
-
classes = '
|
73
|
+
classes = 'pygments-code-row'
|
74
|
+
classes += lines ? ' numbered' : ' unnumbered'
|
75
75
|
if marks.include? index + start
|
76
|
-
classes += ' marked'
|
77
|
-
classes += ' start' unless marks.include? index - 1 + start
|
78
|
-
classes += ' end' unless marks.include? index + 1 + start
|
76
|
+
classes += ' marked-line'
|
77
|
+
classes += ' start-marked-line' unless marks.include? index - 1 + start
|
78
|
+
classes += ' end-marked-line' unless marks.include? index + 1 + start
|
79
79
|
end
|
80
80
|
line = line.strip.empty? ? ' ' : line
|
81
|
-
table += "<div class='#{classes}'>#{line}</div>"
|
81
|
+
table += "<div data-line='#{index + start}' class='#{classes}'><div class='pygments-code-line'>#{line}</div></div>"
|
82
82
|
end
|
83
|
-
table +="</pre></
|
84
|
-
end
|
85
|
-
|
86
|
-
def number_lines (start, count, marks)
|
87
|
-
start
|
88
|
-
lines = "<td class='line-numbers' aria-hidden='true'><pre>"
|
89
|
-
count.times do |index|
|
90
|
-
classes = 'line-number'
|
91
|
-
if marks.include? index + start
|
92
|
-
classes += ' marked'
|
93
|
-
classes += ' start' unless marks.include? index - 1 + start
|
94
|
-
classes += ' end' unless marks.include? index + 1 + start
|
95
|
-
end
|
96
|
-
lines += "<div data-line='#{index + start}' class='#{classes}'></div>"
|
97
|
-
end
|
98
|
-
lines += "</pre></td>"
|
83
|
+
table +="</pre></div>"
|
99
84
|
end
|
100
85
|
|
101
86
|
# Public:
|
data/lib/octopress-pygments.rb
CHANGED
@@ -3,6 +3,7 @@ require 'fileutils'
|
|
3
3
|
require 'digest/md5'
|
4
4
|
require 'pygments'
|
5
5
|
require 'colorator'
|
6
|
+
require 'octopress-ink'
|
6
7
|
|
7
8
|
PYGMENTS_CACHE_DIR = '.pygments-cache'
|
8
9
|
FileUtils.mkdir_p(PYGMENTS_CACHE_DIR)
|
@@ -49,3 +50,18 @@ module Octopress
|
|
49
50
|
end
|
50
51
|
end
|
51
52
|
|
53
|
+
module Octopress
|
54
|
+
class CodeStyle < Plugin
|
55
|
+
def initialize(name, type)
|
56
|
+
@assets_path = File.expand_path(File.join(File.dirname(__FILE__), '../assets'))
|
57
|
+
super
|
58
|
+
end
|
59
|
+
|
60
|
+
def add_assets
|
61
|
+
add_sass 'code-style.scss'
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
Octopress.register_plugin(Octopress::CodeStyle, 'code-style', 'plugin')
|
67
|
+
|
data/octopress-pygments.gemspec
CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |gem|
|
|
15
15
|
|
16
16
|
gem.add_runtime_dependency 'pygments.rb', '>= 0.5'
|
17
17
|
gem.add_runtime_dependency 'colorator', '~> 0.1.0'
|
18
|
+
gem.add_runtime_dependency 'octopress-ink', '~> 1.0.0.alpha.14'
|
18
19
|
|
19
20
|
gem.add_development_dependency 'rake'
|
20
21
|
gem.add_development_dependency 'rspec'
|
data/spec/pygments_spec.rb
CHANGED
@@ -4,42 +4,36 @@ describe Octopress::Pygments do
|
|
4
4
|
let(:wrapper) do
|
5
5
|
Proc.new do |stuff, numbers|
|
6
6
|
[
|
7
|
-
"<figure class='code'>",
|
8
|
-
"<div class='
|
9
|
-
"<
|
10
|
-
"
|
11
|
-
"<pre>#{numbers}</pre>",
|
12
|
-
"</td>",
|
13
|
-
"<td class='main plain'>",
|
14
|
-
"<pre>#{stuff}</pre>",
|
15
|
-
"</td></tr>",
|
16
|
-
"</table></div></figure>"
|
7
|
+
"<figure class='pygments-code-figure'>",
|
8
|
+
"<div class='pygments-code'>",
|
9
|
+
"<pre class='pygments-code-pre plain'>#{stuff}</pre>",
|
10
|
+
"</div></figure>"
|
17
11
|
].join
|
18
12
|
end
|
19
13
|
end
|
20
14
|
|
21
15
|
let(:expected_output_no_options) do
|
22
16
|
stuff = <<-EOF
|
23
|
-
<figure class='code'><div class='
|
24
|
-
</div><div class='line'> </div><div class='line'> def hi-there-honey
|
25
|
-
</div><div class='line'> HiThereHoney.new("your name")
|
26
|
-
</div><div class='line'> end
|
27
|
-
</div><div class='line'> </div><div class='line'> hi-there-honey
|
28
|
-
</div><div class='line'> # =>
|
29
|
-
</div></pre></
|
17
|
+
<figure class='pygments-code-figure'><div class='pygments-code'><pre class='pygments-code-pre plain'><div data-line='1' class='pygments-code-row numbered'><div class='pygments-code-line'> require "hi-there-honey"
|
18
|
+
</div></div><div data-line='2' class='pygments-code-row numbered'><div class='pygments-code-line'> </div></div><div data-line='3' class='pygments-code-row numbered'><div class='pygments-code-line'> def hi-there-honey
|
19
|
+
</div></div><div data-line='4' class='pygments-code-row numbered'><div class='pygments-code-line'> HiThereHoney.new("your name")
|
20
|
+
</div></div><div data-line='5' class='pygments-code-row numbered'><div class='pygments-code-line'> end
|
21
|
+
</div></div><div data-line='6' class='pygments-code-row numbered'><div class='pygments-code-line'> </div></div><div data-line='7' class='pygments-code-row numbered'><div class='pygments-code-line'> hi-there-honey
|
22
|
+
</div></div><div data-line='8' class='pygments-code-row numbered'><div class='pygments-code-line'> # => "Hi, your name"
|
23
|
+
</div></div></pre></div></figure>
|
30
24
|
EOF
|
31
25
|
stuff.strip
|
32
26
|
end
|
33
27
|
|
34
28
|
let(:expected_output_lang_ruby) do
|
35
29
|
stuff = <<-EOF
|
36
|
-
{% raw %}<figure class='code'><div class='
|
37
|
-
</div><div class='line'> </div><div class='line'> <span class="k">def</span> <span class="nf">hi</span><span class="o">-</span><span class="n">there</span><span class="o">-</span><span class="n">honey</span>
|
38
|
-
</div><div class='line'> <span class="no">HiThereHoney</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s2">"your name"</span><span class="p">)</span>
|
39
|
-
</div><div class='line'> <span class="k">end</span>
|
40
|
-
</div><div class='line'> </div><div class='line'> <span class="n">hi</span><span class="o">-</span><span class="n">there</span><span class="o">-</span><span class="n">honey</span>
|
41
|
-
</div><div class='line'> <span class="c1"># =>
|
42
|
-
</div></pre></
|
30
|
+
{% raw %}<figure class='pygments-code-figure'><div class='pygments-code'><pre class='pygments-code-pre ruby'><div data-line='1' class='pygments-code-row numbered'><div class='pygments-code-line'> <span class="nb">require</span> <span class="s2">"hi-there-honey"</span>
|
31
|
+
</div></div><div data-line='2' class='pygments-code-row numbered'><div class='pygments-code-line'> </div></div><div data-line='3' class='pygments-code-row numbered'><div class='pygments-code-line'> <span class="k">def</span> <span class="nf">hi</span><span class="o">-</span><span class="n">there</span><span class="o">-</span><span class="n">honey</span>
|
32
|
+
</div></div><div data-line='4' class='pygments-code-row numbered'><div class='pygments-code-line'> <span class="no">HiThereHoney</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s2">"your name"</span><span class="p">)</span>
|
33
|
+
</div></div><div data-line='5' class='pygments-code-row numbered'><div class='pygments-code-line'> <span class="k">end</span>
|
34
|
+
</div></div><div data-line='6' class='pygments-code-row numbered'><div class='pygments-code-line'> </div></div><div data-line='7' class='pygments-code-row numbered'><div class='pygments-code-line'> <span class="n">hi</span><span class="o">-</span><span class="n">there</span><span class="o">-</span><span class="n">honey</span>
|
35
|
+
</div></div><div data-line='8' class='pygments-code-row numbered'><div class='pygments-code-line'> <span class="c1"># => "Hi, your name"</span>
|
36
|
+
</div></div></pre></div></figure>{% endraw %}
|
43
37
|
EOF
|
44
38
|
end
|
45
39
|
|
@@ -52,7 +46,7 @@ EOF
|
|
52
46
|
end
|
53
47
|
|
54
48
|
hi-there-honey
|
55
|
-
# =>
|
49
|
+
# => "Hi, your name"
|
56
50
|
EOF
|
57
51
|
end
|
58
52
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopress-pygments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Mathis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pygments.rb
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.1.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: octopress-ink
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.0.alpha.14
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.0.alpha.14
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,13 +95,15 @@ files:
|
|
81
95
|
- LICENSE.txt
|
82
96
|
- README.md
|
83
97
|
- Rakefile
|
98
|
+
- assets/stylesheets/_pygments-style.scss
|
99
|
+
- assets/stylesheets/_solarized.scss
|
100
|
+
- assets/stylesheets/code-style.scss
|
84
101
|
- lib/octopress-pygments.rb
|
85
102
|
- lib/octopress-pygments/cache.rb
|
86
103
|
- lib/octopress-pygments/options_parser.rb
|
87
104
|
- lib/octopress-pygments/renderer.rb
|
88
105
|
- lib/octopress-pygments/version.rb
|
89
106
|
- octopress-pygments.gemspec
|
90
|
-
- spec/octopress-pygments_spec.rb
|
91
107
|
- spec/pygments_spec.rb
|
92
108
|
- spec/spec_helper.rb
|
93
109
|
homepage: https://github.com/octopress/octopress-pygments
|
@@ -110,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
126
|
version: '0'
|
111
127
|
requirements: []
|
112
128
|
rubyforge_project:
|
113
|
-
rubygems_version: 2.
|
129
|
+
rubygems_version: 2.1.11
|
114
130
|
signing_key:
|
115
131
|
specification_version: 4
|
116
132
|
summary: Octopress's core plugin for rendering nice code blocks
|
File without changes
|