utopia-project 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +13 -0
- data/.github/workflows/development.yml +62 -0
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/.yarnrc +1 -0
- data/README.md +41 -0
- data/bake/utopia/project.rb +32 -0
- data/gems.rb +4 -0
- data/guides/documentation-formatting/README.md +55 -0
- data/guides/github-pages-integration/README.md +17 -0
- data/lib/utopia/project/base.rb +167 -0
- data/lib/utopia/project/guide.rb +131 -0
- data/lib/utopia/project/version.rb +27 -0
- data/lib/utopia/project.rb +98 -0
- data/package.json +6 -0
- data/pages/_heading.xnode +3 -0
- data/pages/_navigation.xnode +23 -0
- data/pages/_page.xnode +32 -0
- data/pages/_thumbnail.xnode +8 -0
- data/pages/_usage.xnode +21 -0
- data/pages/controller.rb +29 -0
- data/pages/errors/exception.xnode +5 -0
- data/pages/errors/file-not-found.xnode +5 -0
- data/pages/guides/controller.rb +18 -0
- data/pages/guides/index.xnode +17 -0
- data/pages/guides/show.xnode +24 -0
- data/pages/index.xnode +9 -0
- data/pages/links.yaml +4 -0
- data/pages/source/controller.rb +18 -0
- data/pages/source/index.xnode +34 -0
- data/pages/source/show.xnode +63 -0
- data/public/.nojekyll +0 -0
- data/public/_components/jquery/jquery.js +10872 -0
- data/public/_components/jquery/jquery.min.js +2 -0
- data/public/_components/jquery/jquery.min.map +1 -0
- data/public/_components/jquery/jquery.slim.js +8777 -0
- data/public/_components/jquery/jquery.slim.min.js +2 -0
- data/public/_components/jquery/jquery.slim.min.map +1 -0
- data/public/_components/jquery-litebox/jquery.litebox.css +23 -0
- data/public/_components/jquery-litebox/jquery.litebox.gallery.css +48 -0
- data/public/_components/jquery-litebox/jquery.litebox.js +30 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +12 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +5 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +8 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +6 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +4 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +6 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.css.css +14 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +16 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.html.css +5 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +3 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +2 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.python.css +6 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +2 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +18 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.core.css +58 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.editor.css +6 -0
- data/public/_components/jquery-syntax/base/theme.js +1 -0
- data/public/_components/jquery-syntax/bright/jquery.syntax.core.css +27 -0
- data/public/_components/jquery-syntax/bright/theme.js +1 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.apache.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.applescript.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.assembly.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.bash.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.basic.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.clang.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.csharp.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.css.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.diff.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.go.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.haskell.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.html.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.io.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.java.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.javascript.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.kai.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.lisp.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.lua.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.nginx.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.ooc.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.pascal.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.perl5.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.php-script.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.php.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.plain.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.python.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.ruby.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.scala.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.sql.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.swift.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.trenni.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.xml.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.yaml.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.cache.js +7 -0
- data/public/_components/jquery-syntax/jquery.syntax.core.js +34 -0
- data/public/_components/jquery-syntax/jquery.syntax.editor.js +11 -0
- data/public/_components/jquery-syntax/jquery.syntax.js +8 -0
- data/public/_components/jquery-syntax/jquery.syntax.min.js +13 -0
- data/public/_components/jquery-syntax/paper/jquery.syntax.core.css +31 -0
- data/public/_components/jquery-syntax/paper/theme.js +1 -0
- data/public/_static/icon.png +0 -0
- data/public/_static/site.css +197 -0
- data/template/Gemfile +6 -0
- data/template/config.ru +6 -0
- data/template/preload.rb +2 -0
- data/utopia-project.gemspec +38 -0
- data/yarn.lock +22 -0
- metadata +351 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
|
2
|
+
RegExp.prototype.indexOf||(RegExp.indexOf=function(a,b){return a[0].indexOf(a[b])+a.index});RegExp.prototype.escape||(RegExp.escape=function(a){return a.replace(/[\-\[\]{}()*+?.\\\^$|,#\s]/g,"\\$&")});String.prototype.repeat||(String.prototype.repeat=function(a){return Array(a+1).join(this)});Syntax.innerText=function(a){var b;if(!a)return"";if("BR"==a.nodeName)return"\n";a.textContent?b=a.textContent:document.body.innerText&&(b=a.innerText);return b.replace(/\r\n?/g,"\n")};
|
3
|
+
Syntax.extractTextFromSelection=function(a){for(var b="",c=0;c<a.rangeCount;c+=1)var d=a.getRangeAt(c).toString(),b=b+d;return b};Syntax.copyCode=function(a){var b=window.getSelection(),b=Syntax.extractTextFromSelection(b);a.clipboardData.setData("text/plain",b);return!1};
|
4
|
+
Syntax.extractElementMatches=function(a,b){var c=[];b=b||0;(function(a){for(var e=0;a[e];e++){var f=null,g=a[e];3===g.nodeType||4===g.nodeType?b+=g.nodeValue.length:1===g.nodeType&&(f=Syntax.innerText(g),c.push(new Syntax.Match(b,f.length,{klass:g.className,force:!0,element:g,allow:"*"},f)));8!==g.nodeType&&g.children&&arguments.callee(g.childNodes,b)}})(a);c.shift();return c};
|
5
|
+
Syntax.extractMatches=function(){var a=arguments;return function(b,c){for(var d=[],e=0;e<a.length;e+=1){var f=a[e],g=e+1;null!=f&&("undefined"!=typeof f.index&&(g=f.index),f.debug&&console.log("extractMatches",f,g,b[g],b),0<b[g].length&&(f.brush?d.push(Syntax.Brush.buildTree(f,b[g],RegExp.indexOf(b,g))):(f=jQuery.extend({owner:c.owner},f),d.push(new Syntax.Match(RegExp.indexOf(b,g),b[g].length,f,b[g])))))}return d}};
|
6
|
+
Syntax.lib.webLinkProcess=function(a,b){b&&(a="http://www.google.com/search?btnI=I&q="+encodeURIComponent(a+" "));return function(b,d,e){if(!1===e.linkify)return b;d=document.createElement("a");d.href=a+encodeURIComponent(Syntax.innerText(b));for(d.className=b.className;0<b.childNodes.length;)d.appendChild(b.childNodes[0]);return d}};Syntax.register=function(a,b){var c=Syntax.brushes[a]=new Syntax.Brush;c.klass=a;b(c)};Syntax.lib.cStyleComment={pattern:/\/\*[\s\S]*?\*\//gm,klass:"comment",allow:["href"]};
|
7
|
+
Syntax.lib.cppStyleComment={pattern:/\/\/.*$/gm,klass:"comment",allow:["href"]};Syntax.lib.perlStyleComment={pattern:/#.*$/gm,klass:"comment",allow:["href"]};Syntax.lib.perlStyleRegularExpression={pattern:/\B\/([^\\\/]|\\.)*\/[a-z]*(?=\s*($|[^\w\s'"\(]))/gm,klass:"constant",incremental:!0};Syntax.lib.rubyStyleRegularExpression={pattern:/\B\/([^\\\/]|\\.)*\/[a-z]*(?=\s*($|[^\w\s'"\(]|do))/gm,klass:"constant",incremental:!0};Syntax.lib.cStyleFunction={pattern:/([a-z_][a-z0-9_]*)\s*\(/gi,matches:Syntax.extractMatches({klass:"function"})};
|
8
|
+
Syntax.lib.camelCaseType={pattern:/\b_*[A-Z][\w]*\b/g,klass:"type"};Syntax.lib.cStyleType={pattern:/\b[_a-z][_\w]*_t\b/gi,klass:"type"};Syntax.lib.xmlComment={pattern:/(<|<)!--[\s\S]*?--(>|>)/gm,klass:"comment"};Syntax.lib.webLink={pattern:/\w+:\/\/[\w\-.\/?%&=@:;#]*/g,klass:"href"};Syntax.lib.hexNumber={pattern:/\b0x[0-9a-fA-F]+/g,klass:"constant"};Syntax.lib.decimalNumber={pattern:/\b[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/g,klass:"constant"};
|
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
|
+
Syntax.Match=function(a,b,c,d){this.offset=a;this.endOffset=a+b;this.length=b;this.expression=c;this.value=d;this.children=[];this.next=this.parent=null};Syntax.Match.prototype.shift=function(a,b){this.adjust(a,null,b);for(var c=0;c<this.children.length;c++)this.children[c].shift(a,b)};Syntax.Match.prototype.adjust=function(a,b,c){this.offset+=a;this.endOffset+=a;b&&(this.length=b,this.endOffset=this.offset+b);c&&(this.value=c.substr(this.offset,this.length))};
|
11
|
+
Syntax.Match.sort=function(a,b){return a.offset-b.offset||b.length-a.length};Syntax.Match.prototype.contains=function(a){return a.offset>=this.offset&&a.endOffset<=this.endOffset};Syntax.Match.defaultReduceCallback=function(a,b){"string"===typeof a&&(a=document.createTextNode(a));b.appendChild(a)};
|
12
|
+
Syntax.Match.prototype.reduce=function(a,b){var c=this.offset,d=document.createElement("span");a=a||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",f,"is before offset of parent",this);c=this.value.substr(c-
|
13
|
+
this.offset,g-c);a(c,d);a(f.reduce(a,b),d);c=f.endOffset}c===this.offset?a(this.value,d):c<this.endOffset?a(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);b&&(d=b(d,this));return d};
|
14
|
+
Syntax.Match.prototype.canContain=function(a){return a.expression.force?!0:this.complete?!1:a.expression.only?!0:"undefined"===typeof this.expression.allow||jQuery.isArray(this.expression.disallow)&&-1!==jQuery.inArray(a.expression.klass,this.expression.disallow)?!1:"*"===this.expression.allow||jQuery.isArray(this.expression.allow)&&-1!==jQuery.inArray(a.expression.klass,this.expression.allow)?!0:!1};
|
15
|
+
Syntax.Match.prototype.canHaveChild=function(a){if(a=a.expression.only){for(var b=this;null!==b;){if(-1!==jQuery.inArray(b.expression.klass,a))return!0;if((b=b.parent)&&b.complete)break}return!1}return!0};Syntax.Match.prototype._splice=function(a,b){return this.canHaveChild(b)?(this.children.splice(a,0,b),b.parent=this,b.expression.owner||(b.expression.owner=this.expression.owner),this):null};
|
16
|
+
Syntax.Match.prototype.insert=function(a,b){if(!this.contains(a))return null;if(b){for(var c=this,d=0;d<c.children.length;)c.children[d].contains(a)?(c=c.children[d],d=0):d+=1;return c._insertWhole(a)}return this._insert(a)};
|
17
|
+
Syntax.Match.prototype._insertWhole=function(a){var b=this.bisectAtOffsets([a.offset,a.endOffset]);this.children=[];b[0]&&(this.children=this.children.concat(b[0].children));if(b[1]){a.children=[];this.expression&&this.expression.owner&&(a.expression=this.expression.owner.getRuleForKlass(a.expression.klass)||a.expression);for(var c=0;c<b[1].children.length;c+=1){var d=b[1].children[c];a.canContain(d)&&a.children.push(d)}this.children.push(a)}b[2]&&(this.children=this.children.concat(b[2].children));
|
18
|
+
return this};Syntax.Match.prototype.insertAtEnd=function(a){if(!this.contains(a))return console.log("Syntax Error: Child is not contained in parent node!"),null;if(!this.canContain(a))return null;if(0<this.children.length){var b=this.children.length-1,c=this.children[b];return a.offset<c.offset?a.force?this._insert(a):null:a.offset<c.endOffset?a.endOffset<=c.endOffset?c.insertAtEnd(a):a.force?this._insert(a):null:this._splice(b+1,a)}return this._splice(0,a)};
|
19
|
+
Syntax.Match.prototype._insert=function(a){if(0==this.children.length)return this._splice(0,a);for(var b=0;b<this.children.length;b+=1){var c=this.children[b];if(a.endOffset<=c.offset)return this._splice(b,a);if(!(a.offset>=c.endOffset)){if(c.contains(a))return c._insert(a);a=a.bisectAtOffsets([c.offset,c.endOffset]);a[0]&&this._splice(b,a[0]);a[1]&&c.insert(a[1]);if(a[2])a=a[2];else return this}}this._splice(this.children.length,a)};
|
20
|
+
Syntax.Match.prototype.bisectAtOffsets=function(a){var b=[],c=this.offset,d=null,e=jQuery.merge([],this.children);a=a.slice(0);a.push(this.endOffset);a.sort(function(a,b){return a-b});for(var f=0;f<a.length;f+=1){var g=a[f];if(g>this.endOffset)break;g<this.offset||0==g-c?(b.push(null),c=g):(c<this.offset&&(c=this.offset),g=new Syntax.Match(c,g-c,this.expression),g.value=this.value.substr(c-this.offset,g.length),d&&(d.next=g),d=g,c=g.endOffset,b.push(g))}a.length=b.length;for(f=0;f<b.length;f+=1)if(null!=
|
21
|
+
b[f]){for(g=a[0];0<e.length;)if(e[0].endOffset<=b[f].endOffset)b[f].children.push(e.shift());else break;if(e.length&&e[0].offset<b[f].endOffset){c=e.shift().bisectAtOffsets(a);for(d=0;d<c.length;d+=1)null!=c[d]&&b[f+d].children.push(c[d]);f+=c.length-2;a.splice(0,c.length-2)}a.shift()}e.length&&console.log("Syntax Error: Children nodes not consumed",e.length," remaining!");return b};
|
22
|
+
Syntax.Match.prototype.split=function(a){for(var b=[];null!==a.exec(this.value);)b.push(a.lastIndex);a=this.bisectAtOffsets(b);return jQuery.grep(a,function(a,b){return a})};
|
23
|
+
Syntax.Match.prototype.splitLines=function(){for(var a=this.split(/\n/g),b=0;b<a.length;b+=1){var c=a[b],d=c.value.search(/\S/),e=new Syntax.Match(c.offset,c.length,c.expression,c.value);0<d?(c=c.bisectAtOffsets([c.offset+d]),e.children=c,c[0].expression={klass:"indent"},c[1].expression={klass:"text"}):(c.expression={klass:"text"},e.children=[c]);a[b]=e}return a};Syntax.Brush=function(){this.klass=null;this.rules=[];this.parents=[];this.processes={}};
|
24
|
+
Syntax.Brush.prototype.derives=function(a){this.parents.push(a);this.rules.push({apply:function(b,c){return Syntax.brushes[a].getMatches(b)}})};Syntax.Brush.prototype.allKlasses=function(){for(var a=[this.klass],b=0;b<this.parents.length;b+=1)a=a.concat(Syntax.brushes[this.parents[b]].allKlasses());return a};Syntax.Brush.convertStringToTokenPattern=function(a,b){var c="\\b",d="\\b";a.match(/^\w/)?a.match(/\w$/)||(d="\\B"):c=a.match(/\w$/)?"\\B":d="";b&&(a=RegExp.escape(a));return c+a+d};
|
25
|
+
Syntax.Brush.MatchPattern=function(a,b){if(!b.pattern)return[];var c=[],d=RegExp();for(d.compile(b.pattern);null!==(match=d.exec(a));)b.matches?c=c.concat(b.matches(match,b)):b.brush?c.push(Syntax.Brush.buildTree(b,match[0],match.index)):c.push(new Syntax.Match(match.index,match[0].length,b,match[0])),b.incremental&&(d.lastIndex=match.index+1);return c};
|
26
|
+
Syntax.Brush.prototype.push=function(a,b){if(jQuery.isArray(a)){for(var c=b,d="(",e=0;e<a.length;e+=1){0<e&&(d+="|");var f=a[e],d=f instanceof RegExp?d+f.source:d+Syntax.Brush.convertStringToTokenPattern(f,!0)}this.push(jQuery.extend({pattern:RegExp(d+")",c.options||"g")},c))}else c=a,"string"===typeof c.pattern&&(c.string=c.pattern,c.pattern=RegExp(Syntax.Brush.convertStringToTokenPattern(c.string,!0),c.options||"g")),"undefined"!==typeof XRegExp&&(c.pattern=new XRegExp(c.pattern)),c.apply=c.apply||
|
27
|
+
Syntax.Brush.MatchPattern,c.pattern&&c.pattern.global||"undefined"==typeof c.pattern?this.rules.push(jQuery.extend({owner:this},c)):console.log("Syntax Error: Malformed rule: ",c)};Syntax.Brush.prototype.getMatchesForRule=function(a,b){var c=[];"undefined"!=typeof b.apply&&(c=b.apply(a,b));b.debug&&console.log("Syntax matches:",b,a,c);return c};Syntax.Brush.prototype.getRuleForKlass=function(a){for(var b=0;b<this.rules.length;b+=1)if(this.rules[b].klass==a)return this.rules[b];return null};
|
28
|
+
Syntax.Brush.prototype.getMatches=function(a){for(var b=[],c=0;c<this.rules.length;c+=1)b=b.concat(this.getMatchesForRule(a,this.rules[c]));return b};Syntax.Brush.buildTree=function(a,b,c,d){b=Syntax.brushes[a.brush].buildTree(b,c,d);jQuery.extend(b.expression,a);return b};
|
29
|
+
Syntax.Brush.prototype.buildTree=function(a,b,c){b=b||0;a=a.replace(/\r/g,"");var d=this.getMatches(a);if(b&&0<b)for(var e=0;e<d.length;e+=1)d[e].shift(b);a=new Syntax.Match(b,a.length,{klass:this.allKlasses().join(" "),allow:"*",owner:this},a);d.sort(Syntax.Match.sort);for(e=0;e<d.length;e+=1)a.insertAtEnd(d[e]);if(c)for(e=0;e<c.length;e+=1)a.insert(c[e],!0);a.complete=!0;return a};
|
30
|
+
Syntax.Brush.prototype.process=function(a,b,c){a=this.buildTree(a,0,b).splitLines();b=document.createElement("code");b.className="syntax highlighted";for(var d=0;d<a.length;d+=1){var e=a[d].reduce(null,function(a,b){if(b.expression&&(b.expression.process&&(a=b.expression.process(a,b,c)),b.expression.owner)){var d=b.expression.owner.processes[b.expression.klass];d&&(a=d(a,b,c))}return a});b.appendChild(e)}return b};
|
31
|
+
Syntax.highlightText=function(a,b,c,d,e){b=(b||"plain").toLowerCase();b=Syntax.aliases[b]||b;Syntax.brushes.get(b,function(b){var g=b.process(a,c,d);d.linkify&&jQuery("span.href",g).each(function(){jQuery(this).replaceWith(jQuery("<a>").attr("href",this.innerHTML).text(this.innerHTML))});e(g,b,a,d)})};
|
32
|
+
Syntax.extractBrushName=function(a){a=a.toLowerCase();var b=a.match(/(brush|language)-([\S]+)/);if(b)return b[2];a=a.split(/ /);if(-1!==jQuery.inArray("syntax",a))for(b=0;b<a.length;b+=1){var c=Syntax.aliases[a[b]];if(c)return c}return null};
|
33
|
+
Syntax.highlight=function(a,b,c){a.each(function(){var a=jQuery(this),e=b.brush||Syntax.extractBrushName(this.className),f=Syntax.innerText(this),g=Syntax.extractElementMatches(a);b.matches&&Array.prototype.push(g,b.matches);Syntax.highlightText(f,e,g,b,function(e,f){e.oncopy=Syntax.copyCode;e=jQuery(e);if(b.theme){for(var g=Syntax.themes[b.theme],h=0;h<g.length;h+=1)e.addClass("syntax-theme-"+g[h]);e.addClass("syntax-theme-"+b.theme)}f.postprocess&&(e=f.postprocess(b,e,a));c&&(e=c(b,e,a));e&&!0===
|
34
|
+
b.replace&&a.replaceWith(e)})})};Syntax.loader.core=!0;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
|
2
|
+
Syntax.Editor=function(a,c){this.container=a;this.current=this.getLines()};Syntax.Editor.prototype.getLines=function(){for(var a=this.container.childNodes,c=[],b=[],d="",f=0,g=0;g<a.length;g+=1){var h=Syntax.innerText([a[g]]).split("\n");if(1<h.length){h[0]=d+h[0];for(var d=h.pop(),e=0;e<h.length;e+=1)b.push(f-c.length),c.push(h[e]);f=g+1}else d+=h[0]}""!=d?(b.push(f-c.length),c.push(d)):f-=1;b.push(f);console.log("getLines",b,c,a);return{lines:c,offsets:b}};
|
3
|
+
Syntax.Editor.prototype.updateChangedLines=function(){for(var a={},c=this.getLines(),b=0,d=0;b<this.current.lines.length&&d<c.lines.length;)if(this.current.lines[b]==c.lines[d])b+=1,d+=1;else break;a.start=d;b=this.current.lines.length;for(d=c.lines.length;b>a.start&&d>a.start;)if(this.current.lines[b-1]==c.lines[d-1])b-=1,d-=1;else break;a.end=d;a.originalEnd=b;for(a.difference=c.lines.length-this.current.lines.length;0<a.start&&c.offsets[a.start]!=c.offsets[a.start-1];)a.start-=1;if(0<a.difference)for(;a.end<
|
4
|
+
c.lines.length-1&&c.offsets[a.end-1]!=c.offsets[a.end];)a.end+=1,a.originalEnd+=1;this.current=c;return this.changed=a};Syntax.Editor.prototype.textForLines=function(a,c){return this.current.lines.slice(a,c).join("\n")+"\n"};
|
5
|
+
Syntax.Editor.prototype.updateLines=function(a,c){if(a.start!=a.end){var b=a.start,d=a.end,b=b+this.current.offsets[b],d=d+this.current.offsets[d],b=Array.prototype.slice.call(this.container.childNodes,b,d);$(b).replaceWith(c)}else 0==a.start?$(this.container).prepend(c):(b=a.start,b+=this.current.offsets[b],$(this.container.childNodes[b]).after(c))};
|
6
|
+
Syntax.Editor.getCharacterOffset=function(a){var c=0;if("undefined"!=typeof window.getSelection){var c=window.getSelection().getRangeAt(0),b=c.cloneRange();b.selectNodeContents(a);b.setEnd(c.endContainer,c.endOffset);c=b.toString().length}else"undefined"!=typeof document.selection&&"Control"!=document.selection.type&&(c=document.selection.createRange(),b=document.body.createTextRange(),b.moveToElementText(a),b.setEndPoint("EndToEnd",c),c=b.text.length);return c};
|
7
|
+
Syntax.Editor.getNodesForCharacterOffsets=function(a,c){for(var b=document.createTreeWalker(c,NodeFilter.SHOW_TEXT,function(a){return NodeFilter.FILTER_ACCEPT},!1),d=[],f=0,g=0;g<a.length&&b.nextNode();){for(var h=f+b.currentNode.length;g<a.length&&a[g]<h;)d.push([b.currentNode,f,h]),g+=1;f=h}return d};
|
8
|
+
Syntax.Editor.prototype.getClientState=function(){var a={},c=window.getSelection();0<c.rangeCount&&(a.range=c.getRangeAt(0));a.range&&(a.startOffset=Syntax.Editor.getCharacterOffset(this.container));return a};
|
9
|
+
Syntax.Editor.prototype.setClientState=function(a){if(a.startOffset){var c=Syntax.Editor.getNodesForCharacterOffsets([a.startOffset],this.container),b=document.createRange();b.setStart(c[0][0],a.startOffset-c[0][1]);b.setEnd(c[0][0],a.startOffset-c[0][1]);a=window.getSelection();a.removeAllRanges();a.addRange(b)}};
|
10
|
+
Syntax.layouts.editor=function(a,c){var b=jQuery('<div class="editor syntax highlighted" contentEditable="true">');b.append(c.children());var d=new Syntax.Editor(b.get(0)),f=function(b){var c=d.getClientState(),e=d.updateChangedLines();0>e.difference&&0<e.start&&(e.start-=1);b=d.textForLines(e.start,e.end);e.start==e.end?d.updateLines(e,[]):Syntax.highlightText(b,a,function(a){d.updateLines(e,a.children().get());d.setClientState(c)})};b.bind("keyup",function(){f()});b.bind("paste",function(a){f()});
|
11
|
+
b.bind("keydown",function(a){9==a.keyCode?(a.preventDefault(),document.execCommand("insertHTML",!1," ")):13==a.keyCode&&(a.preventDefault(),document.execCommand("insertHTML",!1,"\n"))});return jQuery('<div class="syntax-container">').append(b)};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
|
2
|
+
Function.prototype.bind||(Function.prototype.bind=function(a){var b=Array.prototype.slice.call(arguments,1),c=this;return function(){return c.apply(a,b)}});function ResourceLoader(a){this.dependencies={};this.loading={};this.loader=a}ResourceLoader.prototype._finish=function(a){var b=this.dependencies[a];if(b){a=this._loaded.bind(this,a);for(var c=0;c<b.length;c+=1)a=this.get.bind(this,b[c],a);a()}else this._loaded(a)};
|
3
|
+
ResourceLoader.prototype._loaded=function(a){var b=this[a],c=this.loading[a];this.loading[a]=null;if(b)for(a=0;a<c.length;a+=1)c[a](b);else alert("ResourceLoader: Could not load resource named "+a)};ResourceLoader.prototype.dependency=function(a,b){if(!this[b]||this.loading[name])this.dependencies[a]?this.dependencies[a].push(b):this.dependencies[a]=[b]};
|
4
|
+
ResourceLoader.prototype.get=function(a,b){void 0==a?b():this.loading[a]?this.loading[a].push(b):this[a]?b(this[a]):(this.loading[a]=[b],this.loader(a,this._finish.bind(this,a)))};
|
5
|
+
var Syntax={root:null,aliases:{},styles:{},themes:{},lib:{},cacheScripts:!0,cacheStyleSheets:!0,codeSelector:"code:not(.highlighted)",defaultOptions:{theme:"base",replace:!0,linkify:!0},brushes:new ResourceLoader(function(a,b){a=Syntax.aliases[a]||a;Syntax.getResource("jquery.syntax.brush",a,b)}),loader:new ResourceLoader(function(a,b){Syntax.getResource("jquery.syntax",a,b)}),getStyles:function(a){var b=jQuery("<link>");jQuery("head").append(b);Syntax.cacheStyleSheets||(a=a+"?"+Math.random());b.attr({rel:"stylesheet",
|
6
|
+
type:"text/css",href:a})},getScript:function(a,b){var c=document.createElement("script");c.onreadystatechange=function(){if(this.onload&&("loaded"==this.readyState||"complete"==this.readyState))this.onload(),this.onload=null};c.onload=b;c.type="text/javascript";Syntax.cacheScripts||(a=a+"?"+Math.random());c.src=a;document.getElementsByTagName("head")[0].appendChild(c)},getResource:function(a,b,c){Syntax.detectRoot();a=a+"."+b;if(b=this.styles[a])for(var d=0;d<b.length;d+=1)this.getStyles(this.root+
|
7
|
+
b[d]);Syntax.getScript(this.root+a+".js",c)},alias:function(a,b){Syntax.aliases[a]=a;for(var c=0;c<b.length;c+=1)Syntax.aliases[b[c]]=a},brushAliases:function(a){var b=[],c;for(c in Syntax.aliases)Syntax.aliases[c]===a&&b.push(c);return b},brushNames:function(){var a=[],b;for(b in Syntax.aliases)b===Syntax.aliases[b]&&a.push(b);return a},detectRoot:function(){if(null==Syntax.root){var a=jQuery("script").filter(function(){return this.src.match(/jquery\.syntax/)}).get(0);if(a&&(a=a.src.match(/.*\//)))Syntax.root=
|
8
|
+
a[0]}}};jQuery.fn.syntax=function(a,b){0!=this.length&&(a=jQuery.extend(Syntax.defaultOptions,a),Syntax.loader.get("core",function(c){Syntax.highlight(this,a,b)}.bind(this)))};jQuery.syntax=function(a,b){jQuery(Syntax.codeSelector,a?a.context:null).syntax(a,b)};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
|
2
|
+
Function.prototype.bind||(Function.prototype.bind=function(a){var b=Array.prototype.slice.call(arguments,1),c=this;return function(){return c.apply(a,b)}});function ResourceLoader(a){this.dependencies={};this.loading={};this.loader=a}ResourceLoader.prototype._finish=function(a){var b=this.dependencies[a];if(b){a=this._loaded.bind(this,a);for(var c=0;c<b.length;c+=1)a=this.get.bind(this,b[c],a);a()}else this._loaded(a)};
|
3
|
+
ResourceLoader.prototype._loaded=function(a){var b=this[a],c=this.loading[a];this.loading[a]=null;if(b)for(a=0;a<c.length;a+=1)c[a](b);else alert("ResourceLoader: Could not load resource named "+a)};ResourceLoader.prototype.dependency=function(a,b){if(!this[b]||this.loading[name])this.dependencies[a]?this.dependencies[a].push(b):this.dependencies[a]=[b]};
|
4
|
+
ResourceLoader.prototype.get=function(a,b){void 0==a?b():this.loading[a]?this.loading[a].push(b):this[a]?b(this[a]):(this.loading[a]=[b],this.loader(a,this._finish.bind(this,a)))};
|
5
|
+
var Syntax={root:null,aliases:{},styles:{},themes:{},lib:{},cacheScripts:!0,cacheStyleSheets:!0,codeSelector:"code:not(.highlighted)",defaultOptions:{theme:"base",replace:!0,linkify:!0},brushes:new ResourceLoader(function(a,b){a=Syntax.aliases[a]||a;Syntax.getResource("jquery.syntax.brush",a,b)}),loader:new ResourceLoader(function(a,b){Syntax.getResource("jquery.syntax",a,b)}),getStyles:function(a){var b=jQuery("<link>");jQuery("head").append(b);Syntax.cacheStyleSheets||(a=a+"?"+Math.random());b.attr({rel:"stylesheet",
|
6
|
+
type:"text/css",href:a})},getScript:function(a,b){var c=document.createElement("script");c.onreadystatechange=function(){if(this.onload&&("loaded"==this.readyState||"complete"==this.readyState))this.onload(),this.onload=null};c.onload=b;c.type="text/javascript";Syntax.cacheScripts||(a=a+"?"+Math.random());c.src=a;document.getElementsByTagName("head")[0].appendChild(c)},getResource:function(a,b,c){Syntax.detectRoot();a=a+"."+b;if(b=this.styles[a])for(var d=0;d<b.length;d+=1)this.getStyles(this.root+
|
7
|
+
b[d]);Syntax.getScript(this.root+a+".js",c)},alias:function(a,b){Syntax.aliases[a]=a;for(var c=0;c<b.length;c+=1)Syntax.aliases[b[c]]=a},brushAliases:function(a){var b=[],c;for(c in Syntax.aliases)Syntax.aliases[c]===a&&b.push(c);return b},brushNames:function(){var a=[],b;for(b in Syntax.aliases)b===Syntax.aliases[b]&&a.push(b);return a},detectRoot:function(){if(null==Syntax.root){var a=jQuery("script").filter(function(){return this.src.match(/jquery\.syntax/)}).get(0);if(a&&(a=a.src.match(/.*\//)))Syntax.root=
|
8
|
+
a[0]}}};jQuery.fn.syntax=function(a,b){0!=this.length&&(a=jQuery.extend(Syntax.defaultOptions,a),Syntax.loader.get("core",function(c){Syntax.highlight(this,a,b)}.bind(this)))};jQuery.syntax=function(a,b){jQuery(Syntax.codeSelector,a?a.context:null).syntax(a,b)};Syntax.alias("apache",[]);Syntax.alias("applescript",[]);Syntax.alias("assembly",["asm"]);Syntax.alias("bash-script",[]);Syntax.alias("bash",[]);Syntax.alias("basic",["vb"]);Syntax.alias("clang",["cpp","c++","c","objective-c"]);
|
9
|
+
Syntax.alias("csharp",["c-sharp","c#"]);Syntax.alias("css",[]);Syntax.alias("diff",["patch"]);Syntax.alias("go",[]);Syntax.alias("haskell",[]);Syntax.alias("html",[]);Syntax.alias("io",[]);Syntax.alias("java",[]);Syntax.alias("javascript",["js","actionscript"]);Syntax.alias("kai",[]);Syntax.alias("lisp",["scheme","clojure"]);Syntax.alias("lua",[]);Syntax.alias("nginx",[]);Syntax.alias("ocaml",["ml","sml","fsharp"]);Syntax.alias("ooc",[]);Syntax.alias("pascal",["delphi"]);Syntax.alias("perl5",[]);
|
10
|
+
Syntax.alias("php-script",[]);Syntax.alias("php",[]);Syntax.alias("plain",["text"]);Syntax.alias("protobuf",[]);Syntax.alias("python",[]);Syntax.alias("ruby",[]);Syntax.alias("scala",[]);Syntax.alias("smalltalk",[]);Syntax.alias("sql",[]);Syntax.alias("super-collider",["sc"]);Syntax.alias("swift",[]);Syntax.alias("html",[]);Syntax.alias("xml",[]);Syntax.alias("yaml",[]);Syntax.styles["jquery.syntax.brush.apache"]=["base/jquery.syntax.brush.apache.css"];
|
11
|
+
Syntax.styles["jquery.syntax.brush.applescript"]=["base/jquery.syntax.brush.applescript.css"];Syntax.styles["jquery.syntax.brush.assembly"]=["base/jquery.syntax.brush.assembly.css"];Syntax.styles["jquery.syntax.brush.bash-script"]=["base/jquery.syntax.brush.bash-script.css"];Syntax.styles["jquery.syntax.brush.bash"]=["base/jquery.syntax.brush.bash.css"];Syntax.styles["jquery.syntax.brush.clang"]=["base/jquery.syntax.brush.clang.css"];Syntax.styles["jquery.syntax.brush.css"]=["base/jquery.syntax.brush.css.css"];
|
12
|
+
Syntax.styles["jquery.syntax.brush.diff"]=["base/jquery.syntax.brush.diff.css"];Syntax.styles["jquery.syntax.brush.html"]=["base/jquery.syntax.brush.html.css"];Syntax.styles["jquery.syntax.brush.ocaml"]=["base/jquery.syntax.brush.ocaml.css"];Syntax.styles["jquery.syntax.brush.protobuf"]=["base/jquery.syntax.brush.protobuf.css"];Syntax.styles["jquery.syntax.brush.python"]=["base/jquery.syntax.brush.python.css"];Syntax.styles["jquery.syntax.brush.ruby"]=["base/jquery.syntax.brush.ruby.css"];
|
13
|
+
Syntax.styles["jquery.syntax.brush.xml"]=["base/jquery.syntax.brush.xml.css"];Syntax.styles["jquery.syntax.core"]=["base/jquery.syntax.core.css","bright/jquery.syntax.core.css","paper/jquery.syntax.core.css"];Syntax.styles["jquery.syntax.editor"]=["base/jquery.syntax.editor.css"];Syntax.themes.base=[];Syntax.themes.bright=["base"];Syntax.themes.paper=["base"];
|
@@ -0,0 +1,31 @@
|
|
1
|
+
code.syntax-theme-paper {
|
2
|
+
font-family: "Bitstream Vera Sans Mono", "Courier", monospace;
|
3
|
+
line-height: 1.5em; }
|
4
|
+
code.syntax-theme-paper .function {
|
5
|
+
color: #33f; }
|
6
|
+
code.syntax-theme-paper .keyword {
|
7
|
+
color: #cb4b16; }
|
8
|
+
code.syntax-theme-paper .access {
|
9
|
+
color: #ffb600;
|
10
|
+
font-weight: bold; }
|
11
|
+
code.syntax-theme-paper .type {
|
12
|
+
color: #268bd2; }
|
13
|
+
code.syntax-theme-paper .comment {
|
14
|
+
color: #998;
|
15
|
+
font-style: italic; }
|
16
|
+
code.syntax-theme-paper .string {
|
17
|
+
color: #2aa198; }
|
18
|
+
code.syntax-theme-paper .string .escape {
|
19
|
+
color: #2ab1a8; }
|
20
|
+
code.syntax-theme-paper .operator {
|
21
|
+
color: #268bd2; }
|
22
|
+
code.syntax-theme-paper .href {
|
23
|
+
color: #00f;
|
24
|
+
text-decoration: underline; }
|
25
|
+
code.syntax-theme-paper .variable {
|
26
|
+
color: #b58900; }
|
27
|
+
code.syntax-theme-paper .constant {
|
28
|
+
color: #099; }
|
29
|
+
|
30
|
+
pre code.syntax-theme-paper > span:nth-child(odd) {
|
31
|
+
background-color: rgba(0, 0, 0, 0.05); }
|
@@ -0,0 +1 @@
|
|
1
|
+
Syntax.themes["paper"] = ["base"]
|
Binary file
|
@@ -0,0 +1,197 @@
|
|
1
|
+
|
2
|
+
html {
|
3
|
+
font-family: "PT Sans", Verdana, Helvetica, Arial, sans-serif;
|
4
|
+
font-size: 16px;
|
5
|
+
}
|
6
|
+
|
7
|
+
pre {
|
8
|
+
tab-size: 2;
|
9
|
+
}
|
10
|
+
|
11
|
+
@media (min-width: 40em) {
|
12
|
+
html {
|
13
|
+
font-size: 18px;
|
14
|
+
}
|
15
|
+
|
16
|
+
pre {
|
17
|
+
tab-size: 4;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
@media (min-width: 80em) {
|
22
|
+
html {
|
23
|
+
font-size: 20px;
|
24
|
+
}
|
25
|
+
|
26
|
+
pre {
|
27
|
+
tab-size: 4;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
html {
|
32
|
+
--main-color: #111;
|
33
|
+
--main-background-color: #fff;
|
34
|
+
|
35
|
+
--header-color: #bed1f0;
|
36
|
+
--underlay-color: #ddd;
|
37
|
+
|
38
|
+
--accent-color: #1a73e8;
|
39
|
+
--accent-hover-color: #33a3ff;
|
40
|
+
|
41
|
+
--overlay-color: rgba(255, 255, 255, 0.9);
|
42
|
+
--underlay-color: rgba(0, 0, 0, 0.2);
|
43
|
+
}
|
44
|
+
|
45
|
+
@media (prefers-color-scheme: dark) {
|
46
|
+
html {
|
47
|
+
--main-color: #e1e1e1;
|
48
|
+
--main-background-color: #111;
|
49
|
+
|
50
|
+
--header-color: #222;
|
51
|
+
--overlay-color: #333;
|
52
|
+
|
53
|
+
--accent-color: #01b9ff;
|
54
|
+
--accent-hover-color: #80dcff;
|
55
|
+
|
56
|
+
--overlay-color: rgba(0, 0, 0, 0.8);
|
57
|
+
--underlay-color: rgba(255, 255, 255, 0.9);
|
58
|
+
|
59
|
+
background-color: black;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
body {
|
64
|
+
margin: 0 0;
|
65
|
+
padding: 0;
|
66
|
+
|
67
|
+
/* Force the element to contain margins */
|
68
|
+
display: flow-root;
|
69
|
+
min-height: 100vh;
|
70
|
+
|
71
|
+
color: var(--main-color);
|
72
|
+
background-color: var(--main-background-color);
|
73
|
+
|
74
|
+
max-width: 48rem;
|
75
|
+
margin: 0 auto;
|
76
|
+
}
|
77
|
+
|
78
|
+
h1, h2, h3, h4, h5, h6, p, ul, dl, ol {
|
79
|
+
margin: 1rem;
|
80
|
+
}
|
81
|
+
|
82
|
+
nav {
|
83
|
+
margin: 1rem;
|
84
|
+
font-size: 0.8rem;
|
85
|
+
color: #aaa;
|
86
|
+
}
|
87
|
+
|
88
|
+
li {
|
89
|
+
margin: 0.8rem;
|
90
|
+
}
|
91
|
+
|
92
|
+
ul {
|
93
|
+
padding: 0;
|
94
|
+
padding-left: 0.5rem;
|
95
|
+
margin: 0.5rem;
|
96
|
+
margin-bottom: 1rem;
|
97
|
+
list-style: none;
|
98
|
+
}
|
99
|
+
|
100
|
+
lli:before {
|
101
|
+
content: "›";
|
102
|
+
margin-right: 0.4rem;
|
103
|
+
}
|
104
|
+
|
105
|
+
li > ul, li > ol {
|
106
|
+
margin: 0;
|
107
|
+
}
|
108
|
+
|
109
|
+
h1 {
|
110
|
+
margin-bottom: 4rem;
|
111
|
+
}
|
112
|
+
|
113
|
+
h2 {
|
114
|
+
margin-top: 6rem;
|
115
|
+
}
|
116
|
+
|
117
|
+
h3 {
|
118
|
+
margin-top: 4rem;
|
119
|
+
}
|
120
|
+
|
121
|
+
h4, h5, h6 {
|
122
|
+
margin-top: 2rem;
|
123
|
+
}
|
124
|
+
|
125
|
+
img {
|
126
|
+
border: none;
|
127
|
+
}
|
128
|
+
|
129
|
+
a {
|
130
|
+
color: var(--accent-color);
|
131
|
+
text-decoration: none;
|
132
|
+
}
|
133
|
+
|
134
|
+
a:hover {
|
135
|
+
color: var(--accent-hover-color);
|
136
|
+
}
|
137
|
+
|
138
|
+
pre {
|
139
|
+
overflow: auto;
|
140
|
+
padding: 1rem 2rem;
|
141
|
+
}
|
142
|
+
|
143
|
+
footer {
|
144
|
+
text-align: right;
|
145
|
+
font-size: 0.65rem;
|
146
|
+
|
147
|
+
margin: 1rem;
|
148
|
+
}
|
149
|
+
|
150
|
+
/* Editor */
|
151
|
+
|
152
|
+
.editor form {
|
153
|
+
position: absolute;
|
154
|
+
|
155
|
+
display: flex;
|
156
|
+
flex-direction: column;
|
157
|
+
align-items: center;
|
158
|
+
|
159
|
+
width: 100%;
|
160
|
+
height: 100%;
|
161
|
+
}
|
162
|
+
|
163
|
+
.editor .header {
|
164
|
+
flex-grow: 0;
|
165
|
+
width: 100%;
|
166
|
+
|
167
|
+
display: flex;
|
168
|
+
justify-content: space-between;
|
169
|
+
align-items: center;
|
170
|
+
|
171
|
+
z-index: 10;
|
172
|
+
|
173
|
+
border-bottom: 0.2rem solid var(--accent-color);
|
174
|
+
background-color: var(--header-color);
|
175
|
+
}
|
176
|
+
|
177
|
+
.editor .header * {
|
178
|
+
margin: 0.5rem;
|
179
|
+
}
|
180
|
+
|
181
|
+
.editor textarea {
|
182
|
+
flex-grow: 1;
|
183
|
+
width: 100%;
|
184
|
+
|
185
|
+
resize: none;
|
186
|
+
outline: none;
|
187
|
+
|
188
|
+
box-sizing: border-box;
|
189
|
+
margin: 0; padding: 0.5rem;
|
190
|
+
|
191
|
+
border: none;
|
192
|
+
background: none;
|
193
|
+
}
|
194
|
+
|
195
|
+
textarea {
|
196
|
+
color: var(--main-color);
|
197
|
+
}
|
data/template/Gemfile
ADDED
data/template/config.ru
ADDED
data/template/preload.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require_relative 'lib/utopia/project/version'
|
2
|
+
|
3
|
+
Gem::Specification.new do |spec|
|
4
|
+
spec.name = "utopia-project"
|
5
|
+
spec.version = Utopia::Project::VERSION
|
6
|
+
spec.authors = ["Samuel Williams"]
|
7
|
+
spec.email = ["samuel.williams@oriontransfer.co.nz"]
|
8
|
+
|
9
|
+
spec.summary = "A project documentation tool based on Utopia."
|
10
|
+
spec.homepage = "https://github.com/socketry/utopia-project"
|
11
|
+
spec.license = "MIT"
|
12
|
+
|
13
|
+
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
14
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(docs|test|spec|features)/}) }
|
15
|
+
end
|
16
|
+
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.add_dependency "utopia", "~> 2.14"
|
20
|
+
spec.add_dependency "utopia-gallery"
|
21
|
+
|
22
|
+
spec.add_dependency "kramdown"
|
23
|
+
spec.add_dependency "kramdown-parser-gfm"
|
24
|
+
|
25
|
+
spec.add_dependency "decode"
|
26
|
+
|
27
|
+
spec.add_dependency "rackula"
|
28
|
+
spec.add_dependency "falcon"
|
29
|
+
spec.add_dependency "thread-local"
|
30
|
+
|
31
|
+
spec.add_development_dependency 'async-rspec'
|
32
|
+
spec.add_development_dependency 'rack-test'
|
33
|
+
|
34
|
+
spec.add_development_dependency 'covered'
|
35
|
+
spec.add_development_dependency 'bundler'
|
36
|
+
spec.add_development_dependency 'rspec'
|
37
|
+
spec.add_development_dependency 'bake-bundler'
|
38
|
+
end
|
data/yarn.lock
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
2
|
+
# yarn lockfile v1
|
3
|
+
|
4
|
+
|
5
|
+
jquery-litebox@^1.0.2:
|
6
|
+
version "1.0.2"
|
7
|
+
resolved "https://registry.yarnpkg.com/jquery-litebox/-/jquery-litebox-1.0.2.tgz#122caec1e8ec1452f88d1d3eb3dd6f541f3f98c9"
|
8
|
+
integrity sha1-EiyuwejsFFL4jR0+s91vVB8/mMk=
|
9
|
+
dependencies:
|
10
|
+
jquery ">=1.4.1"
|
11
|
+
|
12
|
+
jquery-syntax@^4.1.1:
|
13
|
+
version "4.1.1"
|
14
|
+
resolved "https://registry.yarnpkg.com/jquery-syntax/-/jquery-syntax-4.1.1.tgz#8e15d85952cfee02dda579564eef4b813e5fe4f9"
|
15
|
+
integrity sha512-W7HqdQV37N2r9JISW90liYaRNzam++0+zt3gFGzkAa/l4eHF11vyOKBhsadEhewYKBOsWSVIXqdcLtAxYgwT+g==
|
16
|
+
dependencies:
|
17
|
+
jquery ">=1.4.1"
|
18
|
+
|
19
|
+
jquery@>=1.4.1:
|
20
|
+
version "3.5.0"
|
21
|
+
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.0.tgz#9980b97d9e4194611c36530e7dc46a58d7340fc9"
|
22
|
+
integrity sha512-Xb7SVYMvygPxbFMpTFQiHh1J7HClEaThguL15N/Gg37Lri/qKyhRGZYzHRyLH8Stq3Aow0LsHO2O2ci86fCrNQ==
|