Deliverance
Theming websites effortlessly
Aaron VanDerlip
www.jazkarta.com
World Plone Day 2010
There are obstacles, regardless of platform
Example
Apply a design to a
 WordPress site
<div id="header" role="banner">

 <div id="headerimg">
   <h1><a href="<?php echo get_option('home'); ?
>/"><?php bloginfo...
<div id="header" role="banner">

 <div id="headerimg">
   <h1><a href="<?php echo get_option('home'); ?
>/"><?php bloginfo...
HTML is forgiving
<h1><a href="<?php echo get_option('home'); ?>/"><?
php bloginfo('name'); ?></a></h1>
Application code is not
<h1><a href="<?php echo et_option('home'); ?>/"><?
php bloginfo('name'); ?></a></h1>
The current
  compromise
     People competent at both




People that          People that have
have design skills       ...
The Deliverance Way


  Web             Web Designers
  Developers



           People that know CSS
Secret Sauce
Where does Deliverance
   sit in the stack?


          Apache



       Deliverance
Where does Deliverance
   sit in the stack?


          Apache



       Deliverance
Deliverance is a tool for moving content using CSS
selectors and a few rules

The only requirements is that the theme and ...
The rules
replace
append
prepend
drop
Content
#content




     Theme
 #page .floatRight
<theme href="/static/lazydays/
index.html" />


<replace
content="children:#content"
theme="children:#page
.floatRight" />
#content
#page .floatRight
<theme href="/static/lazydays/
index.html" />


<replace
content="children:#content"
theme="children:#page
.floatRight" />
Talk is cheap
#content
#page .floatRight
Proxy rule
<proxy path="/blog" class="blogtheme" >
  <response rewrite-links="1" />
<dest href="http://blog.localhost" />
...
<replace
content="children:#content"
theme="children:#page
.floatRight" />
Let’s get to work
Special pages
Photo credits

• http://www.flickr.com/photos/
  21896484@N02/2726201320
• http://www.flickr.com/photos/
  disownedlight/326...
Find out more


• http://blog.jazkarta.com
• http://deliverance.openplans.org/
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Deliverance talk at plone meetup
Upcoming SlideShare
Loading in...5
×

Deliverance talk at plone meetup

2,112

Published on

Introductory talk on Deliverance for Word Plone Day 2010 Boston. For this presentation, both a Plone site and Wordpress site were themed using Deliverance.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,112
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

  • All platforms try to solve the this. The great battle between design minded folks and development minded folks.

  • sample template

  • typical code, you get distracted



  • We create all sorts of extra infrastructure to account for the above, each solution is different.



  • Deliverance is a piece of software that proxies the incoming request from a browser, based on the request, it finds the content and the theme that most closely matches the request and returns it to the browser.

  • These rules apply to matched CSS selectors (or Xpath)s












  • the is the routing





  • Deliverance talk at plone meetup

    1. 1. Deliverance Theming websites effortlessly Aaron VanDerlip www.jazkarta.com World Plone Day 2010
    2. 2. There are obstacles, regardless of platform
    3. 3. Example Apply a design to a WordPress site
    4. 4. <div id="header" role="banner"> <div id="headerimg"> <h1><a href="<?php echo get_option('home'); ? >/"><?php bloginfo('name'); ?></a></h1> <div class="description"><?php bloginfo('description'); ?></div>
    5. 5. <div id="header" role="banner"> <div id="headerimg"> <h1><a href="<?php echo get_option('home'); ? >/"><?php bloginfo('name'); ?></a></h1> <div class="description"><?php bloginfo('description'); ?></div>
    6. 6. HTML is forgiving <h1><a href="<?php echo get_option('home'); ?>/"><? php bloginfo('name'); ?></a></h1>
    7. 7. Application code is not <h1><a href="<?php echo et_option('home'); ?>/"><? php bloginfo('name'); ?></a></h1>
    8. 8. The current compromise People competent at both People that People that have have design skills coding skills
    9. 9. The Deliverance Way Web Web Designers Developers People that know CSS
    10. 10. Secret Sauce
    11. 11. Where does Deliverance sit in the stack? Apache Deliverance
    12. 12. Where does Deliverance sit in the stack? Apache Deliverance
    13. 13. Deliverance is a tool for moving content using CSS selectors and a few rules The only requirements is that the theme and content source supply HTML A typical configuration consists of a static HTML file as the theme as the them resource and an application as the content provider.
    14. 14. The rules replace append prepend drop
    15. 15. Content #content Theme #page .floatRight
    16. 16. <theme href="/static/lazydays/ index.html" /> <replace content="children:#content" theme="children:#page .floatRight" />
    17. 17. #content
    18. 18. #page .floatRight
    19. 19. <theme href="/static/lazydays/ index.html" /> <replace content="children:#content" theme="children:#page .floatRight" />
    20. 20. Talk is cheap
    21. 21. #content
    22. 22. #page .floatRight
    23. 23. Proxy rule <proxy path="/blog" class="blogtheme" > <response rewrite-links="1" /> <dest href="http://blog.localhost" /> </proxy>
    24. 24. <replace content="children:#content" theme="children:#page .floatRight" />
    25. 25. Let’s get to work
    26. 26. Special pages
    27. 27. Photo credits • http://www.flickr.com/photos/ 21896484@N02/2726201320 • http://www.flickr.com/photos/ disownedlight/3268752278/sizes/l/
    28. 28. Find out more • http://blog.jazkarta.com • http://deliverance.openplans.org/
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×