From 5261ae4c9bdbf0f93a7312198f073fc142400704 Mon Sep 17 00:00:00 2001 From: alvaro <alvaro@alia.(none)> Date: Sun, 24 Jun 2012 15:12:22 -0700 Subject: [PATCH] bootstrap in script generated components --- static/index.html | 2 +- utils/modules/create-service.sh | 36 +---------- utils/modules/create-type.sh | 81 ++---------------------- utils/modules/create-uri.sh | 81 ++---------------------- utils/modules/service-model.inc | 10 +++ utils/modules/service-view.inc | 77 ++++++++++++++++++++++ utils/modules/type-model-1.inc | 10 +++ utils/modules/type-model-2.inc | 10 +++ utils/modules/type-view.inc | 109 ++++++++++++++++++++++++++++++++ 9 files changed, 228 insertions(+), 188 deletions(-) create mode 100644 utils/modules/service-model.inc create mode 100644 utils/modules/service-view.inc create mode 100644 utils/modules/type-model-1.inc create mode 100644 utils/modules/type-model-2.inc create mode 100644 utils/modules/type-view.inc diff --git a/static/index.html b/static/index.html index 22e4cd5f..628e9369 100644 --- a/static/index.html +++ b/static/index.html @@ -74,7 +74,7 @@ </div> <div class="span5 well"> <h2>Add static files</h2> - <p>You can also serve (and use) files that help you to present your content the way you want (JavaScript, CSS, images, etc). Just copy them on the <code>static</code> folder inside lodspeakr and you are ready to use them. For more information <a href='https://github.com/alangrafu/lodspeakr/wiki/Statics'>about static files in LODSPeaKR, please check the wiki</a>.</p> + <p>You can also serve (and use) files that help you to present your content the way you want (JavaScript, CSS, images, etc). Just copy them on the <code>static</code> folder inside lodspeakr and you are ready to use them. For more information <a href='https://github.com/alangrafu/lodspeakr/wiki/Statics'>about static files in LODSPeaKR</a> and <a href='https://github.com/alangrafu/lodspeakr/wiki/Change-root-page'>how to change the landing page</a>, please check the wiki</a>.</p> </div> <div class="span5 well"> <h2>Understanding components</h2> diff --git a/utils/modules/create-service.sh b/utils/modules/create-service.sh index fbcbc581..1098ad87 100755 --- a/utils/modules/create-service.sh +++ b/utils/modules/create-service.sh @@ -3,40 +3,10 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" initToken='services' +cd $DIR +modelHtml=`cat service-model.inc` -modelHtml=`cat <<QUERY -{%for h in base.header %} -PREFIX {{h.prefix}}: <{{h.ns}}> -{%endfor%} -SELECT DISTINCT ?resource WHERE { - GRAPH {%if lodspk.args.arg0 %}<{{lodspk.args.arg0}}>{%else%}?g{%endif%} { - [] a ?resource . - } -} -LIMIT 10 -QUERY` - -viewHtml=`cat <<VIEW -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in lodspk.ns %}xmlns:{{i}}="{{ns}}" {%endfor%} - version="XHTML+RDFa 1.0" xml:lang="en"> - <head> - <title>$1</title> - <link href="{{lodspk.baseUrl}}css/basic.css" rel="stylesheet" type="text/css" media="screen" /> - <style type="text/css"> - </style> - </head> - <body> - <h1>$1</h1> - <ul> - {% for row in models.main %} - <li><a href="{{lodspk.baseUrl}}special/instances/{{ row.resource.curie }}">{{row.resource.curie}}</a></li> - {% endfor %} - </ul> - </body> -</html> -VIEW` +viewHtml=`cat service-view.inc` #Check models mainDir=$DIR/../../components/$initToken/$1/ diff --git a/utils/modules/create-type.sh b/utils/modules/create-type.sh index 379e2fe0..77c2e182 100755 --- a/utils/modules/create-type.sh +++ b/utils/modules/create-type.sh @@ -4,85 +4,12 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" initToken='types' -modelHtmlSP=`cat <<QUERY -SELECT ?s ?p WHERE { - { - GRAPH ?g{ - ?s ?p <{{uri}}> . - } - }UNION{ - ?s ?p <{{uri}}> . - } -} -QUERY` +cd $DIR +modelHtmlSP=`cat type-model-1.inc` -modelHtmlPO=`cat <<QUERY -SELECT ?p ?o WHERE { - { - GRAPH ?g{ - <{{uri}}> ?p ?o. - } - }UNION{ - <{{uri}}> ?p ?o . - } -} -QUERY` +modelHtmlPO=`cat type-model-2.inc` - -viewHtml=`cat <<VIEW -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" - "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in lodspk.ns %}xmlns:{{i}}="{{ns}}" - {%endfor%}version="XHTML+RDFa 1.0" xml:lang="en"> - <head> - <title>Page about {{lodspk.this.value}}</title> - <link href="{{lodspk.home}}css/basic.css" rel="stylesheet" type="text/css" media="screen" /> - <link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.this.value}}.rdf" /> - <link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.this.value}}.ttl" /> - <link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.this.value}}.nt" /> - <link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.this.value}}.json" /> - </head> - <body about="{{lodspk.this.value}}"> - <h1>Default view</h1> - - <div style='margin-top: 40px'> - <table> - <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> - {% for row in models.po %} - <tr> -<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> - <td style='background-color:#c9f9c9'><a href='{{row.p.value}}'>{{row.p.curie}}</a></td> - - <td style='background-color:#c9f9c9'> - {%if row.o.uri == 1%} - <a rev='[{{row.p.curie}}]' href='{{row.o.value}}'>{{row.o.curie}}</a> - {%else%} - {{row.o.value}} - {%endif%} - </td> - - </tr> - {% endfor %} -<tr><td></td><td><a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></td><td></td></tr> - - {% for row in models.sp %} - <tr> - <td style='background-color:#c9f9c9'><a href='{{row.s.value}}'>{{row.s.curie}}</a></td> - - <td style='background-color:#c9f9c9'><a rel='{{row.s.curie}}' href='{{row.p.value}}'>{{row.p.curie}}</a></td> -<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> - </tr> - {% endfor %} - <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> - - </table> - </div> - - <br/> - </body> -</html> -VIEW` +viewHtml=`cat type-view.inc` #Check models diff --git a/utils/modules/create-uri.sh b/utils/modules/create-uri.sh index ae7380fb..bb717855 100755 --- a/utils/modules/create-uri.sh +++ b/utils/modules/create-uri.sh @@ -4,85 +4,12 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" initToken='uris' -modelHtmlSP=`cat <<QUERY -SELECT ?s ?p WHERE { - { - GRAPH ?g{ - ?s ?p <{{uri}}> . - } - }UNION{ - ?s ?p <{{uri}}> . - } -} -QUERY` +cd $DIR +modelHtmlSP=`cat type-model-1.inc` -modelHtmlPO=`cat <<QUERY -SELECT ?p ?o WHERE { - { - GRAPH ?g{ - <{{uri}}> ?p ?o. - } - }UNION{ - <{{uri}}> ?p ?o . - } -} -QUERY` +modelHtmlPO=`cat type-model-2.inc` - -viewHtml=`cat <<VIEW -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" - "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml" {% for i, ns in lodspk.ns %}xmlns:{{i}}="{{ns}}" - {%endfor%}version="XHTML+RDFa 1.0" xml:lang="en"> - <head> - <title>Page about {{lodspk.this.value}}</title> - <link href="{{lodspk.home}}css/basic.css" rel="stylesheet" type="text/css" media="screen" /> - <link rel="alternate" type="application/rdf+xml" title="RDF/XML Version" href="{{lodspk.this.value}}.rdf" /> - <link rel="alternate" type="text/turtle" title="Turtle Version" href="{{lodspk.this.value}}.ttl" /> - <link rel="alternate" type="text/plain" title="N-Triples Version" href="{{lodspk.this.value}}.nt" /> - <link rel="alternate" type="application/json" title="RDFJSON Version" href="{{lodspk.this.value}}.json" /> - </head> - <body about="{{lodspk.this.value}}"> - <h1>Default view</h1> - - <div style='margin-top: 40px'> - <table> - <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> - {% for row in models.po %} - <tr> -<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> - <td style='background-color:#c9f9c9'><a href='{{row.p.value}}'>{{row.p.curie}}</a></td> - - <td style='background-color:#c9f9c9'> - {%if row.o.uri == 1%} - <a rev='[{{row.p.curie}}]' href='{{row.o.value}}'>{{row.o.curie}}</a> - {%else%} - {{row.o.value}} - {%endif%} - </td> - - </tr> - {% endfor %} -<tr><td></td><td><a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></td><td></td></tr> - - {% for row in models.sp %} - <tr> - <td style='background-color:#c9f9c9'><a href='{{row.s.value}}'>{{row.s.curie}}</a></td> - - <td style='background-color:#c9f9c9'><a rel='{{row.s.curie}}' href='{{row.p.value}}'>{{row.p.curie}}</a></td> -<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> - </tr> - {% endfor %} - <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> - - </table> - </div> - - <br/> - </body> -</html> -VIEW` +viewHtml=`cat type-view.inc` #Check models diff --git a/utils/modules/service-model.inc b/utils/modules/service-model.inc new file mode 100644 index 00000000..9b437bfb --- /dev/null +++ b/utils/modules/service-model.inc @@ -0,0 +1,10 @@ +SELECT DISTINCT ?resource WHERE { + { + GRAPH {%if lodspk.args.arg0 %}<{{lodspk.args.arg0}}>{%else%}?g{%endif%} { + [] a ?resource . + } + }UNION{ + [] a ?resource . + } +} +LIMIT 10 diff --git a/utils/modules/service-view.inc b/utils/modules/service-view.inc new file mode 100644 index 00000000..c48017e1 --- /dev/null +++ b/utils/modules/service-view.inc @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>LODSPeaKr Basic Menu</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content=""> + <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> + <style> + body { + padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */ + } + .wait{ + background-image:url('img/wait.gif'); + background-repeat:no-repeat; + padding-right:20px; + background-position: right; + } + </style> + <link href="css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" /> + <script type="text/javascript" src="js/jquery.js"></script> + <script type="text/javascript" src="js/bootstrap.min.js"></script> + <script type="text/javascript" src="js/bootstrap-typeahead.js"></script> + <script type="text/javascript"> + $(document).ready(function(){ + $('.typeahead').typeahead({ + source: function (typeahead, query) { + $('.typeahead').addClass('wait');[] + return $.get('search/'+encodeURIComponent(query), { }, function (data) { + $('.typeahead').removeClass('wait');[] + return typeahead.process(data); + }, 'json'); + }, + onselect: function (obj) { + $('.typeahead').attr('disabled', true); + window.location = obj.uri; + } + }); + }); + </script> + </head> + <body> + <div class="navbar navbar-fixed-top"> + <div class="navbar-inner"> + <div class="container"> + <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + <a class="brand" href="#">LODSPeaKr</a> + <div class="nav-collapse"> + <ul class="nav"> + <li class="active"><a href="#">Home</a></li> + <li><a href="classes">Classes</a></li> + <li><a href="namedGraphs">Named Graphs</a></li> + </ul> + <form class="navbar-search pull-left" action=""> + <input type="text" data-provide="typeahead" class="typeahead search-query span2" placeholder="Search"/> + </form> + </div><!--/.nav-collapse --> + </div> + </div> + </div> + + <div class="container"> + <h1>My new service</h1> + <ul> + {% for row in models.main %} + <li><a href="{{lodspk.home}}instances/{{ row.resource.curie }}">{{row.resource.curie}}</a></li> + {% endfor %} + </ul> + </div> + </body> +</html> + diff --git a/utils/modules/type-model-1.inc b/utils/modules/type-model-1.inc new file mode 100644 index 00000000..58ecc532 --- /dev/null +++ b/utils/modules/type-model-1.inc @@ -0,0 +1,10 @@ +SELECT ?s ?p WHERE { + { + GRAPH ?g{ + ?s ?p <{{uri}}> . + } + }UNION{ + ?s ?p <{{uri}}> . + } +} + diff --git a/utils/modules/type-model-2.inc b/utils/modules/type-model-2.inc new file mode 100644 index 00000000..695c482d --- /dev/null +++ b/utils/modules/type-model-2.inc @@ -0,0 +1,10 @@ +SELECT ?p ?o WHERE { + { + GRAPH ?g{ + <{{uri}}> ?p ?o. + } + }UNION{ + <{{uri}}> ?p ?o . + } +} + diff --git a/utils/modules/type-view.inc b/utils/modules/type-view.inc new file mode 100644 index 00000000..323f9b1f --- /dev/null +++ b/utils/modules/type-view.inc @@ -0,0 +1,109 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <title>LODSPeaKr Basic Menu</title> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="description" content=""> + <meta name="author" content=""> + <link href="{{lodspk.home}}css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> + <style> + body { + padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */ + } + .wait{ + background-image:url('img/wait.gif'); + background-repeat:no-repeat; + padding-right:20px; + background-position: right; + } + </style> + <link href="{{lodspk.home}}css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" /> + <script type="text/javascript" src="{{lodspk.home}}js/jquery.js"></script> + <script type="text/javascript" src="{{lodspk.home}}js/bootstrap.min.js"></script> + <script type="text/javascript" src="{{lodspk.home}}js/bootstrap-typeahead.js"></script> + <script type="text/javascript"> + $(document).ready(function(){ + $('.typeahead').typeahead({ + source: function (typeahead, query) { + $('.typeahead').addClass('wait');[] + return $.get('search/'+encodeURIComponent(query), { }, function (data) { + $('.typeahead').removeClass('wait');[] + return typeahead.process(data); + }, 'json'); + }, + onselect: function (obj) { + $('.typeahead').attr('disabled', true); + window.location = obj.uri; + } + }); + }); + </script> + </head> + <body> + <div class="navbar navbar-fixed-top"> + <div class="navbar-inner"> + <div class="container"> + <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </a> + <a class="brand" href="{{lodspk.home}}">LODSPeaKr</a> + <div class="nav-collapse"> + <ul class="nav"> + <li class="active"><a href="{{lodspk.home}}">Home</a></li> + <li><a href="{{lodspk.home}}classes">Classes</a></li> + <li><a href="{{lodspk.home}}namedGraphs">Named Graphs</a></li> + </ul> + <form class="navbar-search pull-left" action=""> + <input type="text" data-provide="typeahead" class="typeahead search-query span2" placeholder="Search"/> + </form> + </div><!--/.nav-collapse --> + </div> + </div> + </div> + + <div class="container"> + <h1>Default view</h1> + + <div style='margin-top: 40px'> + <table class='table table-striped'> + <thead> + <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> + </thead> + {% for row in models.po %} + <tr> +<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> + <td><a href='{{row.p.value}}'>{{row.p.curie}}</a></td> + + <td> + {%if row.o.uri == 1%} + <a rev='[{{row.p.curie}}]' href='{{row.o.value}}'>{{row.o.curie}}</a> + {%else%} + {{row.o.value}} + {%endif%} + </td> + + </tr> + {% endfor %} +<tr><td></td><td><a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a></td><td></td></tr> + + {% for row in models.sp %} + <tr> + <td><a href='{{row.s.value}}'>{{row.s.curie}}</a></td> + + <td><a rel='{{row.s.curie}}' href='{{row.p.value}}'>{{row.p.curie}}</a></td> +<td>{%if forloop.first%}<a href='{{lodspk.this.value}}'>{{lodspk.this.curie}}</a>{%endif%}</td> + </tr> + {% endfor %} + <thead> + <tr><th>Subject</th><th>Predicate</th><th>Object</th></tr> + </thead> + </table> + </div> + + <br/> + </body> +</html> + -- GitLab