ratings, home slider etc.
1
.gitignore
vendored
|
@ -15,3 +15,4 @@ public/thumbs
|
|||
public/uploads
|
||||
vendor/cache
|
||||
.idea
|
||||
.sass-cache
|
1
Gemfile
|
@ -9,6 +9,7 @@ gem 'princely'
|
|||
gem 'jquery-rails'
|
||||
gem 'jquery-ui-rails'
|
||||
gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
|
||||
gem 'ajaxful_rating_jquery', :git => 'git://github.com/baxang/ajaxful_rating_jquery.git'#, :branch => 'rails3'
|
||||
gem 'configatron', :git => 'git://github.com/markbates/configatron.git'
|
||||
gem 'plupload-rails', :git => 'git://github.com/bryanmig/plupload-rails.git'
|
||||
gem 'sequel', :git => 'git://github.com/jeremyevans/sequel.git'
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
GIT
|
||||
remote: git://github.com/baxang/ajaxful_rating_jquery.git
|
||||
revision: b4a2c760cdbad9cd865fb18667d14045018287ed
|
||||
specs:
|
||||
ajaxful_rating_jquery (3.0.0.beta3)
|
||||
|
||||
GIT
|
||||
remote: git://github.com/bryanmig/plupload-rails.git
|
||||
revision: 6d07d0f7e05d0b3fdc9b03b49d3a7c3aa1cd703b
|
||||
|
@ -251,6 +257,7 @@ PLATFORMS
|
|||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
ajaxful_rating_jquery!
|
||||
cancan
|
||||
carrierwave (= 0.6.2)
|
||||
coffee-rails
|
||||
|
|
BIN
app/assets/images/ajaxful_rating/star.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
app/assets/images/ajaxful_rating/star_small.png
Normal file
After Width: | Height: | Size: 302 B |
Before Width: | Height: | Size: 6.5 KiB |
|
@ -6,6 +6,7 @@
|
|||
//
|
||||
//= require jquery
|
||||
//= require jquery_ujs
|
||||
//= require jquery.easing.1.3
|
||||
//= require twitter/bootstrap
|
||||
//= require plupload
|
||||
//= require jquery.plupload.queue
|
||||
|
|
91
app/assets/stylesheets/ajaxful_rating.css.scss
Normal file
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* Style by Rogie http://www.komodomedia.com/blog/2007/01/css-star-rating-redux/
|
||||
*/
|
||||
|
||||
.ajaxful-rating,
|
||||
.ajaxful-rating a:hover,
|
||||
.ajaxful-rating a:active,
|
||||
.ajaxful-rating a:focus,
|
||||
.ajaxful-rating .show-value {
|
||||
background: url("/assets/ajaxful_rating/star.png") left -1000px repeat-x;
|
||||
}
|
||||
|
||||
.ajaxful-rating {
|
||||
position: relative;
|
||||
/*width: 125px; this is setted dynamically */
|
||||
height: 25px;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-position: left top;
|
||||
}
|
||||
|
||||
.ajaxful-rating li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.ajaxful-rating a,
|
||||
.ajaxful-rating span,
|
||||
.ajaxful-rating .show-value {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-indent: -1000em;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.ajaxful-rating a:hover,
|
||||
.ajaxful-rating a:active,
|
||||
.ajaxful-rating a:focus {
|
||||
background-position: left bottom;
|
||||
}
|
||||
|
||||
/* This section is generated dynamically.
|
||||
Just add a call to the helper method 'ajaxful_rating_style' within
|
||||
the head tags in your main layout
|
||||
.ajaxful-rating .stars-1{
|
||||
width: 20%;
|
||||
z-index: 6;
|
||||
}
|
||||
.ajaxful-rating .stars-2{
|
||||
width: 40%;
|
||||
z-index: 5;
|
||||
}
|
||||
.ajaxful-rating .stars-3{
|
||||
width: 60%;
|
||||
z-index: 4;
|
||||
}
|
||||
.ajaxful-rating .stars-4{
|
||||
width: 80%;
|
||||
z-index: 3;
|
||||
}
|
||||
.ajaxful-rating .stars-5{
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
*/
|
||||
.ajaxful-rating .show-value {
|
||||
z-index: 1;
|
||||
background-position: left center;
|
||||
}
|
||||
|
||||
/* smaller star */
|
||||
.ajaxful-rating.small {
|
||||
/*width: 50px; this is setted dynamically */
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.ajaxful-rating.small,
|
||||
.ajaxful-rating.small a:hover,
|
||||
.ajaxful-rating.small a:active,
|
||||
.ajaxful-rating.small a:focus,
|
||||
.ajaxful-rating.small .show-value {
|
||||
background-image: url("/assets/ajaxful_rating/star_small.png");
|
||||
line-height: 10px;
|
||||
height: 10px;
|
||||
}
|
|
@ -4,3 +4,11 @@
|
|||
*= require jquery.plupload.queue
|
||||
*= require bootstrap_and_overrides
|
||||
*/
|
||||
|
||||
.ajaxful-rating-wrapper{
|
||||
float: right;
|
||||
}
|
||||
|
||||
.view-btn{
|
||||
display: inline;
|
||||
}
|
|
@ -4,7 +4,9 @@ class CollectionsController < ApplicationController
|
|||
|
||||
|
||||
def index
|
||||
@collections = Collection.joins(:albums => :photos).group_for.order('collections.title')
|
||||
@collections = Collection.includes(:albums => :photos).where("photos.id NOT NULL").group_for.order('collections.title')
|
||||
@popular_photos = Photo.visible.order('rating_average asc').limit(10)
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json { render :json => @collections }
|
||||
|
@ -60,4 +62,10 @@ class CollectionsController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def rate
|
||||
@collection = Collection.find(params[:id])
|
||||
@collection.rate(params[:stars], current_user, params[:dimension])
|
||||
render :json => {:id => @collection.wrapper_dom_id(params), :width => 125}
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
class Album < ActiveRecord::Base
|
||||
extend Ext::GroupFor
|
||||
|
||||
ajaxful_rateable :stars => 5, :cache_column => :rating_average
|
||||
|
||||
has_many :photos, :dependent => :destroy
|
||||
has_many :collection_albums
|
||||
has_many :collections, :through => :collection_albums
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
class Collection < ActiveRecord::Base
|
||||
extend Ext::GroupFor
|
||||
|
||||
ajaxful_rateable :stars => 5, :cache_column => :rating_average
|
||||
|
||||
has_many :collection_albums
|
||||
has_many :albums, :through => :collection_albums
|
||||
attr_accessor :album_list
|
||||
|
|
|
@ -1,19 +1,21 @@
|
|||
class Photo < ActiveRecord::Base
|
||||
extend Ext::GroupFor
|
||||
|
||||
ajaxful_rateable :stars => 5, :cache_column => :rating_average
|
||||
|
||||
belongs_to :album
|
||||
has_many :photo_tags, :dependent => :destroy
|
||||
has_many :tags, :through => :photo_tags
|
||||
|
||||
mount_uploader :attachment, FileUploader
|
||||
|
||||
|
||||
before_create :exif_read
|
||||
before_update :exif_write
|
||||
after_create :set_title
|
||||
|
||||
attr_accessor :tag_list
|
||||
|
||||
scope :visible, where(:public => true)
|
||||
scope :untouched, :conditions => "photos.description IS NULL AND photos.id NOT IN ( SELECT photo_id FROM photo_tags)", :include => :album
|
||||
scope :previous, lambda { |p,a| { :conditions => ["id < :id AND album_Id = :album ", { :id => p, :album => a } ], :limit => 1, :order => "id DESC"} }
|
||||
scope :next, lambda { |p,a| { :conditions => ["id > :id AND album_Id = :album ", { :id => p, :album => a } ], :limit => 1, :order => "id ASC"} }
|
||||
|
|
7
app/models/rate.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
class Rate < ActiveRecord::Base
|
||||
belongs_to :rater, :class_name => "User"
|
||||
belongs_to :rateable, :polymorphic => true
|
||||
validates_numericality_of :stars, :minimum => 1
|
||||
|
||||
attr_accessible :rate, :dimension
|
||||
end
|
7
app/models/secret_link_observer.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
class SecretLinkObserver < ActiveRecord::Observer
|
||||
observe :collection, :album, :photo
|
||||
|
||||
def before_create(record)
|
||||
record.url = ::SecureRandom.hex(16)
|
||||
end
|
||||
end
|
|
@ -4,6 +4,8 @@ class User < ActiveRecord::Base
|
|||
|
||||
attr_accessible :id, :name, :second_name, :surname, :email, :password, :password_confirmation, :remember_me, :userpic
|
||||
|
||||
ajaxful_rater
|
||||
|
||||
mount_uploader :userpic, UserpicUploader
|
||||
|
||||
has_and_belongs_to_many :roles
|
||||
|
|
|
@ -64,22 +64,38 @@ class FileUploader < CarrierWave::Uploader::Base
|
|||
end
|
||||
end
|
||||
|
||||
version :preview do
|
||||
process :resize_to_fit => [210, 210]
|
||||
######################################################################################################################
|
||||
# Note
|
||||
# The default grid system provided in Bootstrap utilizes 12 columns that
|
||||
# render out at widths of 724px, 940px (default without responsive CSS included), and 1170px.
|
||||
# Below 767px viewports, the columns become fluid and stack vertically.
|
||||
|
||||
version :middle do
|
||||
process :resize_to_fit => [724, 500]
|
||||
|
||||
def store_dir
|
||||
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
||||
end
|
||||
end
|
||||
|
||||
version :single do
|
||||
process :resize_to_limit => [950, 950]
|
||||
version :large do
|
||||
process :resize_to_fit => [940, 500]
|
||||
|
||||
def store_dir
|
||||
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
||||
end
|
||||
end
|
||||
|
||||
version :largest do
|
||||
process :resize_to_fit => [1170, 500]
|
||||
|
||||
def store_dir
|
||||
ENV['STORAGE_PATH'] + "/thumbs/#{model.album.path}/#{model.id}"
|
||||
end
|
||||
end
|
||||
######################################################################################################################
|
||||
|
||||
|
||||
# Add a white list of extensions which are allowed to be uploaded,
|
||||
# for images you might use something like this:
|
||||
def extension_white_list
|
||||
|
|
|
@ -9,6 +9,13 @@ class UserpicUploader < CarrierWave::Uploader::Base
|
|||
"#{::SecureRandom.hex(8)}#{File.extname(original_filename).downcase}" if original_filename
|
||||
end
|
||||
|
||||
version :mini do
|
||||
process :resize_to_fit => [50, 50]
|
||||
|
||||
def store_dir
|
||||
"#{ENV['STORAGE_PATH']}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}/mini"
|
||||
end
|
||||
end
|
||||
|
||||
version :small do
|
||||
process :resize_to_fit => [100, 100]
|
||||
|
|
|
@ -1,25 +1,31 @@
|
|||
<% @collections.in_groups_of(4).compact.each do |group| %>
|
||||
<% unless group.compact.empty? %>
|
||||
<div class="row">
|
||||
<%= render 'shared/home_slider' %>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
<% @collections.in_groups_of(4).each do |group| %>
|
||||
<% unless group.empty? %>
|
||||
<ul class="thumbnails">
|
||||
<% group.compact.each do |collection| %>
|
||||
<% unless collection.albums.empty? %>
|
||||
<% unless collection.albums.first.photos.empty? %>
|
||||
<% group.compact.each_with_index do |collection, index| %>
|
||||
<li class="span3">
|
||||
<div class="thumbnail">
|
||||
<%= image_tag collection.albums.first.photos.first.attachment.collection.url %>
|
||||
<div class="caption">
|
||||
<h5><%= collection.title %></h5>
|
||||
<p><%= collection.description %></p>
|
||||
<p><%= link_to 'View', (collection_path(collection) unless collection.albums.empty? || collection.albums.first.photos.empty?), {:class => 'btn btn-primary'} %></p>
|
||||
<p class="view-btn"><%= link_to 'View', (collection_path(collection) unless collection.albums.empty? || collection.albums.first.photos.empty?), {:class => 'btn btn-primary'} %></p>
|
||||
<%= ratings_for collection %>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<%= content_for :action_links do %>
|
||||
|
|
|
@ -6,24 +6,16 @@
|
|||
<body>
|
||||
<%= render :partial => 'shared/nav_bar' %>
|
||||
<div class="container">
|
||||
<!-- Main hero unit for a primary marketing message or call to action -->
|
||||
<div class="hero-unit">
|
||||
<h1>Hello, world!</h1>
|
||||
<p>This is a template for a simple marketing or informational website. It includes a large callout called the hero
|
||||
unit and three supporting pieces of content. Use it as a starting point to create something more unique.</p>
|
||||
<p><a class="btn btn-primary btn-large">Learn more »</a></p>
|
||||
</div>
|
||||
<!-- Example row of columns -->
|
||||
<div class="row">
|
||||
<div class="span12 notice"><%= flash[:notice] %></div>
|
||||
<div class="span12">
|
||||
<%= yield %>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<footer>
|
||||
<p>© Company 2012</p>
|
||||
<p>© Photomix 2012</p>
|
||||
</footer>
|
||||
</div>
|
||||
<!-- /container -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -34,3 +34,5 @@
|
|||
|
||||
<%= yield :head %>
|
||||
<%= yield :javascript %>
|
||||
<%= raw ajaxful_rating_style %>
|
||||
<%= raw ajaxful_rating_script %>
|
38
app/views/shared/_home_slider.html.erb
Normal file
|
@ -0,0 +1,38 @@
|
|||
<%= content_for :head do %>
|
||||
<%= stylesheet_link_tag "anythingslider/anythingslider" %>
|
||||
<%= javascript_include_tag "anythingslider/jquery.anythingslider.min" %>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('#home-slider').anythingSlider({
|
||||
// theme:'metallic',
|
||||
expand:true,
|
||||
//resizeContents: false,
|
||||
autoPlay:true
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
#home-slider {
|
||||
height: 1000px;
|
||||
}
|
||||
|
||||
.slider-wrapper {
|
||||
width: 100%;
|
||||
height: 1000px;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
<% end %>
|
||||
|
||||
<div class="span12 slider-wrapper">
|
||||
<ul id="home-slider">
|
||||
<% @popular_photos.each do |photo| %>
|
||||
<li><%= image_tag photo.attachment.large.url %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
8
app/views/shared/_screen_resolution.html.erb
Normal file
|
@ -0,0 +1,8 @@
|
|||
<a href="javascript:alert('Your screen resolution is '+screen.width+'x'+screen.height);">Click for your screen resolution</a>
|
||||
<input type="hidden" id="resolution_screen" name="resolution_screen">
|
||||
|
||||
<%= content_for :action_links do %>
|
||||
<% if current_user and current_user.has_role?("admin") %>
|
||||
<%= link_to "New collection", new_collection_path %>
|
||||
<% end %>
|
||||
<% end %>
|
BIN
assets/images/ajaxful_rating/star.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
assets/images/ajaxful_rating/star_small.png
Normal file
After Width: | Height: | Size: 302 B |
84
assets/stylesheets/ajaxful_rating.css.scss
Normal file
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* Style by Rogie http://www.komodomedia.com/blog/2007/01/css-star-rating-redux/
|
||||
*/
|
||||
|
||||
.ajaxful-rating,
|
||||
.ajaxful-rating a:hover,
|
||||
.ajaxful-rating a:active,
|
||||
.ajaxful-rating a:focus,
|
||||
.ajaxful-rating .show-value{
|
||||
background: image-url("ajaxful_rating/star.png") left -1000px repeat-x;
|
||||
}
|
||||
.ajaxful-rating{
|
||||
position: relative;
|
||||
/*width: 125px; this is setted dynamically */
|
||||
height: 25px;
|
||||
overflow: hidden;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-position: left top;
|
||||
}
|
||||
.ajaxful-rating li{ display: inline; }
|
||||
.ajaxful-rating a,
|
||||
.ajaxful-rating span,
|
||||
.ajaxful-rating .show-value{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
text-indent: -1000em;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
border: none;
|
||||
}
|
||||
.ajaxful-rating a:hover,
|
||||
.ajaxful-rating a:active,
|
||||
.ajaxful-rating a:focus{
|
||||
background-position: left bottom;
|
||||
}
|
||||
|
||||
/* This section is generated dynamically.
|
||||
Just add a call to the helper method 'ajaxful_rating_style' within
|
||||
the head tags in your main layout
|
||||
.ajaxful-rating .stars-1{
|
||||
width: 20%;
|
||||
z-index: 6;
|
||||
}
|
||||
.ajaxful-rating .stars-2{
|
||||
width: 40%;
|
||||
z-index: 5;
|
||||
}
|
||||
.ajaxful-rating .stars-3{
|
||||
width: 60%;
|
||||
z-index: 4;
|
||||
}
|
||||
.ajaxful-rating .stars-4{
|
||||
width: 80%;
|
||||
z-index: 3;
|
||||
}
|
||||
.ajaxful-rating .stars-5{
|
||||
width: 100%;
|
||||
z-index: 2;
|
||||
}
|
||||
*/
|
||||
.ajaxful-rating .show-value{
|
||||
z-index: 1;
|
||||
background-position: left center;
|
||||
}
|
||||
|
||||
/* smaller star */
|
||||
.ajaxful-rating.small{
|
||||
/*width: 50px; this is setted dynamically */
|
||||
height: 10px;
|
||||
}
|
||||
.ajaxful-rating.small,
|
||||
.ajaxful-rating.small a:hover,
|
||||
.ajaxful-rating.small a:active,
|
||||
.ajaxful-rating.small a:focus,
|
||||
.ajaxful-rating.small .show-value{
|
||||
background-image: image-url("ajaxful_rating/star_small.png");
|
||||
line-height: 10px;
|
||||
height: 10px;
|
||||
}
|
|
@ -12,7 +12,7 @@ module Photomix
|
|||
# Custom directories with classes and modules you want to be autoloadable.
|
||||
# config.autoload_paths += %W(#{config.root}/
|
||||
config.autoload_paths += %W(#{config.root}/lib #{config.root}/app/middleware/)
|
||||
|
||||
config.active_record.observers = :secret_link_observer
|
||||
config.encoding = "utf-8"
|
||||
config.i18n.default_locale = :ru
|
||||
config.time_zone = 'Moscow'
|
||||
|
|
|
@ -14,6 +14,10 @@ Photomix::Application.routes.draw do
|
|||
resource :account, :controller => :users
|
||||
|
||||
resources :photos do
|
||||
member do
|
||||
post :rate
|
||||
end
|
||||
|
||||
collection do
|
||||
get :untouched
|
||||
post :edit_multiple
|
||||
|
@ -22,10 +26,16 @@ Photomix::Application.routes.draw do
|
|||
get :scan
|
||||
end
|
||||
end
|
||||
|
||||
resources :albums do
|
||||
member do
|
||||
post :rate
|
||||
end
|
||||
|
||||
collection do
|
||||
get :untouched
|
||||
end
|
||||
|
||||
resources :tags do
|
||||
resources :photos do
|
||||
collection do
|
||||
|
@ -35,6 +45,7 @@ Photomix::Application.routes.draw do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
resources :photos do
|
||||
collection do
|
||||
get :untouched
|
||||
|
@ -43,7 +54,12 @@ Photomix::Application.routes.draw do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
resources :collections do
|
||||
member do
|
||||
post :rate
|
||||
end
|
||||
|
||||
resources :albums do
|
||||
resources :photos do
|
||||
collection do
|
||||
|
|
|
@ -3,6 +3,10 @@ class CreateAlbum < ActiveRecord::Migration
|
|||
create_table :albums do |t|
|
||||
t.string :title, :length => 250, :null => false
|
||||
t.text :description
|
||||
t.decimal :rating_average, :default => 0, :precision => 6, :scale => 2
|
||||
t.string :url
|
||||
t.boolean :public
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,6 +4,10 @@ class CreatePhotos < ActiveRecord::Migration
|
|||
t.string :title, :length => 250
|
||||
t.text :description
|
||||
t.references :album
|
||||
t.decimal :rating_average, :default => 0, :precision => 6, :scale => 2
|
||||
t.string :url
|
||||
t.boolean :public
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,6 +3,9 @@ class CreateCollections < ActiveRecord::Migration
|
|||
create_table :collections do |t|
|
||||
t.string :title, :null => false
|
||||
t.string :description
|
||||
t.decimal :rating_average, :default => 0, :precision => 6, :scale => 2
|
||||
t.string :url
|
||||
t.boolean :public, :default => false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
|
18
db/migrate/20120724213209_create_rates.rb
Normal file
|
@ -0,0 +1,18 @@
|
|||
class CreateRates < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table :rates do |t|
|
||||
t.belongs_to :rater
|
||||
t.belongs_to :rateable, :polymorphic => true
|
||||
t.integer :stars, :null => false
|
||||
t.string :dimension
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :rates, :rater_id
|
||||
add_index :rates, [:rateable_id, :rateable_type]
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table :rates
|
||||
end
|
||||
end
|
24
db/schema.rb
|
@ -11,11 +11,14 @@
|
|||
#
|
||||
# It's strongly recommended to check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(:version => 20100412220801) do
|
||||
ActiveRecord::Schema.define(:version => 20120724213209) do
|
||||
|
||||
create_table "albums", :force => true do |t|
|
||||
t.string "title", :null => false
|
||||
t.text "description"
|
||||
t.decimal "rating_average", :precision => 6, :scale => 2, :default => 0.0
|
||||
t.string "url"
|
||||
t.boolean "public"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.text "path"
|
||||
|
@ -40,6 +43,9 @@ ActiveRecord::Schema.define(:version => 20100412220801) do
|
|||
create_table "collections", :force => true do |t|
|
||||
t.string "title", :null => false
|
||||
t.string "description"
|
||||
t.decimal "rating_average", :precision => 6, :scale => 2, :default => 0.0
|
||||
t.string "url"
|
||||
t.boolean "public", :default => false
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
@ -60,6 +66,9 @@ ActiveRecord::Schema.define(:version => 20100412220801) do
|
|||
t.string "title"
|
||||
t.text "description"
|
||||
t.integer "album_id"
|
||||
t.decimal "rating_average", :precision => 6, :scale => 2, :default => 0.0
|
||||
t.string "url"
|
||||
t.boolean "public"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
t.text "path"
|
||||
|
@ -71,6 +80,19 @@ ActiveRecord::Schema.define(:version => 20100412220801) do
|
|||
add_index "photos", ["album_id"], :name => "index_photos_on_album_id"
|
||||
add_index "photos", ["id"], :name => "index_photos_on_id", :unique => true
|
||||
|
||||
create_table "rates", :force => true do |t|
|
||||
t.integer "rater_id"
|
||||
t.integer "rateable_id"
|
||||
t.string "rateable_type"
|
||||
t.integer "stars", :null => false
|
||||
t.string "dimension"
|
||||
t.datetime "created_at", :null => false
|
||||
t.datetime "updated_at", :null => false
|
||||
end
|
||||
|
||||
add_index "rates", ["rateable_id", "rateable_type"], :name => "index_rates_on_rateable_id_and_rateable_type"
|
||||
add_index "rates", ["rater_id"], :name => "index_rates_on_rater_id"
|
||||
|
||||
create_table "roles", :force => true do |t|
|
||||
t.string "name"
|
||||
t.datetime "created_at", :null => false
|
||||
|
|
|
@ -19,4 +19,8 @@ user.roles << Role.make!(name: 'admin')
|
|||
20.times.map { Photo.make! }
|
||||
10.times.map { CollectionAlbum.make! }
|
||||
|
||||
20.times.map{ Rate.make!(:collections) }
|
||||
20.times.map{ Rate.make!(:albums) }
|
||||
20.times.map{ Rate.make!(:photos) }
|
||||
|
||||
FileUtils.rm_rf "#{Rails.root}/tmp/attachments"
|
||||
|
|
|
@ -20,7 +20,6 @@ User.blueprint {
|
|||
surname { Faker::NameRU.last_name(sex) }
|
||||
confirmed_at { Time.now + rand(1..4) }
|
||||
confirmation_sent_at { Time.now + rand(5..9) }
|
||||
# TODO migrate from paperclip to carrier_wave
|
||||
userpic {
|
||||
file_name = ::SecureRandom.hex(8)
|
||||
file = open("http://lorempixel.com/800/500/abstract/")
|
||||
|
@ -39,11 +38,15 @@ Album.blueprint {
|
|||
title { Faker::Lorem.sentence(rand(3)) }
|
||||
description { Faker::Lorem.sentence }
|
||||
path { "my_album_#{sn}" }
|
||||
rating_average { rand(1..5) }
|
||||
public { true }
|
||||
}
|
||||
|
||||
Collection.blueprint {
|
||||
title { Faker::Lorem.sentence(rand(3)) }
|
||||
description { Faker::Lorem.sentence }
|
||||
rating_average { rand(1..5) }
|
||||
public { true }
|
||||
}
|
||||
|
||||
CollectionAlbum.blueprint {
|
||||
|
@ -55,9 +58,11 @@ Photo.blueprint {
|
|||
title { Faker::Lorem.sentence(rand(3)) }
|
||||
description { Faker::Lorem.sentence }
|
||||
album { Album.find(rand(1..20)) }
|
||||
rating_average { rand(1..5) }
|
||||
public { true }
|
||||
attachment {
|
||||
file_name = ::SecureRandom.hex(8)
|
||||
file = open("http://lorempixel.com/800/500/abstract/")
|
||||
file = open("http://lorempixel.com/1300/1000/people/")
|
||||
if file.kind_of? Tempfile
|
||||
name = File.basename(file.path)
|
||||
FileUtils.move(file.path, "#{Rails.root}/tmp/attachments/#{name}.jpeg")
|
||||
|
@ -69,3 +74,22 @@ Photo.blueprint {
|
|||
}
|
||||
}
|
||||
|
||||
Rate.blueprint(:collections) {
|
||||
rateable { Collection.find(rand(1..20)) }
|
||||
rater { User.find(rand(1..20)) }
|
||||
stars { rand(1..5) }
|
||||
}
|
||||
|
||||
Rate.blueprint(:albums) {
|
||||
rateable { Album.find(rand(1..20)) }
|
||||
rater { User.find(rand(1..20)) }
|
||||
stars { rand(1..5) }
|
||||
}
|
||||
|
||||
Rate.blueprint(:photos) {
|
||||
rateable { Photo.find(rand(1..20)) }
|
||||
rater { User.find(rand(1..20)) }
|
||||
stars { rand(1..5) }
|
||||
}
|
||||
|
||||
|
||||
|
|
7
test/unit/secret_link_observer_test.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'test_helper'
|
||||
|
||||
class SecretLinkObserverTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
3813
vendor/assets/javascripts/anythingslider/animate.css
vendored
Normal file
291
vendor/assets/javascripts/anythingslider/anythingslider.css
vendored
Normal file
|
@ -0,0 +1,291 @@
|
|||
/*
|
||||
AnythingSlider v1.8+ Default theme
|
||||
By Chris Coyier: http://css-tricks.com
|
||||
with major improvements by Doug Neiner: http://pixelgraphics.us/
|
||||
based on work by Remy Sharp: http://jqueryfordesigners.com/
|
||||
*/
|
||||
|
||||
/*****************************
|
||||
SET DEFAULT DIMENSIONS HERE
|
||||
*****************************/
|
||||
/* change the ID & dimensions to match your slider */
|
||||
#slider {
|
||||
width: 700px;
|
||||
height: 390px;
|
||||
list-style: none;
|
||||
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/******************
|
||||
SET STYLING HERE
|
||||
******************
|
||||
=================================
|
||||
Default state (no keyboard focus)
|
||||
==================================*/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider-default {
|
||||
margin: 0 auto;
|
||||
/* 45px right & left padding for the arrows, 28px @ bottom for navigation */
|
||||
padding: 0 45px 28px 45px;
|
||||
}
|
||||
/* slider window - top & bottom borders, default state */
|
||||
.anythingSlider-default .anythingWindow {
|
||||
border-top: 3px solid #777;
|
||||
border-bottom: 3px solid #777;
|
||||
}
|
||||
/* Navigation buttons + start/stop button, default state */
|
||||
.anythingSlider-default .anythingControls a {
|
||||
/* top shadow */
|
||||
background: #777 url(../images/default.png) center -288px repeat-x;
|
||||
color: #000;
|
||||
border-radius: 0 0 5px 5px;
|
||||
-moz-border-radius: 0 0 5px 5px;
|
||||
-webkit-border-radius: 0 0 5px 5px;
|
||||
}
|
||||
/* Make sure navigation text is visible */
|
||||
.anythingSlider-default .anythingControls a span {
|
||||
visibility: visible;
|
||||
}
|
||||
/* Navigation current button, default state */
|
||||
.anythingSlider-default .anythingControls a.cur {
|
||||
background: #888;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, default state */
|
||||
.anythingSlider-default .anythingControls a.start-stop {
|
||||
background-color: #040;
|
||||
color: #ddd;
|
||||
}
|
||||
/* start-stop button, playing, default state */
|
||||
.anythingSlider-default .anythingControls a.start-stop.playing {
|
||||
background-color: #800;
|
||||
}
|
||||
|
||||
/* start-stop button, default hovered text color (when visible) */
|
||||
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||
.anythingSlider-default .anythingControls a.start-stop:hover,
|
||||
.anythingSlider-default .anythingControls a.start-stop.hover,
|
||||
.anythingSlider-default .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||
background-image: none;
|
||||
color: #ddd;
|
||||
}
|
||||
|
||||
/*
|
||||
=================================
|
||||
Active State (has keyboard focus)
|
||||
=================================
|
||||
*/
|
||||
/* slider window - top & bottom borders, active state */
|
||||
.anythingSlider-default.activeSlider .anythingWindow {
|
||||
border-color: #7C9127;
|
||||
}
|
||||
/* Navigation buttons, active state */
|
||||
.anythingSlider-default.activeSlider .anythingControls a {
|
||||
/* background image = top shadow */
|
||||
background-color: #7C9127;
|
||||
}
|
||||
/* Navigation current & hovered button, active state */
|
||||
.anythingSlider-default.activeSlider .anythingControls a.cur,
|
||||
.anythingSlider-default.activeSlider .anythingControls a:hover {
|
||||
/* background image removed */
|
||||
background: #7C9127;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, active state */
|
||||
.anythingSlider-default.activeSlider .anythingControls a.start-stop {
|
||||
background-color: #080;
|
||||
color: #fff;
|
||||
}
|
||||
/* start-stop button, playing, active state */
|
||||
.anythingSlider-default.activeSlider .anythingControls a.start-stop.playing {
|
||||
background-color: #d00;
|
||||
color: #fff;
|
||||
}
|
||||
/* start-stop button, active slider hovered text color (when visible) */
|
||||
.anythingSlider-default.activeSlider .start-stop:hover,
|
||||
.anythingSlider-default.activeSlider .start-stop.hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/************************
|
||||
NAVIGATION POSITIONING
|
||||
************************/
|
||||
/* Navigation Arrows */
|
||||
.anythingSlider-default .arrow {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.anythingSlider-default .arrow a {
|
||||
display: block;
|
||||
width: 45px;
|
||||
height: 140px;
|
||||
margin: -70px 0 0 0; /* half height of image */
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
background: url(../images/default.png) no-repeat;
|
||||
}
|
||||
|
||||
/* back arrow */
|
||||
.anythingSlider-default .back { left: 0; }
|
||||
.anythingSlider-default .back a { background-position: left top; }
|
||||
.anythingSlider-default .back a:hover,
|
||||
.anythingSlider-default .back a.hover { background-position: left -140px; }
|
||||
/* forward arrow */
|
||||
.anythingSlider-default .forward { right: 0; }
|
||||
.anythingSlider-default .forward a { background-position: right top; }
|
||||
.anythingSlider-default .forward a:hover,
|
||||
.anythingSlider-default .forward a.hover { background-position: right -140px; }
|
||||
|
||||
/* Navigation Links */
|
||||
.anythingSlider-default .anythingControls { outline: 0; display: none; }
|
||||
.anythingSlider-default .anythingControls ul { margin: 0; padding: 0; float: left; }
|
||||
.anythingSlider-default .anythingControls ul li { display: inline; }
|
||||
.anythingSlider-default .anythingControls ul a {
|
||||
font: 11px/18px Georgia, Serif;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
padding: 2px 8px;
|
||||
height: 18px;
|
||||
margin: 0 5px 0 0;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* navigationSize window */
|
||||
.anythingSlider-default .anythingControls .anythingNavWindow {
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* Autoplay Start/Stop button */
|
||||
.anythingSlider-default .anythingControls .start-stop {
|
||||
padding: 2px 5px;
|
||||
width: 40px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
float: right;
|
||||
z-index: 100;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
IE8 AND OLDER STYLING
|
||||
***********************/
|
||||
|
||||
/* Navigation Arrows */
|
||||
.as-oldie .anythingSlider-default .arrow {
|
||||
top: 30%;
|
||||
}
|
||||
.as-oldie .anythingSlider-default .arrow a {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* margin between nav buttons just looks better */
|
||||
.as-oldie .anythingSlider-default .anythingControls li {
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
/* When using the navigationSize option, the side margins need to be zero
|
||||
None of the navigation panels look good in IE7 now =( */
|
||||
.as-oldie .anythingSlider-default .anythingControls a {
|
||||
margin: 0;
|
||||
}
|
||||
.as-oldie .anythingSlider-default .anythingNavWindow {
|
||||
margin: 0 2px;
|
||||
}
|
||||
.as-oldie .anythingSlider-default .anythingNavWindow li {
|
||||
padding: 3px 0 0 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
COMMON SLIDER STYLING
|
||||
***********************/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider {
|
||||
display: block;
|
||||
overflow: visible !important;
|
||||
position: relative;
|
||||
}
|
||||
/* anythingSlider viewport window */
|
||||
.anythingSlider .anythingWindow {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* anythingSlider base (original element) */
|
||||
.anythingSlider .anythingBase {
|
||||
background: transparent;
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
overflow: visible !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||
.anythingSlider .arrow span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||
.anythingSlider .arrow.disabled {
|
||||
display: none;
|
||||
}
|
||||
/* all panels inside the slider; horizontal mode */
|
||||
.anythingSlider .panel {
|
||||
background: transparent;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* vertical mode */
|
||||
.anythingSlider .vertical .panel {
|
||||
float: none;
|
||||
}
|
||||
/* fade mode */
|
||||
.anythingSlider .fade .panel {
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
/* fade mode active page - visible & on top */
|
||||
.anythingSlider .fade .activePage {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
RTL STYLING
|
||||
***********************/
|
||||
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||
.anythingSlider.rtl .anythingWindow {
|
||||
direction: ltr;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||
|
||||
/* probably not necessary, but added just in case */
|
||||
.anythingSlider,
|
||||
.anythingSlider .anythingWindow,
|
||||
.anythingSlider .anythingControls ul a,
|
||||
.anythingSlider .arrow a,
|
||||
.anythingSlider .start-stop {
|
||||
transition-duration: 0;
|
||||
-o-transition-duration: 0;
|
||||
-moz-transition-duration: 0;
|
||||
-webkit-transition-duration: 0;
|
||||
}
|
BIN
vendor/assets/javascripts/anythingslider/images/arrows-metallic.png
vendored
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/arrows-minimalist.png
vendored
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/construction.gif
vendored
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/cs-portfolio.png
vendored
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
vendor/assets/javascripts/anythingslider/images/default.png
vendored
Normal file
After Width: | Height: | Size: 15 KiB |
6
vendor/assets/javascripts/anythingslider/jquery.anythingslider.fx.min.js
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
/*
|
||||
* AnythingSlider Slide FX 1.6 minified for AnythingSlider v1.7.11+
|
||||
* By Rob Garrison (aka Mottie & Fudgey)
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
*/
|
||||
(function(h){h.fn.anythingSliderFx=function(q,r){var n=h(this).closest(".anythingSlider"),i=n.width(),o=n.height(),p=function(a){var b=a,l;a&&"string"===typeof a&&0<a.indexOf(",")&&(a=a.split(","),b=h.trim(a[0]),l=h.trim(a[1]));return{top:[{inFx:{top:0},outFx:{top:"-"+(b||o)}}],bottom:[{inFx:{top:0},outFx:{top:b||o}}],left:[{inFx:{left:0},outFx:{left:"-"+(b||i)}}],right:[{inFx:{left:0},outFx:{left:b||i}}],fade:[{inFx:{opacity:b||1},outFx:{opacity:0}}],expand:[{inFx:{width:l||"100%",height:l||"100%", top:"0%",left:"0%"},outFx:{width:b||"10%",height:b||"10%",top:"50%",left:"50%"}}],grow:[{inFx:{top:0,fontSize:b||"16px",opacity:1},outFx:{top:"-200px",fontSize:l||"80px",opacity:0}}],listLR:[{inFx:{left:0,opacity:1},outFx:[{left:b||i,opacity:0},{left:"-"+(b||i),opacity:0}],selector:[":odd",":even"]}],listRL:[{inFx:{left:0,opacity:1},outFx:[{left:b||i,opacity:0},{left:"-"+(b||i),opacity:0}],selector:[":even",":odd"]}],"caption-Top":[{inFx:{top:0,opacity:0.8},outFx:{top:"-"+b||-50,opacity:0}}],"caption-Right":[{inFx:{right:0, opacity:0.8},outFx:{right:"-"+b||-150,opacity:0}}],"caption-Bottom":[{inFx:{bottom:0,opacity:0.8},outFx:{bottom:"-"+b||-50,opacity:0}}],"caption-Left":[{inFx:{left:0,opacity:0.8},outFx:{left:"-"+b||-150,opacity:0}}]}};return this.each(function(){h(this).data("AnythingSlider").fx=q;var a=h.extend({easing:"swing",timeIn:400,timeOut:350,stopRepeat:!1,outFxBind:"slide_init",inFxBind:"slide_complete",dataAnimate:"data-animate"},r),b=p(),l=function(a,c,d,b){if(!(0===a.length||"undefined"===typeof c)){var f= c[0]||c,e=f[1]||"",b=b||parseInt(""===e?f.duration:f[0].duration,10);if(d&&("absolute"!==a.css("position")&&a.css({position:"relative"}),a.stop(),""!==e)){a.filter(c[1][0]).animate(f[0],{queue:!1,duration:b,easing:f[0].easing});a.filter(c[1][1]).animate(e,{queue:!0,duration:b,easing:f[0].easing});return}a.animate(f,{queue:!0,duration:b,easing:f.easing})}},i=function(k,c){var d,j=c?"outFx":"inFx",f={},e=c?a.timeOut:a.timeIn,g=h.trim(k[0].replace(/\s+/g," ")).split(" ");if(c&&1===g.length&&b.hasOwnProperty(g)&& "undefined"!==typeof b[g][0].selector)return d=b[g][0].outFx,d[0].duration=k[2]||a.timeOut,d[0].easing=k[3]||a.easing,[d,b[g][0].selector||[]];h.each(g,function(d,g){if(b.hasOwnProperty(g)){var i="undefined"===typeof k[1]||""===k[1],i=i?b:p(k[1]);h.extend(!0,f,i[g][0][j]);i=k[2]||f.duration||e;f.duration=c?i/2:i;f.easing=isNaN(k[3])?k[3]||a.easing:k[4]||a.easing}});return[f]},m=h(this).bind(a.outFxBind,function(b,c){if(!(a.stopRepeat&&c.$lastPage[0]===c.$targetPage[0])){var d,j,f,e=c.$lastPage.add(c.$items.eq(c.exactPage)).add(c.$targetPage), g=c.fx;0===c.exactPage&&(e=e.add(c.$items.eq(c.pages)));c.options.animationTime<a.timeOut&&(f=c.options.animationTime||a.timeOut);e=e.find("*").andSelf();for(d in g)if("outFx"===d)for(j in g.outFx)e.filter(j).length&&l(e.filter(j),g.outFx[j],!0);else"inFx"!==d&&h.isArray(g[d])&&e.filter(d).length&&l(e.filter(d),i(g[d],!0),!0,f);d=e.filter("["+a.dataAnimate+"]");d.length&&d.each(function(){g=h(this).attr(a.dataAnimate).split(",");""!==g[0]&&h(this).removeClass(g[0]).addClass(g[1]||g[0])})}}).bind(a.inFxBind, function(b,c){if(!(a.stopRepeat&&c.$lastPage[0]===c.$targetPage[0])){var d,j,f=c.$currentPage.add(c.$items.eq(c.exactPage)),e=c.fx,f=f.find("*").andSelf();for(d in e)if("inFx"===d)for(j in e.inFx)f.filter(j).length&&l(f.filter(j),e.inFx[j],!1);else"outFx"!==d&&h.isArray(e[d])&&f.filter(d).length&&l(f.filter(d),i(e[d],!1),!1);d=f.filter("["+a.dataAnimate+"]");d.length&&d.each(function(){e=h(this).attr(a.dataAnimate).split(",");""!==e[0]&&h(this).removeClass(e[1]||e[0]).addClass(e[0])})}}).data("AnythingSlider"); h(window).load(function(){m.gotoPage(m.currentPage,m.playing)})})}})(jQuery);
|
6
vendor/assets/javascripts/anythingslider/jquery.anythingslider.min.js
vendored
Normal file
8
vendor/assets/javascripts/anythingslider/jquery.anythingslider.video.min.js
vendored
Normal file
299
vendor/assets/javascripts/anythingslider/theme-construction.css
vendored
Normal file
|
@ -0,0 +1,299 @@
|
|||
/*
|
||||
AnythingSlider v1.8+ Construction theme
|
||||
By Rob Garrison
|
||||
*/
|
||||
/*****************************
|
||||
SET DEFAULT DIMENSIONS HERE
|
||||
*****************************/
|
||||
/* change the ID & dimensions to match your slider */
|
||||
#slider {
|
||||
width: 700px;
|
||||
height: 390px;
|
||||
list-style: none;
|
||||
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/******************
|
||||
SET STYLING HERE
|
||||
******************
|
||||
=================================
|
||||
Default state (no keyboard focus)
|
||||
=================================*/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider-construction {
|
||||
margin: 0 auto;
|
||||
/* 45px right & left padding for the navigation arrows */
|
||||
padding: 0 45px;
|
||||
}
|
||||
/* slider window - top & bottom borders, default state */
|
||||
.anythingSlider-construction .anythingWindow {
|
||||
border-top: 3px solid #333;
|
||||
border-bottom: 3px solid #333;
|
||||
}
|
||||
|
||||
/* Navigation buttons + start/stop button, default state */
|
||||
.anythingSlider-construction .anythingControls a {
|
||||
background: transparent url(../images/construction.gif) -52px top no-repeat;
|
||||
color: #fff;
|
||||
}
|
||||
/* Navigation current button, default state */
|
||||
.anythingSlider-construction .anythingControls a.cur,
|
||||
.anythingSlider-construction .anythingControls a:hover {
|
||||
background-position: -52px -18px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, default state */
|
||||
.anythingSlider-construction .anythingControls a.start-stop {
|
||||
background-position: -52px -35px;
|
||||
}
|
||||
/* start-stop button, playing, default state */
|
||||
.anythingSlider-construction .anythingControls a.start-stop.playing {
|
||||
background-position: -52px -52px;
|
||||
}
|
||||
|
||||
/* start-stop button, default hovered text color (when visible) */
|
||||
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||
.anythingSlider-construction .anythingControls a.start-stop:hover,
|
||||
.anythingSlider-construction .anythingControls a.start-stop.hover,
|
||||
.anythingSlider-construction .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||
background-position: -52px -18px;
|
||||
}
|
||||
|
||||
/*
|
||||
=================================
|
||||
Active State (has keyboard focus)
|
||||
=================================
|
||||
*/
|
||||
/* slider window - top & bottom borders, active state */
|
||||
.anythingSlider-construction.activeSlider .anythingWindow {
|
||||
border-color: #d0aa0d;
|
||||
}
|
||||
|
||||
/************************
|
||||
NAVIGATION POSITIONING
|
||||
************************/
|
||||
/* Navigation Arrows */
|
||||
.anythingSlider-construction .arrow {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.anythingSlider-construction .arrow a {
|
||||
display: block;
|
||||
width: 45px;
|
||||
height: 200px;
|
||||
margin: -100px 0 0 0; /* half height of image */
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
background: url(../images/construction.gif) no-repeat;
|
||||
}
|
||||
|
||||
/* back arrow */
|
||||
.anythingSlider-construction .back { left: 0; }
|
||||
.anythingSlider-construction .back a {
|
||||
background-position: left center;
|
||||
border-radius: 5px 0 0 5px;
|
||||
-moz-border-radius: 5px 0 0 5px;
|
||||
-webkit-border-radius: 5px 0 0 5px;
|
||||
}
|
||||
.anythingSlider-construction .back a:hover,
|
||||
.anythingSlider-construction .back a.hover {
|
||||
background-position: -5px center;
|
||||
}
|
||||
|
||||
/* forward arrow */
|
||||
.anythingSlider-construction .forward { right: 0; }
|
||||
.anythingSlider-construction .forward a {
|
||||
background-position: right center;
|
||||
border-radius: 0 5px 5px 0;
|
||||
-moz-border-radius: 0 5px 5px 0;
|
||||
-webkit-border-radius: 0 5px 5px 0;
|
||||
}
|
||||
.anythingSlider-construction .forward a:hover,
|
||||
.anythingSlider-construction .forward a.hover {
|
||||
background-position: -67px center;
|
||||
}
|
||||
|
||||
/* Navigation Links */
|
||||
.anythingSlider-construction .anythingControls {
|
||||
height: 22px; /* limit height, needed for IE9 of all things */
|
||||
outline: 0;
|
||||
display: none;
|
||||
float: right;
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
right: 20px;
|
||||
margin: 0 45px; /* needed for IE */
|
||||
z-index: 100;
|
||||
opacity: 0.90;
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
.anythingSlider-construction .anythingControls ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: left;
|
||||
}
|
||||
.anythingSlider-construction .anythingControls ul li {
|
||||
list-style: none;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.anythingSlider-construction .anythingControls ul a {
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.anythingSlider-construction .anythingControls span {
|
||||
display: block;
|
||||
visibility: hidden; /* needed for IE8, instead of text-indent: -9999px */
|
||||
}
|
||||
|
||||
/* navigationSize window */
|
||||
.anythingSlider-construction .anythingControls .anythingNavWindow {
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* navigationSize arrows */
|
||||
.anythingSlider-construction .anythingControls li.next a,
|
||||
.anythingSlider-construction .anythingControls li.prev a {
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
margin: 4px;
|
||||
}
|
||||
/* navigationSize nav arrow positioning */
|
||||
.anythingSlider-construction .anythingControls li.next a {
|
||||
background-position: -92px -143px;
|
||||
}
|
||||
.anythingSlider-construction .anythingControls li.next a:hover {
|
||||
background-position: -90px -143px;
|
||||
}
|
||||
.anythingSlider-construction .anythingControls li.prev a {
|
||||
background-position: -11px -143px;
|
||||
}
|
||||
.anythingSlider-construction .anythingControls li.prev a:hover {
|
||||
background-position: -13px -143px;
|
||||
}
|
||||
|
||||
/* Autoplay Start/Stop button */
|
||||
.anythingSlider-construction .anythingControls .start-stop {
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
z-index: 100;
|
||||
outline: 0;
|
||||
}
|
||||
/***********************
|
||||
IE8 AND OLDER STYLING
|
||||
***********************/
|
||||
/* Navigation Arrows */
|
||||
.as-oldie .anythingSlider-construction .arrow {
|
||||
top: 14%;
|
||||
}
|
||||
.as-oldie .anythingSlider-construction .arrow a {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
COMMON SLIDER STYLING
|
||||
***********************/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider {
|
||||
display: block;
|
||||
overflow: visible !important;
|
||||
position: relative;
|
||||
}
|
||||
/* anythingSlider viewport window */
|
||||
.anythingSlider .anythingWindow {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* anythingSlider base (original element) */
|
||||
.anythingSlider .anythingBase {
|
||||
background: transparent;
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
overflow: visible !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||
.anythingSlider .arrow span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||
.anythingSlider .arrow.disabled {
|
||||
display: none;
|
||||
}
|
||||
/* all panels inside the slider; horizontal mode */
|
||||
.anythingSlider .panel {
|
||||
background: transparent;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* vertical mode */
|
||||
.anythingSlider .vertical .panel {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* fade mode */
|
||||
.anythingSlider .fade .panel {
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
/* fade mode active page - visible & on top */
|
||||
.anythingSlider .fade .activePage {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
RTL STYLING
|
||||
***********************/
|
||||
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||
.anythingSlider.rtl .anythingWindow {
|
||||
direction: ltr;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||
|
||||
/* probably not necessary, but added just in case */
|
||||
.anythingSlider .anythingWindow,
|
||||
.anythingSlider .anythingControls ul a,
|
||||
.anythingSlider .arrow a,
|
||||
.anythingSlider .start-stop {
|
||||
transition-duration: 0;
|
||||
-o-transition-duration: 0;
|
||||
-moz-transition-duration: 0;
|
||||
-webkit-transition-duration: 0;
|
||||
}
|
277
vendor/assets/javascripts/anythingslider/theme-cs-portfolio.css
vendored
Normal file
|
@ -0,0 +1,277 @@
|
|||
/*
|
||||
AnythingSlider v1.8+ cs-portfolio theme
|
||||
By Curtis Scott (http://www.curtisscott.com/portfolio.html)
|
||||
***
|
||||
Note: the nav-cs-portfolio.png used for navigation and slideshow buttons uses a semi-transparent png,
|
||||
through which the background color is seen... so colors set will turn out darker than normal
|
||||
***/
|
||||
|
||||
/*****************************
|
||||
SET DEFAULT DIMENSIONS HERE
|
||||
*****************************/
|
||||
/* change the ID & dimensions to match your slider */
|
||||
#slider {
|
||||
width: 700px;
|
||||
height: 390px;
|
||||
list-style: none;
|
||||
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/******************
|
||||
SET STYLING HERE
|
||||
******************
|
||||
=================================
|
||||
Default state (no keyboard focus)
|
||||
==================================*/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider-cs-portfolio {
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* slider window - top & bottom borders, default state */
|
||||
.anythingSlider-cs-portfolio .anythingWindow {
|
||||
border: 0;
|
||||
}
|
||||
/* Navigation buttons + start/stop button, default state */
|
||||
.anythingSlider-cs-portfolio .anythingControls a {
|
||||
background: #fff url(../images/cs-portfolio.png) right -20px no-repeat;
|
||||
color: #000;
|
||||
}
|
||||
/* Navigation current button, default state */
|
||||
.anythingSlider-cs-portfolio .anythingControls a.cur,
|
||||
.anythingSlider-cs-portfolio .anythingControls a:hover {
|
||||
background-color: #0d5c9f;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, default state */
|
||||
.anythingSlider-cs-portfolio .anythingControls a.start-stop {
|
||||
background-color: #080;
|
||||
background-position: right top;
|
||||
color: #ddd;
|
||||
}
|
||||
/* start-stop button, default hovered text color (when visible) */
|
||||
.anythingSlider-cs-portfolio .anythingControls a.start-stop:hover,
|
||||
.anythingSlider-cs-portfolio .anythingControls a.start-stop.hover {
|
||||
background-color: #0f0;
|
||||
color: #fff;
|
||||
}
|
||||
/* start-stop button, playing, default state */
|
||||
.anythingSlider-cs-portfolio .anythingControls a.start-stop.playing {
|
||||
background-color: #800;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls a.start-stop.playing:hover {
|
||||
background-color: #f00;
|
||||
}
|
||||
|
||||
/************************
|
||||
NAVIGATION POSITIONING
|
||||
************************/
|
||||
/* Navigation Arrows */
|
||||
.anythingSlider-cs-portfolio .arrow {
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -38px;
|
||||
z-index: 100;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .arrow a {
|
||||
display: block;
|
||||
width: 26px;
|
||||
height: 27px;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
background: url(../images/cs-portfolio.png) no-repeat;
|
||||
}
|
||||
|
||||
/* back arrow */
|
||||
.anythingSlider-cs-portfolio .back { left: 20px; }
|
||||
.anythingSlider-cs-portfolio .back a { background-position: left top; }
|
||||
.anythingSlider-cs-portfolio .back a:hover,
|
||||
.anythingSlider-cs-portfolio .back a.hover { background-position: left -27px; }
|
||||
|
||||
/* forward arrow */
|
||||
.anythingSlider-cs-portfolio .forward { right: 20px; }
|
||||
.anythingSlider-cs-portfolio .forward a { background-position: -24px top; }
|
||||
.anythingSlider-cs-portfolio .forward a:hover,
|
||||
.anythingSlider-cs-portfolio .forward a.hover { background-position: -24px -27px; }
|
||||
|
||||
/* Navigation Links */
|
||||
.anythingSlider-cs-portfolio .anythingControls {
|
||||
position: relative;
|
||||
background: url(../images/cs-portfolio.png) repeat-x bottom center;
|
||||
height: 49px;
|
||||
margin: 0 auto;
|
||||
padding-left: 75px;
|
||||
text-align: center;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
z-index: 100;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls ul.thumbNav {
|
||||
padding-top: 18px;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls ul li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: inline;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls ul a {
|
||||
font: 11px/18px Georgia, Serif;
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
margin: 0 5px 0 0;
|
||||
padding: 0;
|
||||
float: left;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* navigationSize window */
|
||||
.anythingSlider-cs-portfolio .anythingControls .anythingNavWindow {
|
||||
margin: 0 5px 0 0;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls li.next a,
|
||||
.anythingSlider-cs-portfolio .anythingControls li.prev a {
|
||||
margin: 19px 5px 0 5px;
|
||||
width: 16px;
|
||||
height: 15px;
|
||||
background: url(../images/cs-portfolio.png) -25px -54px no-repeat;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls li.prev a {
|
||||
background-position: -9px -54px;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls li.next a:hover {
|
||||
background-position: -56px -54px;
|
||||
}
|
||||
.anythingSlider-cs-portfolio .anythingControls li.prev a:hover {
|
||||
background-position: -41px -54px;
|
||||
}
|
||||
|
||||
/* Autoplay Start/Stop button */
|
||||
.anythingSlider-cs-portfolio .anythingControls .start-stop {
|
||||
right: 60px;
|
||||
top: 15px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
z-index: 100;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
IE8 AND OLDER STYLING
|
||||
***********************/
|
||||
|
||||
/* Navigation Arrows */
|
||||
.as-oldie .anythingSlider-cs-portfolio .anythingControls a span {
|
||||
line-height: 1px; /* needed for IE7 */
|
||||
}
|
||||
|
||||
/* IE7 png fix*/
|
||||
.as-oldie .anythingSlider-cs-portfolio .arrow a,
|
||||
.as-oldie .anythingSlider-cs-portfolio .anythingControls,
|
||||
.as-oldie .anythingSlider-cs-portfolio .anythingControls a {
|
||||
_background:none;
|
||||
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/cs-portfolio.png',sizingMethod='crop');
|
||||
}
|
||||
|
||||
/***********************
|
||||
COMMON SLIDER STYLING
|
||||
***********************/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider {
|
||||
display: block;
|
||||
overflow: visible !important;
|
||||
position: relative;
|
||||
}
|
||||
/* anythingSlider viewport window */
|
||||
.anythingSlider .anythingWindow {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* anythingSlider base (original element) */
|
||||
.anythingSlider .anythingBase {
|
||||
background: transparent;
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
overflow: visible !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||
.anythingSlider .arrow span,
|
||||
.anythingSlider .anythingControls span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||
.anythingSlider .arrow.disabled {
|
||||
display: none;
|
||||
}
|
||||
/* all panels inside the slider; horizontal mode */
|
||||
.anythingSlider .panel {
|
||||
background: transparent;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* vertical mode */
|
||||
.anythingSlider .vertical .panel {
|
||||
float: none;
|
||||
}
|
||||
/* fade mode */
|
||||
.anythingSlider .fade .panel {
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
/* fade mode active page - visible & on top */
|
||||
.anythingSlider .fade .activePage {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
RTL STYLING
|
||||
***********************/
|
||||
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||
.anythingSlider.rtl .anythingWindow {
|
||||
direction: ltr;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||
|
||||
/* probably not necessary, but added just in case */
|
||||
.anythingSlider,
|
||||
.anythingSlider .anythingWindow,
|
||||
.anythingSlider .anythingControls ul a,
|
||||
.anythingSlider .arrow a,
|
||||
.anythingSlider .start-stop {
|
||||
transition-duration: 0;
|
||||
-o-transition-duration: 0;
|
||||
-moz-transition-duration: 0;
|
||||
-webkit-transition-duration: 0;
|
||||
}
|
313
vendor/assets/javascripts/anythingslider/theme-metallic.css
vendored
Normal file
|
@ -0,0 +1,313 @@
|
|||
/*
|
||||
AnythingSlider v1.8+ Metallic theme
|
||||
By Rob Garrison
|
||||
*/
|
||||
/*****************************
|
||||
SET DEFAULT DIMENSIONS HERE
|
||||
*****************************/
|
||||
/* change the ID & dimensions to match your slider */
|
||||
#slider {
|
||||
width: 700px;
|
||||
height: 390px;
|
||||
list-style: none;
|
||||
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/******************
|
||||
SET STYLING HERE
|
||||
******************
|
||||
=================================
|
||||
Default state (no keyboard focus)
|
||||
==================================*/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider-metallic {
|
||||
margin: 0 auto;
|
||||
/* 23px right & left padding for the navigation arrows */
|
||||
padding: 0 23px;
|
||||
}
|
||||
/* slider window - top & bottom borders, default state */
|
||||
.anythingSlider-metallic .anythingWindow {
|
||||
border-top: 3px solid #333;
|
||||
border-bottom: 3px solid #333;
|
||||
}
|
||||
/* Navigation buttons + start/stop button, default state */
|
||||
.anythingSlider-metallic .anythingControls a {
|
||||
background: transparent url(../images/arrows-metallic.png) -68px -40px repeat-x;
|
||||
color: #000;
|
||||
border: #000 1px solid;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
/* Navigation current button, default state */
|
||||
.anythingSlider-metallic .anythingControls a.cur,
|
||||
.anythingSlider-metallic .anythingControls a:hover {
|
||||
background-position: -70px -137px;
|
||||
background-color: #888;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, default state */
|
||||
.anythingSlider-metallic .anythingControls a.start-stop {
|
||||
background: #040;
|
||||
color: #ddd;
|
||||
/* top shadow */
|
||||
-moz-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
-webkit-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
/* start-stop button, playing, default state */
|
||||
.anythingSlider-metallic .anythingControls a.start-stop.playing {
|
||||
background-color: #800;
|
||||
}
|
||||
|
||||
/* start-stop button, default hovered text color (when visible) */
|
||||
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||
.anythingSlider-metallic .anythingControls a.start-stop:hover,
|
||||
.anythingSlider-metallic .anythingControls a.start-stop.hover,
|
||||
.anythingSlider-metallic .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||
color: #fff;
|
||||
/* clear top shadow */
|
||||
-moz-box-shadow: inset 0 0 0 #000000;
|
||||
-webkit-box-shadow: inset 0 0 0 #000000;
|
||||
box-shadow: inset 0 0 0 #000000;
|
||||
}
|
||||
|
||||
/*
|
||||
=================================
|
||||
Active State (has keyboard focus)
|
||||
=================================
|
||||
*/
|
||||
/* slider window - top & bottom borders, active state */
|
||||
.anythingSlider-metallic.activeSlider .anythingWindow {
|
||||
border-color: #0355a3;
|
||||
}
|
||||
|
||||
/* Navigation buttons, active state */
|
||||
.anythingSlider-metallic.activeSlider .anythingControls a {
|
||||
background-color: transparent;
|
||||
}
|
||||
/* Navigation current button, active state */
|
||||
.anythingSlider-metallic.activeSlider .anythingControls a.cur,
|
||||
.anythingSlider-metallic.activeSlider .anythingControls a:hover {
|
||||
background-position: -76px -57px;
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, active state */
|
||||
.anythingSlider-metallic.activeSlider .anythingControls a.start-stop {
|
||||
background: #080;
|
||||
color: #fff;
|
||||
}
|
||||
/* start-stop button, playing, active state */
|
||||
.anythingSlider-metallic.activeSlider .anythingControls a.start-stop.playing {
|
||||
color: #fff;
|
||||
background: #d00;
|
||||
}
|
||||
/* start-stop button, active slider hovered text color (when visible) */
|
||||
.anythingSlider-metallic.activeSlider .start-stop:hover,
|
||||
.anythingSlider-metallic.activeSlider .start-stop.hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/************************
|
||||
NAVIGATION POSITIONING
|
||||
************************/
|
||||
/* Navigation Arrows */
|
||||
.anythingSlider-metallic .arrow {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
display: block;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.anythingSlider-metallic .arrow a {
|
||||
display: block;
|
||||
width: 45px;
|
||||
height: 95px;
|
||||
margin: -47.5px 0 0 0; /* half height of image */
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
background: url(../images/arrows-metallic.png) no-repeat;
|
||||
}
|
||||
|
||||
/* back arrow */
|
||||
.anythingSlider-metallic .back { left: 0; }
|
||||
.anythingSlider-metallic .back a { background-position: left bottom; }
|
||||
.anythingSlider-metallic .back a:hover,
|
||||
.anythingSlider-metallic .back a.hover { background-position: left top; }
|
||||
/* forward arrow */
|
||||
.anythingSlider-metallic .forward { right: 0; }
|
||||
.anythingSlider-metallic .forward a { background-position: right bottom; }
|
||||
.anythingSlider-metallic .forward a:hover,
|
||||
.anythingSlider-metallic .forward a.hover { background-position: right top; }
|
||||
|
||||
/* Navigation Links */
|
||||
.anythingSlider-metallic .anythingControls {
|
||||
height: 15px; /* limit height, needed for IE9 of all things */
|
||||
outline: 0;
|
||||
display: none;
|
||||
float: right;
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
right: 20px;
|
||||
margin: 0 45px;
|
||||
z-index: 100;
|
||||
opacity: 0.90;
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
.anythingSlider-metallic .anythingControls ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: left;
|
||||
}
|
||||
.anythingSlider-metallic .anythingControls ul li {
|
||||
list-style: none;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.anythingSlider-metallic .anythingControls ul a {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.anythingSlider-metallic .anythingControls span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* navigationSize window */
|
||||
.anythingSlider-metallic .anythingControls .anythingNavWindow {
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
/* navigationSize nav arrow positioning */
|
||||
.anythingSlider-metallic .anythingControls li.prev a span,
|
||||
.anythingSlider-metallic .anythingControls li.next a span {
|
||||
visibility: visible;
|
||||
position: relative;
|
||||
top: -6px; /* bring navigationSize text arrows into view */
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* Autoplay Start/Stop button */
|
||||
.anythingSlider-metallic .anythingControls .start-stop {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
z-index: 100;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
IE8 AND OLDER STYLING
|
||||
***********************/
|
||||
/* Navigation Arrows */
|
||||
.as-oldie .anythingSlider-metallic .arrow {
|
||||
top: 40%;
|
||||
}
|
||||
.as-oldie .anythingSlider-metallic .arrow a {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
COMMON SLIDER STYLING
|
||||
***********************/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider {
|
||||
display: block;
|
||||
overflow: visible !important;
|
||||
position: relative;
|
||||
}
|
||||
/* anythingSlider viewport window */
|
||||
.anythingSlider .anythingWindow {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* anythingSlider base (original element) */
|
||||
.anythingSlider .anythingBase {
|
||||
background: transparent;
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
overflow: visible !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||
.anythingSlider .arrow span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||
.anythingSlider .arrow.disabled {
|
||||
display: none;
|
||||
}
|
||||
/* all panels inside the slider; horizontal mode */
|
||||
.anythingSlider .panel {
|
||||
background: transparent;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* vertical mode */
|
||||
.anythingSlider .vertical .panel {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* fade mode */
|
||||
.anythingSlider .fade .panel {
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
/* fade mode active page - visible & on top */
|
||||
.anythingSlider .fade .activePage {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
RTL STYLING
|
||||
***********************/
|
||||
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||
.anythingSlider.rtl .anythingWindow {
|
||||
direction: ltr;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||
|
||||
/* probably not necessary, but added just in case */
|
||||
.anythingSlider .anythingWindow,
|
||||
.anythingSlider .anythingControls ul a,
|
||||
.anythingSlider .arrow a,
|
||||
.anythingSlider .start-stop {
|
||||
transition-duration: 0;
|
||||
-o-transition-duration: 0;
|
||||
-moz-transition-duration: 0;
|
||||
-webkit-transition-duration: 0;
|
||||
}
|
311
vendor/assets/javascripts/anythingslider/theme-minimalist-round.css
vendored
Normal file
|
@ -0,0 +1,311 @@
|
|||
/*
|
||||
AnythingSlider v1.8+ Minimalist Round theme
|
||||
By Rob Garrison
|
||||
*/
|
||||
/*****************************
|
||||
SET DEFAULT DIMENSIONS HERE
|
||||
*****************************/
|
||||
/* change the ID & dimensions to match your slider */
|
||||
#slider {
|
||||
width: 700px;
|
||||
height: 390px;
|
||||
list-style: none;
|
||||
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/******************
|
||||
SET STYLING HERE
|
||||
******************
|
||||
=================================
|
||||
Default state (no keyboard focus)
|
||||
==================================*/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider-minimalist-round {
|
||||
margin: 0 auto;
|
||||
/* 30px right & left padding for the navigation arrows */
|
||||
padding: 0 30px;
|
||||
}
|
||||
/* slider window - top & bottom borders, default state */
|
||||
.anythingSlider-minimalist-round .anythingWindow {
|
||||
border-top: 3px solid #333;
|
||||
border-bottom: 3px solid #333;
|
||||
}
|
||||
/* Navigation buttons + start/stop button, default state */
|
||||
.anythingSlider-minimalist-round .anythingControls a {
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
border: #000 1px solid;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
/* Navigation current button, default state */
|
||||
.anythingSlider-minimalist-round .anythingControls a.cur,
|
||||
.anythingSlider-minimalist-round .anythingControls a:hover {
|
||||
background-color: #777;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, default state */
|
||||
.anythingSlider-minimalist-round .anythingControls a.start-stop {
|
||||
background: #040;
|
||||
color: #ddd;
|
||||
/* top shadow */
|
||||
-moz-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
-webkit-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
/* start-stop button, playing, default state */
|
||||
.anythingSlider-minimalist-round .anythingControls a.start-stop.playing {
|
||||
background-color: #800;
|
||||
}
|
||||
|
||||
/* start-stop button, default hovered text color (when visible) */
|
||||
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||
.anythingSlider-minimalist-round .anythingControls a.start-stop:hover,
|
||||
.anythingSlider-minimalist-round .anythingControls a.start-stop.hover,
|
||||
.anythingSlider-minimalist-round .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||
color: #fff;
|
||||
/* clear top shadow */
|
||||
-moz-box-shadow: inset 0 0 0 #000000;
|
||||
-webkit-box-shadow: inset 0 0 0 #000000;
|
||||
box-shadow: inset 0 0 0 #000000;
|
||||
}
|
||||
|
||||
/*
|
||||
=================================
|
||||
Active State (has keyboard focus)
|
||||
=================================
|
||||
*/
|
||||
/* slider window - top & bottom borders, active state */
|
||||
.anythingSlider-minimalist-round.activeSlider .anythingWindow {
|
||||
border-color: #164054;
|
||||
}
|
||||
|
||||
/* Navigation buttons, active state */
|
||||
.anythingSlider-minimalist-round.activeSlider .anythingControls a {
|
||||
background-color: #164054;
|
||||
color: #fff;
|
||||
}
|
||||
/* Navigation current button, active state */
|
||||
.anythingSlider-minimalist-round.activeSlider .anythingControls a.cur,
|
||||
.anythingSlider-minimalist-round.activeSlider .anythingControls a:hover {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, active state */
|
||||
.anythingSlider-minimalist-round.activeSlider .anythingControls a.start-stop {
|
||||
background: #080;
|
||||
color: #fff;
|
||||
}
|
||||
/* start-stop button, playing, active state */
|
||||
.anythingSlider-minimalist-round.activeSlider .anythingControls a.start-stop.playing {
|
||||
color: #fff;
|
||||
background: #f00;
|
||||
}
|
||||
/* start-stop button, active slider hovered text color (when visible) */
|
||||
.anythingSlider-minimalist-round.activeSlider .start-stop:hover,
|
||||
.anythingSlider-minimalist-round.activeSlider .start-stop.hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/************************
|
||||
NAVIGATION POSITIONING
|
||||
************************/
|
||||
/* Navigation Arrows */
|
||||
.anythingSlider-minimalist-round .arrow {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.anythingSlider-minimalist-round .arrow a {
|
||||
display: block;
|
||||
width: 30px;
|
||||
height: 40px;
|
||||
margin: -20px 0 0 0; /* half height of image */
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
background: url(../images/arrows-minimalist.png) no-repeat;
|
||||
}
|
||||
|
||||
/* back arrow */
|
||||
.anythingSlider-minimalist-round .back { left: 0; }
|
||||
.anythingSlider-minimalist-round .back a { background-position: left bottom; }
|
||||
.anythingSlider-minimalist-round .back a:hover,
|
||||
.anythingSlider-minimalist-round .back a.hover { background-position: left top; }
|
||||
/* forward arrow */
|
||||
.anythingSlider-minimalist-round .forward { right: 0; }
|
||||
.anythingSlider-minimalist-round .forward a { background-position: right bottom; }
|
||||
.anythingSlider-minimalist-round .forward a:hover,
|
||||
.anythingSlider-minimalist-round .forward a.hover { background-position: right top; }
|
||||
|
||||
/* Navigation Links */
|
||||
.anythingSlider-minimalist-round .anythingControls {
|
||||
height: 15px; /* limit height, needed for IE9 of all things */
|
||||
outline: 0;
|
||||
display: none;
|
||||
float: right;
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
right: 20px;
|
||||
margin: 0 45px;
|
||||
z-index: 100;
|
||||
opacity: 0.90;
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
.anythingSlider-minimalist-round .anythingControls ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: left;
|
||||
}
|
||||
.anythingSlider-minimalist-round .anythingControls ul li {
|
||||
list-style: none;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.anythingSlider-minimalist-round .anythingControls ul a {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.anythingSlider-minimalist-round .anythingControls span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* navigationSize window */
|
||||
.anythingSlider-minimalist-round .anythingControls .anythingNavWindow {
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
/* navigationSize nav arrow positioning */
|
||||
.anythingSlider-minimalist-round .anythingControls li.prev span,
|
||||
.anythingSlider-minimalist-round .anythingControls li.next span {
|
||||
visibility: visible;
|
||||
position: relative;
|
||||
top: -6px; /* bring navigationSize text arrows into view */
|
||||
}
|
||||
|
||||
/* Autoplay Start/Stop button */
|
||||
.anythingSlider-minimalist-round .anythingControls .start-stop {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
z-index: 100;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
IE8 AND OLDER STYLING
|
||||
***********************/
|
||||
/* Navigation Arrows */
|
||||
.as-oldie .anythingSlider-minimalist-round .arrow {
|
||||
top: 45%;
|
||||
}
|
||||
.as-oldie .anythingSlider-minimalist-round .arrow a {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
COMMON SLIDER STYLING
|
||||
***********************/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider {
|
||||
display: block;
|
||||
overflow: visible !important;
|
||||
position: relative;
|
||||
}
|
||||
/* anythingSlider viewport window */
|
||||
.anythingSlider .anythingWindow {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* anythingSlider base (original element) */
|
||||
.anythingSlider .anythingBase {
|
||||
background: transparent;
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
overflow: visible !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||
.anythingSlider .arrow span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||
.anythingSlider .arrow.disabled {
|
||||
display: none;
|
||||
}
|
||||
/* all panels inside the slider; horizontal mode */
|
||||
.anythingSlider .panel {
|
||||
background: transparent;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* vertical mode */
|
||||
.anythingSlider .vertical .panel {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* fade mode */
|
||||
.anythingSlider .fade .panel {
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
/* fade mode active page - visible & on top */
|
||||
.anythingSlider .fade .activePage {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
RTL STYLING
|
||||
***********************/
|
||||
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||
.anythingSlider.rtl .anythingWindow {
|
||||
direction: ltr;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||
|
||||
/* probably not necessary, but added just in case */
|
||||
.anythingSlider .anythingWindow,
|
||||
.anythingSlider .anythingControls ul a,
|
||||
.anythingSlider .arrow a,
|
||||
.anythingSlider .start-stop {
|
||||
transition-duration: 0;
|
||||
-o-transition-duration: 0;
|
||||
-moz-transition-duration: 0;
|
||||
-webkit-transition-duration: 0;
|
||||
}
|
309
vendor/assets/javascripts/anythingslider/theme-minimalist-square.css
vendored
Normal file
|
@ -0,0 +1,309 @@
|
|||
/*
|
||||
AnythingSlider v1.8+ Minimalist Square theme
|
||||
By Rob Garrison
|
||||
*/
|
||||
/*****************************
|
||||
SET DEFAULT DIMENSIONS HERE
|
||||
*****************************/
|
||||
/* change the ID & dimensions to match your slider */
|
||||
#slider {
|
||||
width: 700px;
|
||||
height: 390px;
|
||||
list-style: none;
|
||||
/* Prevent FOUC (see FAQ page) and keep things readable if javascript is disabled */
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/******************
|
||||
SET STYLING HERE
|
||||
******************
|
||||
=================================
|
||||
Default state (no keyboard focus)
|
||||
==================================*/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider-minimalist-square {
|
||||
margin: 0 auto;
|
||||
/* 30px right & left padding for the navigation arrows */
|
||||
padding: 0 30px;
|
||||
}
|
||||
/* slider window - top & bottom borders, default state */
|
||||
.anythingSlider-minimalist-square .anythingWindow {
|
||||
border-top: 3px solid #333;
|
||||
border-bottom: 3px solid #333;
|
||||
}
|
||||
/* Navigation buttons + start/stop button, default state */
|
||||
.anythingSlider-minimalist-square .anythingControls a {
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
border: #000 1px solid;
|
||||
}
|
||||
/* Navigation current button, default state */
|
||||
.anythingSlider-minimalist-square .anythingControls a.cur,
|
||||
.anythingSlider-minimalist-square .anythingControls a:hover {
|
||||
background-color: #777;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, default state */
|
||||
.anythingSlider-minimalist-square .anythingControls a.start-stop {
|
||||
background: #040;
|
||||
color: #ddd;
|
||||
/* top shadow */
|
||||
-moz-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
-webkit-box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
box-shadow: inset 1px 2px 5px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
/* start-stop button, playing, default state */
|
||||
.anythingSlider-minimalist-square .anythingControls a.start-stop.playing {
|
||||
background-color: #800;
|
||||
}
|
||||
|
||||
/* start-stop button, default hovered text color (when visible) */
|
||||
/* hide nav/start-stop background image shadow on hover - makes the button appear to come forward */
|
||||
.anythingSlider-minimalist-square .anythingControls a.start-stop:hover,
|
||||
.anythingSlider-minimalist-square .anythingControls a.start-stop.hover,
|
||||
.anythingSlider-minimalist-square .anythingControls a.start-stop .anythingControls ul a:hover {
|
||||
color: #fff;
|
||||
/* clear top shadow */
|
||||
-moz-box-shadow: inset 0 0 0 #000000;
|
||||
-webkit-box-shadow: inset 0 0 0 #000000;
|
||||
box-shadow: inset 0 0 0 #000000;
|
||||
}
|
||||
|
||||
/*
|
||||
=================================
|
||||
Active State (has keyboard focus)
|
||||
=================================
|
||||
*/
|
||||
/* slider window - top & bottom borders, active state */
|
||||
.anythingSlider-minimalist-square.activeSlider .anythingWindow {
|
||||
border-color: #164054;
|
||||
}
|
||||
|
||||
/* Navigation buttons, active state */
|
||||
.anythingSlider-minimalist-square.activeSlider .anythingControls a {
|
||||
background-color: #164054;
|
||||
color: #fff;
|
||||
}
|
||||
/* Navigation current button, active state */
|
||||
.anythingSlider-minimalist-square.activeSlider .anythingControls a.cur,
|
||||
.anythingSlider-minimalist-square.activeSlider .anythingControls a:hover {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/* start-stop button, stopped, active state */
|
||||
.anythingSlider-minimalist-square.activeSlider .anythingControls a.start-stop {
|
||||
background: #080;
|
||||
color: #fff;
|
||||
}
|
||||
/* start-stop button, playing, active state */
|
||||
.anythingSlider-minimalist-square.activeSlider .anythingControls a.start-stop.playing {
|
||||
color: #fff;
|
||||
background: #f00;
|
||||
}
|
||||
/* start-stop button, active slider hovered text color (when visible) */
|
||||
.anythingSlider-minimalist-square.activeSlider .start-stop:hover,
|
||||
.anythingSlider-minimalist-square.activeSlider .start-stop.hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/************************
|
||||
NAVIGATION POSITIONING
|
||||
************************/
|
||||
/* Navigation Arrows */
|
||||
.anythingSlider-minimalist-square .arrow {
|
||||
top: 50%;
|
||||
position: absolute;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.anythingSlider-minimalist-square .arrow a {
|
||||
display: block;
|
||||
width: 30px;
|
||||
height: 40px;
|
||||
margin: -20px 0 0 0; /* half height of image */
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
background: url(../images/arrows-minimalist.png) no-repeat;
|
||||
}
|
||||
|
||||
/* back arrow */
|
||||
.anythingSlider-minimalist-square .back { left: 0; }
|
||||
.anythingSlider-minimalist-square .back a { background-position: left bottom; }
|
||||
.anythingSlider-minimalist-square .back a:hover,
|
||||
.anythingSlider-minimalist-square .back a.hover { background-position: left top; }
|
||||
/* forward arrow */
|
||||
.anythingSlider-minimalist-square .forward { right: 0; }
|
||||
.anythingSlider-minimalist-square .forward a { background-position: right bottom; }
|
||||
.anythingSlider-minimalist-square .forward a:hover,
|
||||
.anythingSlider-minimalist-square .forward a.hover { background-position: right top; }
|
||||
|
||||
/* Navigation Links */
|
||||
.anythingSlider-minimalist-square .anythingControls {
|
||||
height: 15px; /* limit height, needed for IE9 of all things */
|
||||
outline: 0;
|
||||
display: none;
|
||||
float: right;
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
right: 20px;
|
||||
margin: 0 45px;
|
||||
z-index: 100;
|
||||
opacity: 0.90;
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
.anythingSlider-minimalist-square .anythingControls ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: left;
|
||||
}
|
||||
.anythingSlider-minimalist-square .anythingControls ul li {
|
||||
list-style: none;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.anythingSlider-minimalist-square .anythingControls ul a {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.anythingSlider-minimalist-square .anythingControls span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* navigationSize window */
|
||||
.anythingSlider-minimalist-square .anythingControls .anythingNavWindow {
|
||||
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
}
|
||||
/* navigationSize nav arrow positioning */
|
||||
.anythingSlider-minimalist-square .anythingControls li.prev span,
|
||||
.anythingSlider-minimalist-square .anythingControls li.next span {
|
||||
visibility: visible;
|
||||
position: relative;
|
||||
top: -6px; /* bring navigationSize text arrows into view */
|
||||
}
|
||||
|
||||
/* Autoplay Start/Stop button */
|
||||
.anythingSlider-minimalist-square .anythingControls .start-stop {
|
||||
margin: 3px;
|
||||
padding: 0;
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
z-index: 100;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
IE8 AND OLDER STYLING
|
||||
***********************/
|
||||
/* Navigation Arrows */
|
||||
.as-oldie .anythingSlider-minimalist-square .arrow {
|
||||
top: 45%;
|
||||
}
|
||||
.as-oldie .anythingSlider-minimalist-square .arrow a {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
COMMON SLIDER STYLING
|
||||
***********************/
|
||||
/* Overall Wrapper */
|
||||
.anythingSlider {
|
||||
display: block;
|
||||
overflow: visible !important;
|
||||
position: relative;
|
||||
}
|
||||
/* anythingSlider viewport window */
|
||||
.anythingSlider .anythingWindow {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
/* anythingSlider base (original element) */
|
||||
.anythingSlider .anythingBase {
|
||||
background: transparent;
|
||||
list-style: none;
|
||||
position: absolute;
|
||||
overflow: visible !important;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Navigation arrow text; indent moved to span inside "a", for IE7;
|
||||
apparently, a negative text-indent on an "a" link moves the link as well as the text */
|
||||
.anythingSlider .arrow span {
|
||||
display: block;
|
||||
visibility: hidden;
|
||||
}
|
||||
/* disabled arrows, hide or reduce opacity: opacity: .5; filter: alpha(opacity=50); */
|
||||
.anythingSlider .arrow.disabled {
|
||||
display: none;
|
||||
}
|
||||
/* all panels inside the slider; horizontal mode */
|
||||
.anythingSlider .panel {
|
||||
background: transparent;
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
/* vertical mode */
|
||||
.anythingSlider .vertical .panel {
|
||||
float: none;
|
||||
}
|
||||
|
||||
/* fade mode */
|
||||
.anythingSlider .fade .panel {
|
||||
float: none;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
/* fade mode active page - visible & on top */
|
||||
.anythingSlider .fade .activePage {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
/***********************
|
||||
RTL STYLING
|
||||
***********************/
|
||||
/* slider autoplay right-to-left, reverse order of nav links to look better */
|
||||
.anythingSlider.rtl .anythingWindow {
|
||||
direction: ltr;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
.anythingSlider.rtl .anythingControls ul { float: left; } /* move nav link group to left */
|
||||
.anythingSlider.rtl .anythingControls ul a { float: right; } /* reverse order of nav links */
|
||||
.anythingSlider.rtl .start-stop { /* float: right; */ } /* move start/stop button - in case you want to switch sides */
|
||||
|
||||
/* probably not necessary, but added just in case */
|
||||
.anythingSlider .anythingWindow,
|
||||
.anythingSlider .anythingControls ul a,
|
||||
.anythingSlider .arrow a,
|
||||
.anythingSlider .start-stop {
|
||||
transition-duration: 0;
|
||||
-o-transition-duration: 0;
|
||||
-moz-transition-duration: 0;
|
||||
-webkit-transition-duration: 0;
|
||||
}
|
205
vendor/assets/javascripts/jquery.easing.1.3.js
vendored
Normal file
|
@ -0,0 +1,205 @@
|
|||
/*
|
||||
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
||||
*
|
||||
* Uses the built in easing capabilities added In jQuery 1.1
|
||||
* to offer multiple easing options
|
||||
*
|
||||
* TERMS OF USE - jQuery Easing
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2008 George McGinley Smith
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
// t: current time, b: begInnIng value, c: change In value, d: duration
|
||||
jQuery.easing['jswing'] = jQuery.easing['swing'];
|
||||
|
||||
jQuery.extend( jQuery.easing,
|
||||
{
|
||||
def: 'easeOutQuad',
|
||||
swing: function (x, t, b, c, d) {
|
||||
//alert(jQuery.easing.default);
|
||||
return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
|
||||
},
|
||||
easeInQuad: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t + b;
|
||||
},
|
||||
easeOutQuad: function (x, t, b, c, d) {
|
||||
return -c *(t/=d)*(t-2) + b;
|
||||
},
|
||||
easeInOutQuad: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t + b;
|
||||
return -c/2 * ((--t)*(t-2) - 1) + b;
|
||||
},
|
||||
easeInCubic: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t + b;
|
||||
},
|
||||
easeOutCubic: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t + 1) + b;
|
||||
},
|
||||
easeInOutCubic: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t + 2) + b;
|
||||
},
|
||||
easeInQuart: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t + b;
|
||||
},
|
||||
easeOutQuart: function (x, t, b, c, d) {
|
||||
return -c * ((t=t/d-1)*t*t*t - 1) + b;
|
||||
},
|
||||
easeInOutQuart: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
|
||||
return -c/2 * ((t-=2)*t*t*t - 2) + b;
|
||||
},
|
||||
easeInQuint: function (x, t, b, c, d) {
|
||||
return c*(t/=d)*t*t*t*t + b;
|
||||
},
|
||||
easeOutQuint: function (x, t, b, c, d) {
|
||||
return c*((t=t/d-1)*t*t*t*t + 1) + b;
|
||||
},
|
||||
easeInOutQuint: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
|
||||
return c/2*((t-=2)*t*t*t*t + 2) + b;
|
||||
},
|
||||
easeInSine: function (x, t, b, c, d) {
|
||||
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
|
||||
},
|
||||
easeOutSine: function (x, t, b, c, d) {
|
||||
return c * Math.sin(t/d * (Math.PI/2)) + b;
|
||||
},
|
||||
easeInOutSine: function (x, t, b, c, d) {
|
||||
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
|
||||
},
|
||||
easeInExpo: function (x, t, b, c, d) {
|
||||
return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
|
||||
},
|
||||
easeOutExpo: function (x, t, b, c, d) {
|
||||
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
|
||||
},
|
||||
easeInOutExpo: function (x, t, b, c, d) {
|
||||
if (t==0) return b;
|
||||
if (t==d) return b+c;
|
||||
if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
|
||||
return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
|
||||
},
|
||||
easeInCirc: function (x, t, b, c, d) {
|
||||
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
|
||||
},
|
||||
easeOutCirc: function (x, t, b, c, d) {
|
||||
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
|
||||
},
|
||||
easeInOutCirc: function (x, t, b, c, d) {
|
||||
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
|
||||
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
|
||||
},
|
||||
easeInElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
},
|
||||
easeOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3;
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
|
||||
},
|
||||
easeInOutElastic: function (x, t, b, c, d) {
|
||||
var s=1.70158;var p=0;var a=c;
|
||||
if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5);
|
||||
if (a < Math.abs(c)) { a=c; var s=p/4; }
|
||||
else var s = p/(2*Math.PI) * Math.asin (c/a);
|
||||
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
|
||||
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
|
||||
},
|
||||
easeInBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*(t/=d)*t*((s+1)*t - s) + b;
|
||||
},
|
||||
easeOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
|
||||
},
|
||||
easeInOutBack: function (x, t, b, c, d, s) {
|
||||
if (s == undefined) s = 1.70158;
|
||||
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
|
||||
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
|
||||
},
|
||||
easeInBounce: function (x, t, b, c, d) {
|
||||
return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
|
||||
},
|
||||
easeOutBounce: function (x, t, b, c, d) {
|
||||
if ((t/=d) < (1/2.75)) {
|
||||
return c*(7.5625*t*t) + b;
|
||||
} else if (t < (2/2.75)) {
|
||||
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
|
||||
} else if (t < (2.5/2.75)) {
|
||||
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
|
||||
} else {
|
||||
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
|
||||
}
|
||||
},
|
||||
easeInOutBounce: function (x, t, b, c, d) {
|
||||
if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
|
||||
return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
*
|
||||
* TERMS OF USE - EASING EQUATIONS
|
||||
*
|
||||
* Open source under the BSD License.
|
||||
*
|
||||
* Copyright © 2001 Robert Penner
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification,
|
||||
* are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this list of
|
||||
* conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
* of conditions and the following disclaimer in the documentation and/or other materials
|
||||
* provided with the distribution.
|
||||
*
|
||||
* Neither the name of the author nor the names of contributors may be used to endorse
|
||||
* or promote products derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|