motion-prime 0.5.6 → 0.5.7

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.
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