[Docs] Make syntax highlighting work again.
This commit is contained in:
parent
85b84a2a14
commit
6581420d86
@ -32,7 +32,6 @@ classnames:
|
|||||||
|
|
||||||
The stylesheet should then be linked like so:
|
The stylesheet should then be linked like so:
|
||||||
|
|
||||||
<pre class="source-code html">
|
<pre class="source-code html"><!--[if lt IE 8]><link rel="stylesheet" href="/stylesheets/ie.css"
|
||||||
<!--[if lt IE 8]><link rel="stylesheet" href="/stylesheets/ie.css"
|
type="text/css" media="screen, projection"><![endif]-->
|
||||||
type="text/css" media="screen, projection"><![endif]-->
|
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -40,18 +40,20 @@ body.reference {
|
|||||||
.color-snippet { width: 100px; height: 20px; @include border-radius(3px); }
|
.color-snippet { width: 100px; height: 20px; @include border-radius(3px); }
|
||||||
a.help { font-size: 75%; }
|
a.help { font-size: 75%; }
|
||||||
.mixin-source {
|
.mixin-source {
|
||||||
pre {
|
table { margin: 0; }
|
||||||
|
tbody { width: 100%;}
|
||||||
|
table td:last-child { width: 100%; }
|
||||||
|
.elided-code {display: none;}
|
||||||
|
.elided-code:target {display: block;}
|
||||||
|
pre.source-code,
|
||||||
|
.highlight pre,
|
||||||
|
.linenos pre {
|
||||||
@include box-sizing(border-box);
|
@include box-sizing(border-box);
|
||||||
display: none;
|
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
width: 100%;
|
|
||||||
padding: $base-rhythm-unit;
|
padding: $base-rhythm-unit;
|
||||||
}
|
width: 100%;
|
||||||
pre:target {
|
|
||||||
display: block;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body.docs {
|
body.docs {
|
||||||
@ -99,8 +101,5 @@ dl.table {
|
|||||||
body.helpers {
|
body.helpers {
|
||||||
.helper {
|
.helper {
|
||||||
dl { @extend dl.table; }
|
dl { @extend dl.table; }
|
||||||
dg:not(.head) {
|
|
||||||
dt, dd { @extend code; }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
2
doc-src/content/stylesheets/_syntax.scss
Normal file
2
doc-src/content/stylesheets/_syntax.scss
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
@import "syntax/coderay";
|
||||||
|
@import "syntax/pygments";
|
@ -265,6 +265,7 @@ aside[role="sidebar"] + article
|
|||||||
@import examples
|
@import examples
|
||||||
@import sidebar
|
@import sidebar
|
||||||
@import specifics
|
@import specifics
|
||||||
|
@import syntax
|
||||||
|
|
||||||
/* @group OVERRIDES by page
|
/* @group OVERRIDES by page
|
||||||
|
|
||||||
|
211
doc-src/content/stylesheets/syntax/_coderay.scss
Normal file
211
doc-src/content/stylesheets/syntax/_coderay.scss
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
.CodeRay {
|
||||||
|
.debug {
|
||||||
|
color: white !important;
|
||||||
|
background: blue !important; }
|
||||||
|
.af {
|
||||||
|
color: #0000cc; }
|
||||||
|
.an {
|
||||||
|
color: #000077; }
|
||||||
|
.at {
|
||||||
|
color: #ff0088; }
|
||||||
|
.av {
|
||||||
|
color: #770000; }
|
||||||
|
.aw {
|
||||||
|
color: #cc0000; }
|
||||||
|
.bi {
|
||||||
|
color: #550099;
|
||||||
|
font-weight: bold; }
|
||||||
|
.c {
|
||||||
|
color: #888888; }
|
||||||
|
.ch {
|
||||||
|
color: #0044dd;
|
||||||
|
.k {
|
||||||
|
color: #0044dd; }
|
||||||
|
.dl {
|
||||||
|
color: #003399; } }
|
||||||
|
.cl {
|
||||||
|
color: #bb0066;
|
||||||
|
font-weight: bold; }
|
||||||
|
.cm {
|
||||||
|
color: #aa0088;
|
||||||
|
font-weight: bold; }
|
||||||
|
.co {
|
||||||
|
color: #003366;
|
||||||
|
font-weight: bold; }
|
||||||
|
.cr {
|
||||||
|
color: #00aa00; }
|
||||||
|
.cv {
|
||||||
|
color: #336699; }
|
||||||
|
.de {
|
||||||
|
color: #bb00bb; }
|
||||||
|
.df {
|
||||||
|
color: #009999;
|
||||||
|
font-weight: bold; }
|
||||||
|
.di {
|
||||||
|
color: #008888;
|
||||||
|
font-weight: bold; }
|
||||||
|
.dl {
|
||||||
|
color: black; }
|
||||||
|
.do {
|
||||||
|
color: #997700; }
|
||||||
|
.dt {
|
||||||
|
color: #3344bb; }
|
||||||
|
.ds {
|
||||||
|
color: #dd4422;
|
||||||
|
font-weight: bold; }
|
||||||
|
.e {
|
||||||
|
color: #666666;
|
||||||
|
font-weight: bold; }
|
||||||
|
.en {
|
||||||
|
color: #880000;
|
||||||
|
font-weight: bold; }
|
||||||
|
.er {
|
||||||
|
color: red;
|
||||||
|
background-color: #ffaaaa; }
|
||||||
|
.ex {
|
||||||
|
color: #cc0000;
|
||||||
|
font-weight: bold; }
|
||||||
|
.fl {
|
||||||
|
color: #6600ee;
|
||||||
|
font-weight: bold; }
|
||||||
|
.fu {
|
||||||
|
color: #0066bb;
|
||||||
|
font-weight: bold; }
|
||||||
|
.gv {
|
||||||
|
color: #dd7700;
|
||||||
|
font-weight: bold; }
|
||||||
|
.hx {
|
||||||
|
color: #005588;
|
||||||
|
font-weight: bold; }
|
||||||
|
.i {
|
||||||
|
color: #0000dd;
|
||||||
|
font-weight: bold; }
|
||||||
|
.ic {
|
||||||
|
color: #bb4444;
|
||||||
|
font-weight: bold; }
|
||||||
|
.il {
|
||||||
|
background: #dddddd;
|
||||||
|
color: black;
|
||||||
|
.il {
|
||||||
|
background: #cccccc;
|
||||||
|
.il {
|
||||||
|
background: #bbbbbb; } }
|
||||||
|
.idl {
|
||||||
|
background: #dddddd;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #666666; } }
|
||||||
|
.idl {
|
||||||
|
background-color: #bbbbbb;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #666666; }
|
||||||
|
.im {
|
||||||
|
color: red; }
|
||||||
|
.in {
|
||||||
|
color: #bb22bb;
|
||||||
|
font-weight: bold; }
|
||||||
|
.iv {
|
||||||
|
color: #3333bb; }
|
||||||
|
.la {
|
||||||
|
color: #997700;
|
||||||
|
font-weight: bold; }
|
||||||
|
.lv {
|
||||||
|
color: #996633; }
|
||||||
|
.oc {
|
||||||
|
color: #4400ee;
|
||||||
|
font-weight: bold; }
|
||||||
|
.of {
|
||||||
|
color: black;
|
||||||
|
font-weight: bold; }
|
||||||
|
.pc {
|
||||||
|
color: #003388;
|
||||||
|
font-weight: bold; }
|
||||||
|
.pd {
|
||||||
|
color: #336699;
|
||||||
|
font-weight: bold; }
|
||||||
|
.pp {
|
||||||
|
color: #557799; }
|
||||||
|
.ps {
|
||||||
|
color: #0000cc;
|
||||||
|
font-weight: bold; }
|
||||||
|
.pt {
|
||||||
|
color: #007744;
|
||||||
|
font-weight: bold; }
|
||||||
|
.r, .kw {
|
||||||
|
color: #008800;
|
||||||
|
font-weight: bold; }
|
||||||
|
.ke {
|
||||||
|
color: #880088;
|
||||||
|
.dl {
|
||||||
|
color: #660066; }
|
||||||
|
.ch {
|
||||||
|
color: #8800ff; } }
|
||||||
|
.vl {
|
||||||
|
color: #008888; }
|
||||||
|
.rx {
|
||||||
|
background-color: #fff0ff;
|
||||||
|
.k {
|
||||||
|
color: #880088; }
|
||||||
|
.dl {
|
||||||
|
color: #440044; }
|
||||||
|
.mod {
|
||||||
|
color: #cc22cc; }
|
||||||
|
.fu {
|
||||||
|
color: #440044;
|
||||||
|
font-weight: bold; } }
|
||||||
|
.s {
|
||||||
|
background-color: #fff0f0;
|
||||||
|
color: #dd2200;
|
||||||
|
.s {
|
||||||
|
background-color: #ffe0e0;
|
||||||
|
.s {
|
||||||
|
background-color: #ffd0d0; } }
|
||||||
|
.ch {
|
||||||
|
color: #bb00bb; }
|
||||||
|
.dl {
|
||||||
|
color: #771100; } }
|
||||||
|
.sh {
|
||||||
|
background-color: #f0fff0;
|
||||||
|
color: #22bb22;
|
||||||
|
.dl {
|
||||||
|
color: #116611; } }
|
||||||
|
.sy {
|
||||||
|
color: #aa6600;
|
||||||
|
.k {
|
||||||
|
color: #aa6600; }
|
||||||
|
.dl {
|
||||||
|
color: #663300; } }
|
||||||
|
.ta {
|
||||||
|
color: #007700; }
|
||||||
|
.tf {
|
||||||
|
color: #007700;
|
||||||
|
font-weight: bold; }
|
||||||
|
.ts {
|
||||||
|
color: #dd7700;
|
||||||
|
font-weight: bold; }
|
||||||
|
.ty {
|
||||||
|
color: #333399;
|
||||||
|
font-weight: bold; }
|
||||||
|
.v {
|
||||||
|
color: #003366; }
|
||||||
|
.xt {
|
||||||
|
color: #444444; }
|
||||||
|
.ins {
|
||||||
|
background: #aaffaa; }
|
||||||
|
.del {
|
||||||
|
background: #ffaaaa; }
|
||||||
|
.chg {
|
||||||
|
color: #aaaaff;
|
||||||
|
background: #000077; }
|
||||||
|
.head {
|
||||||
|
color: #ff88ff;
|
||||||
|
background: #550055; }
|
||||||
|
.ins .ins {
|
||||||
|
color: #008800;
|
||||||
|
font-weight: bold; }
|
||||||
|
.del .del {
|
||||||
|
color: #880000;
|
||||||
|
font-weight: bold; }
|
||||||
|
.chg .chg {
|
||||||
|
color: #6666ff; }
|
||||||
|
.head .head {
|
||||||
|
color: #ff44ff; } }
|
151
doc-src/content/stylesheets/syntax/_pygments.scss
Normal file
151
doc-src/content/stylesheets/syntax/_pygments.scss
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
.highlight {
|
||||||
|
.hll {
|
||||||
|
background-color: #ffffcc; }
|
||||||
|
.c {
|
||||||
|
color: #606060;
|
||||||
|
font-style: italic; }
|
||||||
|
.err {
|
||||||
|
color: #f00000;
|
||||||
|
background-color: #f0a0a0; }
|
||||||
|
.k {
|
||||||
|
color: #208090;
|
||||||
|
font-weight: bold; }
|
||||||
|
.o {
|
||||||
|
color: #303030; }
|
||||||
|
.cm {
|
||||||
|
color: #606060;
|
||||||
|
font-style: italic; }
|
||||||
|
.cp {
|
||||||
|
color: #507090; }
|
||||||
|
.c1 {
|
||||||
|
color: #606060;
|
||||||
|
font-style: italic; }
|
||||||
|
.cs {
|
||||||
|
color: #c00000;
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: italic; }
|
||||||
|
.gd {
|
||||||
|
color: #a00000; }
|
||||||
|
.ge {
|
||||||
|
font-style: italic; }
|
||||||
|
.gr {
|
||||||
|
color: red; }
|
||||||
|
.gh {
|
||||||
|
color: navy;
|
||||||
|
font-weight: bold; }
|
||||||
|
.gi {
|
||||||
|
color: #00a000; }
|
||||||
|
.go {
|
||||||
|
color: gray; }
|
||||||
|
.gp {
|
||||||
|
color: #c65d09;
|
||||||
|
font-weight: bold; }
|
||||||
|
.gs {
|
||||||
|
font-weight: bold; }
|
||||||
|
.gu {
|
||||||
|
color: purple;
|
||||||
|
font-weight: bold; }
|
||||||
|
.gt {
|
||||||
|
color: #0040d0; }
|
||||||
|
.kc, .kd, .kn {
|
||||||
|
color: #208090;
|
||||||
|
font-weight: bold; }
|
||||||
|
.kp {
|
||||||
|
color: #0080f0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.kr {
|
||||||
|
color: #208090;
|
||||||
|
font-weight: bold; }
|
||||||
|
.kt {
|
||||||
|
color: #6060f0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.m {
|
||||||
|
color: #6000e0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.s {
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.na {
|
||||||
|
color: #000070; }
|
||||||
|
.nb {
|
||||||
|
color: #007020; }
|
||||||
|
.nc {
|
||||||
|
color: #e090e0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.no {
|
||||||
|
color: #50e0d0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.nd {
|
||||||
|
color: #505050;
|
||||||
|
font-weight: bold; }
|
||||||
|
.ni {
|
||||||
|
color: maroon; }
|
||||||
|
.ne {
|
||||||
|
color: #f00000;
|
||||||
|
font-weight: bold; }
|
||||||
|
.nf {
|
||||||
|
color: #50e0d0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.nl {
|
||||||
|
color: #907000;
|
||||||
|
font-weight: bold; }
|
||||||
|
.nn {
|
||||||
|
color: #0e84b5;
|
||||||
|
font-weight: bold; }
|
||||||
|
.nt {
|
||||||
|
color: #007000; }
|
||||||
|
.nv {
|
||||||
|
color: #003060; }
|
||||||
|
.ow {
|
||||||
|
color: black;
|
||||||
|
font-weight: bold; }
|
||||||
|
.w {
|
||||||
|
color: #bbbbbb; }
|
||||||
|
.mf {
|
||||||
|
color: #6000e0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.mh {
|
||||||
|
color: #005080;
|
||||||
|
font-weight: bold; }
|
||||||
|
.mi {
|
||||||
|
color: #6060f0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.mo {
|
||||||
|
color: #4000e0;
|
||||||
|
font-weight: bold; }
|
||||||
|
.sb {
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.sc {
|
||||||
|
color: #8080f0; }
|
||||||
|
.sd {
|
||||||
|
color: #d04020; }
|
||||||
|
.s2 {
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.se {
|
||||||
|
color: #606060;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.sh {
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.si {
|
||||||
|
background-color: #e0e0e0; }
|
||||||
|
.sx {
|
||||||
|
color: #f08080;
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.sr {
|
||||||
|
color: black;
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.s1 {
|
||||||
|
background-color: #e0e0ff; }
|
||||||
|
.ss {
|
||||||
|
color: #f0c080; }
|
||||||
|
.bp {
|
||||||
|
color: #007020; }
|
||||||
|
.vc {
|
||||||
|
color: #c0c0f0; }
|
||||||
|
.vg {
|
||||||
|
color: #f08040; }
|
||||||
|
.vi {
|
||||||
|
color: #a0a0f0; }
|
||||||
|
.il {
|
||||||
|
color: #6060f0;
|
||||||
|
font-weight: bold; } }
|
@ -10,8 +10,8 @@
|
|||||||
%h3.mixin{:id=>"mixin-#{mixin.name}"}
|
%h3.mixin{:id=>"mixin-#{mixin.name}"}
|
||||||
%a.permalink{:href => "#mixin-#{mixin.name}"}= mixin_signature(mixin)
|
%a.permalink{:href => "#mixin-#{mixin.name}"}= mixin_signature(mixin)
|
||||||
.mixin-source{:id=>"mixin-#{mixin.name}-source"}
|
.mixin-source{:id=>"mixin-#{mixin.name}-source"}
|
||||||
%pre{:id=>"mixin-#{mixin.name}-sass"}= mixin.to_sass
|
%pre.source-code.sass.elided-code{:id=>"mixin-#{mixin.name}-sass"}= mixin.to_sass
|
||||||
%pre{:id=>"mixin-#{mixin.name}-scss"}= mixin.to_scss
|
%pre.source-code.scss.elided-code{:id=>"mixin-#{mixin.name}-scss"}= mixin.to_scss
|
||||||
|
|
||||||
.source-documentation
|
.source-documentation
|
||||||
= format_doc(mixin.comment)
|
= format_doc(mixin.comment)
|
||||||
|
11
doc-src/lib/data_sources/core_extensions.rb
Normal file
11
doc-src/lib/data_sources/core_extensions.rb
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
class Object
|
||||||
|
def try(method, *args, &block)
|
||||||
|
send(method, *args, &block)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class NilClass
|
||||||
|
def try(*args)
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end
|
@ -10,7 +10,8 @@ class SyntaxHighlighterFilter < Nanoc3::Filter
|
|||||||
end
|
end
|
||||||
|
|
||||||
def pygmentize(code, type)
|
def pygmentize(code, type)
|
||||||
IO.popen("pygmentize -l #{type} -f html -O linenos=table", "r+") do |io|
|
# -O linenos=table
|
||||||
|
IO.popen("pygmentize -l #{type} -f html", "r+") do |io|
|
||||||
io.write(code)
|
io.write(code)
|
||||||
io.close_write
|
io.close_write
|
||||||
return io.read
|
return io.read
|
||||||
@ -18,14 +19,21 @@ class SyntaxHighlighterFilter < Nanoc3::Filter
|
|||||||
end
|
end
|
||||||
|
|
||||||
def coderay(code, type)
|
def coderay(code, type)
|
||||||
CodeRay.scan(code, type).div(:line_numbers => :table, :css => :class)
|
# :line_numbers => :table,
|
||||||
|
type = :css if type == :scss
|
||||||
|
CodeRay.scan(code, type).div(:css => :class)
|
||||||
end
|
end
|
||||||
|
|
||||||
def run(content, params={})
|
def run(content, params={})
|
||||||
doc = Nokogiri::HTML.fragment(content)
|
doc = Nokogiri::HTML.fragment(content)
|
||||||
[:html, :css, :sass].each do |format|
|
[:html, :css, :sass].each do |format|
|
||||||
doc.css("pre.source-code.#{format}, code.#{format}").each do |el|
|
doc.css("pre.source-code.#{format}, code.#{format}").each do |el|
|
||||||
el.replace Nokogiri.make(highlight(el.inner_text, format))
|
new_element = Nokogiri.make(highlight(el.inner_text, format))
|
||||||
|
new_element.set_attribute("class", new_element.attribute("class").value+" "+el.attribute("class").value)
|
||||||
|
if id = el.attribute("id")
|
||||||
|
new_element.set_attribute("id", id)
|
||||||
|
end
|
||||||
|
el.replace new_element
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
doc.to_s
|
doc.to_s
|
||||||
|
Loading…
Reference in New Issue
Block a user