Generic interpreter test
commit
9760e92334
|
@ -0,0 +1,13 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
|
@ -0,0 +1,5 @@
|
|||
out.z5
|
||||
out.ulx
|
||||
interpreter/main.css
|
||||
interpreter/main.css.map
|
||||
interpreter/scss/.sass-cache/
|
|
@ -0,0 +1,9 @@
|
|||
all: css-release
|
||||
|
||||
css:
|
||||
sass interpreter/scss/main.scss:interpreter/main.css
|
||||
css-watch:
|
||||
sass --watch interpreter/scss/main.scss:interpreter/main.css
|
||||
css-release:
|
||||
cd interpreter/scss
|
||||
sass interpreter/scss/main.scss:interpreter/main.css --no-source-map --style=compressed
|
|
@ -0,0 +1,51 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Vorple</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="interpreter/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<main id="haven">
|
||||
<div id="output">
|
||||
<div id="window0" aria-live="polite" aria-atomic="false" aria-relevant="additions"></div>
|
||||
</div>
|
||||
|
||||
<form id="lineinput">
|
||||
<label id="lineinput-prefix" for="lineinput-field">> </label>
|
||||
<input name="lineinput" placeholder="Enter a command" id="lineinput-field" type="text" autocomplete="off" autocapitalize="none">
|
||||
</form>
|
||||
|
||||
<div id="loader">
|
||||
<h2 id="loader-message">Loading scripts</h2>
|
||||
<div id="spinner">V</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script src="interpreter/vorple.min.js"></script>
|
||||
|
||||
<script>
|
||||
vorple.options = {
|
||||
autosave: false,
|
||||
engineColors: false,
|
||||
resource_paths: {
|
||||
images: "resources/images",
|
||||
audio: "resources/audio"
|
||||
},
|
||||
|
||||
// URL to the game file
|
||||
story: "Wand.ulx"
|
||||
};
|
||||
|
||||
Module.locateFile = function( name ) {
|
||||
return "interpreter/" + name;
|
||||
};
|
||||
|
||||
vorple.debug.off();
|
||||
vorple.init();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -0,0 +1,312 @@
|
|||
body, html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
body, input, label, #loader {
|
||||
color: #000;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
input[type=text] {
|
||||
height: auto;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
html.theme-dark body,
|
||||
html.theme-dark input,
|
||||
html.theme-dark label,
|
||||
html.theme-dark #loader {
|
||||
color: #aaa;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
html.monospace body,
|
||||
html.monospace input,
|
||||
html.monospace label,
|
||||
html.monospace #loader {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
body, input, label {
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
#output {
|
||||
padding: 0 15px 10px 15px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#output span {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#lineinput-field {
|
||||
border: 0;
|
||||
box-shadow: none;
|
||||
display: inline;
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#prompt {
|
||||
display: inline-block;
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
.hugowindow {
|
||||
position: fixed;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.safarifix .hugowindow {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#fatal-error {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding: 1em;
|
||||
color: #fff;
|
||||
background-color: #600;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
#loader {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
#loader-message {
|
||||
margin-top: 90px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#loader.stopped #loader-message {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
#spinner {
|
||||
position: fixed;
|
||||
font-family: serif;
|
||||
color: #888;
|
||||
top: 180px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 50px;
|
||||
line-height: 100%;
|
||||
font-size: 50px;
|
||||
animation: spin 2s ease-in-out forwards;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
|
||||
@-ms-keyframes spin {
|
||||
from {
|
||||
-ms-transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
-ms-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes spin {
|
||||
from {
|
||||
-moz-transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
-moz-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
from {
|
||||
-webkit-transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Text colors and font styles */
|
||||
|
||||
.font-bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.font-italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.font-underline {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.font-proportional {
|
||||
font-family: serif;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.font-fixed-width {
|
||||
font-family: monospace;
|
||||
font-size: 15px;
|
||||
padding: 2px 0;
|
||||
}
|
||||
|
||||
.textcolor-0 { /* black */
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.textcolor-1 { /* blue */
|
||||
color: #00a;
|
||||
}
|
||||
|
||||
.textcolor-2 { /* green */
|
||||
color: #0a0;
|
||||
}
|
||||
|
||||
.textcolor-3 { /* cyan */
|
||||
color: #0aa;
|
||||
}
|
||||
|
||||
.textcolor-4 { /* red */
|
||||
color: #a00;
|
||||
}
|
||||
|
||||
.textcolor-5 { /* magenta */
|
||||
color: #a0a;
|
||||
}
|
||||
|
||||
.textcolor-6 { /* brown */
|
||||
color: #a50;
|
||||
}
|
||||
|
||||
.textcolor-7 { /* white */
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.textcolor-8 { /* dark gray */
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.textcolor-9 { /* light blue */
|
||||
color: #55f;
|
||||
}
|
||||
|
||||
.textcolor-10 { /* light green */
|
||||
color: #5f5;
|
||||
}
|
||||
|
||||
.textcolor-11 { /* light cyan */
|
||||
color: #5ff;
|
||||
}
|
||||
|
||||
.textcolor-12 { /* light red */
|
||||
color: #f55;
|
||||
}
|
||||
|
||||
.textcolor-13 { /* light magenta */
|
||||
color: #f5f;
|
||||
}
|
||||
|
||||
.textcolor-14 { /* yellow */
|
||||
color: #ff5;
|
||||
}
|
||||
|
||||
.textcolor-15 { /* bright white */
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.bgcolor-0 { /* black */
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.bgcolor-1 { /* blue */
|
||||
background-color: #00a;
|
||||
}
|
||||
|
||||
.bgcolor-2 { /* green */
|
||||
background-color: #0a0;
|
||||
}
|
||||
|
||||
.bgcolor-3 { /* cyan */
|
||||
background-color: #0aa;
|
||||
}
|
||||
|
||||
.bgcolor-4 { /* red */
|
||||
background-color: #a00;
|
||||
}
|
||||
|
||||
.bgcolor-5 { /* magenta */
|
||||
background-color: #a0a;
|
||||
}
|
||||
|
||||
.bgcolor-6 { /* brown */
|
||||
background-color: #a50;
|
||||
}
|
||||
|
||||
.bgcolor-7 { /* white */
|
||||
background-color: #aaa;
|
||||
}
|
||||
|
||||
.bgcolor-8 { /* dark gray */
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
.bgcolor-9 { /* light blue */
|
||||
background-color: #55f;
|
||||
}
|
||||
|
||||
.bgcolor-10 { /* light green */
|
||||
background-color: #5f5;
|
||||
}
|
||||
|
||||
.bgcolor-11 { /* light cyan */
|
||||
background-color: #5ff;
|
||||
}
|
||||
|
||||
.bgcolor-12 { /* light red */
|
||||
background-color: #f55;
|
||||
}
|
||||
|
||||
.bgcolor-13 { /* light magenta */
|
||||
background-color: #f5f;
|
||||
}
|
||||
|
||||
.bgcolor-14 { /* yellow */
|
||||
background-color: #ff5;
|
||||
}
|
||||
|
||||
.bgcolor-15 { /* bright white */
|
||||
background-color: #fff;
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
@import 'toastr';
|
||||
@import 'vex';
|
||||
@import 'vex-theme-plain';
|
||||
@import 'haven';
|
||||
@import 'vorple';
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
background-image: url('../resources/images/refectory.jpg');
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
color: white;
|
||||
text-shadow: black 1px 1px;
|
||||
}
|
||||
input, label, #loader {
|
||||
color: white;
|
||||
background-color: transparent;
|
||||
}
|
||||
#lineinput {
|
||||
display: flex;
|
||||
label {
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
}
|
||||
#window0 {
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
height: 80%;
|
||||
overflow-y: scroll;
|
||||
z-index: 0;
|
||||
}
|
||||
#lineinput {
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
bottom: 1rem;
|
||||
}
|
||||
#output,
|
||||
#lineinput {
|
||||
max-width: 751px;
|
||||
}
|
|
@ -0,0 +1,228 @@
|
|||
.toast-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.toast-message {
|
||||
-ms-word-wrap: break-word;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.toast-message a,
|
||||
.toast-message label {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.toast-message a:hover {
|
||||
color: #CCCCCC;
|
||||
text-decoration: none;
|
||||
}
|
||||
.toast-close-button {
|
||||
position: relative;
|
||||
right: -0.3em;
|
||||
top: -0.3em;
|
||||
float: right;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||
text-shadow: 0 1px 0 #ffffff;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
line-height: 1;
|
||||
}
|
||||
.toast-close-button:hover,
|
||||
.toast-close-button:focus {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
.rtl .toast-close-button {
|
||||
left: -0.3em;
|
||||
float: left;
|
||||
right: 0.3em;
|
||||
}
|
||||
/*Additional properties for button version
|
||||
iOS requires the button element instead of an anchor tag.
|
||||
If you want the anchor version, it requires `href="#"`.*/
|
||||
button.toast-close-button {
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
border: 0;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.toast-top-center {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-center {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-full-width {
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-bottom-full-width {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.toast-top-left {
|
||||
top: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
.toast-top-right {
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
}
|
||||
.toast-bottom-right {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
.toast-bottom-left {
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
}
|
||||
#toast-container {
|
||||
position: fixed;
|
||||
z-index: 999999;
|
||||
pointer-events: none;
|
||||
/*overrides*/
|
||||
}
|
||||
#toast-container * {
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
#toast-container > div {
|
||||
position: relative;
|
||||
pointer-events: auto;
|
||||
overflow: hidden;
|
||||
margin: 0 0 6px;
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 300px;
|
||||
-moz-border-radius: 3px 3px 3px 3px;
|
||||
-webkit-border-radius: 3px 3px 3px 3px;
|
||||
border-radius: 3px 3px 3px 3px;
|
||||
background-position: 15px center;
|
||||
background-repeat: no-repeat;
|
||||
-moz-box-shadow: 0 0 12px #999999;
|
||||
-webkit-box-shadow: 0 0 12px #999999;
|
||||
box-shadow: 0 0 12px #999999;
|
||||
color: #FFFFFF;
|
||||
opacity: 0.8;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||
filter: alpha(opacity=80);
|
||||
}
|
||||
#toast-container > div.rtl {
|
||||
direction: rtl;
|
||||
padding: 15px 50px 15px 15px;
|
||||
background-position: right 15px center;
|
||||
}
|
||||
#toast-container > div:hover {
|
||||
-moz-box-shadow: 0 0 12px #000000;
|
||||
-webkit-box-shadow: 0 0 12px #000000;
|
||||
box-shadow: 0 0 12px #000000;
|
||||
opacity: 1;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||
filter: alpha(opacity=100);
|
||||
cursor: pointer;
|
||||
}
|
||||
#toast-container > .toast-info {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container > .toast-success {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||
}
|
||||
#toast-container > .toast-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||
}
|
||||
#toast-container.toast-top-center > div,
|
||||
#toast-container.toast-bottom-center > div {
|
||||
width: 300px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
#toast-container.toast-top-full-width > div,
|
||||
#toast-container.toast-bottom-full-width > div {
|
||||
width: 96%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.toast {
|
||||
background-color: #030303;
|
||||
}
|
||||
.toast-success {
|
||||
background-color: #51A351;
|
||||
}
|
||||
.toast-error {
|
||||
background-color: #BD362F;
|
||||
}
|
||||
.toast-info {
|
||||
background-color: #2F96B4;
|
||||
}
|
||||
.toast-warning {
|
||||
background-color: #F89406;
|
||||
}
|
||||
.toast-progress {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
height: 4px;
|
||||
background-color: #000000;
|
||||
opacity: 0.4;
|
||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||
filter: alpha(opacity=40);
|
||||
}
|
||||
/*Responsive Design*/
|
||||
@media all and (max-width: 240px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 11em;
|
||||
}
|
||||
#toast-container > div.rtl {
|
||||
padding: 8px 50px 8px 8px;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
#toast-container .rtl .toast-close-button {
|
||||
left: -0.2em;
|
||||
right: 0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||
#toast-container > div {
|
||||
padding: 8px 8px 8px 50px;
|
||||
width: 18em;
|
||||
}
|
||||
#toast-container > div.rtl {
|
||||
padding: 8px 50px 8px 8px;
|
||||
}
|
||||
#toast-container .toast-close-button {
|
||||
right: -0.2em;
|
||||
top: -0.2em;
|
||||
}
|
||||
#toast-container .rtl .toast-close-button {
|
||||
left: -0.2em;
|
||||
right: 0.2em;
|
||||
}
|
||||
}
|
||||
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||
#toast-container > div {
|
||||
padding: 15px 15px 15px 50px;
|
||||
width: 25em;
|
||||
}
|
||||
#toast-container > div.rtl {
|
||||
padding: 15px 50px 15px 15px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,107 @@
|
|||
@-webkit-keyframes vex-pulse {
|
||||
0% {
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
70% {
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
100% {
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
@keyframes vex-pulse {
|
||||
0% {
|
||||
box-shadow: inset 0 0 0 300px transparent; }
|
||||
70% {
|
||||
box-shadow: inset 0 0 0 300px rgba(255, 255, 255, 0.25); }
|
||||
100% {
|
||||
box-shadow: inset 0 0 0 300px transparent; } }
|
||||
|
||||
.vex.vex-theme-plain {
|
||||
padding-top: 160px;
|
||||
padding-bottom: 160px; }
|
||||
.vex.vex-theme-plain .vex-content {
|
||||
font-family: "Helvetica Neue", sans-serif;
|
||||
background: #fff;
|
||||
color: #444;
|
||||
padding: 1em;
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
max-width: 100%;
|
||||
width: 450px;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.5em; }
|
||||
.vex.vex-theme-plain .vex-content h1, .vex.vex-theme-plain .vex-content h2, .vex.vex-theme-plain .vex-content h3, .vex.vex-theme-plain .vex-content h4, .vex.vex-theme-plain .vex-content h5, .vex.vex-theme-plain .vex-content h6, .vex.vex-theme-plain .vex-content p, .vex.vex-theme-plain .vex-content ul, .vex.vex-theme-plain .vex-content li {
|
||||
color: inherit; }
|
||||
.vex.vex-theme-plain .vex-close {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
cursor: pointer; }
|
||||
.vex.vex-theme-plain .vex-close:before {
|
||||
position: absolute;
|
||||
content: "\00D7";
|
||||
font-size: 26px;
|
||||
font-weight: normal;
|
||||
line-height: 31px;
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
text-align: center;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
color: #bbb;
|
||||
background: transparent; }
|
||||
.vex.vex-theme-plain .vex-close:hover:before, .vex.vex-theme-plain .vex-close:active:before {
|
||||
color: #777;
|
||||
background: #e0e0e0; }
|
||||
.vex.vex-theme-plain .vex-dialog-form .vex-dialog-message {
|
||||
margin-bottom: .5em; }
|
||||
.vex.vex-theme-plain .vex-dialog-form .vex-dialog-input {
|
||||
margin-bottom: 1em; }
|
||||
.vex.vex-theme-plain .vex-dialog-form .vex-dialog-input select, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input textarea, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="date"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="datetime"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="datetime-local"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="email"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="month"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="number"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="password"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="search"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="tel"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="text"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="time"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="url"], .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="week"] {
|
||||
background: #f0f0f0;
|
||||
width: 100%;
|
||||
padding: .25em .67em;
|
||||
border: 0;
|
||||
font-family: inherit;
|
||||
font-weight: inherit;
|
||||
font-size: inherit;
|
||||
min-height: 2.5em;
|
||||
margin: 0 0 .25em; }
|
||||
.vex.vex-theme-plain .vex-dialog-form .vex-dialog-input select:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input textarea:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="date"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="datetime"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="datetime-local"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="email"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="month"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="number"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="password"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="search"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="tel"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="text"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="time"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="url"]:focus, .vex.vex-theme-plain .vex-dialog-form .vex-dialog-input input[type="week"]:focus {
|
||||
box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.2);
|
||||
outline: none; }
|
||||
.vex.vex-theme-plain .vex-dialog-form .vex-dialog-buttons {
|
||||
*zoom: 1; }
|
||||
.vex.vex-theme-plain .vex-dialog-form .vex-dialog-buttons:after {
|
||||
content: "";
|
||||
display: table;
|
||||
clear: both; }
|
||||
.vex.vex-theme-plain .vex-dialog-button {
|
||||
border-radius: 0;
|
||||
border: 0;
|
||||
float: right;
|
||||
margin: 0 0 0 .5em;
|
||||
font-family: inherit;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .1em;
|
||||
font-size: .8em;
|
||||
line-height: 1em;
|
||||
padding: .75em 2em; }
|
||||
.vex.vex-theme-plain .vex-dialog-button.vex-last {
|
||||
margin-left: 0; }
|
||||
.vex.vex-theme-plain .vex-dialog-button:focus {
|
||||
-webkit-animation: vex-pulse 1.1s infinite;
|
||||
animation: vex-pulse 1.1s infinite;
|
||||
outline: none; }
|
||||
@media (max-width: 568px) {
|
||||
.vex.vex-theme-plain .vex-dialog-button:focus {
|
||||
-webkit-animation: none;
|
||||
animation: none; } }
|
||||
.vex.vex-theme-plain .vex-dialog-button.vex-dialog-button-primary {
|
||||
background: #3288e6;
|
||||
color: #fff; }
|
||||
.vex.vex-theme-plain .vex-dialog-button.vex-dialog-button-secondary {
|
||||
background: #e0e0e0;
|
||||
color: #777; }
|
||||
|
||||
.vex-loading-spinner.vex-theme-plain {
|
||||
height: 2.5em;
|
||||
width: 2.5em; }
|
|
@ -0,0 +1,117 @@
|
|||
@-webkit-keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@keyframes vex-fadein {
|
||||
0% {
|
||||
opacity: 0; }
|
||||
100% {
|
||||
opacity: 1; } }
|
||||
|
||||
@-webkit-keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@keyframes vex-fadeout {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
@-webkit-keyframes vex-rotation {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); }
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg); } }
|
||||
|
||||
@keyframes vex-rotation {
|
||||
0% {
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg); }
|
||||
100% {
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg); } }
|
||||
|
||||
.vex, .vex *, .vex *:before, .vex *:after {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box; }
|
||||
|
||||
.vex {
|
||||
position: fixed;
|
||||
overflow: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
z-index: 1111;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0; }
|
||||
|
||||
.vex-scrollbar-measure {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
overflow: scroll; }
|
||||
|
||||
.vex-overlay {
|
||||
-webkit-animation: vex-fadein .5s;
|
||||
animation: vex-fadein .5s;
|
||||
position: fixed;
|
||||
z-index: 1111;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0; }
|
||||
|
||||
.vex-overlay.vex-closing {
|
||||
-webkit-animation: vex-fadeout .5s forwards;
|
||||
animation: vex-fadeout .5s forwards; }
|
||||
|
||||
.vex-content {
|
||||
-webkit-animation: vex-fadein .5s;
|
||||
animation: vex-fadein .5s;
|
||||
background: #fff; }
|
||||
|
||||
.vex.vex-closing .vex-content {
|
||||
-webkit-animation: vex-fadeout .5s forwards;
|
||||
animation: vex-fadeout .5s forwards; }
|
||||
|
||||
.vex-close:before {
|
||||
font-family: Arial, sans-serif;
|
||||
content: "\00D7"; }
|
||||
|
||||
.vex-dialog-form {
|
||||
margin: 0; }
|
||||
|
||||
.vex-dialog-button {
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
-webkit-tap-highlight-color: transparent; }
|
||||
|
||||
.vex-loading-spinner {
|
||||
-webkit-animation: vex-rotation .7s linear infinite;
|
||||
animation: vex-rotation .7s linear infinite;
|
||||
box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
|
||||
position: fixed;
|
||||
z-index: 1112;
|
||||
margin: auto;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
height: 2em;
|
||||
width: 2em;
|
||||
background: #fff; }
|
||||
|
||||
body.vex-open {
|
||||
overflow: hidden; }
|
|
@ -0,0 +1,351 @@
|
|||
html,
|
||||
body,
|
||||
input {
|
||||
font-family: "Roboto", sans-serif;
|
||||
}
|
||||
|
||||
a, a:visited {
|
||||
color: #369;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border: 1px solid #ccc;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
|
||||
#output {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.force-hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.uiblock {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
z-index: 999999;
|
||||
}
|
||||
|
||||
|
||||
/* Basic styles */
|
||||
|
||||
.font-bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.font-italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.font-underline {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* the following two are specified by the Haven interpreter but are unused in Vorple at the moment */
|
||||
.font-proportional {
|
||||
font-family: "Roboto", serif;
|
||||
}
|
||||
|
||||
.font-fixed-width {
|
||||
font-family: "Roboto Mono", monospace;
|
||||
}
|
||||
|
||||
|
||||
/* Vorple Screen Effects */
|
||||
|
||||
.center-align {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.right-align {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.cursive-font {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.emphasized-font {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.fantasy-font {
|
||||
font-family: fantasy;
|
||||
}
|
||||
|
||||
.monospace-font {
|
||||
font-family: "Roboto Mono", monospace;
|
||||
}
|
||||
|
||||
#output span.nowrap-font,
|
||||
#output span.nowrap-font * {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.strikethrough-font {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.strong-font {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.underlined-font {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.xx-small-font {
|
||||
font-size: xx-small;
|
||||
}
|
||||
|
||||
.x-small-font {
|
||||
font-size: x-small;
|
||||
}
|
||||
|
||||
.small-font {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.large-font {
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.x-large-font {
|
||||
font-size: x-large;
|
||||
}
|
||||
|
||||
.xx-large-font {
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
.white-letters {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.black-letters {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.blue-letters {
|
||||
color: #00a;
|
||||
}
|
||||
|
||||
.green-letters {
|
||||
color: #0a0;
|
||||
}
|
||||
|
||||
.cyan-letters {
|
||||
color: #0aa;
|
||||
}
|
||||
|
||||
.red-letters {
|
||||
color: #a00;
|
||||
}
|
||||
|
||||
.magenta-letters {
|
||||
color: #a0a;
|
||||
}
|
||||
|
||||
.brown-letters {
|
||||
color: #a50;
|
||||
}
|
||||
|
||||
.yellow-letters {
|
||||
color: #ff5;
|
||||
}
|
||||
|
||||
.dark-gray-letters {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.light-gray-letters {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.light-blue-letters {
|
||||
color: #55f;
|
||||
}
|
||||
|
||||
.light-green-letters {
|
||||
color: #5f5;
|
||||
}
|
||||
|
||||
.light-cyan-letters {
|
||||
color: #5ff;
|
||||
}
|
||||
|
||||
.light-red-letters {
|
||||
color: #f55;
|
||||
}
|
||||
|
||||
.light-magenta-letters {
|
||||
color: #f5f;
|
||||
}
|
||||
|
||||
.white-background {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.black-background {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.blue-background {
|
||||
background-color: #00a;
|
||||
}
|
||||
|
||||
.green-background {
|
||||
background-color: #0a0;
|
||||
}
|
||||
|
||||
.cyan-background {
|
||||
background-color: #0aa;
|
||||
}
|
||||
|
||||
.red-background {
|
||||
background-color: #a00;
|
||||
}
|
||||
|
||||
.magenta-background {
|
||||
background-color: #a0a;
|
||||
}
|
||||
|
||||
.brown-background {
|
||||
background-color: #a50;
|
||||
}
|
||||
|
||||
.yellow-background {
|
||||
background-color: #ff5;
|
||||
}
|
||||
|
||||
.dark-gray-background {
|
||||
background-color: #555;
|
||||
}
|
||||
|
||||
.light-gray-background {
|
||||
background-color: #aaa;
|
||||
}
|
||||
|
||||
.light-blue-background {
|
||||
background-color: #55f;
|
||||
}
|
||||
|
||||
.light-green-background {
|
||||
background-color: #5f5;
|
||||
}
|
||||
|
||||
.light-cyan-background {
|
||||
background-color: #5ff;
|
||||
}
|
||||
|
||||
.light-red-background {
|
||||
background-color: #f55;
|
||||
}
|
||||
|
||||
.light-magenta-background {
|
||||
background-color: #f5f;
|
||||
}
|
||||
|
||||
|
||||
/* Status line */
|
||||
|
||||
.status-line-container {
|
||||
display: flex;
|
||||
background-color: #fff;
|
||||
border-bottom: 3px double #ccc;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
white-space: pre-wrap;
|
||||
max-width: inherit;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#output > .status-line-container {
|
||||
margin-left: -15px;
|
||||
}
|
||||
|
||||
.status-line-left {
|
||||
flex: 1;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.status-line-middle,
|
||||
.status-line-mobile {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.status-line-right {
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/* Image alignments */
|
||||
|
||||
.vorple-image img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.centered {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.left-aligned {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.right-aligned {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.left-floating {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.right-floating {
|
||||
float: right;
|
||||
}
|
||||
|
||||
|
||||
/* Modal windows */
|
||||
|
||||
.vex {
|
||||
z-index: 9999999;
|
||||
}
|
||||
|
||||
body .vex.vex-theme-plain .vex-content {
|
||||
max-width: 850px;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.vex-dialog-message {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
|
||||
/* Tooltips */
|
||||
|
||||
#powerTip {
|
||||
max-width: 90%;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
|
||||
/* Responsive classes */
|
||||
|
||||
@media screen and (min-width: 569px) {
|
||||
.sm-only {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 568px) {
|
||||
.lg-only {
|
||||
display: none;
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,2 @@
|
|||
# Images
|
||||
* [Refectory](https://commons.wikimedia.org/wiki/File:Interior_of_the_Refectory_of_the_Church_of_the_Deposition_of_the_Robe_0842.jpg) - CC-BY-SA
|
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
Loading…
Reference in New Issue