This project rocks and uses MIT-LICENSE.
Quadro is a CMS written for Rails developers. It works as an engine and provides the standard functionality to start a website or a blog from the scratch.
With Quadro you have the following features:
- Create pages.
- Draft and published pages status.
- Create your own templates.
- Make any area on your template editable.
- Auto-generated sitemap.xml.
- Manual sitemap.xml ping to search engines (production only).
- Upload images for each page.
- Use summernote as inline content editor.
- Slider with slick carousel.
- Gallery with lightbox2.
- Integrate any Bootstrap 3 template.
- Google Maps integration with gmaps.
- Customized forms.
- Maintenance mode.
- SEO friendly urls and meta tags.
- Feeds auto generation (rss and atom).
- Auto-generated robots.txt.
- Customized HTML static status pages.
- Basic Open Graph and Twitter Cards support.
- Youtube and Vimeo video and playlist embed support.
Current stable version.
In order to start using it, you need to add the gem entry on your Gemfile
.
gem "quadro"
Then you need to run your bundler.
bundle install
Now the last step is to run the installer.
rails g quadro:install
Note: for Rails 3.2 use 0.5.x gem version.
It will add a mountable route on your project config/routes.rb
.
The default user is [email protected]
and password quadro123
.
By default, all templates are written with HAML. In order to use the widget, you need to do it as the following example:
= widget_for :content
It also works with a default HTML block.
= widget_for :content do
%p Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
The widget_for
helper receives a second parameter which is type
.
= widget_for :content, type: :html
In this release, the possible options are:
- html (default)
- slider
- gallery
- map
- form
- video
Map widget options are:
- latitude (required)
- longitude (required)
- title (optional)
- static (optional)
Note: static
option displays a JPEG graphic map instead of traditional. Default value is false.
Content block will be used for location's pin info window if provided.
= widget_for :address, type: :map, latitude: 13.701291, longitude: -89.224423 do
%p Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
You also need to set google_maps_api_key
in config/initializers/quadro.rb
.
Note: to get an API key, please refer to Google Maps official documentaion here.
Form widget uses simple_form
as form builder. You can specify a form block to define your own fields.
= widget_for :contact, type: :form do |form|
= form.input :name
= form.input :email
= form.input :message, as: :text, input_html: { rows: 3 }
= form.button :submit
Note: all form submits are saved to database. When logged in you can review each interaction below the form widget.
Video widget uses video_info
gem as video info fetch client.
= widget_for :video, type: :video, src: "https://www.youtube.com/watch?v=YE7VzlLtp-4"
You can also set a playlist:
= widget_for :video, type: :video, src: "https://www.youtube.com/watch?v=YE7VzlLtp-4&list=PLcsq2jjTfJ_pEUj2Cl4MlXnpgpSQMTO-f"
Note: works the same with Vimeo's videos and playlists.
Every page has a template associated to it, it sets the layout that will be displayed on the browser. There is a default list of available templates by default.
- blank (full width content)
- jumbotron (full width content with cover header)
- sidebar (content with sidebar navigation)
- demo (an example layout with an example of all available widgets)
You can create your own templates, just add the template files as partials in the following path:
app/views/quadro/shared/templates
Quadro initializer options are defined at config/initializers/quadro.rb
. Here a description for each of them:
- host (site domain)
- email (site email)
- site (site name)
- layout (sub page list layout, use
list
orthumbnail
) - template (page template default)
- frequency (sitemap.xml default)
- priority (sitemap.xml default)
- google_maps_api_key
- facebook_id (app_id)
- twitter_username (without @)
Note: as page templates, sub page list layout can be added at:
app/views/quadro/shared/templates/page
Quadro uses turnout
gem for maintenance mode functionality.
To start maintenance mode, run the command bellow:
rake maintenance:start
To finish maintenance mode, run the command bellow:
rake maintenance:end
You can customize the HTML for the maintenance status page at this path:
public/maintenance.html
For internationalization files you should add quadro-i18n
gem.
Note: please refer to gem's official project page here for further information
Now when you log in into Quadro you will find a toolbar fixed at the bottom, to manage your new website or blog.
Now you are ready to get started with Quadro.