Getting the most
      out of Radiant
‘cause I had to come up with a title there and then
Hi!

• 26/m/Ghent
• Co-owner of Gorilla webdesign
• github.com/jomz
• twitter.com/jomz
• hardcoreforkingaction.com
Agenda


• Radiant?
• 5 free tips we had to learn by experience
• Where Radiant is going
“Radiant is a no-fluff,
        open source
content management system
 designed for small teams”
Simple admin interface
Pages have page parts
Snippets can hold
 re-used markup
Layouts and Radius put
 everything together
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • i...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • i...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • i...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • i...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • i...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • i...
Free tip #1:
Use nested layouts and part inheriting
inside your ‘master’ layout:
<div id="content" class="clearfix">
  <r:content_for_layout/>
</div>
“1-col” layout:
<r:inside_layout name="master">
 <div id="content_main">
   <r:content />
 </div>
</r:inside_layout>

    ...
<div id="content">
  <r:if_content part="breadcrumb" inherit="true">
    <div id="breadcrumb">
       <r:content part="bre...
<div id="content">
  <r:if_content part="breadcrumb" inherit="true">
    <div id="breadcrumb">
       <r:content part="bre...
Free tip #2:
Keep radius tags away from your (dumb) clients
Free tip #3:
Use fragment caching for larger sites
Free tip #4:
 Keep your radius tidy
<a href="<r:url />"><r:title /></a> and
<a href="<r:url />" class="foo">To another page</a>


could be written as

<r:link...
<r:parent><r:url /></r:parent>

could be written as

<r:parent:url />
<ul><r:children:each><r:unless_url matches="foo">
  ...
</r:unless_url></r:children:each></ul>


could be written as

<ul>...
<r:parent>
  <r:assets:each limit="1">
    <r:link />
  </r:assets:each>
</r:parent>

could be written as

<r:parent:asset...
Free tip #5:
 Snippets can “yield”
make_popup snippet:
<div class="popup_box">
  <a class="close_popup_link">x</a>
  <r:yield/>
</div>

call with a double ta...
A real life example
If you do need to
    write an extension
• Use shared_layouts extension railsyou don’t
  have to use (and maintain) a
    ...
What’s happening in
 Radiant world?
Radiant extensions can
    now be gems!

• Gems have a nice dependency system
• One ‘gem up to date bring several Radiant
...
Radiant 0.9 coming up!


• Brand new interface with reworked tabs
• Internationalisation (for the backend)
• On Rails 2.3....
Radiant extensions may
   soon be engines!

• Spree (e-commerce platform) hasofan
  extension system based on that Radiant...
some Github profiles
  to keep an eye on
• github.com/radiant
• github.com/saturnflyer
• github.com/kbingman
• github.com/sp...
Questions?
Getting the most out of Radiant
Upcoming SlideShare
Loading in...5
×

Getting the most out of Radiant

1,218

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,218
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Getting the most out of Radiant

  1. 1. Getting the most out of Radiant ‘cause I had to come up with a title there and then
  2. 2. Hi! • 26/m/Ghent • Co-owner of Gorilla webdesign • github.com/jomz • twitter.com/jomz • hardcoreforkingaction.com
  3. 3. Agenda • Radiant? • 5 free tips we had to learn by experience • Where Radiant is going
  4. 4. “Radiant is a no-fluff, open source content management system designed for small teams”
  5. 5. Simple admin interface
  6. 6. Pages have page parts
  7. 7. Snippets can hold re-used markup
  8. 8. Layouts and Radius put everything together
  9. 9. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  10. 10. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  11. 11. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  12. 12. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  13. 13. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  14. 14. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  15. 15. Free tip #1: Use nested layouts and part inheriting
  16. 16. inside your ‘master’ layout: <div id="content" class="clearfix"> <r:content_for_layout/> </div>
  17. 17. “1-col” layout: <r:inside_layout name="master"> <div id="content_main"> <r:content /> </div> </r:inside_layout> “2-col” layout: <r:inside_layout name="master"> <div id="content_main"> <r:content part="body" /> </div> <div id="content_sec"> <r:content part="nav_sec" /> <r:content part="content_sec" /> </div> </r:inside_layout>
  18. 18. <div id="content"> <r:if_content part="breadcrumb" inherit="true"> <div id="breadcrumb"> <r:content part="breadcrumb" inherit="true" /> </div> </r:if_content> <div id="content_main"> <r:content part="pre-body" inherit="true" /> <r:unless_content part="read-more"> <r:content /> </r:unless_content> <r:content part="read-more" /> <r:content part="post-body" inherit="true" /> </div> <r:if_content part="nav-sec, content-sec" inherit="true" find="any"> <div id="content_sec"> <r:content part="nav-sec" inherit="true" /> <r:content part="content-sec" inherit="true" /> </div> </r:if_content> </div>
  19. 19. <div id="content"> <r:if_content part="breadcrumb" inherit="true"> <div id="breadcrumb"> <r:content part="breadcrumb" inherit="true" /> </div> </r:if_content> <div id="content_main"> <r:content part="pre-body" inherit="true" /> <r:unless_content part="read-more"> <r:content /> </r:unless_content> <r:content part="read-more" /> <r:content part="post-body" inherit="true" /> </div> <r:if_content part="nav-sec, content-sec" inherit="true" find="any"> <div id="content_sec"> <r:content part="nav-sec" inherit="true" /> <r:content part="content-sec" inherit="true" /> </div> </r:if_content> </div>
  20. 20. Free tip #2: Keep radius tags away from your (dumb) clients
  21. 21. Free tip #3: Use fragment caching for larger sites
  22. 22. Free tip #4: Keep your radius tidy
  23. 23. <a href="<r:url />"><r:title /></a> and <a href="<r:url />" class="foo">To another page</a> could be written as <r:link /> and <r:link class="foo">To another page</r:link>
  24. 24. <r:parent><r:url /></r:parent> could be written as <r:parent:url />
  25. 25. <ul><r:children:each><r:unless_url matches="foo"> ... </r:unless_url></r:children:each></ul> could be written as <ul><r:children:each:unless_url matches="foo"> ... </r:children:each:unless_url></ul>
  26. 26. <r:parent> <r:assets:each limit="1"> <r:link /> </r:assets:each> </r:parent> could be written as <r:parent:assets:first:link />
  27. 27. Free tip #5: Snippets can “yield”
  28. 28. make_popup snippet: <div class="popup_box"> <a class="close_popup_link">x</a> <r:yield/> </div> call with a double tag: <r:snippet name="make_popup"> Content for my snippet </r:snippet>
  29. 29. A real life example
  30. 30. If you do need to write an extension • Use shared_layouts extension railsyou don’t have to use (and maintain) a so layout • Freeze radiant (so that you can see)what you are doing • Let your backend controllerfor free from Admin::ResourceController inherit CRUD actions and flash messages • Upload to github to receive free updates
  31. 31. What’s happening in Radiant world?
  32. 32. Radiant extensions can now be gems! • Gems have a nice dependency system • One ‘gem up to date bring several Radiant instances update’ can
  33. 33. Radiant 0.9 coming up! • Brand new interface with reworked tabs • Internationalisation (for the backend) • On Rails 2.3.5, working on Rails 3
  34. 34. Radiant extensions may soon be engines! • Spree (e-commerce platform) hasofan extension system based on that Radiant • Radiant andeffort tocommunities are looking into a joint Spree bring extensions to the next level (engines or something like it)
  35. 35. some Github profiles to keep an eye on • github.com/radiant • github.com/saturnflyer • github.com/kbingman • github.com/spanner • github.com/jgarber • github.com/johnmuhl
  36. 36. Questions?
  1. A particular slide catching your eye?

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

×