ovto 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.gitmodules +3 -0
  4. data/CHANGELOG.md +22 -0
  5. data/Gemfile +7 -0
  6. data/Gemfile.lock +57 -0
  7. data/LICENSE.txt +44 -0
  8. data/README.md +84 -0
  9. data/Rakefile +41 -0
  10. data/book/README.md +1 -0
  11. data/book/SUMMARY.md +13 -0
  12. data/book/api/actions.md +77 -0
  13. data/book/api/app.md +86 -0
  14. data/book/api/component.md +175 -0
  15. data/book/api/fetch.md +42 -0
  16. data/book/api/state.md +97 -0
  17. data/book/guides/debugging.md +23 -0
  18. data/book/guides/development.md +11 -0
  19. data/book/guides/tutorial.md +288 -0
  20. data/book/screenshot.png +0 -0
  21. data/docs/api/Ovto/Actions.html +135 -0
  22. data/docs/api/Ovto/App.html +531 -0
  23. data/docs/api/Ovto/Component/MoreThanOneNode.html +135 -0
  24. data/docs/api/Ovto/Component.html +350 -0
  25. data/docs/api/Ovto/Runtime.html +315 -0
  26. data/docs/api/Ovto/State/MissingValue.html +135 -0
  27. data/docs/api/Ovto/State/UnknownKey.html +135 -0
  28. data/docs/api/Ovto/State.html +699 -0
  29. data/docs/api/Ovto/WiredActions.html +343 -0
  30. data/docs/api/Ovto.html +319 -0
  31. data/docs/api/_index.html +229 -0
  32. data/docs/api/actions.html +398 -0
  33. data/docs/api/app.html +411 -0
  34. data/docs/api/class_list.html +51 -0
  35. data/docs/api/component.html +469 -0
  36. data/docs/api/css/common.css +1 -0
  37. data/docs/api/css/full_list.css +58 -0
  38. data/docs/api/css/style.css +499 -0
  39. data/docs/api/file.README.html +162 -0
  40. data/docs/api/file_list.html +56 -0
  41. data/docs/api/frames.html +17 -0
  42. data/docs/api/index.html +162 -0
  43. data/docs/api/js/app.js +248 -0
  44. data/docs/api/js/full_list.js +216 -0
  45. data/docs/api/js/jquery.js +4 -0
  46. data/docs/api/method_list.html +243 -0
  47. data/docs/api/state.html +430 -0
  48. data/docs/api/top-level-namespace.html +110 -0
  49. data/docs/gitbook/fonts/fontawesome/FontAwesome.otf +0 -0
  50. data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot +0 -0
  51. data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg +685 -0
  52. data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
  53. data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff +0 -0
  54. data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 +0 -0
  55. data/docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js +240 -0
  56. data/docs/gitbook/gitbook-plugin-fontsettings/website.css +291 -0
  57. data/docs/gitbook/gitbook-plugin-highlight/ebook.css +135 -0
  58. data/docs/gitbook/gitbook-plugin-highlight/website.css +434 -0
  59. data/docs/gitbook/gitbook-plugin-lunr/lunr.min.js +7 -0
  60. data/docs/gitbook/gitbook-plugin-lunr/search-lunr.js +59 -0
  61. data/docs/gitbook/gitbook-plugin-search/lunr.min.js +7 -0
  62. data/docs/gitbook/gitbook-plugin-search/search-engine.js +50 -0
  63. data/docs/gitbook/gitbook-plugin-search/search.css +35 -0
  64. data/docs/gitbook/gitbook-plugin-search/search.js +213 -0
  65. data/docs/gitbook/gitbook-plugin-sharing/buttons.js +90 -0
  66. data/docs/gitbook/gitbook.js +4 -0
  67. data/docs/gitbook/images/apple-touch-icon-precomposed-152.png +0 -0
  68. data/docs/gitbook/images/favicon.ico +0 -0
  69. data/docs/gitbook/style.css +9 -0
  70. data/docs/gitbook/theme.js +4 -0
  71. data/docs/guides/debugging.html +355 -0
  72. data/docs/guides/development.html +361 -0
  73. data/docs/guides/tutorial.html +571 -0
  74. data/docs/index.html +422 -0
  75. data/docs/screenshot.png +0 -0
  76. data/docs/search_index.json +1 -0
  77. data/example/sinatra/Gemfile +6 -0
  78. data/example/sinatra/Gemfile.lock +59 -0
  79. data/example/sinatra/README.md +21 -0
  80. data/example/sinatra/app.rb +18 -0
  81. data/example/sinatra/config.ru +30 -0
  82. data/example/sinatra/ovto/app.rb +171 -0
  83. data/example/sinatra/public/style.css +4 -0
  84. data/example/sinatra/public/todomvc-app-css_index.css +376 -0
  85. data/example/sinatra/public/todomvc-common_base.css +141 -0
  86. data/example/sinatra/views/index.erb +21 -0
  87. data/example/static/Gemfile +3 -0
  88. data/example/static/Gemfile.lock +30 -0
  89. data/example/static/README.md +10 -0
  90. data/example/static/Rakefile +4 -0
  91. data/example/static/app.js +24808 -0
  92. data/example/static/app.rb +43 -0
  93. data/example/static/index.html +11 -0
  94. data/lib/ovto/actions.rb +10 -0
  95. data/lib/ovto/app.rb +58 -0
  96. data/lib/ovto/component.rb +191 -0
  97. data/lib/ovto/fetch.rb +53 -0
  98. data/lib/ovto/runtime.rb +388 -0
  99. data/lib/ovto/state.rb +69 -0
  100. data/lib/ovto/version.rb +3 -0
  101. data/lib/ovto/wired_actions.rb +33 -0
  102. data/lib/ovto.rb +50 -0
  103. data/ovto.gemspec +22 -0
  104. data/screenshot.png +0 -0
  105. metadata +161 -0
@@ -0,0 +1,240 @@
1
+ require(['gitbook', 'jquery'], function(gitbook, $) {
2
+ // Configuration
3
+ var MAX_SIZE = 4,
4
+ MIN_SIZE = 0,
5
+ BUTTON_ID;
6
+
7
+ // Current fontsettings state
8
+ var fontState;
9
+
10
+ // Default themes
11
+ var THEMES = [
12
+ {
13
+ config: 'white',
14
+ text: 'White',
15
+ id: 0
16
+ },
17
+ {
18
+ config: 'sepia',
19
+ text: 'Sepia',
20
+ id: 1
21
+ },
22
+ {
23
+ config: 'night',
24
+ text: 'Night',
25
+ id: 2
26
+ }
27
+ ];
28
+
29
+ // Default font families
30
+ var FAMILIES = [
31
+ {
32
+ config: 'serif',
33
+ text: 'Serif',
34
+ id: 0
35
+ },
36
+ {
37
+ config: 'sans',
38
+ text: 'Sans',
39
+ id: 1
40
+ }
41
+ ];
42
+
43
+ // Return configured themes
44
+ function getThemes() {
45
+ return THEMES;
46
+ }
47
+
48
+ // Modify configured themes
49
+ function setThemes(themes) {
50
+ THEMES = themes;
51
+ updateButtons();
52
+ }
53
+
54
+ // Return configured font families
55
+ function getFamilies() {
56
+ return FAMILIES;
57
+ }
58
+
59
+ // Modify configured font families
60
+ function setFamilies(families) {
61
+ FAMILIES = families;
62
+ updateButtons();
63
+ }
64
+
65
+ // Save current font settings
66
+ function saveFontSettings() {
67
+ gitbook.storage.set('fontState', fontState);
68
+ update();
69
+ }
70
+
71
+ // Increase font size
72
+ function enlargeFontSize(e) {
73
+ e.preventDefault();
74
+ if (fontState.size >= MAX_SIZE) return;
75
+
76
+ fontState.size++;
77
+ saveFontSettings();
78
+ }
79
+
80
+ // Decrease font size
81
+ function reduceFontSize(e) {
82
+ e.preventDefault();
83
+ if (fontState.size <= MIN_SIZE) return;
84
+
85
+ fontState.size--;
86
+ saveFontSettings();
87
+ }
88
+
89
+ // Change font family
90
+ function changeFontFamily(configName, e) {
91
+ if (e && e instanceof Event) {
92
+ e.preventDefault();
93
+ }
94
+
95
+ var familyId = getFontFamilyId(configName);
96
+ fontState.family = familyId;
97
+ saveFontSettings();
98
+ }
99
+
100
+ // Change type of color theme
101
+ function changeColorTheme(configName, e) {
102
+ if (e && e instanceof Event) {
103
+ e.preventDefault();
104
+ }
105
+
106
+ var $book = gitbook.state.$book;
107
+
108
+ // Remove currently applied color theme
109
+ if (fontState.theme !== 0)
110
+ $book.removeClass('color-theme-'+fontState.theme);
111
+
112
+ // Set new color theme
113
+ var themeId = getThemeId(configName);
114
+ fontState.theme = themeId;
115
+ if (fontState.theme !== 0)
116
+ $book.addClass('color-theme-'+fontState.theme);
117
+
118
+ saveFontSettings();
119
+ }
120
+
121
+ // Return the correct id for a font-family config key
122
+ // Default to first font-family
123
+ function getFontFamilyId(configName) {
124
+ // Search for plugin configured font family
125
+ var configFamily = $.grep(FAMILIES, function(family) {
126
+ return family.config == configName;
127
+ })[0];
128
+ // Fallback to default font family
129
+ return (!!configFamily)? configFamily.id : 0;
130
+ }
131
+
132
+ // Return the correct id for a theme config key
133
+ // Default to first theme
134
+ function getThemeId(configName) {
135
+ // Search for plugin configured theme
136
+ var configTheme = $.grep(THEMES, function(theme) {
137
+ return theme.config == configName;
138
+ })[0];
139
+ // Fallback to default theme
140
+ return (!!configTheme)? configTheme.id : 0;
141
+ }
142
+
143
+ function update() {
144
+ var $book = gitbook.state.$book;
145
+
146
+ $('.font-settings .font-family-list li').removeClass('active');
147
+ $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
148
+
149
+ $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
150
+ $book.addClass('font-size-'+fontState.size);
151
+ $book.addClass('font-family-'+fontState.family);
152
+
153
+ if(fontState.theme !== 0) {
154
+ $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
155
+ $book.addClass('color-theme-'+fontState.theme);
156
+ }
157
+ }
158
+
159
+ function init(config) {
160
+ // Search for plugin configured font family
161
+ var configFamily = getFontFamilyId(config.family),
162
+ configTheme = getThemeId(config.theme);
163
+
164
+ // Instantiate font state object
165
+ fontState = gitbook.storage.get('fontState', {
166
+ size: config.size || 2,
167
+ family: configFamily,
168
+ theme: configTheme
169
+ });
170
+
171
+ update();
172
+ }
173
+
174
+ function updateButtons() {
175
+ // Remove existing fontsettings buttons
176
+ if (!!BUTTON_ID) {
177
+ gitbook.toolbar.removeButton(BUTTON_ID);
178
+ }
179
+
180
+ // Create buttons in toolbar
181
+ BUTTON_ID = gitbook.toolbar.createButton({
182
+ icon: 'fa fa-font',
183
+ label: 'Font Settings',
184
+ className: 'font-settings',
185
+ dropdown: [
186
+ [
187
+ {
188
+ text: 'A',
189
+ className: 'font-reduce',
190
+ onClick: reduceFontSize
191
+ },
192
+ {
193
+ text: 'A',
194
+ className: 'font-enlarge',
195
+ onClick: enlargeFontSize
196
+ }
197
+ ],
198
+ $.map(FAMILIES, function(family) {
199
+ family.onClick = function(e) {
200
+ return changeFontFamily(family.config, e);
201
+ };
202
+
203
+ return family;
204
+ }),
205
+ $.map(THEMES, function(theme) {
206
+ theme.onClick = function(e) {
207
+ return changeColorTheme(theme.config, e);
208
+ };
209
+
210
+ return theme;
211
+ })
212
+ ]
213
+ });
214
+ }
215
+
216
+ // Init configuration at start
217
+ gitbook.events.bind('start', function(e, config) {
218
+ var opts = config.fontsettings;
219
+
220
+ // Generate buttons at start
221
+ updateButtons();
222
+
223
+ // Init current settings
224
+ init(opts);
225
+ });
226
+
227
+ // Expose API
228
+ gitbook.fontsettings = {
229
+ enlargeFontSize: enlargeFontSize,
230
+ reduceFontSize: reduceFontSize,
231
+ setTheme: changeColorTheme,
232
+ setFamily: changeFontFamily,
233
+ getThemes: getThemes,
234
+ setThemes: setThemes,
235
+ getFamilies: getFamilies,
236
+ setFamilies: setFamilies
237
+ };
238
+ });
239
+
240
+
@@ -0,0 +1,291 @@
1
+ /*
2
+ * Theme 1
3
+ */
4
+ .color-theme-1 .dropdown-menu {
5
+ background-color: #111111;
6
+ border-color: #7e888b;
7
+ }
8
+ .color-theme-1 .dropdown-menu .dropdown-caret .caret-inner {
9
+ border-bottom: 9px solid #111111;
10
+ }
11
+ .color-theme-1 .dropdown-menu .buttons {
12
+ border-color: #7e888b;
13
+ }
14
+ .color-theme-1 .dropdown-menu .button {
15
+ color: #afa790;
16
+ }
17
+ .color-theme-1 .dropdown-menu .button:hover {
18
+ color: #73553c;
19
+ }
20
+ /*
21
+ * Theme 2
22
+ */
23
+ .color-theme-2 .dropdown-menu {
24
+ background-color: #2d3143;
25
+ border-color: #272a3a;
26
+ }
27
+ .color-theme-2 .dropdown-menu .dropdown-caret .caret-inner {
28
+ border-bottom: 9px solid #2d3143;
29
+ }
30
+ .color-theme-2 .dropdown-menu .buttons {
31
+ border-color: #272a3a;
32
+ }
33
+ .color-theme-2 .dropdown-menu .button {
34
+ color: #62677f;
35
+ }
36
+ .color-theme-2 .dropdown-menu .button:hover {
37
+ color: #f4f4f5;
38
+ }
39
+ .book .book-header .font-settings .font-enlarge {
40
+ line-height: 30px;
41
+ font-size: 1.4em;
42
+ }
43
+ .book .book-header .font-settings .font-reduce {
44
+ line-height: 30px;
45
+ font-size: 1em;
46
+ }
47
+ .book.color-theme-1 .book-body {
48
+ color: #704214;
49
+ background: #f3eacb;
50
+ }
51
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section {
52
+ background: #f3eacb;
53
+ }
54
+ .book.color-theme-2 .book-body {
55
+ color: #bdcadb;
56
+ background: #1c1f2b;
57
+ }
58
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section {
59
+ background: #1c1f2b;
60
+ }
61
+ .book.font-size-0 .book-body .page-inner section {
62
+ font-size: 1.2rem;
63
+ }
64
+ .book.font-size-1 .book-body .page-inner section {
65
+ font-size: 1.4rem;
66
+ }
67
+ .book.font-size-2 .book-body .page-inner section {
68
+ font-size: 1.6rem;
69
+ }
70
+ .book.font-size-3 .book-body .page-inner section {
71
+ font-size: 2.2rem;
72
+ }
73
+ .book.font-size-4 .book-body .page-inner section {
74
+ font-size: 4rem;
75
+ }
76
+ .book.font-family-0 {
77
+ font-family: Georgia, serif;
78
+ }
79
+ .book.font-family-1 {
80
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
81
+ }
82
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal {
83
+ color: #704214;
84
+ }
85
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a {
86
+ color: inherit;
87
+ }
88
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
89
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2,
90
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3,
91
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4,
92
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5,
93
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
94
+ color: inherit;
95
+ }
96
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
97
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 {
98
+ border-color: inherit;
99
+ }
100
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
101
+ color: inherit;
102
+ }
103
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr {
104
+ background-color: inherit;
105
+ }
106
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote {
107
+ border-color: inherit;
108
+ }
109
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
110
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
111
+ background: #fdf6e3;
112
+ color: #657b83;
113
+ border-color: #f8df9c;
114
+ }
115
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight {
116
+ background-color: inherit;
117
+ }
118
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th,
119
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td {
120
+ border-color: #f5d06c;
121
+ }
122
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr {
123
+ color: inherit;
124
+ background-color: #fdf6e3;
125
+ border-color: #444444;
126
+ }
127
+ .book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
128
+ background-color: #fbeecb;
129
+ }
130
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal {
131
+ color: #bdcadb;
132
+ }
133
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a {
134
+ color: #3eb1d0;
135
+ }
136
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
137
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2,
138
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3,
139
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4,
140
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5,
141
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
142
+ color: #fffffa;
143
+ }
144
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
145
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 {
146
+ border-color: #373b4e;
147
+ }
148
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
149
+ color: #373b4e;
150
+ }
151
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr {
152
+ background-color: #373b4e;
153
+ }
154
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote {
155
+ border-color: #373b4e;
156
+ }
157
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
158
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
159
+ color: #9dbed8;
160
+ background: #2d3143;
161
+ border-color: #2d3143;
162
+ }
163
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight {
164
+ background-color: #282a39;
165
+ }
166
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th,
167
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td {
168
+ border-color: #3b3f54;
169
+ }
170
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr {
171
+ color: #b6c2d2;
172
+ background-color: #2d3143;
173
+ border-color: #3b3f54;
174
+ }
175
+ .book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
176
+ background-color: #35394b;
177
+ }
178
+ .book.color-theme-1 .book-header {
179
+ color: #afa790;
180
+ background: transparent;
181
+ }
182
+ .book.color-theme-1 .book-header .btn {
183
+ color: #afa790;
184
+ }
185
+ .book.color-theme-1 .book-header .btn:hover {
186
+ color: #73553c;
187
+ background: none;
188
+ }
189
+ .book.color-theme-1 .book-header h1 {
190
+ color: #704214;
191
+ }
192
+ .book.color-theme-2 .book-header {
193
+ color: #7e888b;
194
+ background: transparent;
195
+ }
196
+ .book.color-theme-2 .book-header .btn {
197
+ color: #3b3f54;
198
+ }
199
+ .book.color-theme-2 .book-header .btn:hover {
200
+ color: #fffff5;
201
+ background: none;
202
+ }
203
+ .book.color-theme-2 .book-header h1 {
204
+ color: #bdcadb;
205
+ }
206
+ .book.color-theme-1 .book-body .navigation {
207
+ color: #afa790;
208
+ }
209
+ .book.color-theme-1 .book-body .navigation:hover {
210
+ color: #73553c;
211
+ }
212
+ .book.color-theme-2 .book-body .navigation {
213
+ color: #383f52;
214
+ }
215
+ .book.color-theme-2 .book-body .navigation:hover {
216
+ color: #fffff5;
217
+ }
218
+ /*
219
+ * Theme 1
220
+ */
221
+ .book.color-theme-1 .book-summary {
222
+ color: #afa790;
223
+ background: #111111;
224
+ border-right: 1px solid rgba(0, 0, 0, 0.07);
225
+ }
226
+ .book.color-theme-1 .book-summary .book-search {
227
+ background: transparent;
228
+ }
229
+ .book.color-theme-1 .book-summary .book-search input,
230
+ .book.color-theme-1 .book-summary .book-search input:focus {
231
+ border: 1px solid transparent;
232
+ }
233
+ .book.color-theme-1 .book-summary ul.summary li.divider {
234
+ background: #7e888b;
235
+ box-shadow: none;
236
+ }
237
+ .book.color-theme-1 .book-summary ul.summary li i.fa-check {
238
+ color: #33cc33;
239
+ }
240
+ .book.color-theme-1 .book-summary ul.summary li.done > a {
241
+ color: #877f6a;
242
+ }
243
+ .book.color-theme-1 .book-summary ul.summary li a,
244
+ .book.color-theme-1 .book-summary ul.summary li span {
245
+ color: #877f6a;
246
+ background: transparent;
247
+ font-weight: normal;
248
+ }
249
+ .book.color-theme-1 .book-summary ul.summary li.active > a,
250
+ .book.color-theme-1 .book-summary ul.summary li a:hover {
251
+ color: #704214;
252
+ background: transparent;
253
+ font-weight: normal;
254
+ }
255
+ /*
256
+ * Theme 2
257
+ */
258
+ .book.color-theme-2 .book-summary {
259
+ color: #bcc1d2;
260
+ background: #2d3143;
261
+ border-right: none;
262
+ }
263
+ .book.color-theme-2 .book-summary .book-search {
264
+ background: transparent;
265
+ }
266
+ .book.color-theme-2 .book-summary .book-search input,
267
+ .book.color-theme-2 .book-summary .book-search input:focus {
268
+ border: 1px solid transparent;
269
+ }
270
+ .book.color-theme-2 .book-summary ul.summary li.divider {
271
+ background: #272a3a;
272
+ box-shadow: none;
273
+ }
274
+ .book.color-theme-2 .book-summary ul.summary li i.fa-check {
275
+ color: #33cc33;
276
+ }
277
+ .book.color-theme-2 .book-summary ul.summary li.done > a {
278
+ color: #62687f;
279
+ }
280
+ .book.color-theme-2 .book-summary ul.summary li a,
281
+ .book.color-theme-2 .book-summary ul.summary li span {
282
+ color: #c1c6d7;
283
+ background: transparent;
284
+ font-weight: 600;
285
+ }
286
+ .book.color-theme-2 .book-summary ul.summary li.active > a,
287
+ .book.color-theme-2 .book-summary ul.summary li a:hover {
288
+ color: #f4f4f5;
289
+ background: #252737;
290
+ font-weight: 600;
291
+ }
@@ -0,0 +1,135 @@
1
+ pre,
2
+ code {
3
+ /* http://jmblog.github.io/color-themes-for-highlightjs */
4
+ /* Tomorrow Comment */
5
+ /* Tomorrow Red */
6
+ /* Tomorrow Orange */
7
+ /* Tomorrow Yellow */
8
+ /* Tomorrow Green */
9
+ /* Tomorrow Aqua */
10
+ /* Tomorrow Blue */
11
+ /* Tomorrow Purple */
12
+ }
13
+ pre .hljs-comment,
14
+ code .hljs-comment,
15
+ pre .hljs-title,
16
+ code .hljs-title {
17
+ color: #8e908c;
18
+ }
19
+ pre .hljs-variable,
20
+ code .hljs-variable,
21
+ pre .hljs-attribute,
22
+ code .hljs-attribute,
23
+ pre .hljs-tag,
24
+ code .hljs-tag,
25
+ pre .hljs-regexp,
26
+ code .hljs-regexp,
27
+ pre .hljs-deletion,
28
+ code .hljs-deletion,
29
+ pre .ruby .hljs-constant,
30
+ code .ruby .hljs-constant,
31
+ pre .xml .hljs-tag .hljs-title,
32
+ code .xml .hljs-tag .hljs-title,
33
+ pre .xml .hljs-pi,
34
+ code .xml .hljs-pi,
35
+ pre .xml .hljs-doctype,
36
+ code .xml .hljs-doctype,
37
+ pre .html .hljs-doctype,
38
+ code .html .hljs-doctype,
39
+ pre .css .hljs-id,
40
+ code .css .hljs-id,
41
+ pre .css .hljs-class,
42
+ code .css .hljs-class,
43
+ pre .css .hljs-pseudo,
44
+ code .css .hljs-pseudo {
45
+ color: #c82829;
46
+ }
47
+ pre .hljs-number,
48
+ code .hljs-number,
49
+ pre .hljs-preprocessor,
50
+ code .hljs-preprocessor,
51
+ pre .hljs-pragma,
52
+ code .hljs-pragma,
53
+ pre .hljs-built_in,
54
+ code .hljs-built_in,
55
+ pre .hljs-literal,
56
+ code .hljs-literal,
57
+ pre .hljs-params,
58
+ code .hljs-params,
59
+ pre .hljs-constant,
60
+ code .hljs-constant {
61
+ color: #f5871f;
62
+ }
63
+ pre .ruby .hljs-class .hljs-title,
64
+ code .ruby .hljs-class .hljs-title,
65
+ pre .css .hljs-rules .hljs-attribute,
66
+ code .css .hljs-rules .hljs-attribute {
67
+ color: #eab700;
68
+ }
69
+ pre .hljs-string,
70
+ code .hljs-string,
71
+ pre .hljs-value,
72
+ code .hljs-value,
73
+ pre .hljs-inheritance,
74
+ code .hljs-inheritance,
75
+ pre .hljs-header,
76
+ code .hljs-header,
77
+ pre .hljs-addition,
78
+ code .hljs-addition,
79
+ pre .ruby .hljs-symbol,
80
+ code .ruby .hljs-symbol,
81
+ pre .xml .hljs-cdata,
82
+ code .xml .hljs-cdata {
83
+ color: #718c00;
84
+ }
85
+ pre .css .hljs-hexcolor,
86
+ code .css .hljs-hexcolor {
87
+ color: #3e999f;
88
+ }
89
+ pre .hljs-function,
90
+ code .hljs-function,
91
+ pre .python .hljs-decorator,
92
+ code .python .hljs-decorator,
93
+ pre .python .hljs-title,
94
+ code .python .hljs-title,
95
+ pre .ruby .hljs-function .hljs-title,
96
+ code .ruby .hljs-function .hljs-title,
97
+ pre .ruby .hljs-title .hljs-keyword,
98
+ code .ruby .hljs-title .hljs-keyword,
99
+ pre .perl .hljs-sub,
100
+ code .perl .hljs-sub,
101
+ pre .javascript .hljs-title,
102
+ code .javascript .hljs-title,
103
+ pre .coffeescript .hljs-title,
104
+ code .coffeescript .hljs-title {
105
+ color: #4271ae;
106
+ }
107
+ pre .hljs-keyword,
108
+ code .hljs-keyword,
109
+ pre .javascript .hljs-function,
110
+ code .javascript .hljs-function {
111
+ color: #8959a8;
112
+ }
113
+ pre .hljs,
114
+ code .hljs {
115
+ display: block;
116
+ background: white;
117
+ color: #4d4d4c;
118
+ padding: 0.5em;
119
+ }
120
+ pre .coffeescript .javascript,
121
+ code .coffeescript .javascript,
122
+ pre .javascript .xml,
123
+ code .javascript .xml,
124
+ pre .tex .hljs-formula,
125
+ code .tex .hljs-formula,
126
+ pre .xml .javascript,
127
+ code .xml .javascript,
128
+ pre .xml .vbscript,
129
+ code .xml .vbscript,
130
+ pre .xml .css,
131
+ code .xml .css,
132
+ pre .xml .hljs-cdata,
133
+ code .xml .hljs-cdata {
134
+ opacity: 0.5;
135
+ }