SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
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              • index_page
• paperclipped        • trike_tags
• locked_page_parts   • ...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • index_page
• paperclipped        • trike_tags
• locked_page_parts   • ...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • index_page
• paperclipped        • trike_tags
• locked_page_parts   • ...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • index_page
• paperclipped        • trike_tags
• locked_page_parts   • ...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • index_page
• paperclipped        • trike_tags
• locked_page_parts   • ...
Bring your own meat
• navigation_tags     • future_publishing
• nested_layouts      • wym_editor
• mailer              • index_page
• paperclipped        • trike_tags
• locked_page_parts   • ...
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>

                “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>
<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>
<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>
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 /> and
<r:link class="foo">To another page</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:children:each:unless_url matches="foo">
 ...
</r:children:each:unless_url></ul>
<r:parent>
  <r:assets:each limit="1">
    <r:link />
  </r:assets:each>
</r:parent>

could be written as

<r:parent:assets:first:link />
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 tag:
<r:snippet name="make_popup">
   Content for my snippet
</r:snippet>
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
                                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
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
  instances
            update’ can
Radiant 0.9 coming up!


• Brand new interface with reworked tabs
• Internationalisation (for the backend)
• On Rails 2.3.5, working on Rails 3
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)
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
Questions?

Weitere ähnliche Inhalte

Was ist angesagt? (7)

Advanced SEO for WordPress
Advanced SEO for WordPressAdvanced SEO for WordPress
Advanced SEO for WordPress
 
Meta Data: 17 Tips to Deploy Effective Structured Mark Up
Meta Data: 17 Tips to Deploy Effective Structured Mark UpMeta Data: 17 Tips to Deploy Effective Structured Mark Up
Meta Data: 17 Tips to Deploy Effective Structured Mark Up
 
Iml140 cs sbasics_week5
Iml140 cs sbasics_week5Iml140 cs sbasics_week5
Iml140 cs sbasics_week5
 
Simple Tips to Secure your WordPress
Simple Tips to Secure your WordPressSimple Tips to Secure your WordPress
Simple Tips to Secure your WordPress
 
SEO & IA - A findability challenge
SEO & IA - A findability challengeSEO & IA - A findability challenge
SEO & IA - A findability challenge
 
Understanding SEO For Photographers
Understanding SEO For PhotographersUnderstanding SEO For Photographers
Understanding SEO For Photographers
 
Web Scraping In Ruby Utosc 2009.Key
Web Scraping In Ruby Utosc 2009.KeyWeb Scraping In Ruby Utosc 2009.Key
Web Scraping In Ruby Utosc 2009.Key
 

Andere mochten auch (7)

Food chain preso
Food chain presoFood chain preso
Food chain preso
 
amrit bani-guru_ravidass_ji
amrit bani-guru_ravidass_jiamrit bani-guru_ravidass_ji
amrit bani-guru_ravidass_ji
 
SCC Design/Build Project
SCC Design/Build ProjectSCC Design/Build Project
SCC Design/Build Project
 
Dragon Boat Festival
Dragon Boat FestivalDragon Boat Festival
Dragon Boat Festival
 
Modern wireless communications_ASRao
Modern wireless communications_ASRaoModern wireless communications_ASRao
Modern wireless communications_ASRao
 
Psicopatología de la_conciencia
Psicopatología de la_concienciaPsicopatología de la_conciencia
Psicopatología de la_conciencia
 
Masaje deportivo (resumen y facilitacion al estudiante basica)
Masaje deportivo (resumen y facilitacion al estudiante basica)Masaje deportivo (resumen y facilitacion al estudiante basica)
Masaje deportivo (resumen y facilitacion al estudiante basica)
 

Ähnlich wie Getting the most out of Radiant

Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
Gregg Coppen
 
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalBeginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Mediacurrent
 
Twitter bootstrap
Twitter bootstrapTwitter bootstrap
Twitter bootstrap
dennisdc
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
bartzon
 

Ähnlich wie Getting the most out of Radiant (20)

Frontend for developers
Frontend for developersFrontend for developers
Frontend for developers
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
Does my DIV look big in this?
Does my DIV look big in this?Does my DIV look big in this?
Does my DIV look big in this?
 
Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
 
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalBeginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlSource Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
 
Death of a Themer - Frontend United - 14 April 2013
Death of a Themer - Frontend United - 14 April 2013Death of a Themer - Frontend United - 14 April 2013
Death of a Themer - Frontend United - 14 April 2013
 
Twitter bootstrap
Twitter bootstrapTwitter bootstrap
Twitter bootstrap
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is now
 
2015 rubyconf - 百大媒體網站從 Wordpress 到 Rails 的大小事
2015 rubyconf - 百大媒體網站從 Wordpress 到 Rails 的大小事2015 rubyconf - 百大媒體網站從 Wordpress 到 Rails 的大小事
2015 rubyconf - 百大媒體網站從 Wordpress 到 Rails 的大小事
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
 
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, LeedsWordPress Optimization & Security - ThinkVisibility 2012, Leeds
WordPress Optimization & Security - ThinkVisibility 2012, Leeds
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012Advanced WordPress Optimization - iGaming Supershow 2012
Advanced WordPress Optimization - iGaming Supershow 2012
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
[2010]我有一个梦想
[2010]我有一个梦想[2010]我有一个梦想
[2010]我有一个梦想
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Getting the most out of Radiant

  • 1. Getting the most out of Radiant ‘cause I had to come up with a title there and then
  • 2. Hi! • 26/m/Ghent • Co-owner of Gorilla webdesign • github.com/jomz • twitter.com/jomz • hardcoreforkingaction.com
  • 3. Agenda • Radiant? • 5 free tips we had to learn by experience • Where Radiant is going
  • 4. “Radiant is a no-fluff, open source content management system designed for small teams”
  • 7. Snippets can hold re-used markup
  • 8. Layouts and Radius put everything together
  • 9. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  • 10. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  • 11. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  • 12. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  • 13. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  • 14. Bring your own meat • navigation_tags • future_publishing • nested_layouts • wym_editor • mailer • index_page • paperclipped • trike_tags • locked_page_parts • ...
  • 15. Free tip #1: Use nested layouts and part inheriting
  • 16. inside your ‘master’ layout: <div id="content" class="clearfix"> <r:content_for_layout/> </div>
  • 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. <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. <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. Free tip #2: Keep radius tags away from your (dumb) clients
  • 21. Free tip #3: Use fragment caching for larger sites
  • 22.
  • 23. Free tip #4: Keep your radius tidy
  • 24. <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>
  • 25. <r:parent><r:url /></r:parent> could be written as <r:parent:url />
  • 26. <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>
  • 27. <r:parent> <r:assets:each limit="1"> <r:link /> </r:assets:each> </r:parent> could be written as <r:parent:assets:first:link />
  • 28. Free tip #5: Snippets can “yield”
  • 29. 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>
  • 30. A real life example
  • 31. 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
  • 32. What’s happening in Radiant world?
  • 33. Radiant extensions can now be gems! • Gems have a nice dependency system • One ‘gem up to date bring several Radiant instances update’ can
  • 34. Radiant 0.9 coming up! • Brand new interface with reworked tabs • Internationalisation (for the backend) • On Rails 2.3.5, working on Rails 3
  • 35. 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)
  • 36. 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