Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Getting the most out of Radiant

1,426 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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?

×