motion-prime 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NWRjNTUxZWEzMTQzYjA3YTQ1ZjY4YmU2ZDdlZGQ3OGY1MzQ0NzJhYw==
4
+ OGY4ZTYxMzFiMWVjNjA2ZGFmNTVlNzIxYjAwOTMzZjc3OTdhNzU3NQ==
5
5
  data.tar.gz: !binary |-
6
- MDAyNzdlMjM1N2U0Mzk2MmFhNzJmZTM1OGRhNGVmMjBjMjEzZTkwYQ==
6
+ M2ZmNGQ3OTY1MzZmMjViNDQyNzljYmZiMTdkYWY0ZGM1YzQ4OThkOA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- MDFlYjZhYjMxOTM0NjIxMTYzZDQ3ZjA5M2ZkMTQzMTYyMmFmY2QzOWFlODU4
10
- MTc1YTRmYjBhNjA0NDA0N2I5MjA0Y2U0ZWYxMzZmMjIyZWJkYWIzYjkxYWVj
11
- ZmZjOTdkMGMxNTFiZWE5NGI4YTA2MDg3NjM5YTY4YmNiMTJjNzM=
9
+ YzUyNzliMGNhYjIyMjEyNDdhN2FkNmNhYTdiOWIwNzc0ZDhlMTFjMzc1ZTRm
10
+ NDgzZmFlN2UxYzYwMzZjNmNjMGEwNjdmOWY2ZmRhNDdiNjM5MDA1YjQwYTdk
11
+ OTY2NzFmYmNhMzdhMTIyNzY4YWE1NmUyNjY3OTBmYmU0MDM0Yzk=
12
12
  data.tar.gz: !binary |-
13
- N2FlNDdlYjQzZDUyZjVlZTZiNjA1MDA1ZGI4MjI5M2Q1ZjFkMzY5ZmI5OTVi
14
- YjA3ZmU0NzNlN2E0YjI0ZTYyMjQ2NGJlOTliMDE0OTM2Mjg2NmExODljZDBk
15
- ZmRiYTRiMGE4N2RkZTc3MmI1MjlhNGY1NjVjMDU1OTJlYWNmOWY=
13
+ MWQ2MGIyMzhhODk5MThmZmY5YzY2MGI2MDMyZjJhNmE5NjQ5MTE5ZTg0MDcz
14
+ MTA1YTQ5OWNiODA5NGEzZjg5MDc1Y2ZjOGJhNTI1MzIwODA2ZjY4MzgxM2Yy
15
+ NTcwNDNmOWQ5ODQ5YzYzMjgyYzJjNjAzMGM0Y2ZhODk2M2QzZjI=
@@ -1,3 +1,8 @@
1
+ === 0.5.7
2
+ * Improve store save.
3
+ * Improve model dirty.
4
+ * Support time attribute for model.
5
+
1
6
  === 0.5.6
2
7
  * sending "title" in options is not supported now. use dsl with Proc for that.
3
8
  * ability to open root screen with animation.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- motion-prime (0.5.6)
4
+ motion-prime (0.5.7)
5
5
  bubble-wrap
6
6
  cocoapods
7
7
  methadone
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # MotionPrime [![Build Status](https://travis-ci.org/droidlabs/motion-prime.png)](https://travis-ci.org/droidlabs/motion-prime) [![Code Climate](https://codeclimate.com/github/droidlabs/motion-prime.png)](https://codeclimate.com/github/droidlabs/motion-prime) [![Roadchange](http://roadchange.com/droidlabs/motion-prime/badge.png)](http://roadchange.com/droidlabs/motion-prime)
1
+ # MotionPrime [![Build Status](https://travis-ci.org/droidlabs/motion-prime.png)](https://travis-ci.org/droidlabs/motion-prime) [![Code Climate](https://codeclimate.com/github/droidlabs/motion-prime.png)](https://codeclimate.com/github/droidlabs/motion-prime) [![Roadchange](https://roadchange.com/droidlabs/motion-prime/badge.png)](https://roadchange.com/droidlabs/motion-prime)
2
2
 
3
3
  ![Prime](https://s3-us-west-2.amazonaws.com/webmate/assets/prime.jpg)
4
4
 
@@ -75,6 +75,11 @@ MotionPrime is yet another framework written on RubyMotion for creating really f
75
75
 
76
76
  * [Simple to-do app](https://github.com/droidlabs/prime_sample_todo)
77
77
 
78
+ ## Documentation
79
+
80
+ * [Getting Started](http://prime.droidlabs.pro/)
81
+ * [RubyDoc](http://rubydoc.info/gems/motion-prime/)
82
+
78
83
  ## Contributing
79
84
 
80
85
  1. Fork it
@@ -83,14 +88,14 @@ MotionPrime is yet another framework written on RubyMotion for creating really f
83
88
  4. Push to the branch (`git push origin my-new-feature`)
84
89
  5. Create new Pull Request
85
90
 
86
- ## Help with Documentation
91
+ ## Help us with documentation
87
92
 
88
93
  We are using [Docco](http://jashkenas.github.io/docco/) to generate documentation.
89
94
 
90
95
  Please install the tool and run this to update documentation:
91
96
 
92
97
  ```
93
- $ cd doc && docco code/*.rb
98
+ $ cd doc && docco code/*.rb --layout linear
94
99
  ```
95
100
 
96
101
  ## Thanks for using MotionPrime!
data/bin/prime CHANGED
@@ -27,7 +27,7 @@ class App
27
27
  def self.create(name)
28
28
  return puts "Usage: prime new <appname>" unless name.to_s.length > 0
29
29
  info "Creating new MotionPrime iOS app: #{name}"
30
- sh "motion create --template=git@github.com:droidlabs/motion-prime.git #{name}"
30
+ sh "motion create #{name} --template=motion-prime"
31
31
  info "Command: bundle instal"
32
32
  sh "cd ./#{name} & bundle install"
33
33
  info "Command: pod setup"
@@ -1,5 +1,33 @@
1
+ # ** Why MotionPrime? **
2
+
3
+ # Did you ever notice that table views in your RubyMotion application scrolls not smoothly?
4
+ #
5
+ # Let's see why:
6
+ #
7
+ # ![MotionPrime](https://s3.amazonaws.com/motionprime/prime.png)
8
+ #
9
+ # Each table cell will create 5 UIViews inside and it's very slow operation for mobile device.
10
+ # The main feature of MotionPrime is that it creates abstraction layer for "elements" in screen.
11
+ # If it's possible in current context, MotionPrime will draw elements directly in table cell using CoreGraphics.
12
+ # Just add 'label' element to the section:
13
+
14
+ class MySection < Prime::Section
15
+ element :greeting, text: 'Hello World', type: :label
16
+ end
17
+
18
+ # It will be rendered 5 times faster in iPhone 4/4s for cells containing 5 elements.
19
+ #
20
+ # You can force it to use UIView instead of CoreGraphics:
21
+
22
+ class MySection < Prime::Section
23
+ element :greeting, text: 'Hello World', type: :label, as: :view
24
+ end
25
+
26
+ # MotionPrime contains other features to improve application performance, but performance is not the only feature.
27
+ #
28
+ # So let's get started.
29
+
1
30
  # **1. Install required tools.**
2
- ---
3
31
 
4
32
  # * Ruby 1.9.3 or newer.
5
33
  $ rvm install 2.0.0
@@ -7,11 +35,16 @@ $ rvm install 2.0.0
7
35
  # * RubyMotion.
8
36
  Visit http://www.rubymotion.com
9
37
 
10
- # **2. Create application delegate.**
38
+ # **2. Create MotionPrime project.**
39
+
40
+ $ gem install motion-prime
41
+ $ prime new hello
42
+
43
+ # **3. Create application delegate.**
11
44
  #
12
- # You should rewrite the `on_load` method, which will be runned after starting application.
45
+ # E.g. `hello/app/app_delegate.rb`
13
46
  #
14
- # NOTE: you should always use AppDelegate class name.
47
+ # Inherit `AppDelegate` class from `Prime::BaseAppDelegate` and rewrite the `on_load` method, which will be runned after starting application.
15
48
 
16
49
  class AppDelegate < Prime::BaseAppDelegate
17
50
  def on_load(app, options)
@@ -19,11 +52,12 @@ class AppDelegate < Prime::BaseAppDelegate
19
52
  end
20
53
  end
21
54
 
22
- # **3. Create the main screen.**
55
+ # **4. Create the main screen.**
23
56
  #
24
- # You should rewrite the `render` method, which will be runned after first opening screen.
57
+ # E.g. `hello/app/screens/home.rb`
58
+ #
59
+ # Inherit screen from `Prime::Screen` and rewrite the `render` method, which will be runned after first opening screen.
25
60
  #
26
- # NOTE: it's recommended to use instance variables for sections, e.g. `@main_section` instead of `main_section`.
27
61
 
28
62
  class MainScreen < Prime::Screen
29
63
  title 'Main screen'
@@ -34,18 +68,22 @@ class MainScreen < Prime::Screen
34
68
  end
35
69
  end
36
70
 
37
- # **4. Create your first section.**
71
+ # **5. Create your first section.**
72
+ #
73
+ # E.g. `hello/app/sections/home/section.rb`
38
74
  #
39
75
  # "Section" is something like helper, which contains "Elements".
40
76
  #
41
77
  # Each element will be added to the parent screen when you run `section.render`
42
78
 
43
- class MyProfileSection < Prime::Section
79
+ class HomeSection < Prime::Section
44
80
  element :title, text: "Hello World"
45
81
  element :avatar, image: "images/avatar.png", type: :image
46
82
  end
47
83
 
48
- # **5. Create your first stylesheet file.**
84
+ # **6. Create your first stylesheet file.**
85
+ #
86
+ # E.g. `hello/app/styles/home.rb`
49
87
  #
50
88
  # Styles will be applied to each element in section.
51
89
  # The simplest rule by default is: `:section-name_:element-name`.
@@ -61,4 +99,8 @@ end
61
99
 
62
100
  Prime::Styles.define :my_profile do
63
101
  style :title, width: 300, height: 20
64
- end
102
+ end
103
+
104
+ # ** Next **
105
+ #
106
+ # [Read more about Screens](screens.html)
@@ -0,0 +1,32 @@
1
+ # ** What is a Model? **
2
+ #
3
+ # "Model" will help you to store any information in database and sync this information with server.
4
+
5
+ # ** Create a model. **
6
+ #
7
+ # Just inherit it from `Prime::Model`.
8
+
9
+ class Event < Prime::Model
10
+ end
11
+
12
+ # ** Add some attributes to model. **
13
+ #
14
+ # E.g. we want event to have title and description.
15
+
16
+ class Event < Prime::Model
17
+ attribute :title
18
+ attribute :description
19
+ end
20
+
21
+ # ** Create some item. **
22
+ #
23
+ # This event will be saved to database and accessible after restart of application.
24
+
25
+ event = Event.create(
26
+ title: 'MotionPrime release.',
27
+ description: 'Check out new features.'
28
+ )
29
+
30
+ # ** Retrieve all events **
31
+
32
+ Event.all
@@ -3,7 +3,6 @@
3
3
  # "Screen" is the most common class in MotionPrime, you can create entire application using only "Screens".
4
4
  # Generally it's just a "UIViewController" wrapper with some syntax sugar.
5
5
  # For RubyOnRails developers the nearest analogy would be "Controllers".
6
- ---
7
6
 
8
7
  # ** Create a screen. **
9
8
  #
@@ -27,7 +26,6 @@ end
27
26
  #
28
27
  # Title will be used in screen's navigation controller and will be shown on top of screen.
29
28
  #
30
- # NOTE: screen should be created with enabled navigation (see "Initialize screen" block).
31
29
 
32
30
  class FooScreen < Prime::Screen
33
31
  title 'Foo screen'
@@ -44,12 +42,13 @@ end
44
42
  # Available options:
45
43
  # * `:navigation`. When this options is true, screen will be created with navigation support: it will allow adding title and left/right buttons.
46
44
  # This option is true by default.
47
-
48
- def open_foo_screen
49
- foo_screen = FooScreen.new(navigation: false)
45
+ class AppDelegate < Prime::BaseAppDelegate
46
+ def on_load(application, launch_options)
47
+ foo_screen = FooScreen.new(navigation: false)
48
+ end
50
49
  end
51
50
 
52
- # ** Open screen: using app delegate. **
51
+ # ** Open screen: from app delegate. **
53
52
 
54
53
  # Opening screen using app delegate is the most basic way, you would use it at least on app load.
55
54
  #
@@ -61,27 +60,34 @@ end
61
60
  # * `:sidebar`. Send `Prime::Screen` instance to this option if you want to create root screen with sidebar.
62
61
  # Value of this options will be used as sidebar controller.
63
62
  # NOTE: you should install some gem providing sidebar functionality, e.g. 'prime_reside_menu'
64
-
65
- def open_foo_screen
66
- foo_screen = FooScreen.new
67
- sidebar = MySidebar.new(navigation: false)
68
- app_delegate.open_screen foo_screen, sidebar: sidebar
63
+ class AppDelegate < Prime::BaseAppDelegate
64
+ def on_load(application, launch_options)
65
+ foo_screen = FooScreen.new
66
+ sidebar = MySidebar.new(navigation: false)
67
+ app_delegate.open_screen foo_screen, sidebar: sidebar
68
+ end
69
69
  end
70
70
 
71
- # ** Open screen: using parent screen. **
71
+ # ** Open screen: from parent screen. **
72
72
 
73
73
  # Opening screen using parent screen is usefull if you want to create inherited screen.
74
74
  # Parent screen should have been initialized with navigation support.
75
-
76
- def open_second_screen
77
- second_screen = SecondScreen.new(navigation: true)
78
- foo_screen.open_screen second_screen
75
+ class FooScreen < Prime::Screen
76
+ def render
77
+ second_screen = SecondScreen.new(navigation: true)
78
+ foo_screen.open_screen second_screen
79
+ end
79
80
  end
80
81
 
81
82
  # ** Open screen: using short version. **
82
83
 
83
84
  # Opening screen using short syntax available both for opening via app delegate and via parent screen.
85
+ class AppDelegate < Prime::BaseAppDelegate
86
+ def on_load(application, launch_options)
87
+ open_screen :foo_bar, sidebar: true
88
+ end
89
+ end
84
90
 
85
- foo_screen.open_screen :hello_world
86
- app_delegate.open_screen :foo_bar, sidebar: true
87
-
91
+ # ** Next **
92
+ #
93
+ # [Read more about Sections](sections.html)
@@ -8,7 +8,6 @@
8
8
  # That way increases application speed (especially on Table elements) by 5-10 times.
9
9
  #
10
10
  # Let's get started.
11
- ---
12
11
 
13
12
  # ** Create a section. **
14
13
  #
@@ -20,7 +19,9 @@ end
20
19
  # ** Add some elements to the section. **
21
20
  #
22
21
  # Each element should have name and type: "image", "label", "button", etc.
22
+ #
23
23
  # When you send `:text` option, type will be "label" by default.
24
+ #
24
25
  # When you send `:image` option, type will be "image" by default.
25
26
 
26
27
  class FooSection < Prime::Section
@@ -29,9 +30,9 @@ class FooSection < Prime::Section
29
30
  element :cheer, type: :button
30
31
  end
31
32
 
32
- # ** Render Section in Screen **
33
+ # ** Render Section to Screen **
33
34
  #
34
- # NOTE: You must send "screen" option on section initialization.
35
+ # NOTE: it's recommended to use instance variables for sections, e.g. `@main_section` instead of `main_section`.
35
36
 
36
37
  class FooScreen < Prime::Screen
37
38
  def render
@@ -39,3 +40,26 @@ class FooScreen < Prime::Screen
39
40
  @main_section.render
40
41
  end
41
42
  end
43
+
44
+ # ** Add some styles for section **
45
+ #
46
+ # Generally styles are just attributes of UIView elements.
47
+ #
48
+ # Let's style the UILabel element (:welcome label element we added above.)
49
+ #
50
+ # We send :foo parameter to `define`, because we have section named `foo` (FooSection)
51
+ # and :welcome parameter to `style`, because the name of element is `welcome`.
52
+ #
53
+ Prime::Styles.define :foo do
54
+ style :welcome,
55
+ text_color: :black,
56
+ top: 100,
57
+ width: 320,
58
+ left: 20,
59
+ font: proc { :system.uifont(20) },
60
+ size_to_fit: true,
61
+ end
62
+
63
+ # ** Next **
64
+ #
65
+ # [Read more about Models](models.html)
@@ -30,85 +30,132 @@
30
30
  font-style: normal;
31
31
  }
32
32
 
33
- /*--------------------- Layout ----------------------------*/
34
- html { height: 100%; }
35
- body {
36
- font-family: "aller-light";
37
- font-size: 14px;
38
- line-height: 18px;
39
- color: #30404f;
40
- margin: 0; padding: 0;
41
- height:100%;
33
+ @font-face {
34
+ font-family: 'fleurons';
35
+ src: url('public/fonts/fleurons.eot');
36
+ src: url('public/fonts/fleurons.eot?#iefix') format('embedded-opentype'),
37
+ url('public/fonts/fleurons.woff') format('woff'),
38
+ url('public/fonts/fleurons.ttf') format('truetype');
39
+ font-weight: normal;
40
+ font-style: normal;
42
41
  }
43
- #container { min-height: 100%; }
44
42
 
45
- a {
46
- color: #000;
47
- }
43
+ /*--------------------- Base Styles ----------------------------*/
48
44
 
49
- b, strong {
50
- font-weight: normal;
51
- font-family: "aller-bold";
45
+ body {
46
+ font-family: "aller-light";
47
+ background: url('public/images/gray.png') #fff;
48
+ background-size: 322px;
49
+ margin: 0;
52
50
  }
53
51
 
54
- p, ul, ol {
55
- margin: 15px 0 0px;
52
+ hr {
53
+ height: 1px;
54
+ background: #ddd;
55
+ border: 0;
56
56
  }
57
57
 
58
58
  h1, h2, h3, h4, h5, h6 {
59
59
  color: #112233;
60
- line-height: 1em;
61
60
  font-weight: normal;
62
61
  font-family: "novecento-bold";
63
62
  text-transform: uppercase;
64
- margin: 30px 0 15px 0;
63
+ line-height: 1em;
64
+ margin-top: 50px;
65
65
  }
66
+ h1 {
67
+ margin: 0;
68
+ text-align: center;
69
+ }
70
+ h2 {
71
+ font-size: 1.3em;
72
+ }
73
+ h1:after {
74
+ content: "8";
75
+ display: block;
76
+ font-family: "fleurons";
77
+ color: #999;
78
+ font-size: 80px;
79
+ padding: 10px 0 25px;
80
+ }
66
81
 
67
- h1 {
68
- margin-top: 40px;
82
+ a {
83
+ color: #000;
69
84
  }
70
85
 
71
- hr {
72
- border: 0;
73
- background: 1px solid #ddd;
74
- height: 1px;
75
- margin: 20px 0;
86
+ b, strong {
87
+ font-weight: normal;
88
+ font-family: "aller-bold";
76
89
  }
77
90
 
78
- pre, tt, code {
79
- font-size: 12px; line-height: 16px;
80
- font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
81
- margin: 0; padding: 0;
91
+ blockquote {
92
+ border-left: 5px solid #ccc;
93
+ margin-left: 0;
94
+ padding: 1px 0 1px 1em;
82
95
  }
83
- .annotation pre {
84
- display: block;
96
+ .page blockquote p {
97
+ font-family: Menlo, Consolas, Monaco, monospace;
98
+ font-size: 14px; line-height: 19px;
99
+ color: #999;
100
+ margin: 10px 0 0;
101
+ white-space: pre-wrap;
102
+ }
103
+
104
+ pre, tt, code {
105
+ font-family: Menlo, Consolas, Monaco, monospace;
106
+ font-size: 12px;
107
+ display: inline-block;
108
+ border: 1px solid #EAEAEA;
109
+ background: #f8f8f8;
110
+ color: #555;
111
+ padding: 0 5px;
112
+ line-height: 20px;
113
+ }
114
+ .page pre {
85
115
  margin: 0;
86
- padding: 7px 10px;
116
+ width: 608px;
117
+ padding: 10px 15px;
87
118
  background: #fcfcfc;
88
119
  -moz-box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
89
120
  -webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
90
121
  box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
91
122
  overflow-x: auto;
92
123
  }
93
- .annotation pre code {
124
+ .page pre code {
94
125
  border: 0;
95
126
  padding: 0;
96
127
  background: transparent;
97
128
  }
98
129
 
99
-
100
- blockquote {
101
- border-left: 5px solid #ccc;
102
- margin: 0;
103
- padding: 1px 0 1px 1em;
130
+ .fleur {
131
+ font-family: "fleurons";
132
+ font-size: 100px;
133
+ text-align: center;
134
+ margin: 40px 0;
135
+ color: #ccc;
104
136
  }
105
- .sections blockquote p {
106
- font-family: Menlo, Consolas, Monaco, monospace;
107
- font-size: 12px; line-height: 16px;
108
- color: #999;
109
- margin: 10px 0 0;
110
- white-space: pre-wrap;
137
+
138
+ /*--------------------- Layout ----------------------------*/
139
+
140
+ .container {
141
+ width: 760px;
142
+ margin: 0 auto;
143
+ background: #fff;
144
+ background: rgba(255,255,255, 0.4);
145
+ overflow: hidden;
146
+ }
147
+ .page {
148
+ width: 640px;
149
+ padding: 30px;
150
+ margin: 30px;
151
+ background: #fff;
152
+ font-size: 17px;
153
+ line-height: 26px;
111
154
  }
155
+ .page p {
156
+ color: #30404f;
157
+ margin: 26px 0;
158
+ }
112
159
 
113
160
  ul.sections {
114
161
  list-style: none;
@@ -116,249 +163,39 @@ ul.sections {
116
163
  margin:0;
117
164
  }
118
165
 
119
- /*
120
- Force border-box so that % widths fit the parent
121
- container without overlap because of margin/padding.
122
-
123
- More Info : http://www.quirksmode.org/css/box.html
124
- */
125
- ul.sections > li > div {
126
- -moz-box-sizing: border-box; /* firefox */
127
- -ms-box-sizing: border-box; /* ie */
128
- -webkit-box-sizing: border-box; /* webkit */
129
- -khtml-box-sizing: border-box; /* konqueror */
130
- box-sizing: border-box; /* css3 */
166
+ .page li p {
167
+ margin: 12px 0;
131
168
  }
132
169
 
133
-
134
- /*---------------------- Jump Page -----------------------------*/
135
- #jump_to, #jump_page {
136
- margin: 0;
137
- background: white;
138
- -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
139
- -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
140
- font: 16px Arial;
141
- cursor: pointer;
142
- text-align: right;
143
- list-style: none;
144
- }
145
-
146
- #jump_to a {
147
- text-decoration: none;
148
- }
149
-
150
- #jump_to a.large {
151
- display: none;
152
- }
153
- #jump_to a.small {
154
- font-size: 22px;
155
- font-weight: bold;
156
- color: #676767;
170
+ .toc {
171
+ max-height: 0;
172
+ overflow: hidden;
173
+ text-align: center;
174
+ font-size: 13px;
175
+ line-height: 20px;
176
+ -moz-transition: max-height 1s;
177
+ -webkit-transition: max-height 1s;
178
+ transition: max-height 1s;
157
179
  }
158
-
159
- #jump_to, #jump_wrapper {
160
- position: fixed;
161
- right: 0; top: 0;
162
- padding: 10px 15px;
163
- margin:0;
164
- }
165
-
166
- #jump_wrapper {
167
- display: none;
168
- padding:0;
169
- }
170
-
171
- #jump_to:hover #jump_wrapper {
172
- display: block;
173
- }
174
-
175
- #jump_page {
176
- padding: 5px 0 3px;
177
- margin: 0 0 25px 25px;
178
- }
179
-
180
- #jump_page .source {
181
- display: block;
182
- padding: 15px;
183
- text-decoration: none;
184
- border-top: 1px solid #eee;
185
- }
186
-
187
- #jump_page .source:hover {
188
- background: #f5f5ff;
189
- }
190
-
191
- #jump_page .source:first-child {
192
- }
193
-
194
- /*---------------------- Low resolutions (> 320px) ---------------------*/
195
- @media only screen and (min-width: 320px) {
196
- .pilwrap { display: none; }
197
-
198
- ul.sections > li > div {
199
- display: block;
200
- padding:5px 10px 0 10px;
201
- }
202
-
203
- ul.sections > li > div.annotation ul, ul.sections > li > div.annotation ol {
204
- padding-left: 30px;
205
- }
206
-
207
- ul.sections > li > div.content {
208
- background: #f5f5ff;
209
- overflow-x:auto;
210
- -webkit-box-shadow: inset 0 0 5px #e5e5ee;
211
- box-shadow: inset 0 0 5px #e5e5ee;
212
- border: 1px solid #dedede;
213
- margin:5px 10px 5px 10px;
214
- padding-bottom: 5px;
215
- }
216
-
217
- ul.sections > li > div.annotation pre {
218
- margin: 7px 0 7px;
219
- padding-left: 15px;
220
- }
221
-
222
- ul.sections > li > div.annotation p tt, .annotation code {
223
- background: #f8f8ff;
224
- border: 1px solid #dedede;
225
- font-size: 12px;
226
- padding: 0 0.2em;
227
- }
228
- }
229
-
230
- /*---------------------- (> 481px) ---------------------*/
231
- @media only screen and (min-width: 481px) {
232
- #container {
233
- position: relative;
234
- }
235
- body {
236
- background-color: #F5F5FF;
237
- font-size: 15px;
238
- line-height: 21px;
239
- }
240
- pre, tt, code {
241
- line-height: 18px;
242
- }
243
- p, ul, ol {
244
- margin: 0 0 15px;
245
- }
246
-
247
-
248
- #jump_to {
249
- padding: 5px 10px;
180
+ .header:hover .toc {
181
+ max-height: 500px;
250
182
  }
251
- #jump_wrapper {
252
- padding: 0;
183
+ .toc h3 {
184
+ margin-top: 20px;
253
185
  }
254
- #jump_to, #jump_page {
255
- font: 10px Arial;
256
- text-transform: uppercase;
257
- }
258
- #jump_page .source {
259
- padding: 5px 10px;
260
- }
261
- #jump_to a.large {
262
- display: inline-block;
263
- }
264
- #jump_to a.small {
265
- display: none;
266
- }
267
-
268
-
269
-
270
- #background {
271
- position: absolute;
272
- top: 0; bottom: 0;
273
- width: 350px;
274
- background: #fff;
275
- border-right: 1px solid #e5e5ee;
276
- z-index: -1;
277
- }
278
-
279
- ul.sections > li > div.annotation ul, ul.sections > li > div.annotation ol {
280
- padding-left: 40px;
281
- }
282
-
283
- ul.sections > li {
284
- white-space: nowrap;
285
- }
286
-
287
- ul.sections > li > div {
186
+ .toc ol {
187
+ margin: 0 0 20px 0;
288
188
  display: inline-block;
289
- }
290
-
291
- ul.sections > li > div.annotation {
292
- max-width: 350px;
293
- min-width: 350px;
294
- min-height: 5px;
295
- padding: 13px;
296
- overflow-x: hidden;
297
- white-space: normal;
298
- vertical-align: top;
299
189
  text-align: left;
190
+ list-style-type: upper-roman;
300
191
  }
301
- ul.sections > li > div.annotation pre {
302
- margin: 15px 0 15px;
303
- padding-left: 15px;
304
- }
305
-
306
- ul.sections > li > div.content {
307
- padding: 13px;
308
- vertical-align: top;
309
- background: #f5f5ff;
310
- border: none;
311
- -webkit-box-shadow: none;
312
- box-shadow: none;
313
- }
314
-
315
- .pilwrap {
316
- position: relative;
317
- display: inline;
318
- }
319
-
320
- .pilcrow {
321
- font: 12px Arial;
322
- text-decoration: none;
323
- color: #454545;
324
- position: absolute;
325
- top: 3px; left: -20px;
326
- padding: 1px 2px;
327
- opacity: 0;
328
- -webkit-transition: opacity 0.2s linear;
329
- }
330
- .for-h1 .pilcrow {
331
- top: 47px;
332
- }
333
- .for-h2 .pilcrow, .for-h3 .pilcrow, .for-h4 .pilcrow {
334
- top: 35px;
192
+ .toc li {
193
+ font-family: 'novecento-bold';
335
194
  }
195
+ .toc li a {
196
+ font-family: 'aller-light';
197
+ }
336
198
 
337
- ul.sections > li > div.annotation:hover .pilcrow {
338
- opacity: 1;
339
- }
340
- }
341
-
342
- /*---------------------- (> 1025px) ---------------------*/
343
- @media only screen and (min-width: 1025px) {
344
-
345
- body {
346
- font-size: 16px;
347
- line-height: 24px;
348
- }
349
-
350
- #background {
351
- width: 525px;
352
- }
353
- ul.sections > li > div.annotation {
354
- max-width: 525px;
355
- min-width: 525px;
356
- padding: 10px 25px 1px 50px;
357
- }
358
- ul.sections > li > div.content {
359
- padding: 9px 15px 16px 25px;
360
- }
361
- }
362
199
 
363
200
  /*---------------------- Syntax Highlighting -----------------------------*/
364
201