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. 24
      source/_layouts/default.haml
  5. 26
      source/_layouts/post.haml
  6. 22
      source/atom.haml

16
Rakefile

@ -1,5 +1,16 @@
require 'active_support' 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) def ok_failed(condition)
if (condition) if (condition)
puts "OK" puts "OK"
@ -8,9 +19,6 @@ def ok_failed(condition)
end end
end end
port = "4000"
site = "site"
desc "list tasks" desc "list tasks"
task :default do task :default do
puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:default]]).to_sentence}" puts "Tasks: #{(Rake::Task.tasks - [Rake::Task[:default]]).to_sentence}"
@ -35,7 +43,7 @@ end
desc "generate and deploy website" desc "generate and deploy website"
task :deploy => :generate do task :deploy => :generate do
print "Deploying website..." 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 end
desc "start up an instance of serve on the output files" desc "start up an instance of serve on the output files"

2
_config.yml

@ -8,4 +8,4 @@ multiviews: true
sass: false sass: false
haml: true haml: true
post_defaults: 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 } input.gsub(/(href|src)(\s*=\s*)(["'])(\/.*?)\3/) { $1 + $2 + $3 + "http://brandonmathis.com" + $4 + $3 }
end end
def full_url(input)
'http://brandonmathis.com'+input
end
def rp(input) def rp(input)
RubyPants.new(input).to_html RubyPants.new(input).to_html
end end

24
source/_layouts/default.haml

@ -1,5 +1,6 @@
--- ---
blog_title: My Blog blog_title: My Octopress Blog
root_url:
--- ---
!!! 1.1 Transitional !!! 1.1 Transitional
@ -7,22 +8,29 @@ blog_title: My Blog
%head %head
%title= page.title %title= page.title
- if page.respond_to? :description - if page.respond_to? :description
%meta{:name=>"description", :content=>page.description}/ %meta(name="description" content="#{page.description}")/
- if page.respond_to? :keywords - if page.respond_to? :keywords
%meta{:name=>"keywords", :content=>page.keywords}/ %meta(name="keywords" content="#{page.keywords}")/
%link(href="/stylesheets/screen.css" rel="stylesheet" media="screen projection" type="text/css") %link(href="#{page.root_url}/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") %link(href="#{page.root_url}/atom.xml" rel="alternate" title="##{page.blog_title}" type="application/atom+xml")
%body %body
#header #header
.page_width .page_width
%a.title(href="/")=page.blog_title %a.title(href="/")=page.blog_title
%ul#header_nav.nav %ul#header_nav.nav
%li.alpha %li.alpha
%a(href="/archives") Archives %a(href="#{page.root_url}/archives") Archives
%li.omega %li.omega
%a(href="/atom.xml") Subscribe %a(href="#{page.root_url}/atom.xml") Subscribe
#page #page
.page_width .page_width
= content - if page.respond_to? :date
%h2= page.title
= content
%p.pubdate
Published:
=page.date.strftime("%d %b, %Y")
- else
= content
#footer #footer
.page_width 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 layout: nil
address: http://yoursite.com author: Your Name
email: author@domain.com email: author@domain.com
name: Your Name blog_title: My Octopress Blog
blog_title: My Blog root_url: http://yoursite.com
--- ---
<?xml version="1.0" encoding="utf-8"?> !!! XML
%feed(xmlns="http://www.w3.org/2005/Atom") %feed(xmlns="http://www.w3.org/2005/Atom")
%title= "#{page.name} - #{page.blog_title}" %title= page.blog_title
%link(href="#{page.address}/atom.xml" rel="self") %link(href="#{page.root_url}/atom.xml" rel="self")
%link(href="#{page.address}") %link(href="#{page.root_url}")
%updated= Time.now.xmlschema %updated= Time.now.xmlschema
%id=page.address %id=page.root_url
%author %author
%name= page.name %name= page.author
%email= page.email %email= page.email
- site.posts[0..14].each do |post| - site.posts[0..14].each do |post|
%entry %entry
%title= rp(post.title) %title= rp(post.title)
%link(href="#{full_url(post.url)}") %link(href="#{page.root_url}#{post.url}")
%updated=post.date.xmlschema %updated=post.date.xmlschema
%id= full_url(post.id) %id= "#{page.root_url}#{post.id}"
%content(type="html") %content(type="html")
= h(absolute_url(rp(post.content))) = h(absolute_url(rp(post.content)))
Loading…
Cancel
Save