aladdin 0.0.8 → 0.1.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +1 -1
- data/README.md +8 -31
- data/lib/aladdin.rb +22 -23
- data/lib/aladdin/app.rb +10 -21
- data/lib/aladdin/commands/new.rb +2 -2
- data/lib/aladdin/config.rb +18 -32
- data/lib/aladdin/constants.rb +0 -18
- data/lib/aladdin/submission.rb +5 -4
- data/lib/aladdin/support.rb +0 -1
- data/lib/aladdin/support/weak_comparator.rb +2 -0
- data/lib/aladdin/version.rb +1 -2
- data/skeleton/manifest.yml +9 -0
- metadata +15 -111
- data/lib/aladdin/render.rb +0 -9
- data/lib/aladdin/render/error.rb +0 -17
- data/lib/aladdin/render/html.rb +0 -136
- data/lib/aladdin/render/sanitize.rb +0 -90
- data/lib/aladdin/render/templates.rb +0 -2
- data/lib/aladdin/render/templates/header.rb +0 -52
- data/lib/aladdin/render/templates/image.rb +0 -54
- data/lib/aladdin/render/templates/multi.rb +0 -40
- data/lib/aladdin/render/templates/navigation.rb +0 -34
- data/lib/aladdin/render/templates/problem.rb +0 -114
- data/lib/aladdin/render/templates/short.rb +0 -30
- data/lib/aladdin/render/templates/table.rb +0 -109
- data/lib/aladdin/render/templates/template.rb +0 -34
- data/lib/aladdin/support/logger.rb +0 -29
- data/skeleton/manifest.json +0 -10
- data/views/haml/exe.haml +0 -5
- data/views/haml/header.haml +0 -5
- data/views/haml/img.haml +0 -6
- data/views/haml/multi.haml +0 -16
- data/views/haml/nav.haml +0 -5
- data/views/haml/short.haml +0 -12
- data/views/haml/table.haml +0 -28
- data/views/scss/_forms.scss +0 -9
- data/views/scss/_github.scss +0 -65
- data/views/scss/_mathjax.scss +0 -5
- data/views/scss/_pygment.scss +0 -15
- data/views/scss/_settings.scss +0 -271
- data/views/scss/app.scss +0 -75
- data/views/scss/general_foundicons.scss +0 -71
- data/views/scss/general_foundicons_ie7.scss +0 -56
@@ -1,30 +0,0 @@
|
|
1
|
-
# ~*~ encoding: utf-8 ~*~
|
2
|
-
module Aladdin
|
3
|
-
|
4
|
-
module Render
|
5
|
-
|
6
|
-
# Renders short questions marked up in JSON as HTML.
|
7
|
-
# @example
|
8
|
-
# {
|
9
|
-
# "format": "short",
|
10
|
-
# "question": "What is the most commonly used word in English?",
|
11
|
-
# "answer": "the"
|
12
|
-
# }
|
13
|
-
class Short < Problem
|
14
|
-
|
15
|
-
# Name of template file for rendering short answer questions.
|
16
|
-
TEMPLATE = 'short.haml'
|
17
|
-
|
18
|
-
# Checks if the given json contains a valid MCQ.
|
19
|
-
# @return [Boolean] true iff the json contains a valid MCQ.
|
20
|
-
def valid?
|
21
|
-
super and
|
22
|
-
not @json[ANSWER].nil?
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
|
@@ -1,109 +0,0 @@
|
|
1
|
-
# ~*~ encoding: utf-8 ~*~
|
2
|
-
module Aladdin
|
3
|
-
|
4
|
-
module Render
|
5
|
-
|
6
|
-
# Renders table problems marked up in JSON as HTML.
|
7
|
-
#
|
8
|
-
# The grid should be given as a 2-dimensional array that represents the
|
9
|
-
# table to be filled in. +"?"+ is a special token used in the grid to
|
10
|
-
# indicate cells that require student input.
|
11
|
-
#
|
12
|
-
# The answer should also be given as a 2-dimensional array. However, a
|
13
|
-
# dummy token may be used in cells that do not require student input to
|
14
|
-
# cut redundancy. In the example below, the +"-"+ token is used.
|
15
|
-
#
|
16
|
-
# @example
|
17
|
-
# {
|
18
|
-
# "format": "table",
|
19
|
-
# "question": "fill me in",
|
20
|
-
# "grid": [[0, "?", 2], [3, "?", 5]],
|
21
|
-
# "answer": [["-", 1, "-"], ["-", 4, "-"]
|
22
|
-
# }
|
23
|
-
class Table < Problem
|
24
|
-
|
25
|
-
# Name of template file for rendering table problems.
|
26
|
-
TEMPLATE = 'table.haml'
|
27
|
-
|
28
|
-
# Optional headings key.
|
29
|
-
HEADINGS = 'headings'
|
30
|
-
|
31
|
-
# Required grid key.
|
32
|
-
GRID = 'grid'
|
33
|
-
|
34
|
-
# Special token indicating that the cell should be filled in.
|
35
|
-
FILL_ME_IN = '?'
|
36
|
-
|
37
|
-
accessor HEADINGS, GRID
|
38
|
-
|
39
|
-
# Ensures that the +headings+ key exists.
|
40
|
-
def initialize(json)
|
41
|
-
json[HEADINGS] ||= nil
|
42
|
-
super
|
43
|
-
end
|
44
|
-
|
45
|
-
# Checks if the given json contains a valid table.
|
46
|
-
# @return [Boolean] true iff the json contains a valid table.
|
47
|
-
def valid?
|
48
|
-
super and
|
49
|
-
valid_grid? and
|
50
|
-
valid_answer?
|
51
|
-
end
|
52
|
-
|
53
|
-
# Gets the expected answer, in www-form-urlencoded format.
|
54
|
-
# @return [Hash] answers, as expected from student's form submission
|
55
|
-
def answer
|
56
|
-
return @answer unless @answer.nil?
|
57
|
-
@answer = encode_answer
|
58
|
-
end
|
59
|
-
|
60
|
-
# @return [Boolean] true iff the given cell is an input cell
|
61
|
-
def self.input?(cell)
|
62
|
-
cell == FILL_ME_IN
|
63
|
-
end
|
64
|
-
|
65
|
-
private
|
66
|
-
|
67
|
-
# Iterates through each cell in the provided grid to look for answers
|
68
|
-
# cells that require input and takes the answer from the answers array.
|
69
|
-
# For example, if the answer for a cell at [0][1] is 6, the returned
|
70
|
-
# hash will contain
|
71
|
-
#
|
72
|
-
# {'0' => {'1' => 6}}
|
73
|
-
#
|
74
|
-
# @return [Hash] answers
|
75
|
-
def encode_answer
|
76
|
-
encoded, ans = {}, @json[ANSWER]
|
77
|
-
grid.each_with_index do |row, i|
|
78
|
-
row.each_with_index do |cell, j|
|
79
|
-
next unless Table.input? cell
|
80
|
-
encoded[i.to_s] ||= {}
|
81
|
-
encoded[i.to_s][j.to_s] = serialize ans[i][j]
|
82
|
-
end
|
83
|
-
end
|
84
|
-
encoded
|
85
|
-
end
|
86
|
-
|
87
|
-
# @return [Boolean] true iff the json contains a valid grid.
|
88
|
-
def valid_grid?
|
89
|
-
@json.has_key? GRID and is_2d_array? grid
|
90
|
-
end
|
91
|
-
|
92
|
-
# @return [Boolean] true iff +answer+ is a valid 2D array and has the
|
93
|
-
# same number of rows as +grid+.
|
94
|
-
def valid_answer?
|
95
|
-
ans = @json[ANSWER]
|
96
|
-
is_2d_array? ans and ans.size == grid.size
|
97
|
-
end
|
98
|
-
|
99
|
-
# @return [Boolean] true iff +t+ is a 2-dimensional array.
|
100
|
-
def is_2d_array?(t)
|
101
|
-
t.is_a? Array and t.all? { |row| row.is_a? Array }
|
102
|
-
end
|
103
|
-
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
107
|
-
|
108
|
-
end
|
109
|
-
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# ~*~ encoding: utf-8 ~*~
|
2
|
-
module Aladdin
|
3
|
-
|
4
|
-
module Render
|
5
|
-
|
6
|
-
# Base class for all templates. Child classes should provide a +TEMPLATE+
|
7
|
-
# string constant that contains the path to the relevant HAML file.
|
8
|
-
class Template
|
9
|
-
|
10
|
-
# Renders the given problem using {#view}.
|
11
|
-
# @todo TODO should probably show some error message in the preview,
|
12
|
-
# so that the author doesn't have to read the logs.
|
13
|
-
# @param [Hash] locals local variables to pass to the template
|
14
|
-
def render(locals={})
|
15
|
-
view.render Object.new, locals
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
# Retrieves the +view+ singleton. If it is nil, initializes it from
|
21
|
-
# +self.class.TEMPLATE+. Note that this is reloaded with every refresh so
|
22
|
-
# I can edit the templates without refreshing.
|
23
|
-
# @return [Haml::Engine] haml engine
|
24
|
-
def view
|
25
|
-
return @view unless @view.nil?
|
26
|
-
file = File.join Aladdin::VIEWS[:haml], self.class::TEMPLATE
|
27
|
-
@view = Haml::Engine.new(File.read file, format: :html5)
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# ~*~ encoding: utf-8 ~*~
|
2
|
-
require 'active_support/core_ext/logger'
|
3
|
-
|
4
|
-
module Aladdin
|
5
|
-
|
6
|
-
module Support
|
7
|
-
|
8
|
-
# Provides a convenient global logger.
|
9
|
-
# @example
|
10
|
-
# class X
|
11
|
-
# include Logger
|
12
|
-
# def x; logger.info "hey"; end
|
13
|
-
# end
|
14
|
-
# @todo FIXME allow configuration
|
15
|
-
module Logger
|
16
|
-
|
17
|
-
# Global logger.
|
18
|
-
LOGGER = ::Logger.new(STDOUT)
|
19
|
-
|
20
|
-
# Retrieves the global logger.
|
21
|
-
def logger
|
22
|
-
Logger::LOGGER
|
23
|
-
end
|
24
|
-
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
data/skeleton/manifest.json
DELETED
data/views/haml/exe.haml
DELETED
data/views/haml/header.haml
DELETED
data/views/haml/img.haml
DELETED
data/views/haml/multi.haml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
-# coding: UTF-8
|
2
|
-
%form.problem{action: 'verify/problem/' + id, 'accept-charset' => 'UTF-8', id: "problem_#{id}", method: 'post'}
|
3
|
-
%fieldset
|
4
|
-
|
5
|
-
%legend Problem #{index}
|
6
|
-
%p= question
|
7
|
-
|
8
|
-
.row.collapse
|
9
|
-
.ten.mobile-three.columns
|
10
|
-
-options.each do |value, label|
|
11
|
-
%label{for: 'answer'}
|
12
|
-
%input{name: 'answer', type: 'radio', value: value}
|
13
|
-
= label
|
14
|
-
.two.mobile-one.columns
|
15
|
-
%a.button.submit.small.expand.postfix.radius{href: '#'} Submit
|
16
|
-
|
data/views/haml/nav.haml
DELETED
data/views/haml/short.haml
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
-# coding: UTF-8
|
2
|
-
%form.problem{action: 'verify/problem/' + id, 'accept-charset' => 'UTF-8', id: "problem_#{id}", method: 'post'}
|
3
|
-
%fieldset
|
4
|
-
|
5
|
-
%legend Problem #{index}
|
6
|
-
%p= question
|
7
|
-
|
8
|
-
.row.collapse
|
9
|
-
.ten.mobile-three.columns
|
10
|
-
%input{name: 'answer', type: 'text'}
|
11
|
-
.two.mobile-one.columns
|
12
|
-
%a.button.small.submit.expand.postfix.radius{href: '#'} Submit
|
data/views/haml/table.haml
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
-# coding: UTF-8
|
2
|
-
%form.problem{action: 'verify/problem/' + id, 'accept-charset' => 'UTF-8', id: "problem_#{id}", method: 'post'}
|
3
|
-
%fieldset
|
4
|
-
|
5
|
-
%legend Problem #{index}
|
6
|
-
%p= question
|
7
|
-
|
8
|
-
.row
|
9
|
-
.twelve.columns
|
10
|
-
%table
|
11
|
-
%thead
|
12
|
-
-if headings
|
13
|
-
%tr
|
14
|
-
-headings.each do |heading|
|
15
|
-
%th= heading
|
16
|
-
|
17
|
-
%tbody
|
18
|
-
-grid.each_with_index do |row, i|
|
19
|
-
%tr
|
20
|
-
-row.each_with_index do |cell, j|
|
21
|
-
%td
|
22
|
-
- if Aladdin::Render::Table.input? cell
|
23
|
-
%input{name: "answer[#{i}][#{j}]", type: 'text'}
|
24
|
-
- else
|
25
|
-
= cell
|
26
|
-
.row
|
27
|
-
.two.columns.mobile-one
|
28
|
-
%a.button.small.submit.radius{href: '#'} Submit
|
data/views/scss/_forms.scss
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
@import "settings";
|
2
|
-
|
3
|
-
/* Successes */
|
4
|
-
.success input, input.success, .success textarea, textarea.success { border-color: $successColor; background-color: rgba($successColor, 0.1); }
|
5
|
-
.success label, label.success { color: $successColor; }
|
6
|
-
.success small, small.success { display: block; padding: 6px 4px; margin-top: -($formSpacing) - 1; margin-bottom: $formSpacing; background: $successColor; color: #fff; font-size: ms(0) - 2; font-weight: bold; @include border-corner-radius(bottom, $defaultFloat, $inputBorderRadius); @include border-corner-radius(bottom, $defaultOpposite, $inputBorderRadius); }
|
7
|
-
.success textarea, textarea.success {
|
8
|
-
&:focus { background: darken($white, 2%); border-color: darken($white, 30%); }
|
9
|
-
}
|
data/views/scss/_github.scss
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Taken from https://github.com/richleland/pygments-css/, but it probably
|
3
|
-
* belongs to GitHub.
|
4
|
-
*/
|
5
|
-
.hll { background-color: #ffffcc }
|
6
|
-
.c { color: #999988; font-style: italic } /* Comment */
|
7
|
-
.err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
8
|
-
.k { color: #000000; font-weight: bold } /* Keyword */
|
9
|
-
.o { color: #000000; font-weight: bold } /* Operator */
|
10
|
-
.cm { color: #999988; font-style: italic } /* Comment.Multiline */
|
11
|
-
.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */
|
12
|
-
.c1 { color: #999988; font-style: italic } /* Comment.Single */
|
13
|
-
.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
|
14
|
-
.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
15
|
-
.ge { color: #000000; font-style: italic } /* Generic.Emph */
|
16
|
-
.gr { color: #aa0000 } /* Generic.Error */
|
17
|
-
.gh { color: #999999 } /* Generic.Heading */
|
18
|
-
.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
19
|
-
.go { color: #888888 } /* Generic.Output */
|
20
|
-
.gp { color: #555555 } /* Generic.Prompt */
|
21
|
-
.gs { font-weight: bold } /* Generic.Strong */
|
22
|
-
.gu { color: #aaaaaa } /* Generic.Subheading */
|
23
|
-
.gt { color: #aa0000 } /* Generic.Traceback */
|
24
|
-
.kc { color: #000000; font-weight: bold } /* Keyword.Constant */
|
25
|
-
.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */
|
26
|
-
.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */
|
27
|
-
.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */
|
28
|
-
.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */
|
29
|
-
.kt { color: #445588; font-weight: bold } /* Keyword.Type */
|
30
|
-
.m { color: #009999 } /* Literal.Number */
|
31
|
-
.s { color: #d01040 } /* Literal.String */
|
32
|
-
.na { color: #008080 } /* Name.Attribute */
|
33
|
-
.nb { color: #0086B3 } /* Name.Builtin */
|
34
|
-
.nc { color: #445588; font-weight: bold } /* Name.Class */
|
35
|
-
.no { color: #008080 } /* Name.Constant */
|
36
|
-
.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */
|
37
|
-
.ni { color: #800080 } /* Name.Entity */
|
38
|
-
.ne { color: #990000; font-weight: bold } /* Name.Exception */
|
39
|
-
.nf { color: #990000; font-weight: bold } /* Name.Function */
|
40
|
-
.nl { color: #990000; font-weight: bold } /* Name.Label */
|
41
|
-
.nn { color: #555555 } /* Name.Namespace */
|
42
|
-
.nt { color: #000080 } /* Name.Tag */
|
43
|
-
.nv { color: #008080 } /* Name.Variable */
|
44
|
-
.ow { color: #000000; font-weight: bold } /* Operator.Word */
|
45
|
-
.w { color: #bbbbbb } /* Text.Whitespace */
|
46
|
-
.mf { color: #009999 } /* Literal.Number.Float */
|
47
|
-
.mh { color: #009999 } /* Literal.Number.Hex */
|
48
|
-
.mi { color: #009999 } /* Literal.Number.Integer */
|
49
|
-
.mo { color: #009999 } /* Literal.Number.Oct */
|
50
|
-
.sb { color: #d01040 } /* Literal.String.Backtick */
|
51
|
-
.sc { color: #d01040 } /* Literal.String.Char */
|
52
|
-
.sd { color: #d01040 } /* Literal.String.Doc */
|
53
|
-
.s2 { color: #d01040 } /* Literal.String.Double */
|
54
|
-
.se { color: #d01040 } /* Literal.String.Escape */
|
55
|
-
.sh { color: #d01040 } /* Literal.String.Heredoc */
|
56
|
-
.si { color: #d01040 } /* Literal.String.Interpol */
|
57
|
-
.sx { color: #d01040 } /* Literal.String.Other */
|
58
|
-
.sr { color: #009926 } /* Literal.String.Regex */
|
59
|
-
.s1 { color: #d01040 } /* Literal.String.Single */
|
60
|
-
.ss { color: #990073 } /* Literal.String.Symbol */
|
61
|
-
.bp { color: #999999 } /* Name.Builtin.Pseudo */
|
62
|
-
.vc { color: #008080 } /* Name.Variable.Class */
|
63
|
-
.vg { color: #008080 } /* Name.Variable.Global */
|
64
|
-
.vi { color: #008080 } /* Name.Variable.Instance */
|
65
|
-
.il { color: #009999 } /* Literal.Number.Integer.Long */
|
data/views/scss/_mathjax.scss
DELETED
data/views/scss/_pygment.scss
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
@import "settings";
|
2
|
-
|
3
|
-
/* code blocks */
|
4
|
-
pre {
|
5
|
-
background-color: lighten(#000, 97.5%);
|
6
|
-
border: 1px solid lighten(#000, 80%);
|
7
|
-
overflow: auto;
|
8
|
-
padding: 6px 10px;
|
9
|
-
border-radius: $tableBorderRadius;
|
10
|
-
font-size: ms(0) - 1;
|
11
|
-
line-height: 1.6;
|
12
|
-
font-family: Consolas, 'Liberation Mono', monospace;
|
13
|
-
margin-bottom: ms(1);
|
14
|
-
-webkit-font-smoothing: auto;
|
15
|
-
}
|
data/views/scss/_settings.scss
DELETED
@@ -1,271 +0,0 @@
|
|
1
|
-
@import "foundation/common/ratios";
|
2
|
-
|
3
|
-
// Settings file containing Foundation defaults
|
4
|
-
|
5
|
-
// Grid Settings
|
6
|
-
|
7
|
-
// $rowWidth: 1000px;
|
8
|
-
// $columnGutter: 30px;
|
9
|
-
// $totalColumns: 12;
|
10
|
-
// $mobileTotalColumns: 4;
|
11
|
-
// $blockGridElements: 12; // Highest number of block grid elements, Maximum of 24 supported
|
12
|
-
|
13
|
-
// Colors Settings
|
14
|
-
|
15
|
-
// $mainColor: #2ba6cb;
|
16
|
-
// $secondaryColor: #e9e9e9;
|
17
|
-
// $alertColor: #c60f13;
|
18
|
-
// $successColor: #5da423;
|
19
|
-
// $txtColor: #222;
|
20
|
-
// $highlightColor: #ffff99;
|
21
|
-
// $black: #000;
|
22
|
-
// $white: #fff;
|
23
|
-
// $shinyEdge: rgba(#fff, .5);
|
24
|
-
// $darkEdge: rgba(#000, .2);
|
25
|
-
|
26
|
-
// Font Settings
|
27
|
-
|
28
|
-
// $headerFontFamily: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
|
29
|
-
// $headerFontWeight: bold;
|
30
|
-
// $headerFontStyle: normal;
|
31
|
-
// $headerFontColor: #222;
|
32
|
-
// $bodyFontFamily: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
|
33
|
-
// $bodyFontWeight: normal;
|
34
|
-
// $bodyFontStyle: normal;
|
35
|
-
// $bodyFontColor: $txtColor;
|
36
|
-
|
37
|
-
// Text Direction Settings
|
38
|
-
|
39
|
-
// $textDirection: ltr; // Controls default global text direction, 'rtl' or 'ltr'
|
40
|
-
|
41
|
-
// Button Settings
|
42
|
-
|
43
|
-
// $buttonRadius: 3px;
|
44
|
-
// $btnBase: 10px;
|
45
|
-
|
46
|
-
// $tinyBtnBase: $btnBase - 5;
|
47
|
-
// $smallBtnBase: $btnBase - 3;
|
48
|
-
// $largeBtnBase: $btnBase + 5;
|
49
|
-
|
50
|
-
// Form Settings
|
51
|
-
|
52
|
-
// $formSpacing: 12px;
|
53
|
-
// $labelFontWeight: 500;
|
54
|
-
// $labelFontColor: lighten(#000, 30%);
|
55
|
-
// $labelBtmMargin: 3px;
|
56
|
-
// $inputFontColor: rgba(0,0,0,0.75);
|
57
|
-
// $inputFontSize: 14px;
|
58
|
-
// $inputBgColor: #fff;
|
59
|
-
// $inputFocusBgColor: darken(#fff, 2%);
|
60
|
-
// $inputBorderColor: darken(#fff, 20%);
|
61
|
-
// $inputFocusBorderColor: darken(#fff, 30%);
|
62
|
-
// $inputBorderStyle: solid;
|
63
|
-
// $inputBorderWidth: 1px;
|
64
|
-
// $inputBorderRadius: 2px;
|
65
|
-
// $fieldsetBorderRadius: 3px;
|
66
|
-
|
67
|
-
// Custom Form Settings
|
68
|
-
|
69
|
-
// $custFormBorderColor: #ccc;
|
70
|
-
// $custFormBgColor: #fff;
|
71
|
-
// $custCheckColor: #222;
|
72
|
-
// $custSelectCurrentFontColor: #141414;
|
73
|
-
// $custSelectBgColor: #fff;
|
74
|
-
// $custSelectBorderColor: #ddd;
|
75
|
-
// $custSelectTriangleColor: #aaa;
|
76
|
-
// $custSelectTriangleColorOpen: #222;
|
77
|
-
// $custSelectDropHeight: 200px;
|
78
|
-
// $custDropdownBgColor: #fff;
|
79
|
-
// $custDropdownBorderColor: darken(#fff, 20%);
|
80
|
-
// $custDropdownFontColor: #555;
|
81
|
-
// $custDropdownSelectedBgColor: lighten(#2ba6cb, 40%);
|
82
|
-
// $custDropdownSelectedFontColor: #000;
|
83
|
-
// $custFormDisabledBgColor: #ddd;
|
84
|
-
|
85
|
-
// Tab Settings
|
86
|
-
|
87
|
-
// $tabHeight: 40px;
|
88
|
-
// $tabTermFontSize: 12px;
|
89
|
-
|
90
|
-
// Nav Bar Settings
|
91
|
-
|
92
|
-
// $navBarHeight: 40px;
|
93
|
-
// $navFlyoutBaseWidth: 250px;
|
94
|
-
|
95
|
-
// Top Bar Settings
|
96
|
-
|
97
|
-
// $topBarBgColor: #222;
|
98
|
-
// $topBarHeight: 45px;
|
99
|
-
// $topBarHeightMobile: 45px;
|
100
|
-
// $topBarBtmMargin: 30px;
|
101
|
-
// $topBarTitleWeight: bold;
|
102
|
-
// $topBarTitleSize: 17px;
|
103
|
-
// $topBarLinkColor: #fff;
|
104
|
-
// $topBarLinkWeight: bold;
|
105
|
-
// $topBarLinkSize: 13px;
|
106
|
-
// $topBarDropBgColor: #222;
|
107
|
-
// $topBarDropLinkColor: #fff;
|
108
|
-
// $topBarDropToggleSize: 5px;
|
109
|
-
// $topBarDropToggleColor: #fff;
|
110
|
-
// $topBarDropToggleAlpha: 0.5;
|
111
|
-
// $topBarSearchWidth: 200px;
|
112
|
-
// $topBarBreakPoint: 940px; // Change to 9999px for always mobile layout
|
113
|
-
// $topBarNavToggleSize: 8px;
|
114
|
-
|
115
|
-
// UI Settings
|
116
|
-
|
117
|
-
// $thumbRadius: 3px;
|
118
|
-
// $progBarHeight: 25px;
|
119
|
-
// $progBarBorderColor: darken(#fff, 20%);
|
120
|
-
// $progBarBorderSize: 1px;
|
121
|
-
// $progBarPad: 2px;
|
122
|
-
// $linkListBottomMargin: 17px -22px;
|
123
|
-
// $tableBorderRadius: 3px;
|
124
|
-
|
125
|
-
// Tooltip Settings
|
126
|
-
|
127
|
-
// $hasTipBorderBottom: dotted 1px #ccc;
|
128
|
-
// $hasTipFontWeight: bold;
|
129
|
-
// $hasTipFontColor: #333;
|
130
|
-
// $hasTipBorderBottomHover: dotted 1px darken($mainColor, 20%);
|
131
|
-
// $hasTipFontColorHover: $mainColor;
|
132
|
-
// $tooltipBackgroundColor: #000;
|
133
|
-
// $tooltipBackgroundOpacity: 0.85;
|
134
|
-
// $tooltipFontSize: 12px;
|
135
|
-
// $tooltipFontWeight: bold;
|
136
|
-
// $tooltipFontColor: #fff;
|
137
|
-
// $tapToCloseFontSize: 10;
|
138
|
-
// $tapToCloseFontWeight: normal;
|
139
|
-
// $tapToCloseFontColor: #888;
|
140
|
-
// $tooltipFontSizeScreenSm: 14;
|
141
|
-
// $tooltipBgOpacityScreenSm: 0.85;
|
142
|
-
// $tooltipBorderRadius: 4px;
|
143
|
-
|
144
|
-
// Pricing Table Settings
|
145
|
-
|
146
|
-
// $priceTableBorder: solid 1px #ddd;
|
147
|
-
// $priceTitleBgColor: #ddd;
|
148
|
-
// $priceTitlePadding: 15px 20px;
|
149
|
-
// $priceTitleAlign: center;
|
150
|
-
// $priceTitleColor: #333;
|
151
|
-
// $priceTitleWeight: bold;
|
152
|
-
// $priceTitleSize: 16px;
|
153
|
-
|
154
|
-
// $priceMoneyBgColor: #eee;
|
155
|
-
// $priceMoneyPadding: 15px 20px;
|
156
|
-
// $priceMoneyAlign: center;
|
157
|
-
// $priceMoneyColor: #333;
|
158
|
-
// $priceMoneyWeight: normal;
|
159
|
-
// $priceMoneySize: 20px;
|
160
|
-
|
161
|
-
// $priceBgColor: #fff;
|
162
|
-
// $priceDescColor: #777;
|
163
|
-
// $priceDescPadding: 15px;
|
164
|
-
// $priceDescAlign: center;
|
165
|
-
// $priceDescFontSize: 12px;
|
166
|
-
// $priceDescWeight: normal;
|
167
|
-
// $priceDescLineHeight: 1.4;
|
168
|
-
// $priceDescBtmBorder: dotted 1px #ddd;
|
169
|
-
|
170
|
-
// $priceItemColor: #333;
|
171
|
-
// $priceItemPadding: 15px;
|
172
|
-
// $priceItemAlign: center;
|
173
|
-
// $priceItemFontSize: 14px;
|
174
|
-
// $priceItemWeight: normal;
|
175
|
-
// $priceItemBtmBorder: dotted 1px #ddd;
|
176
|
-
|
177
|
-
// $priceCtaBgColor: #f5f5f5;
|
178
|
-
// $priceCtaAlign: center;
|
179
|
-
// $priceCtaPadding: 20px;
|
180
|
-
|
181
|
-
// Orbit Settings
|
182
|
-
|
183
|
-
// $orbitCaptionBgColorOldBrowser: #000;
|
184
|
-
// $orbitCaptionBgColor: rgba(0,0,0,.6);
|
185
|
-
// $orbitCaptionFontColor: #fff;
|
186
|
-
// $orbitBulletNavColor: #999;
|
187
|
-
// $orbitBulletNavColorActive: #222;
|
188
|
-
// $orbitHasThumbBorderColor: #000;
|
189
|
-
// $orbitHasThumbBorderWidth: 2px;
|
190
|
-
// $orbitHasThumbBorderStyle: solid;
|
191
|
-
// $orbitSlideNumBgColor: rgba(0,0,0,0.7);
|
192
|
-
// $orbitSlideNumFontColor: #fff;
|
193
|
-
// $orbitSlideNumPadding: 5px;
|
194
|
-
|
195
|
-
// Clearing Settings
|
196
|
-
|
197
|
-
// $clearingBg: rgba(0,0,0,0.8);
|
198
|
-
// $clearingOldBrowserBg: rgb(0,0,0);
|
199
|
-
// $clearingCaptionBg: rgba(0,0,0,0.7);
|
200
|
-
// $clearingCaptionOldBrowserBg: rgb(0,0,0);
|
201
|
-
// $clearingCaptionFontColor: #fff;
|
202
|
-
// $clearingCloseColor: #fff;
|
203
|
-
// $clearingArrowColor: #fff;
|
204
|
-
// $clearingArrowSize: 16px;
|
205
|
-
// $clearingCarouselBg: rgba(0,0,0,0.75);
|
206
|
-
// $clearingCarouselOldBrowserBg: rgb(0,0,0);
|
207
|
-
// $clearingCarouselHeight: 150px;
|
208
|
-
// $clearingActiveImgHeight: 75%;
|
209
|
-
// $clearingCarouselThumbWidth: 175px;
|
210
|
-
// $clearingCarouselThumbActiveBorder: 4px solid rgb(255,255,255);
|
211
|
-
// $clearingImgBg: rgba(0,0,0,0.75);
|
212
|
-
// $clearingImgOldBrowserBg: rgb(0,0,0);
|
213
|
-
|
214
|
-
// Joyride Settings
|
215
|
-
|
216
|
-
// $tipBg: rgba(0,0,0,0.8);
|
217
|
-
// $tipBgIE8: #000;
|
218
|
-
// $tipFontColor: #fff;
|
219
|
-
// $tipHeaderWeight: bold;
|
220
|
-
// $tipDefaultWidth: 300px;
|
221
|
-
// $tipBorderRadius: 4px;
|
222
|
-
// $tipPadding: 18px 20px 24px;
|
223
|
-
// $tipNubSize: 14px;
|
224
|
-
// $tipFontSize: 14px;
|
225
|
-
// $tipTimerWidth: 50px;
|
226
|
-
// $tipTimerHeight: 3px;
|
227
|
-
// $tipTimerBorder: solid 1px #555;
|
228
|
-
// $tipTimerColor: #666;
|
229
|
-
// $tipCloseColor: #777;
|
230
|
-
// $tipCloseSize: 20px;
|
231
|
-
// $tipCloseWeight: normal;
|
232
|
-
// $tipScreenFill: rgba(0,0,0,0.5);
|
233
|
-
|
234
|
-
// Modular Scale Settings
|
235
|
-
|
236
|
-
// $ratio: $golden; // THIS IS DEFAULT IN MODULAR-SCALE
|
237
|
-
// $baseFontSize: 14px;
|
238
|
-
// $importantModNum: 44px;
|
239
|
-
// $base-size: $baseFontSize $importantModNum;
|
240
|
-
// Produced the following list of values: 14, 17, 23, 27, 37, 44, 59, 71, 95, 115;
|
241
|
-
// http://www.modularscale.com by Tim Brown
|
242
|
-
// https://github.com/scottkellum/modular-scale by scottkellum
|
243
|
-
|
244
|
-
$fontFileName: "/__font/general_foundicons";
|
245
|
-
$fontName: "GeneralFoundicons";
|
246
|
-
$classPrefix: "foundicon-";
|
247
|
-
|
248
|
-
@mixin i-class($name,$pua) {
|
249
|
-
.#{$classPrefix}#{$name}:before {
|
250
|
-
content: "\f#{$pua}";
|
251
|
-
}
|
252
|
-
}
|
253
|
-
|
254
|
-
@mixin ie-class($name,$pua) {
|
255
|
-
.#{$classPrefix}#{$name} {
|
256
|
-
*zoom: expression( this.runtimeStyle['zoom'] = "1", this.innerHTML = "#{$pua};");
|
257
|
-
}
|
258
|
-
}
|
259
|
-
|
260
|
-
@mixin face {
|
261
|
-
@font-face {
|
262
|
-
font-family: $fontName;
|
263
|
-
src: url('#{$fontFileName}.eot');
|
264
|
-
src: url('#{$fontFileName}.eot?#iefix') format('embedded-opentype'),
|
265
|
-
url('#{$fontFileName}.woff') format('woff'),
|
266
|
-
url('#{$fontFileName}.ttf') format('truetype'),
|
267
|
-
url('#{$fontFileName}.svg##{$fontName}') format('svg');
|
268
|
-
font-weight: normal;
|
269
|
-
font-style: normal;
|
270
|
-
}
|
271
|
-
}
|