Tweaking how pubs are rendered

pull/1/head
Oliver Kennedy 2017-07-09 10:59:06 -04:00
parent abdbecc777
commit 6d193b122d
11 changed files with 93 additions and 72 deletions

View File

@ -243,6 +243,10 @@ module LabMetadata
@@publication_erb.result(b)
end
def LabMetadata.render_pubs(publist)
"<dl>\n"+publist.map { |pub| render_pub(pub) }.join("\n")+"\n</dt>"
end
def LabMetadata.info_for_affiliate(name)
info = { "canonical" => name }
while(info.include? "canonical")

View File

@ -13,22 +13,20 @@ links = (
%>
<li class="list-group-item">
<h4 class="list-group-item-heading"><%= pub["title"] %></h4>
<p class="list-group-item-text">
<div class="authors"><%= pub["authors"].map { |author| LabMetadata::link_for author }.join(", ") %></div>
<div class="metadata" style="font-weight: bold;"><span class="venue"><%= pub["venue"] %> <%= pub["year"] %></span>
<%
type = LabMetadata.complete_venue(pub)["type"]
case type
when nil, "conference", "journal" then "ignore"
when "techreport" then %>(Tech Report)<%
else %>(<%= type.capitalize %>)<%
end
%> <span class="paper_links">[ <%= links.join(" | ") %> ]</span>
</div>
<div id="<%=bibtexdiv%>" style="display: none">
<pre class="well" style="margin-left: auto; margin-right: auto; font-size: 8pt;"><%= LabMetadata.bibtex_for pub %></pre>
</div>
</p>
</li>
<dt style="margin-top: 10px"><%= pub["title"] %></dt>
<dd style="padding-left: 10px">
<div class="authors"><%= pub["authors"].map { |author| LabMetadata::link_for author }.join(", ") %></div>
<div class="metadata" style="font-weight: bold;"><span class="venue"><%= pub["venue"] %> <%= pub["year"] %></span>
<%
type = LabMetadata.complete_venue(pub)["type"]
case type
when nil, "conference", "journal" then "ignore"
when "techreport" then %>(Tech Report)<%
else %>(<%= type.capitalize %>)<%
end
%> <span class="paper_links">[ <%= links.join(" | ") %> ]</span>
</div>
<div id="<%=bibtexdiv%>" style="display: none" class="select-on-click">
<pre class="well" style="margin-left: auto; margin-right: auto; margin-top: 10px; font-size: 8pt;"><%= LabMetadata.bibtex_for pub %></pre>
</div>
</dd>

View File

@ -6,15 +6,11 @@ title: Publications
<div class="paper_list">
<% $db["publications"].map { |pub| [pub["year"].to_i, pub] }.reduce.each do |year, pubs| %>
<div class="panel">
<div class="panel-heading">
<center><h2><%= year %></h2></center>
</div><div class="panel-body">
<% pubs.each do |pub|
if pub.fetch("visible", true) %>
<%= LabMetadata.render_pub pub %>
<% end %>
<% end %>
</div>
<div class="panel-heading">
<center><h2><%= year %></h2></center>
</div><div class="panel-body">
<%= LabMetadata.render_pubs(pubs.clone.keep_if { |pub| pub.fetch("visible", true) }) %>
</div>
</div>
<% end %>
</div>

View File

@ -5,9 +5,10 @@ twitter: xthemage
scholar: 9Q9tiCsAAAAJ
dblp: hd/k/Kennedy:Oliver
cv: http://odin.cse.buffalo.edu/artifacts/okennedy.pdf
pic: ../assets/people/oliver.jpg
pic_w: 230
pic_h: 346
pic:
file: ../assets/people/oliver.jpg
width: 230
height: 346
---
Oliver Kennedy is an Assistant Professor at the University at Buffalo. Oliver's primary area of research is Databases, although his research interests frequently cross over into Programming Languages and Datastructures. His work focuses on self-service analytics, making messy data, schema design, and physical layout decisions more approachable. Through real-world usage metrics gathered from industry collaborations and the use of real-world testbeds, Oliver's work aims to address the practical problems faced by data consumers everywhere. His projects include a UI for ad-hoc cleaning and analytics called <a href="http://www.mimirdb.info">Mimir</a> and a universal, <a href="/research/astral/index.html">Just In-Time Datastructure</a>.

View File

@ -24,11 +24,7 @@ title: ASTral
</ul>
<h2>Publications</h2>
<ul class="paper_list">
<% $db["publications"].
where { |pub| pub.fetch("projects", []).include? "astral" }.
each do |pub| %>
<%= LabMetadata.render_pub(pub) %>
<% end %>
</ul>
<%= LabMetadata.render_pubs(
$db["publications"].
where { |pub| pub.fetch("projects", []).include? "astral" }
) %>

View File

@ -22,12 +22,6 @@ The PocketData project explores how smartphones make use of embedded databases i
------
## <center><a href="http://blue.cse.buffalo.edu/projects/maybe/"><tt>maybe</tt> Statements</a></center>
One of the reasons programming mobile systems is so hard is the uncertainty created by the wide variety of environments a typical app encounters at runtime. Programmers should not be forced to make choices about runtime environments at development time. The Maybe project aims to create an infrastructure that developers can use to analyze and optimize program behavior __after__ it enters the wild.
------
<h1 style="margin-top:60px; margin-bottom:40px;">Older Projects</h1>
## <center><a href="http://www.dbtoaster.org"><img src="../assets/logos/dbtoaster-logo.gif" alt="dbtoaster-logo" width="174" height="80" /></a></center>

View File

@ -22,11 +22,10 @@ datasets:
<h2>Publications</h2>
<ul class="paper_list">
<% $db["publications"].
where { |pub| pub.fetch("projects", []).include? "insider-threats" }.
each do |pub| %>
<%= LabMetadata.render_pub(pub) %>
<% end %>
<%= LabMetadata.render_pubs(
$db["publications"].
where { |pub| pub.fetch("projects", []).include? "insider-threats" }
) %>
</ul>
<hr />

View File

@ -115,13 +115,9 @@ acronym: Modular Interface for Managing Incomplete Records
<hr/>
<h2>Publications</h2>
<div class="paper_list">
<% $db["publications"].
where { |pub| pub.fetch("projects", []).include? "mimir" }.
where { |pub| case LabMetadata::complete_venue(pub)["type"] when "conference", "journal", "workshop" then true else false end }.
sort { |a, b| b["year"].to_i <=> a["year"].to_i }.
take(10).
each do |pub| %>
<%= LabMetadata.render_pub(pub) %>
<% end %>
</div>
<%= LabMetadata.render_pubs(
$db["publications"].
where { |pub| pub.fetch("projects", []).include? "mimir" }.
where { |pub| case LabMetadata::complete_venue(pub)["type"] when "conference", "journal", "workshop" then true else false end }.
sort { |a, b| b["year"].to_i <=> a["year"].to_i }.
take(10)) %>

View File

@ -21,14 +21,10 @@ title: PocketData
<hr />
<h2>Publications</h2>
<ul class="paper_list">
<% $db["publications"].
where { |pub| pub.fetch("projects", []).include? "pocketdata" }.
each do |pub| %>
<%= LabMetadata.render_pub(pub) %>
<% end %>
</ul>
<%= LabMetadata.render_pubs(
$db["publications"].
where { |pub| pub.fetch("projects", []).include? "pocketdata" }
) %>
<h2>Resources</h2>

View File

@ -95,5 +95,44 @@
})();
</script>
<!-- End Piwik Code -->
<!-- Click select. Liberally borrowed from DBLP -->
<script type="text/javascript">
function getSelectionText(){
var b = "";
if (window.getSelection) {
b = window.getSelection().toString()
} else {
if (document.selection && document.selection.type != "Control") {
b = document.selection.createRange().text
}
}
return b
}
function selectText(c) {
var e = document, b, d;
if (e.body.createTextRange) {
b = document.body.createTextRange();
b.moveToElementText(c);
b.select()
} else {
if (window.getSelection) {
d = window.getSelection();
b = document.createRange();
b.selectNodeContents(c);
d.removeAllRanges();
d.addRange(b)
}
}
}
$(".select-on-click").click(function() {
var c = getSelectionText();
if (!c || c.length == 0) {
selectText($(this)[0])
}
});
if (!$(".select-on-click").prop("title")) {
$(".select-on-click").prop("title", "click to select text")
}
</script>
</body>
</html>

View File

@ -4,7 +4,11 @@ name = if defined? name then name else "A Mysterious Stranger" end
%>
<div class="person">
<% if defined? pic %>
<img class="photo" src="<%=pic%>" width="<%=pic_w%>" height="<%=pic_h%>" />
<% if pic.is_a? Hash %>
<img class="photo" src="<%=pic["file"]%>" width="<%=pic["width"]%>" height="<%=pic["height"]%>" />
<% elsif pic.is_a? String %>
<img class="photo" src="<%=pic%>" />
<% end %>
<% end %>
<h1><%= name %></h1>
@ -19,8 +23,6 @@ name = if defined? name then name else "A Mysterious Stranger" end
<%= body %>
<h2>Publications</h2>
<div class="paper_list">
<% LabMetadata::publications_for(name).each { |pub| %> <%= LabMetadata.render_pub(pub) %> <% } %>
</div>
<%= LabMetadata::render_pubs(LabMetadata::publications_for(name)) %>
</div>