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.
Files changed (43) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +8 -31
  3. data/lib/aladdin.rb +22 -23
  4. data/lib/aladdin/app.rb +10 -21
  5. data/lib/aladdin/commands/new.rb +2 -2
  6. data/lib/aladdin/config.rb +18 -32
  7. data/lib/aladdin/constants.rb +0 -18
  8. data/lib/aladdin/submission.rb +5 -4
  9. data/lib/aladdin/support.rb +0 -1
  10. data/lib/aladdin/support/weak_comparator.rb +2 -0
  11. data/lib/aladdin/version.rb +1 -2
  12. data/skeleton/manifest.yml +9 -0
  13. metadata +15 -111
  14. data/lib/aladdin/render.rb +0 -9
  15. data/lib/aladdin/render/error.rb +0 -17
  16. data/lib/aladdin/render/html.rb +0 -136
  17. data/lib/aladdin/render/sanitize.rb +0 -90
  18. data/lib/aladdin/render/templates.rb +0 -2
  19. data/lib/aladdin/render/templates/header.rb +0 -52
  20. data/lib/aladdin/render/templates/image.rb +0 -54
  21. data/lib/aladdin/render/templates/multi.rb +0 -40
  22. data/lib/aladdin/render/templates/navigation.rb +0 -34
  23. data/lib/aladdin/render/templates/problem.rb +0 -114
  24. data/lib/aladdin/render/templates/short.rb +0 -30
  25. data/lib/aladdin/render/templates/table.rb +0 -109
  26. data/lib/aladdin/render/templates/template.rb +0 -34
  27. data/lib/aladdin/support/logger.rb +0 -29
  28. data/skeleton/manifest.json +0 -10
  29. data/views/haml/exe.haml +0 -5
  30. data/views/haml/header.haml +0 -5
  31. data/views/haml/img.haml +0 -6
  32. data/views/haml/multi.haml +0 -16
  33. data/views/haml/nav.haml +0 -5
  34. data/views/haml/short.haml +0 -12
  35. data/views/haml/table.haml +0 -28
  36. data/views/scss/_forms.scss +0 -9
  37. data/views/scss/_github.scss +0 -65
  38. data/views/scss/_mathjax.scss +0 -5
  39. data/views/scss/_pygment.scss +0 -15
  40. data/views/scss/_settings.scss +0 -271
  41. data/views/scss/app.scss +0 -75
  42. data/views/scss/general_foundicons.scss +0 -71
  43. 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
@@ -1,10 +0,0 @@
1
- {
2
- "title": "A Genie Lesson",
3
- "description": "Hello World! Welcome to your first lesson.",
4
- "categories": [
5
- "ruby",
6
- "programming",
7
- "software"
8
- ],
9
- "static_paths": ["images"]
10
- }
@@ -1,5 +0,0 @@
1
- -# coding: UTF-8
2
- %form{id: id}
3
- %input.ex-raw{type: 'hidden', value: raw}
4
- %input.ex-id{type: 'hidden', value: id}
5
- %a.button.run{href: "#"} Run
@@ -1,5 +0,0 @@
1
- -# coding: UTF-8
2
- -haml_tag ('h%d' % level).to_sym do
3
- %a.anchor{name: name, href: '#' + name, 'data-magellan-destination' => name}
4
- %i.foundicon-paper-clip
5
- =text
@@ -1,6 +0,0 @@
1
- -# coding: UTF-8
2
- .block-image
3
- = img
4
- %p
5
- %strong Figure #{index}:
6
- = caption
@@ -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
-
@@ -1,5 +0,0 @@
1
- -# coding: UTF-8
2
- %dl#sections.sub-nav{'data-magellan-expedition' => 'fixed'}
3
- -sections.each do |name, heading|
4
- %dd{'data-magellan-arrival' => name}
5
- %a{href: '#' + name}= heading
@@ -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
@@ -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
@@ -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
- }
@@ -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 */
@@ -1,5 +0,0 @@
1
- @import "settings";
2
-
3
- .MathJax {
4
- color: darken($mainColor, 20%);
5
- }
@@ -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
- }
@@ -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 = "&#xf#{$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
- }