utopia-project 0.13.2 → 0.15.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/lib/utopia/project/base.md +7 -0
- data/lib/utopia/project/base.rb +14 -0
- data/lib/utopia/project/document.rb +1 -1
- data/lib/utopia/project/version.rb +1 -1
- data/pages/_page.xnode +0 -1
- data/pages/index.xnode +3 -1
- data/pages/source/show.xnode +3 -1
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +17 -0
- data/public/_components/jquery-syntax/jquery.syntax.core.js +2 -2
- data/public/_static/site.css +22 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0e365f1d79016583ca1eca558712eb3e314953bc74bd6404a399628972b3168
|
4
|
+
data.tar.gz: a06103edc45d87120f2c531252f5399884eee051efb7f7b0b7fd6edac4de4d90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bb1887c856a24b2360c1101b1c377eff4c15d7bb3322f8318057815a3ff056c712427a2c70164337987905b58b0bdcaad134cdad4c44ef3baedca4be0fcba85e
|
7
|
+
data.tar.gz: 00a55cfb9f18fd62e3e178c3fb183375d5640eedcac3f204957f6582b84a07875b458c8022ebe3bfde8ead2d9791a2905eae8fa6f2554e8d938378ad501e7f20
|
data/lib/utopia/project/base.rb
CHANGED
@@ -106,6 +106,20 @@ module Utopia
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
+
def document_for(definition)
|
110
|
+
document_path = File.join("lib", definition.lexical_path.map{|_| _.to_s.downcase}) + ".md"
|
111
|
+
|
112
|
+
if File.exist?(document_path)
|
113
|
+
document = self.document(File.read(document_path), definition)
|
114
|
+
|
115
|
+
if document.first_child.type == :header
|
116
|
+
document.first_child.delete
|
117
|
+
end
|
118
|
+
|
119
|
+
return document
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
109
123
|
def linkify(text, definition, language: definition&.language)
|
110
124
|
rewriter = Linkify.new(self, language, text)
|
111
125
|
|
data/pages/_page.xnode
CHANGED
@@ -18,7 +18,6 @@
|
|
18
18
|
<script src="/_components/jquery/jquery.min.js"></script>
|
19
19
|
<script src="/_components/jquery-syntax/jquery.syntax.min.js"></script>
|
20
20
|
|
21
|
-
<script src="/_components/lunr/lunr.min.js"></script>
|
22
21
|
<script src="/_static/links.js"></script>
|
23
22
|
|
24
23
|
<script type="text/javascript">
|
data/pages/index.xnode
CHANGED
@@ -12,7 +12,9 @@
|
|
12
12
|
when :text
|
13
13
|
?><content:heading>#{title.string_content}</content:heading><?r
|
14
14
|
when :image
|
15
|
-
|
15
|
+
self.document.attributes[:title] ||= title.to_plaintext
|
16
|
+
|
17
|
+
?><h1><img src="#{title.url}" /></h1><?r
|
16
18
|
else
|
17
19
|
?><content:heading>Project</content:heading><?r
|
18
20
|
end
|
data/pages/source/show.xnode
CHANGED
@@ -7,7 +7,9 @@
|
|
7
7
|
<content:heading><code class="language-#{symbol.language.name}">#{symbol.qualified_name}</code></content:heading>
|
8
8
|
|
9
9
|
<?r
|
10
|
-
if
|
10
|
+
if document = base.document_for(symbol)
|
11
|
+
?>#{document.to_html}<?r
|
12
|
+
elsif documentation = symbol.documentation
|
11
13
|
?>#{base.format(documentation.text.join("\n"), symbol)}<?r
|
12
14
|
end
|
13
15
|
?>
|
@@ -16,3 +16,20 @@
|
|
16
16
|
color: #666;
|
17
17
|
background-color: #ddd;
|
18
18
|
border-radius: 0.5em; }
|
19
|
+
|
20
|
+
@media (prefers-color-scheme: dark) {
|
21
|
+
.syntax-theme-base .xml .cdata-content {
|
22
|
+
color: #a46; }
|
23
|
+
.syntax-theme-base .xml .xml-tag, .syntax-theme-base .xml .cdata {
|
24
|
+
color: #c59de7; }
|
25
|
+
.syntax-theme-base .xml .tag-name, .syntax-theme-base .xml .cdata-tag {
|
26
|
+
color: #9ae; }
|
27
|
+
.syntax-theme-base .xml .namespace {
|
28
|
+
color: #c59de7; }
|
29
|
+
.syntax-theme-base .xml .attribute {
|
30
|
+
color: #c59de7; }
|
31
|
+
.syntax-theme-base .xml .instruction {
|
32
|
+
color: #c59de7; }
|
33
|
+
.syntax-theme-base .xml .entity, .syntax-theme-base .xml .percent-escape {
|
34
|
+
color: #999;
|
35
|
+
background-color: #333; } }
|
@@ -9,8 +9,8 @@ Syntax.lib.camelCaseType={pattern:/\b_*[A-Z][\w]*\b/g,klass:"type"};Syntax.lib.c
|
|
9
9
|
Syntax.lib.doubleQuotedString={pattern:/"([^\\"\n]|\\.)*"/g,klass:"string"};Syntax.lib.singleQuotedString={pattern:/'([^\\'\n]|\\.)*'/g,klass:"string"};Syntax.lib.multiLineDoubleQuotedString={pattern:/"([^\\"]|\\.)*"/g,klass:"string"};Syntax.lib.multiLineSingleQuotedString={pattern:/'([^\\']|\\.)*'/g,klass:"string"};Syntax.lib.stringEscape={pattern:/\\./g,klass:"escape",only:["string"]};
|
10
10
|
Syntax.Match=function(b,a,c,d){this.offset=b;this.endOffset=b+a;this.length=a;this.expression=c;this.value=d;this.children=[];this.next=this.parent=null};Syntax.Match.prototype.shift=function(b,a){this.adjust(b,null,a);for(var c=0;c<this.children.length;c++)this.children[c].shift(b,a)};Syntax.Match.prototype.adjust=function(b,a,c){this.offset+=b;this.endOffset+=b;a&&(this.length=a,this.endOffset=this.offset+a);c&&(this.value=c.substr(this.offset,this.length))};
|
11
11
|
Syntax.Match.sort=function(b,a){return b.offset-a.offset||a.length-b.length};Syntax.Match.prototype.contains=function(b){return b.offset>=this.offset&&b.endOffset<=this.endOffset};Syntax.Match.defaultReduceCallback=function(b,a){"string"===typeof b&&(b=document.createTextNode(b));a.appendChild(b)};
|
12
|
-
Syntax.Match.prototype.reduce=function(b,a){var c=this.offset
|
13
|
-
this.offset,g-c);b(c,d);b(f.reduce(b,a),d);c=f.endOffset}c===this.offset?b(this.value,d):c<this.endOffset?b(this.value.substr(c-this.offset,this.endOffset-c),d):c>this.endOffset&&console.log("Syntax Warning: Start position "+c+" exceeds end of value "+this.endOffset);a&&(d=a(d,this));return d};
|
12
|
+
Syntax.Match.prototype.reduce=function(b,a){var c=this.offset;var d=this.expression&&this.expression.element?this.expression.element.cloneNode(!1):document.createElement("span");b=b||Syntax.Match.defaultReduceCallback;this.expression&&this.expression.klass&&(0<d.className.length&&(d.className+=" "),d.className+=this.expression.klass);this.className&&(d.className+=" ",d.className+=this.className);for(var e=0;e<this.children.length;e+=1){var f=this.children[e],g=f.offset;f.offset<this.offset&&console.log("Syntax Warning: Offset of child",
|
13
|
+
f,"is before offset of parent",this);c=this.value.substr(c-this.offset,g-c);b(c,d);b(f.reduce(b,a),d);c=f.endOffset}c===this.offset?b(this.value,d):c<this.endOffset?b(this.value.substr(c-this.offset,this.endOffset-c),d):c>this.endOffset&&console.log("Syntax Warning: Start position "+c+" exceeds end of value "+this.endOffset);a&&(d=a(d,this));return d};
|
14
14
|
Syntax.Match.prototype.canContain=function(b){return b.expression.force?!0:this.complete?!1:b.expression.only?!0:"undefined"===typeof this.expression.allow||jQuery.isArray(this.expression.disallow)&&-1!==jQuery.inArray(b.expression.klass,this.expression.disallow)?!1:"*"===this.expression.allow||jQuery.isArray(this.expression.allow)&&-1!==jQuery.inArray(b.expression.klass,this.expression.allow)?!0:!1};
|
15
15
|
Syntax.Match.prototype.canHaveChild=function(b){if(b=b.expression.only){for(var a=this;null!==a;){if(-1!==jQuery.inArray(a.expression.klass,b))return!0;if((a=a.parent)&&a.complete)break}return!1}return!0};Syntax.Match.prototype._splice=function(b,a){return this.canHaveChild(a)?(this.children.splice(b,0,a),a.parent=this,a.expression.owner||(a.expression.owner=this.expression.owner),this):null};
|
16
16
|
Syntax.Match.prototype.insert=function(b,a){if(!this.contains(b))return null;if(a){a=this;for(var c=0;c<a.children.length;)a.children[c].contains(b)?(a=a.children[c],c=0):c+=1;return a._insertWhole(b)}return this._insert(b)};
|
data/public/_static/site.css
CHANGED
@@ -48,7 +48,7 @@ html {
|
|
48
48
|
--main-color: #111;
|
49
49
|
--main-background-color: #fff;
|
50
50
|
|
51
|
-
--header-color: #
|
51
|
+
--header-color: #dfebff;
|
52
52
|
--underlay-color: #ddd;
|
53
53
|
|
54
54
|
--accent-color: #1a73e8;
|
@@ -131,7 +131,10 @@ footer {
|
|
131
131
|
|
132
132
|
h1, h2, h3, h4, h5, h6, p, pre, ul, dl, ol {
|
133
133
|
margin: 1rem;
|
134
|
-
|
134
|
+
}
|
135
|
+
|
136
|
+
pre {
|
137
|
+
margin: 2rem 1rem;
|
135
138
|
}
|
136
139
|
|
137
140
|
h1 span {
|
@@ -237,3 +240,20 @@ figure.youtube-wrapper iframe {
|
|
237
240
|
height: 100%;
|
238
241
|
border: 0;
|
239
242
|
}
|
243
|
+
|
244
|
+
table {
|
245
|
+
width: 100%;
|
246
|
+
margin: 1rem;
|
247
|
+
|
248
|
+
border-collapse: collapse;
|
249
|
+
width: calc(100% - 2rem);
|
250
|
+
}
|
251
|
+
|
252
|
+
table thead {
|
253
|
+
background-color: var(--header-color);
|
254
|
+
border-bottom: 0.2rem solid var(--accent-color);
|
255
|
+
}
|
256
|
+
|
257
|
+
table tr:hover {
|
258
|
+
background-color: var(--header-color);
|
259
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utopia-project
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: utopia
|
@@ -187,6 +187,7 @@ extra_rdoc_files: []
|
|
187
187
|
files:
|
188
188
|
- bake/utopia/project.rb
|
189
189
|
- lib/utopia/project.rb
|
190
|
+
- lib/utopia/project/base.md
|
190
191
|
- lib/utopia/project/base.rb
|
191
192
|
- lib/utopia/project/document.rb
|
192
193
|
- lib/utopia/project/guide.rb
|