"merged with" support

master
muflax 2012-05-25 20:12:50 +02:00
parent 936ca0062f
commit 28fedfa855
8 changed files with 39 additions and 13 deletions

5
TODO
View File

@ -1,4 +1,4 @@
* Todo [7/14]
* Todo [8/15]
- [X] switch to creation dates
- [X] hide drafts in categories, but compile them anyway
- [X] better rss feed (automatic items based on dates, changelog)
@ -10,6 +10,7 @@
- [X] switch rake to nanoc commands
- [ ] universal RSS
- [ ] disclaimer about removed content
- [ ] "merged with"
- [X] "merged with"
- [ ] search bar prettier
- [ ] imply all_sites without -s
- [ ] next_prev for first page float broken

View File

@ -73,6 +73,13 @@ div#mindkiller {
background: $episteme;
}
/* merged with another article */
div#merged {
background: $episteme;
line-height: 2em;
}
div#disqus {
border-top: 10px solid $h1;
text-align: left;

View File

@ -1,4 +0,0 @@
<div id="allposts">
<a href=''>all posts by category</a>
<a href=''>all posts by date</a>
</div>

View File

@ -1,9 +1,7 @@
<div id="main-embed">
<%= render 'title', :item => @item, :link => @item.identifier %>
<%= render 'mindkiller' %>
<%= render 'episteme' %>
<%= render 'warnings' %>
<!-- compiled content -->
<div id="content-embed">

View File

@ -3,11 +3,9 @@
<!-- main part -->
<div id="main">
<%= render 'title' %>
<%= render 'mindkiller' %>
<%= render 'episteme' %>
<%= render 'warnings' %>
<% render 'content' do %>
<%= yield %>
<% end %>

7
layouts/merged.erb Normal file
View File

@ -0,0 +1,7 @@
<!-- has the item been merged with another? -->
<% if @item.merged? %>
<div id="merged">
<p><strong>Update:</strong> the content of this page <a href='<%= @item.merged_link %>'>has been merged with another</a>.
</p>
</div>
<% end %>

5
layouts/warnings.erb Normal file
View File

@ -0,0 +1,5 @@
<%= render 'mindkiller' %>
<%= render 'episteme' %>
<%= render 'merged' %>

View File

@ -37,4 +37,18 @@ class Nanoc::Item
topics = %w{history}
!!self[:mindkiller]
end
def merged?
!!self[:merged]
end
def merged_link
raise "no merged link for #{self.identifier}" unless self[:merged]
if m = self[:merged].match(/^(?<site>\w+):(?<page>.+)$/)
"http://#{m[:site] == "muflax" ? "" : "#{m[:site]}."}muflax.com/#{m[:page]}"
else
raise "invalid format: #{self[:merged]}"
end
end
end