ovto 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +15 -16
- data/Rakefile +2 -9
- data/book/SUMMARY.md +15 -11
- data/book/book.toml +10 -0
- data/docs/.nojekyll +1 -0
- data/docs/404.html +189 -0
- data/docs/FontAwesome/css/font-awesome.css +4 -0
- data/docs/FontAwesome/fonts/FontAwesome.ttf +0 -0
- data/docs/FontAwesome/fonts/fontawesome-webfont.eot +0 -0
- data/docs/FontAwesome/fonts/fontawesome-webfont.svg +2671 -0
- data/docs/{gitbook/fonts/fontawesome → FontAwesome/fonts}/fontawesome-webfont.ttf +0 -0
- data/docs/FontAwesome/fonts/fontawesome-webfont.woff +0 -0
- data/docs/FontAwesome/fonts/fontawesome-webfont.woff2 +0 -0
- data/docs/api/Array.html +4 -4
- data/docs/api/Hash.html +4 -4
- data/docs/api/MightyInspect.html +238 -0
- data/docs/api/Ovto/Actions.html +4 -4
- data/docs/api/Ovto/App.html +4 -4
- data/docs/api/Ovto/Component/MoreThanOneNode.html +5 -5
- data/docs/api/Ovto/Component.html +4 -4
- data/docs/api/Ovto/Middleware/Actions.html +4 -4
- data/docs/api/Ovto/Middleware/Base.html +5 -5
- data/docs/api/Ovto/Middleware/Component.html +5 -5
- data/docs/api/Ovto/Middleware.html +8 -8
- data/docs/api/Ovto/PureComponent/StateIsNotAvailable.html +4 -4
- data/docs/api/Ovto/PureComponent.html +4 -4
- data/docs/api/Ovto/Runtime.html +4 -4
- data/docs/api/Ovto/State/MissingValue.html +4 -4
- data/docs/api/Ovto/State/UnknownStateKey.html +4 -4
- data/docs/api/Ovto/State.html +12 -12
- data/docs/api/Ovto/WiredActionSet.html +4 -4
- data/docs/api/Ovto/WiredActions.html +4 -4
- data/docs/api/Ovto.html +8 -8
- data/docs/api/_index.html +5 -5
- data/docs/api/actions.html +215 -426
- data/docs/api/app.html +226 -432
- data/docs/api/component.html +268 -480
- data/docs/api/fetch.html +188 -393
- data/docs/api/file.README.html +4 -4
- data/docs/api/frames.html +1 -1
- data/docs/api/index.html +4 -4
- data/docs/api/middleware.html +249 -460
- data/docs/api/pure_component.html +186 -398
- data/docs/api/state.html +226 -438
- data/docs/api/top-level-namespace.html +4 -4
- data/docs/ayu-highlight.css +78 -0
- data/docs/book.js +688 -0
- data/docs/book.toml +10 -0
- data/docs/clipboard.min.js +7 -0
- data/docs/css/chrome.css +545 -0
- data/docs/css/general.css +203 -0
- data/docs/css/print.css +54 -0
- data/docs/css/variables.css +255 -0
- data/docs/elasticlunr.min.js +10 -0
- data/docs/favicon.png +0 -0
- data/docs/favicon.svg +22 -0
- data/docs/fonts/OPEN-SANS-LICENSE.txt +202 -0
- data/docs/fonts/SOURCE-CODE-PRO-LICENSE.txt +93 -0
- data/docs/fonts/fonts.css +100 -0
- data/docs/fonts/open-sans-v17-all-charsets-300.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-300italic.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-600.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-600italic.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-700.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-700italic.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-800.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-800italic.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-italic.woff2 +0 -0
- data/docs/fonts/open-sans-v17-all-charsets-regular.woff2 +0 -0
- data/docs/fonts/source-code-pro-v11-all-charsets-500.woff2 +0 -0
- data/docs/guides/debugging.html +184 -390
- data/docs/guides/development.html +171 -383
- data/docs/guides/install.html +206 -409
- data/docs/guides/tutorial.html +309 -525
- data/docs/highlight.css +82 -0
- data/docs/highlight.js +6 -0
- data/docs/index.html +390 -391
- data/docs/mark.min.js +7 -0
- data/docs/print.html +958 -0
- data/docs/searcher.js +483 -0
- data/docs/searchindex.js +1 -0
- data/docs/searchindex.json +1 -0
- data/docs/tomorrow-night.css +102 -0
- data/examples/sinatra/Gemfile.lock +25 -25
- data/examples/static/Gemfile.lock +8 -8
- data/lib/ovto/component.rb +2 -3
- data/lib/ovto/version.rb +1 -1
- metadata +47 -26
- data/docs/gitbook/fonts/fontawesome/FontAwesome.otf +0 -0
- data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.eot +0 -0
- data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.svg +0 -685
- data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff +0 -0
- data/docs/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 +0 -0
- data/docs/gitbook/gitbook-plugin-fontsettings/fontsettings.js +0 -240
- data/docs/gitbook/gitbook-plugin-fontsettings/website.css +0 -291
- data/docs/gitbook/gitbook-plugin-highlight/ebook.css +0 -135
- data/docs/gitbook/gitbook-plugin-highlight/website.css +0 -434
- data/docs/gitbook/gitbook-plugin-lunr/lunr.min.js +0 -7
- data/docs/gitbook/gitbook-plugin-lunr/search-lunr.js +0 -59
- data/docs/gitbook/gitbook-plugin-search/lunr.min.js +0 -7
- data/docs/gitbook/gitbook-plugin-search/search-engine.js +0 -50
- data/docs/gitbook/gitbook-plugin-search/search.css +0 -35
- data/docs/gitbook/gitbook-plugin-search/search.js +0 -213
- data/docs/gitbook/gitbook-plugin-sharing/buttons.js +0 -90
- data/docs/gitbook/gitbook.js +0 -4
- data/docs/gitbook/images/apple-touch-icon-precomposed-152.png +0 -0
- data/docs/gitbook/images/favicon.ico +0 -0
- data/docs/gitbook/style.css +0 -9
- data/docs/gitbook/theme.js +0 -4
- data/docs/search_index.json +0 -1
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!
|
2
|
+
* clipboard.js v2.0.4
|
3
|
+
* https://zenorocha.github.io/clipboard.js
|
4
|
+
*
|
5
|
+
* Licensed MIT © Zeno Rocha
|
6
|
+
*/
|
7
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=o(n(1)),c=o(n(3)),u=o(n(4));function o(t){return t&&t.__esModule?t:{default:t}}var l=function(t){function o(t,e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o);var n=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}(this,(o.__proto__||Object.getPrototypeOf(o)).call(this));return n.resolveOptions(e),n.listenClick(t),n}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(o,c.default),i(o,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===r(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=(0,u.default)(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new a.default({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return s("action",t)}},{key:"defaultTarget",value:function(t){var e=s("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return s("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"==typeof t?[t]:t,n=!!document.queryCommandSupported;return e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)}),n}}]),o}();function s(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}t.exports=l},function(t,e,n){"use strict";var o,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(t,e,n){return e&&o(t.prototype,e),n&&o(t,n),t}}(),a=n(2),c=(o=a)&&o.__esModule?o:{default:o};var u=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),this.resolveOptions(t),this.initSelection()}return i(e,[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,c.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,c.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==(void 0===t?"undefined":r(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),e}();t.exports=u},function(t,e){t.exports=function(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var n=t.hasAttribute("readonly");n||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),n||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var o=window.getSelection(),r=document.createRange();r.selectNodeContents(t),o.removeAllRanges(),o.addRange(r),e=o.toString()}return e}},function(t,e){function n(){}n.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,a=o.length;i<a;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=n},function(t,e,n){var d=n(5),h=n(6);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!d.string(e))throw new TypeError("Second argument must be a String");if(!d.fn(n))throw new TypeError("Third argument must be a Function");if(d.node(t))return s=e,f=n,(l=t).addEventListener(s,f),{destroy:function(){l.removeEventListener(s,f)}};if(d.nodeList(t))return a=t,c=e,u=n,Array.prototype.forEach.call(a,function(t){t.addEventListener(c,u)}),{destroy:function(){Array.prototype.forEach.call(a,function(t){t.removeEventListener(c,u)})}};if(d.string(t))return o=t,r=e,i=n,h(document.body,o,r,i);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,a,c,u,l,s,f}},function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},function(t,e,n){var a=n(7);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},function(t,e){if("undefined"!=typeof Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}}])});
|
data/docs/css/chrome.css
ADDED
@@ -0,0 +1,545 @@
|
|
1
|
+
/* CSS for UI elements (a.k.a. chrome) */
|
2
|
+
|
3
|
+
@import 'variables.css';
|
4
|
+
|
5
|
+
html {
|
6
|
+
scrollbar-color: var(--scrollbar) var(--bg);
|
7
|
+
}
|
8
|
+
#searchresults a,
|
9
|
+
.content a:link,
|
10
|
+
a:visited,
|
11
|
+
a > .hljs {
|
12
|
+
color: var(--links);
|
13
|
+
}
|
14
|
+
|
15
|
+
/*
|
16
|
+
body-container is necessary because mobile browsers don't seem to like
|
17
|
+
overflow-x on the body tag when there is a <meta name="viewport"> tag.
|
18
|
+
*/
|
19
|
+
#body-container {
|
20
|
+
/*
|
21
|
+
This is used when the sidebar pushes the body content off the side of
|
22
|
+
the screen on small screens. Without it, dragging on mobile Safari
|
23
|
+
will want to reposition the viewport in a weird way.
|
24
|
+
*/
|
25
|
+
overflow-x: clip;
|
26
|
+
}
|
27
|
+
|
28
|
+
/* Menu Bar */
|
29
|
+
|
30
|
+
#menu-bar,
|
31
|
+
#menu-bar-hover-placeholder {
|
32
|
+
z-index: 101;
|
33
|
+
margin: auto calc(0px - var(--page-padding));
|
34
|
+
}
|
35
|
+
#menu-bar {
|
36
|
+
position: relative;
|
37
|
+
display: flex;
|
38
|
+
flex-wrap: wrap;
|
39
|
+
background-color: var(--bg);
|
40
|
+
border-bottom-color: var(--bg);
|
41
|
+
border-bottom-width: 1px;
|
42
|
+
border-bottom-style: solid;
|
43
|
+
}
|
44
|
+
#menu-bar.sticky,
|
45
|
+
.js #menu-bar-hover-placeholder:hover + #menu-bar,
|
46
|
+
.js #menu-bar:hover,
|
47
|
+
.js.sidebar-visible #menu-bar {
|
48
|
+
position: -webkit-sticky;
|
49
|
+
position: sticky;
|
50
|
+
top: 0 !important;
|
51
|
+
}
|
52
|
+
#menu-bar-hover-placeholder {
|
53
|
+
position: sticky;
|
54
|
+
position: -webkit-sticky;
|
55
|
+
top: 0;
|
56
|
+
height: var(--menu-bar-height);
|
57
|
+
}
|
58
|
+
#menu-bar.bordered {
|
59
|
+
border-bottom-color: var(--table-border-color);
|
60
|
+
}
|
61
|
+
#menu-bar i, #menu-bar .icon-button {
|
62
|
+
position: relative;
|
63
|
+
padding: 0 8px;
|
64
|
+
z-index: 10;
|
65
|
+
line-height: var(--menu-bar-height);
|
66
|
+
cursor: pointer;
|
67
|
+
transition: color 0.5s;
|
68
|
+
}
|
69
|
+
@media only screen and (max-width: 420px) {
|
70
|
+
#menu-bar i, #menu-bar .icon-button {
|
71
|
+
padding: 0 5px;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
.icon-button {
|
76
|
+
border: none;
|
77
|
+
background: none;
|
78
|
+
padding: 0;
|
79
|
+
color: inherit;
|
80
|
+
}
|
81
|
+
.icon-button i {
|
82
|
+
margin: 0;
|
83
|
+
}
|
84
|
+
|
85
|
+
.right-buttons {
|
86
|
+
margin: 0 15px;
|
87
|
+
}
|
88
|
+
.right-buttons a {
|
89
|
+
text-decoration: none;
|
90
|
+
}
|
91
|
+
|
92
|
+
.left-buttons {
|
93
|
+
display: flex;
|
94
|
+
margin: 0 5px;
|
95
|
+
}
|
96
|
+
.no-js .left-buttons {
|
97
|
+
display: none;
|
98
|
+
}
|
99
|
+
|
100
|
+
.menu-title {
|
101
|
+
display: inline-block;
|
102
|
+
font-weight: 200;
|
103
|
+
font-size: 2.4rem;
|
104
|
+
line-height: var(--menu-bar-height);
|
105
|
+
text-align: center;
|
106
|
+
margin: 0;
|
107
|
+
flex: 1;
|
108
|
+
white-space: nowrap;
|
109
|
+
overflow: hidden;
|
110
|
+
text-overflow: ellipsis;
|
111
|
+
}
|
112
|
+
.js .menu-title {
|
113
|
+
cursor: pointer;
|
114
|
+
}
|
115
|
+
|
116
|
+
.menu-bar,
|
117
|
+
.menu-bar:visited,
|
118
|
+
.nav-chapters,
|
119
|
+
.nav-chapters:visited,
|
120
|
+
.mobile-nav-chapters,
|
121
|
+
.mobile-nav-chapters:visited,
|
122
|
+
.menu-bar .icon-button,
|
123
|
+
.menu-bar a i {
|
124
|
+
color: var(--icons);
|
125
|
+
}
|
126
|
+
|
127
|
+
.menu-bar i:hover,
|
128
|
+
.menu-bar .icon-button:hover,
|
129
|
+
.nav-chapters:hover,
|
130
|
+
.mobile-nav-chapters i:hover {
|
131
|
+
color: var(--icons-hover);
|
132
|
+
}
|
133
|
+
|
134
|
+
/* Nav Icons */
|
135
|
+
|
136
|
+
.nav-chapters {
|
137
|
+
font-size: 2.5em;
|
138
|
+
text-align: center;
|
139
|
+
text-decoration: none;
|
140
|
+
|
141
|
+
position: fixed;
|
142
|
+
top: 0;
|
143
|
+
bottom: 0;
|
144
|
+
margin: 0;
|
145
|
+
max-width: 150px;
|
146
|
+
min-width: 90px;
|
147
|
+
|
148
|
+
display: flex;
|
149
|
+
justify-content: center;
|
150
|
+
align-content: center;
|
151
|
+
flex-direction: column;
|
152
|
+
|
153
|
+
transition: color 0.5s, background-color 0.5s;
|
154
|
+
}
|
155
|
+
|
156
|
+
.nav-chapters:hover {
|
157
|
+
text-decoration: none;
|
158
|
+
background-color: var(--theme-hover);
|
159
|
+
transition: background-color 0.15s, color 0.15s;
|
160
|
+
}
|
161
|
+
|
162
|
+
.nav-wrapper {
|
163
|
+
margin-top: 50px;
|
164
|
+
display: none;
|
165
|
+
}
|
166
|
+
|
167
|
+
.mobile-nav-chapters {
|
168
|
+
font-size: 2.5em;
|
169
|
+
text-align: center;
|
170
|
+
text-decoration: none;
|
171
|
+
width: 90px;
|
172
|
+
border-radius: 5px;
|
173
|
+
background-color: var(--sidebar-bg);
|
174
|
+
}
|
175
|
+
|
176
|
+
.previous {
|
177
|
+
float: left;
|
178
|
+
}
|
179
|
+
|
180
|
+
.next {
|
181
|
+
float: right;
|
182
|
+
right: var(--page-padding);
|
183
|
+
}
|
184
|
+
|
185
|
+
@media only screen and (max-width: 1080px) {
|
186
|
+
.nav-wide-wrapper { display: none; }
|
187
|
+
.nav-wrapper { display: block; }
|
188
|
+
}
|
189
|
+
|
190
|
+
@media only screen and (max-width: 1380px) {
|
191
|
+
.sidebar-visible .nav-wide-wrapper { display: none; }
|
192
|
+
.sidebar-visible .nav-wrapper { display: block; }
|
193
|
+
}
|
194
|
+
|
195
|
+
/* Inline code */
|
196
|
+
|
197
|
+
:not(pre) > .hljs {
|
198
|
+
display: inline;
|
199
|
+
padding: 0.1em 0.3em;
|
200
|
+
border-radius: 3px;
|
201
|
+
}
|
202
|
+
|
203
|
+
:not(pre):not(a) > .hljs {
|
204
|
+
color: var(--inline-code-color);
|
205
|
+
overflow-x: initial;
|
206
|
+
}
|
207
|
+
|
208
|
+
a:hover > .hljs {
|
209
|
+
text-decoration: underline;
|
210
|
+
}
|
211
|
+
|
212
|
+
pre {
|
213
|
+
position: relative;
|
214
|
+
}
|
215
|
+
pre > .buttons {
|
216
|
+
position: absolute;
|
217
|
+
z-index: 100;
|
218
|
+
right: 0px;
|
219
|
+
top: 2px;
|
220
|
+
margin: 0px;
|
221
|
+
padding: 2px 0px;
|
222
|
+
|
223
|
+
color: var(--sidebar-fg);
|
224
|
+
cursor: pointer;
|
225
|
+
visibility: hidden;
|
226
|
+
opacity: 0;
|
227
|
+
transition: visibility 0.1s linear, opacity 0.1s linear;
|
228
|
+
}
|
229
|
+
pre:hover > .buttons {
|
230
|
+
visibility: visible;
|
231
|
+
opacity: 1
|
232
|
+
}
|
233
|
+
pre > .buttons :hover {
|
234
|
+
color: var(--sidebar-active);
|
235
|
+
border-color: var(--icons-hover);
|
236
|
+
background-color: var(--theme-hover);
|
237
|
+
}
|
238
|
+
pre > .buttons i {
|
239
|
+
margin-left: 8px;
|
240
|
+
}
|
241
|
+
pre > .buttons button {
|
242
|
+
cursor: inherit;
|
243
|
+
margin: 0px 5px;
|
244
|
+
padding: 3px 5px;
|
245
|
+
font-size: 14px;
|
246
|
+
|
247
|
+
border-style: solid;
|
248
|
+
border-width: 1px;
|
249
|
+
border-radius: 4px;
|
250
|
+
border-color: var(--icons);
|
251
|
+
background-color: var(--theme-popup-bg);
|
252
|
+
transition: 100ms;
|
253
|
+
transition-property: color,border-color,background-color;
|
254
|
+
color: var(--icons);
|
255
|
+
}
|
256
|
+
@media (pointer: coarse) {
|
257
|
+
pre > .buttons button {
|
258
|
+
/* On mobile, make it easier to tap buttons. */
|
259
|
+
padding: 0.3rem 1rem;
|
260
|
+
}
|
261
|
+
}
|
262
|
+
pre > code {
|
263
|
+
padding: 1rem;
|
264
|
+
}
|
265
|
+
|
266
|
+
/* FIXME: ACE editors overlap their buttons because ACE does absolute
|
267
|
+
positioning within the code block which breaks padding. The only solution I
|
268
|
+
can think of is to move the padding to the outer pre tag (or insert a div
|
269
|
+
wrapper), but that would require fixing a whole bunch of CSS rules.
|
270
|
+
*/
|
271
|
+
.hljs.ace_editor {
|
272
|
+
padding: 0rem 0rem;
|
273
|
+
}
|
274
|
+
|
275
|
+
pre > .result {
|
276
|
+
margin-top: 10px;
|
277
|
+
}
|
278
|
+
|
279
|
+
/* Search */
|
280
|
+
|
281
|
+
#searchresults a {
|
282
|
+
text-decoration: none;
|
283
|
+
}
|
284
|
+
|
285
|
+
mark {
|
286
|
+
border-radius: 2px;
|
287
|
+
padding: 0 3px 1px 3px;
|
288
|
+
margin: 0 -3px -1px -3px;
|
289
|
+
background-color: var(--search-mark-bg);
|
290
|
+
transition: background-color 300ms linear;
|
291
|
+
cursor: pointer;
|
292
|
+
}
|
293
|
+
|
294
|
+
mark.fade-out {
|
295
|
+
background-color: rgba(0,0,0,0) !important;
|
296
|
+
cursor: auto;
|
297
|
+
}
|
298
|
+
|
299
|
+
.searchbar-outer {
|
300
|
+
margin-left: auto;
|
301
|
+
margin-right: auto;
|
302
|
+
max-width: var(--content-max-width);
|
303
|
+
}
|
304
|
+
|
305
|
+
#searchbar {
|
306
|
+
width: 100%;
|
307
|
+
margin: 5px auto 0px auto;
|
308
|
+
padding: 10px 16px;
|
309
|
+
transition: box-shadow 300ms ease-in-out;
|
310
|
+
border: 1px solid var(--searchbar-border-color);
|
311
|
+
border-radius: 3px;
|
312
|
+
background-color: var(--searchbar-bg);
|
313
|
+
color: var(--searchbar-fg);
|
314
|
+
}
|
315
|
+
#searchbar:focus,
|
316
|
+
#searchbar.active {
|
317
|
+
box-shadow: 0 0 3px var(--searchbar-shadow-color);
|
318
|
+
}
|
319
|
+
|
320
|
+
.searchresults-header {
|
321
|
+
font-weight: bold;
|
322
|
+
font-size: 1em;
|
323
|
+
padding: 18px 0 0 5px;
|
324
|
+
color: var(--searchresults-header-fg);
|
325
|
+
}
|
326
|
+
|
327
|
+
.searchresults-outer {
|
328
|
+
margin-left: auto;
|
329
|
+
margin-right: auto;
|
330
|
+
max-width: var(--content-max-width);
|
331
|
+
border-bottom: 1px dashed var(--searchresults-border-color);
|
332
|
+
}
|
333
|
+
|
334
|
+
ul#searchresults {
|
335
|
+
list-style: none;
|
336
|
+
padding-left: 20px;
|
337
|
+
}
|
338
|
+
ul#searchresults li {
|
339
|
+
margin: 10px 0px;
|
340
|
+
padding: 2px;
|
341
|
+
border-radius: 2px;
|
342
|
+
}
|
343
|
+
ul#searchresults li.focus {
|
344
|
+
background-color: var(--searchresults-li-bg);
|
345
|
+
}
|
346
|
+
ul#searchresults span.teaser {
|
347
|
+
display: block;
|
348
|
+
clear: both;
|
349
|
+
margin: 5px 0 0 20px;
|
350
|
+
font-size: 0.8em;
|
351
|
+
}
|
352
|
+
ul#searchresults span.teaser em {
|
353
|
+
font-weight: bold;
|
354
|
+
font-style: normal;
|
355
|
+
}
|
356
|
+
|
357
|
+
/* Sidebar */
|
358
|
+
|
359
|
+
.sidebar {
|
360
|
+
position: fixed;
|
361
|
+
left: 0;
|
362
|
+
top: 0;
|
363
|
+
bottom: 0;
|
364
|
+
width: var(--sidebar-width);
|
365
|
+
font-size: 0.875em;
|
366
|
+
box-sizing: border-box;
|
367
|
+
-webkit-overflow-scrolling: touch;
|
368
|
+
overscroll-behavior-y: contain;
|
369
|
+
background-color: var(--sidebar-bg);
|
370
|
+
color: var(--sidebar-fg);
|
371
|
+
}
|
372
|
+
.sidebar-resizing {
|
373
|
+
-moz-user-select: none;
|
374
|
+
-webkit-user-select: none;
|
375
|
+
-ms-user-select: none;
|
376
|
+
user-select: none;
|
377
|
+
}
|
378
|
+
.js:not(.sidebar-resizing) .sidebar {
|
379
|
+
transition: transform 0.3s; /* Animation: slide away */
|
380
|
+
}
|
381
|
+
.sidebar code {
|
382
|
+
line-height: 2em;
|
383
|
+
}
|
384
|
+
.sidebar .sidebar-scrollbox {
|
385
|
+
overflow-y: auto;
|
386
|
+
position: absolute;
|
387
|
+
top: 0;
|
388
|
+
bottom: 0;
|
389
|
+
left: 0;
|
390
|
+
right: 0;
|
391
|
+
padding: 10px 10px;
|
392
|
+
}
|
393
|
+
.sidebar .sidebar-resize-handle {
|
394
|
+
position: absolute;
|
395
|
+
cursor: col-resize;
|
396
|
+
width: 0;
|
397
|
+
right: 0;
|
398
|
+
top: 0;
|
399
|
+
bottom: 0;
|
400
|
+
}
|
401
|
+
.js .sidebar .sidebar-resize-handle {
|
402
|
+
cursor: col-resize;
|
403
|
+
width: 5px;
|
404
|
+
}
|
405
|
+
.sidebar-hidden .sidebar {
|
406
|
+
transform: translateX(calc(0px - var(--sidebar-width)));
|
407
|
+
}
|
408
|
+
.sidebar::-webkit-scrollbar {
|
409
|
+
background: var(--sidebar-bg);
|
410
|
+
}
|
411
|
+
.sidebar::-webkit-scrollbar-thumb {
|
412
|
+
background: var(--scrollbar);
|
413
|
+
}
|
414
|
+
|
415
|
+
.sidebar-visible .page-wrapper {
|
416
|
+
transform: translateX(var(--sidebar-width));
|
417
|
+
}
|
418
|
+
@media only screen and (min-width: 620px) {
|
419
|
+
.sidebar-visible .page-wrapper {
|
420
|
+
transform: none;
|
421
|
+
margin-left: var(--sidebar-width);
|
422
|
+
}
|
423
|
+
}
|
424
|
+
|
425
|
+
.chapter {
|
426
|
+
list-style: none outside none;
|
427
|
+
padding-left: 0;
|
428
|
+
line-height: 2.2em;
|
429
|
+
}
|
430
|
+
|
431
|
+
.chapter ol {
|
432
|
+
width: 100%;
|
433
|
+
}
|
434
|
+
|
435
|
+
.chapter li {
|
436
|
+
display: flex;
|
437
|
+
color: var(--sidebar-non-existant);
|
438
|
+
}
|
439
|
+
.chapter li a {
|
440
|
+
display: block;
|
441
|
+
padding: 0;
|
442
|
+
text-decoration: none;
|
443
|
+
color: var(--sidebar-fg);
|
444
|
+
}
|
445
|
+
|
446
|
+
.chapter li a:hover {
|
447
|
+
color: var(--sidebar-active);
|
448
|
+
}
|
449
|
+
|
450
|
+
.chapter li a.active {
|
451
|
+
color: var(--sidebar-active);
|
452
|
+
}
|
453
|
+
|
454
|
+
.chapter li > a.toggle {
|
455
|
+
cursor: pointer;
|
456
|
+
display: block;
|
457
|
+
margin-left: auto;
|
458
|
+
padding: 0 10px;
|
459
|
+
user-select: none;
|
460
|
+
opacity: 0.68;
|
461
|
+
}
|
462
|
+
|
463
|
+
.chapter li > a.toggle div {
|
464
|
+
transition: transform 0.5s;
|
465
|
+
}
|
466
|
+
|
467
|
+
/* collapse the section */
|
468
|
+
.chapter li:not(.expanded) + li > ol {
|
469
|
+
display: none;
|
470
|
+
}
|
471
|
+
|
472
|
+
.chapter li.chapter-item {
|
473
|
+
line-height: 1.5em;
|
474
|
+
margin-top: 0.6em;
|
475
|
+
}
|
476
|
+
|
477
|
+
.chapter li.expanded > a.toggle div {
|
478
|
+
transform: rotate(90deg);
|
479
|
+
}
|
480
|
+
|
481
|
+
.spacer {
|
482
|
+
width: 100%;
|
483
|
+
height: 3px;
|
484
|
+
margin: 5px 0px;
|
485
|
+
}
|
486
|
+
.chapter .spacer {
|
487
|
+
background-color: var(--sidebar-spacer);
|
488
|
+
}
|
489
|
+
|
490
|
+
@media (-moz-touch-enabled: 1), (pointer: coarse) {
|
491
|
+
.chapter li a { padding: 5px 0; }
|
492
|
+
.spacer { margin: 10px 0; }
|
493
|
+
}
|
494
|
+
|
495
|
+
.section {
|
496
|
+
list-style: none outside none;
|
497
|
+
padding-left: 20px;
|
498
|
+
line-height: 1.9em;
|
499
|
+
}
|
500
|
+
|
501
|
+
/* Theme Menu Popup */
|
502
|
+
|
503
|
+
.theme-popup {
|
504
|
+
position: absolute;
|
505
|
+
left: 10px;
|
506
|
+
top: var(--menu-bar-height);
|
507
|
+
z-index: 1000;
|
508
|
+
border-radius: 4px;
|
509
|
+
font-size: 0.7em;
|
510
|
+
color: var(--fg);
|
511
|
+
background: var(--theme-popup-bg);
|
512
|
+
border: 1px solid var(--theme-popup-border);
|
513
|
+
margin: 0;
|
514
|
+
padding: 0;
|
515
|
+
list-style: none;
|
516
|
+
display: none;
|
517
|
+
/* Don't let the children's background extend past the rounded corners. */
|
518
|
+
overflow: hidden;
|
519
|
+
}
|
520
|
+
.theme-popup .default {
|
521
|
+
color: var(--icons);
|
522
|
+
}
|
523
|
+
.theme-popup .theme {
|
524
|
+
width: 100%;
|
525
|
+
border: 0;
|
526
|
+
margin: 0;
|
527
|
+
padding: 2px 20px;
|
528
|
+
line-height: 25px;
|
529
|
+
white-space: nowrap;
|
530
|
+
text-align: left;
|
531
|
+
cursor: pointer;
|
532
|
+
color: inherit;
|
533
|
+
background: inherit;
|
534
|
+
font-size: inherit;
|
535
|
+
}
|
536
|
+
.theme-popup .theme:hover {
|
537
|
+
background-color: var(--theme-hover);
|
538
|
+
}
|
539
|
+
|
540
|
+
.theme-selected::before {
|
541
|
+
display: inline-block;
|
542
|
+
content: "✓";
|
543
|
+
margin-left: -14px;
|
544
|
+
width: 14px;
|
545
|
+
}
|