Radiant (software)

This article uses bare URLs, which are uninformative and vulnerable to link rot. Please consider converting them to full citations to ensure the article remains verifiable and maintains a consistent citation style. Several templates and tools are available to assist in formatting, such as reFill (documentation) and Citation bot (documentation). (September 2022) (Learn how and when to remove this template message)

|

RadiantDeveloper(s)| John W. Long, Sean Cribbs, Jim Gay

|

Initial release| June 26, 2006 (2006-06-26)
Final release|

1.1.4[1] / September 24, 2013 (2013-09-24)

Repository|

* github.com/radiant/radiant

Operating system| Cross-platform
Platform| Ruby on Rails
Type| Content management system
License| MIT
Website| radiantcms.org

Radiant is a free software content management system written in Ruby created and designed by John W. Long as a Ruby on Rails web application.

Radiant has a lightweight core library with "extensions" providing additional customised functionality. Because extensions do not modify the core, upgrading is simplified; With over 200 extensions in the extension registry[2] it can be adapted for a range of uses including membership management.[3] All the content is stored inside a database. It is possible to use MySQL, PostgreSQL or SQLite. Radiant depends, like every Ruby on Rails application, on the installed adapters for the database.

It is distributed via a separate download or installable with RubyGems.

Wolf CMS is a PHP port of Radiant CMS.

## Design[edit]

Radiant projects are based on 3 elements: Pages, Snippets and Layouts.[4]

Pages: Pages hold the body content and can include multiple page parts. Radiant content is organised in a tree structure, usually arranged to reflect the actual hierarchy of the content. WYSIWYG Page editing is available as an extension[5] whereas Textile and Markdown page editing are included in the core.

Snippets: Snippets are essentially just content that can be reused anywhere in the project.

Layouts: Layouts are templates or themes that can be selected for each page. A project can use multiple layouts.

## Radius Template Language[edit]

Inside a Page, Layout or Snippet, Radiant offers a special macro language, called Radius, that uses XML-like tags.

Radius tags allow a user to:

* dynamically display content or link to content from somewhere else in the page or content tree. Tags may iterate over children/parent content or call content from anywhere in the tree.
* display content conditionally using "if" and/or "unless" to generate logical statements that show or hide content dynamically when a condition is met.

Here is an example of Radius tags inside page layout:

<html>
<head><r:title /></head>
<body>
<r:snippet name="header"/>
<r:children:each limit="2">
<r:content />
<r:if_content part="sidebar">
<div class="sidebar">
<r:content part="sidebar" />
</div>
</r:if_content>
</r:children:each>
<r:snippet name="footer" />
</body>
</html>

## Content Management[edit]

Radiant CMS offers tools for efficient and scalable content management. Referencing and cross referencing of pages can use absolute links based on page id, meaning pages can be moved around the tree without breaking links to them. Radius offers dynamic control over content, whereby radius tags in one page control content in multiple pages to avoid repetition and allow easy updating of content (context switching). Content can also be managed as a relational database.

## See also[edit]

* Free and open-source software portal

* Comparison of content management systems
* Refinery CMS

## References[edit]

1. ^ https://rubygems.org/gems/radiant/versions/1.1.4
2. ^ Radiant Extension Registry
3. ^ "Radiant CMS as member management system"
4. ^ Radiant Overview
5. ^ "CKEditor as radiant extension"

## External links[edit]

* Official Radiant website
* GitHub project
* ruby-forum.com Radiant thread