1
0
Fork 0
mirror of https://github.com/Oreolek/raconteur.git synced 2024-05-17 08:18:17 +03:00

Initial commit

This commit is contained in:
Bruno Dias 2015-04-07 16:17:21 -03:00
parent 4fd9569536
commit f0c0891612
6 changed files with 622 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
node_modules/**
*.sublime-workspace

0
Gulpfile.js Normal file
View file

127
template/html/index.html Normal file
View file

@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!-- EDIT: Game title -->
<title>Undularity Game Template</title>
<link rel="stylesheet" href="styles/style.css">
<script type="text/javascript" src="js/bundle.js"></script>
</head>
<body>
<!-- This isn't needed and isn't visible in desktop versions,
because we can display the character information and the
tools onscreen all the time. -->
<div id="toolbar">
<!-- Set this to be a small version of the title, for the
toolbar on mobile devices. -->
<h1>Undum</h1>
<div class="nav">
<a href="#" class="button" id="menu-button">Menu</a>
</div>
</div>
<ul id="menu">
<li><a href="#title, #content_wrapper">Story</a></li>
<li><a href="#character_panel">Character</a></li>
<li><a href="#info_panel">Info</a></li>
</ul>
<div id="page">
<div id="tools_wrapper">
<div id="info_panel" class="tools left">
<!-- EDIT: Game background -->
<h1>Undum</h1>
<p>
Undum is a pure client-side game framework for narrative
interactive fiction. It is designed for HTML&#x200A;5 and
CSS&#x200A;3. You can read more and download the source
code <a href="http://github.com/idmillington/undum">here</a>.
</p>
<!-- End of Game Background -->
<div class='buttons'>
<button id="save">Save</button><button id="erase">Erase</button>
</div>
</div>
<div id="character_panel" class="tools right">
<h1>Character</h1>
<div id="character">
<div id="character_text">
<div id="character_text_content"></div>
</div>
<div id="qualities"></div>
</div>
</div>
</div> <!-- End of div.tools_wrapper -->
<div id="mid_panel">
<div id="title">
<div class="label">
<!-- EDIT: Game Title -->
<h1>Undularity Game Template</h1>
<h2>by Bruno Dias</h2>
<noscript>
<p class="noscript_message">This game requires Javascript.</p>
</noscript>
<p class="click_message">click to begin</p>
</div>
</div>
<div id="content_wrapper">
<div id="content">
</div>
<a name="end_of_content"></a>
</div>
<div id="legal">
<!-- EDIT: Your Copyright -->
<p>Undum is &copy; 2010 IDM.</p>
<p>Undularity is &copy; 2015 Bruno Dias.</p>
<!-- This line is totally optional. -->
<p>Created with <a href="http://undum.com">Undum</a>.</p>
</div>
</div>
</div> <!-- End of div.page -->
<!-- Holds UI elements that will be cloned and placed in the main
page. This block itself is always hidden. -->
<div id="ui_library">
<div id="quality" class="quality">
<span class="name" data-attr="name"></span>
<span class="value" data-attr="value"></span>
</div>
<div id="quality_group" class="quality_group">
<h2 data-attr="title"></h2>
<div class="qualities_in_group">
</div>
</div>
<div id="progress_bar" class="progress_bar">
<span class="name" data-attr="name"></span>
<span class="value" data-attr="value"></span>
<div class="progress_bar_track">
<div class="progress_bar_color" data-attr="width">
</div>
</div>
<span class="left_label" data-attr="left_label"></span>
<span class="right_label" data-attr="right_label"></span>
</div>
<hr id="turn_separator">
</div>
<div id="content_library">
<!-- This div holds situations loaded directly from HTML -->
</div>
</body>
</html>

View file

@ -0,0 +1,128 @@
@media screen and (max-width: 640px)
{
body {
margin: 0;
font-size: 18.5px;
line-height: 1.5em;
-webkit-text-size-adjust: none;
}
/* Structure */
#page {
padding-top: 1.9em;
margin: 0.5em;
}
#mid_panel {
margin: 0;
}
/* Title */
#title {
margin-top: -1.5em;
padding: 1.0em 0.5em;
}
#title .label {
font-size: 0.65em;
max-width: 25em;
padding: 2.0em;
}
/* Side panels */
#tools_wrapper {
position: static;
}
.tools {
background-image: url("../img/text_bg.jpg");
position: relative;
width: auto;
}
#character_panel {
display: none;
}
#info_panel {
display: none;
}
#tools_wrapper {
display: block;
}
/* Main content */
#content_wrapper {
width: auto;
padding: 2.0em;
}
#content {
font-size: 16px;
line-height: 1.5em;
}
/* Toolbar and menu */
#toolbar {
position: fixed;
z-index: 300;
left: 0;
right: 0;
top: 0;
background: transparent url("../img/toolbar_bg.jpg") repeat-x top left;
height: 36px;
padding: 8px;
overflow: hidden;
-webkit-box-shadow: 0 0 16px rgba(0,0,0,0.75);
box-shadow: 0 0 16px rgba(0,0,0,0.75);
}
#toolbar h1 {
float: left;
font-weight: normal;
font-size: 22px;
margin: 8px 0 0 0;
padding: 0 10px;
color: #fc6;
text-shadow: 0 -1px 0 rgba(0,0,0,0.4);
}
#toolbar .nav {
float: right;
margin: 0;
}
#toolbar .nav a {
font-size: 16px;
line-height: 20px;
color: white;
padding: 4px 16px;
float: right;
text-decoration: none;\
text-shadow: 0 1px 0 rgba(0,0,0,0.4);
-webkit-border-radius: 6px;
background-image: -webkit-gradient(linear, left top, left bottom,
from(#C00), color-stop(0.45, #a00),
color-stop(0.55, #900), to(#900));
border: 2px solid #600;
}
#menu {
display: none;
position: fixed;
top: 52px;
left: 0;
right: 0;
font-size: 16px;
background-image: url("../img/tools_bg.jpg");
z-index: 200;
list-style-type: none;
padding: 10px 0 0 0;
margin: 0;
opacity: 0.95;
-webkit-box-shadow: 0 0 16px rgba(0,0,0,0.75);
box-shadow: 0 0 16px rgba(0,0,0,0.75);
}
#menu li {
border-bottom: 1px solid rgba(0,0,0,0.25);
}
#menu li:last-child {
border-bottom: none;
}
#menu a {
display: block;
padding: 10px 20px;
}
}

357
template/less/undum.less Normal file
View file

@ -0,0 +1,357 @@
body {
background: #170804 url("../img/page_bg.jpg") repeat-x left top;
font-family: Palatino, Times, "Times New Roman", serif;
font-size: 18px;
line-height: 1.6em;
background-attachment: fixed;
overflow-y: scroll;
}
/* Basic structure */
#page {
margin: 0 auto;
position: relative;
}
#mid_panel {
margin: 0 10.5em;
}
/* The title block */
#title, #title .label, #content, .tools {
border-radius: 2px;
}
#title {
max-width: 28em;
background: #e6e6c6 url("../img/title_bg.jpg") repeat -1.1em -1.1em;
margin: 2.2em auto 1.1em auto;
padding: 1.7em;
border: 1.1em solid rgba(0,0,0,0.25);
cursor: pointer; /* Until we click to start. */
}
#title .label {
overflow: hidden;
background: #e6e6c6 url("../img/text_bg.jpg") repeat left top;
padding: 2.0em;
margin: auto;
max-width: 18em;
-webkit-box-shadow: 0 0 4px rgba(0,0,0,0.4);
box-shadow: 0 0 4px rgba(0,0,0,0.4);
position: relative;
}
#title h1 {
font-size: 1.6em;
line-height: 1.4em;
letter-spacing: 0.2em;
font-weight: normal;
padding-bottom: 1.1em;
border-bottom: 1px solid #321;
}
#title h2 {
font-size: 1.2em;
font-weight: normal;
text-align: center;
margin: 1.1em 0 0 0;
}
#title h3 {
font-size: 1.0em;
font-weight: normal;
text-align: center;
margin: 1.1em 0 0 0;
}
#title h1, #title h2, #title h3 {
color: rgba(33,17,0,0.9);
text-shadow: rgba(255,255,255,0.5) 2px 2px 2px,
rgba(0,0,0,0.1) -1px -1px 2px;
}
#title h1 span.fancy {
font-size: 2.5em;
line-height: 0;
font-family: Tangerine, Palatino, Times, "Times New Roman", serif;
font-style: italic;
margin: 0 -0.2em;
}
#title .click_message {
display: none;
left: 0;
right: 0;
bottom: 0;
position: absolute;
font-size: 0.9em;
font-style: italic;
text-align: center;
color: #987;
}
#title .noscript_message {
left: 0;
right: 0;
bottom: 0;
position: absolute;
font-size: 0.9em;
font-style: italic;
text-align: center;
color: #943;
}
/* Main content */
#content_wrapper {
max-width: 28em;
position: relative;
background: #e6e6c6 url("../img/text_bg.jpg") repeat left top;
margin: 0.6em auto 1.1em auto;
padding: 2.8em;
display: none; /* Shown by Javascript */
overflow: auto;
}
span.drop + p {
text-indent: -0.4em;
}
p {
margin: 0;
-webkit-transition: text-indent 0.25s ease;
transition: text-indent 0.25s ease;
}
hr {
border: none;
background-color: rgba(0,0,0,0.25);
margin: -1px 0 -1px -2.8em;
width: 1.1em;
height: 2px;
}
p + p, p + img + p, p + hr + p {
text-indent: 1.6em;
}
#content h1 + p:first-line,
#content h1 + img + p:first-line {
font-weight: bold;
color: rgba(0,0,0,0.85);
}
#content h1 + p:first-letter,
#content h1 + img + p:first-letter {
position: relative;
padding-top: 0.1em;
display: block;
float: left;
font-weight: normal;
font-size: 3.2em;
line-height: 0.8em;
color: #210;
}
ul {
margin: 0;
padding: 0 0 0 1em;
}
ul.options {
border: 2px solid #876;
padding: 0;
margin-top: 0.5em;
margin-bottom: 0.7em;
list-style-type: none;
border-radius: 4px;
}
ul.options li {
border-bottom: 1px solid #876;
padding: 0.5em;
}
ul.options li:hover {
background-color: rgba(153,136,119,0.2);
cursor: pointer;
}
ul.options li:last-child {
border-bottom: none;
}
h1 {
font-size: 1.0em;
text-transform: uppercase;
letter-spacing: 2px;
margin: 2.3em 0 1.1em 0;
color: #210;
text-align: center;
}
h1:first-child {
margin-top: 0;
}
a {
color: #900;
text-decoration: none;
border-bottom: 1px solid transparent;
}
a.raw {
padding-right: 14px;
background: transparent url("../img/external_link.png") no-repeat right 4px;
}
a:hover {
border-bottom: 1px dotted #900;
}
img.float_right {
float: right;
margin: 1.1em 0 1.1em 1.1em;
}
img.float_left {
float: left;
margin: 1.1em 1.1em 1.1em 0;
}
#toolbar {
display: none;
}
#tools_wrapper {
position: fixed;
width: 100%;
max-width: 56em;
top: 2.2em;
left: 0;
right: 0;
margin: 0 auto;
display: none; /* Shown by Javascript */
}
.tools {
padding: 0.6em;
width: 8.9em;
background: #cec3ae url("../img/tools_bg.jpg") repeat left top;
position: absolute;
}
.tools p {
font-size: 0.95em;
line-height: 1.5em;
}
.tools.left {
left: 0.4em;
}
.tools.right {
right: 0.4em;
}
.tools h1 {
font-size: 1.0em;
font-weight: normal;
border-bottom: 1px solid #321;
margin-bottom: 0.6em;
}
.buttons {
padding-top: 0.6em;
margin-top: 0.6em;
border-top: 1px solid #321;
text-align: center;
}
.buttons button {
font-size: 0.8em;
background: #876;
color: #e6e6c6;
border: none;
padding: 0.3em 1.0em;
cursor: pointer;
border-radius: 4px;
}
.buttons button:hover {
background: #987;
}
.buttons button + button {
margin-left: 0.3em;
}
.buttons button[disabled], .buttons button[disabled]:hover {
background: #ba9;
color: #dcb;
cursor: default;
}
#legal {
max-width: 33em;
color: #654;
margin: 1em auto 0 auto;
padding-bottom: 2.2em;
display: none; /* Shown by Javascript */
}
#legal p {
font-size: 0.7em;
line-height: 1.3em;
margin-bottom: 0.5em;
}
#legal p + p {
text-indent: 0;
}
#character {
font-size: 1.0em;
line-height: 1.4em;
}
#qualities .quality, #character_text {
position: relative;
clear: both;
overflow: hidden;
margin: 0 -0.25em;
padding: 0 0.25em;
}
#character_text {
margin-bottom: 0.6em;
}
#character_text_content {
position: relative;
z-index: 100;
}
#qualities span {
position: relative;
z-index: 100;
}
#qualities span.name {
float: left;
}
#qualities span.value {
float: right;
}
.highlight {
background: rgba(255, 255, 0, 0.75);
position: absolute;
left: -4px;
right: -4px;
top: 0;
bottom: 0;
}
#qualities h2 {
margin: 0.5em 0 0.25em 0;
font-size: 1.0em;
border-bottom: 1px solid #321;
}
.progress_bar {
position: relative;
overflow: hidden;
margin: 0.6em 0;
}
.progress_bar_track {
z-index: 100;
background: rgba(255,255,255,0.25);
border: 2px solid #876;
height: 0.75em;
width: 27.7em;
clear: both;
border-radius: 4px;
}
.progress_bar_color {
background: #987;
width: 0;
height: 0.75em;
}
.progress_bar span {
z-index: 100;
}
.progress_bar .name {
font-weight: bold;
}
.progress_bar .value {
float: right;
}
.progress_bar .left_label {
float: left;
}
.progress_bar .right_label {
float: right;
}
#content_library, #ui_library {
display: none;
}
#menu {
display: none;
}

View file

@ -0,0 +1,8 @@
{
"folders":
[
{
"path": "."
}
]
}