Browse Source

paramaterized feed, rsync deployment, and unified layouts

unreleased_contents
B Mathis 15 years ago
parent
commit
e0a0d093c4
  1. 16
      Rakefile
  2. 2
      _config.yml
  3. 3
      source/_helpers.rb
  4. 22
      source/_layouts/default.haml
  5. 26
      source/_layouts/post.haml
  6. 22
      source/atom.haml

16
Rakefile

@ -1,5 +1,16 @@
require 'active_support'
# preview project on this port - http://localhost:4000
port = "4000"
# compiled site directory
site = "site"
# for rsync deployment
ssh_user = "user@host.com"
document_root = "~/document_root/"
def ok_failed(condition)
if (condition)
puts "OK"
@ -8,9 +19,6 @@ def ok_failed(condition)
end
end
port = "4000"
site = "site"
desc "list tasks"
task :default do
puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:default]]).to_sentence}"
@ -35,7 +43,7 @@ end
desc "generate and deploy website"
task :deploy => :generate do
print "Deploying website..."
ok_failed system("rsync -avz --delete #{site}/ user@host.com:~/document_root/")
ok_failed system("rsync -avz --delete #{site}/ #{ssh_user}:#{document_root}")
end
desc "start up an instance of serve on the output files"

2
_config.yml

@ -8,4 +8,4 @@ multiviews: true
sass: false
haml: true
post_defaults:
layout: post
layout: default

3
source/_helpers.rb

@ -178,9 +178,6 @@ module Helpers
input.gsub(/(href|src)(\s*=\s*)(["'])(\/.*?)\3/) { $1 + $2 + $3 + "http://brandonmathis.com" + $4 + $3 }
end
def full_url(input)
'http://brandonmathis.com'+input
end
def rp(input)
RubyPants.new(input).to_html
end

22
source/_layouts/default.haml

@ -1,5 +1,6 @@
---
blog_title: My Blog
blog_title: My Octopress Blog
root_url:
---
!!! 1.1 Transitional
@ -7,22 +8,29 @@ blog_title: My Blog
%head
%title= page.title
- if page.respond_to? :description
%meta{:name=>"description", :content=>page.description}/
%meta(name="description" content="#{page.description}")/
- if page.respond_to? :keywords
%meta{:name=>"keywords", :content=>page.keywords}/
%link(href="/stylesheets/screen.css" rel="stylesheet" media="screen projection" type="text/css")
%link(href="/blog/atom.xml" rel="alternate" title="Brandon Mathis - Design Enthusiast" type="application/atom+xml")
%meta(name="keywords" content="#{page.keywords}")/
%link(href="#{page.root_url}/stylesheets/screen.css" rel="stylesheet" media="screen projection" type="text/css")
%link(href="#{page.root_url}/atom.xml" rel="alternate" title="##{page.blog_title}" type="application/atom+xml")
%body
#header
.page_width
%a.title(href="/")=page.blog_title
%ul#header_nav.nav
%li.alpha
%a(href="/archives") Archives
%a(href="#{page.root_url}/archives") Archives
%li.omega
%a(href="/atom.xml") Subscribe
%a(href="#{page.root_url}/atom.xml") Subscribe
#page
.page_width
- if page.respond_to? :date
%h2= page.title
= content
%p.pubdate
Published:
=page.date.strftime("%d %b, %Y")
- else
= content
#footer
.page_width Footer

26
source/_layouts/post.haml

@ -1,26 +0,0 @@
!!! 1.1 Transitional
%html(xmlns="http://www.w3.org/1999/xhtml" xml:lang="en")
%head
%title= page.title
- if page.respond_to? :description
%meta{:name=>"description", :content=>page.description}/
- if page.respond_to? :keywords
%meta{:name=>"keywords", :content=>page.keywords}/
%link(href="/stylesheets/screen.css" rel="stylesheet" media="screen projection" type="text/css")
%link(href="/blog/atom.xml" rel="alternate" title="Brandon Mathis - Design Enthusiast" type="application/atom+xml")
%body
#header
.page_width
%a.title(href="/")My Blog
%ul#header_nav.nav
%li.alpha
%a(href="/") Home
#page
.page_width
%h2= rp(page.title)
= content
%p.pubdate
Published:
=page.date.strftime("%d %b, %Y")
#footer
.page_width Footer

22
source/atom.haml

@ -1,25 +1,25 @@
---
layout: nil
address: http://yoursite.com
author: Your Name
email: author@domain.com
name: Your Name
blog_title: My Blog
blog_title: My Octopress Blog
root_url: http://yoursite.com
---
<?xml version="1.0" encoding="utf-8"?>
!!! XML
%feed(xmlns="http://www.w3.org/2005/Atom")
%title= "#{page.name} - #{page.blog_title}"
%link(href="#{page.address}/atom.xml" rel="self")
%link(href="#{page.address}")
%title= page.blog_title
%link(href="#{page.root_url}/atom.xml" rel="self")
%link(href="#{page.root_url}")
%updated= Time.now.xmlschema
%id=page.address
%id=page.root_url
%author
%name= page.name
%name= page.author
%email= page.email
- site.posts[0..14].each do |post|
%entry
%title= rp(post.title)
%link(href="#{full_url(post.url)}")
%link(href="#{page.root_url}#{post.url}")
%updated=post.date.xmlschema
%id= full_url(post.id)
%id= "#{page.root_url}#{post.id}"
%content(type="html")
= h(absolute_url(rp(post.content)))
Loading…
Cancel
Save