This installation is meant for using Golden Cobra as a gem inside your Rails application. If you would like to contribute to Golden Cobra development, please read this document => Installation instructions for development.
rails new PROJECTNAME -m https://raw.github.com/ikusei/goldencobra-installer/master/template.rb -d mysql
rails new PROJECTNAME -d mysql
Add the following to file "PROJECTNAME/Gemfile":
gem "goldencobra", git: "https://github.com/ikuseiGmbH/Goldencobra.git"
gem "activeadmin", git: "https://github.com/ikusei/active_admin.git", require: "activeadmin"
bundle install
rake db:create
rake goldencobra:install:migrations
rails generate goldencobra:install
rake db:migrate db:test:prepare
(http://www.domain.de/subdir/), please modify your config/routes.rb and setup your domains in "Settings > Domains" in the backendinterface
Goldencobra::Domain.pluck(:url_prefix).each do |url_prefix|
scope url_prefix do
ActiveAdmin.routes(self)
devise_for :users, ActiveAdmin::Devise.config
mount Goldencobra::Engine => "/"
end
end
If you want to use Batch Actions in Golden Cobra (set a batch of articles offline), you need to uncomment the line # config.batch_actions = true
in config/initializers/active_admin.rb
This would also be the place where you can override stylesheets and javascripts. Just put them inside the block # == Register Stylesheets & Javascripts
.
Nearly every site in Golden Cobra is an article. If the default article isn't enough for your needs you can create new article types. There's a generator for that:
rails generate goldencobra:articletype Thing name:string
Where "Thing" would be your associated model and "name:string" are the usual ruby attributes.
This will create:
generate model Thing # Your associated model
generate /app/views/articletypes
generate /app/views/articletypes/thing # View folder
# Necessary view files
generate /app/views/articletypes/thing/_index.html.erb
generate /app/views/articletypes/thing/_show.html.erb
generate /app/views/articletypes/thing/_edit_show.html.erb
generate /app/views/articletypes/thing/_edit_index.html.erb
The index and show partials are for fronted display of your article type. The "_edit" partials are for the ActiveAdmin.
"Index" is always the index view of articles of this article_type. The _edit_index enables you to set certain tags to filter your index view. Of course everything is customizable by you.
"Show" is an individual article of this article_type. The "_edit_show" gives you control over the models attributes.
We have a quite flexible settings system in place. In the admin backend you have many values you can customize for your installation.
Important values are
When creating articles, a default value is set for open graph image url. Please make sure you provide a default open graph image at "/assets/open-graph.png"
call in head-section of any view_template to include stylesheets, javascripts (jquery, jqueryui, jquery.tools ...), bugtracker, metatags, airbrake and article_administration element:
basic_goldencobra_headers(option={})
# option: {:exclude => ["stylesheets", "javascripts", "bugtracker", "metatags", "article_administration", "airbrake"]}
example:
<%= basic_goldencobra_headers(:exclude => ["javascripts","stylesheets"]) %>
place this code in your application layout in header section:
<%= bugtracker %>
call in any view_template:
navigation_menu(menue_id, option={})
# option: { depth: integer }
#
# 0 = unlimited
# 1 = self
# 2 = self and children 1st grade
# 3 = self and up to children 2nd grade
# default = 0
example: renders menue starting with id 1 and only childs of first grade
<%= navigation_menu(1, :depth => 1) %>
renders menue starting with id 2 and all children as a nested list
<%= navigation_menu(2) %>
renders menue starting with first Menuitem including title 'MainNavigation' and all children as a nested list
<%= navigation_menu("MainNavigation") %>
renders menue starting with first Menuitem including title 'MainNavigation' in the submenue 'Sub' and all children as a nested list
<%= navigation_menu("Sub/MainNavigation") %>
renders menue starting with first Menuitem including title 'MainNavigation' in the submenue 'de' or 'en' depending of your current Locale and all children as a nested list
<%= navigation_menu("#{I18n.locale.to_s}/MainNavigation") %>
<%= navigation_menu("Top-Menue", :submenue_of_article => @article, :class => "ul_submain_nav", :depth => 2, :show_image => false, :show_description_title => false, :show_description => false, :show_call_to_action_name => false) %>
<%= link_to "Deutsch", switch_language("de") %>
<%= link_to "Englisch", switch_language("en") %>
You can call any named route defined in your railsapp inside a goldencobra_view by calling:
<%= link_to "CustomRoute", application_routes.custom_page_path() %>
in your view_templates:
<%= breadcrumb() %>
<% # Renders contents of different article types %>
<% if @article %>
<%= render_article_type_content() %>
<% end %>
<%= yield(:article_content) %>
<%= yield(:article_title) %>
<%= yield(:article_subtitle) %>
<%= yield(:article_teaser) %>
Alle DefaultWidgets UND alle ArtikelWidgets mit dem Tag "sidebar" sortiert nach SorterID:
render_article_widgets(default: true, tagged_with: "sidebar")
Alle ArtikelWidgets mit dem Tag "sidebar" sortiert nach SorterID:
<%= render_article_widgets(default: false, tagged_with: "sidebar") %>
Alle ArtikelWidgets mit dem Tag "sidebar" sortiert nach SorterID:
<%= render_article_widgets(tagged_with: "sidebar") %>
Alle DefaultWidgets und alle ArtikelWidgets:
<%= render_article_widgets(default: true) %>
Alle ArtikelWidgets:
<%= render_article_widgets() %>
Alle DefaultWidgets:
<%= render_article_widgets(article: false) %>
Alle DefaultWidgets mit dem Tag "sidebar" sortiert nach SorterID:
<%= render_article_widgets(article: false, tagged_with: "sidebar") %>
Alle Optionen mit Defaultwerten:
<%= render_article_widgets(default="false", article="true", tagged_with: "") %>
in your view_templates:
<%= render_login_widget(User) %>
<%= render_login_widget(Visitor) %>
<%= render_registration_widget(User) %>
<%= render_registration_widget(Visitor) %>
<div id="social_sharing_buttons" class="bottom_buttons">
<%= yield(:social_sharing_buttons) %>
</div>
<%= render_article_image_gallery %>
See the CONTRIBUTING document. Thank you, contributors!
This project uses CC BY-NC-SA 3.0. See License
Golden Cobra is maintained by ikusei GmbH in Berlin. We like you.