mirror of
https://github.com/wezm/wezm.net.git
synced 2024-12-18 18:29:54 +00:00
Start articles page with JSON representation
This commit is contained in:
parent
cebe17fde4
commit
19be2ada2e
6 changed files with 77 additions and 0 deletions
14
Rules
14
Rules
|
@ -4,11 +4,25 @@ compile '/' do
|
|||
layout 'listing'
|
||||
end
|
||||
|
||||
compile '/articles/', :rep => :json do
|
||||
filter :erb
|
||||
end
|
||||
compile '/articles/' do
|
||||
layout 'articles'
|
||||
end
|
||||
|
||||
compile '*' do
|
||||
filter :rdiscount
|
||||
layout 'default'
|
||||
end
|
||||
|
||||
route '/articles/', :rep => :json do
|
||||
item.identifier + 'index.json'
|
||||
end
|
||||
route '/articles/' do
|
||||
item.identifier + 'index.html'
|
||||
end
|
||||
|
||||
route '*' do
|
||||
item.identifier + 'index.html'
|
||||
end
|
||||
|
|
7
content/articles.json
Normal file
7
content/articles.json
Normal file
|
@ -0,0 +1,7 @@
|
|||
<%
|
||||
articles = []
|
||||
sorted_articles.each do |article|
|
||||
articles << { :title => article[:title] }
|
||||
end
|
||||
%>
|
||||
<%= articles.to_json %>
|
2
content/articles.yaml
Normal file
2
content/articles.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
title: Articles
|
49
layouts/articles.html
Normal file
49
layouts/articles.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<title><%= @item[:title] %></title>
|
||||
<link rel="stylesheet" href="/css/reset.css" type="text/css" media="screen,projector" />
|
||||
<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen,projector" />
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
|
||||
<script src="/js/script.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var articles;
|
||||
jQuery(function() {
|
||||
// load JSON
|
||||
// get( url, [data], [callback], [type] )
|
||||
jQuery.get('/articles/index.json', {}, function(data) {
|
||||
articles = data;
|
||||
console.log(data);
|
||||
}, 'json');
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<%= render 'header' %>
|
||||
<div id="main">
|
||||
<h1><%= @item[:title] %></h1>
|
||||
<ul class="articles">
|
||||
<% sorted_articles[0..9].each do |article| %>
|
||||
<% post_date = WezM::Helpers.post_date(article) %>
|
||||
<li>
|
||||
<abbr class="calender date" title="<%= post_date.iso8601 %>">
|
||||
<span class="day"><%= post_date.day %></span>
|
||||
<span class="month"><%= post_date.strftime('%b') %></span>
|
||||
<span class="year"><%= post_date.year %></span>
|
||||
</abbr>
|
||||
<a href="<%= article.reps.first.path %>"><%= article[:title] %></a>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<div class="pagination">
|
||||
<a href="">« Newer</a>
|
||||
|
|
||||
<a href="">Older »</a>
|
||||
</div>
|
||||
</div>
|
||||
<%= render 'footer' %>
|
||||
</body>
|
||||
</html>
|
2
layouts/articles.yaml
Normal file
2
layouts/articles.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
--- {}
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
# All files in the 'lib' directory will be loaded
|
||||
# before nanoc starts compiling.
|
||||
|
||||
require 'json'
|
||||
|
||||
include Nanoc3::Helpers::Rendering
|
||||
include Nanoc3::Helpers::Blogging
|
Loading…
Reference in a new issue