parent
9dc1ee39dc
commit
4e9c4d8435
@ -0,0 +1,12 @@
|
||||
Font license info
|
||||
|
||||
|
||||
## Entypo
|
||||
|
||||
Copyright (C) 2012 by Daniel Bruce
|
||||
|
||||
Author: Daniel Bruce
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://www.entypo.com
|
||||
|
||||
|
@ -0,0 +1,75 @@
|
||||
This webfont is generated by http://fontello.com open source project.
|
||||
|
||||
|
||||
================================================================================
|
||||
Please, note, that you should obey original font licences, used to make this
|
||||
webfont pack. Details available in LICENSE.txt file.
|
||||
|
||||
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
||||
site in "About" section.
|
||||
|
||||
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
||||
file publically available in your repository.
|
||||
|
||||
- Fonts, used in Fontello, don't require a clickable link on your site.
|
||||
But any kind of additional authors crediting is welcome.
|
||||
================================================================================
|
||||
|
||||
|
||||
Comments on archive content
|
||||
---------------------------
|
||||
|
||||
- /font/* - fonts in different formats
|
||||
|
||||
- /css/* - different kinds of css, for all situations. Should be ok with
|
||||
twitter bootstrap. Also, you can skip <i> style and assign icon classes
|
||||
directly to text elements, if you don't mind about IE7.
|
||||
|
||||
- demo.html - demo file, to show your webfont content
|
||||
|
||||
- LICENSE.txt - license info about source fonts, used to build your one.
|
||||
|
||||
- config.json - keeps your settings. You can import it back into fontello
|
||||
anytime, to continue your work
|
||||
|
||||
|
||||
Why so many CSS files ?
|
||||
-----------------------
|
||||
|
||||
Because we like to fit all your needs :)
|
||||
|
||||
- basic file, <your_font_name>.css - is usually enough, it contains @font-face
|
||||
and character code definitions
|
||||
|
||||
- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
|
||||
directly into html
|
||||
|
||||
- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
|
||||
rules, but still wish to benefit from css generation. That can be very
|
||||
convenient for automated asset build systems. When you need to update font -
|
||||
no need to manually edit files, just override old version with archive
|
||||
content. See fontello source code for examples.
|
||||
|
||||
- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
|
||||
CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
|
||||
We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
|
||||
server headers. But if you ok with dirty hack - this file is for you. Note,
|
||||
that data url moved to separate @font-face to avoid problems with <IE9, when
|
||||
string is too long.
|
||||
|
||||
- animate.css - use it to get ideas about spinner rotation animation.
|
||||
|
||||
|
||||
Attention for server setup
|
||||
--------------------------
|
||||
|
||||
You MUST setup server to reply with proper `mime-types` for font files -
|
||||
otherwise some browsers will fail to show fonts.
|
||||
|
||||
Usually, `apache` already has necessary settings, but `nginx` and other
|
||||
webservers should be tuned. Here is list of mime types for our file extensions:
|
||||
|
||||
- `application/vnd.ms-fontobject` - eot
|
||||
- `application/x-font-woff` - woff
|
||||
- `application/x-font-ttf` - ttf
|
||||
- `image/svg+xml` - svg
|
@ -0,0 +1,70 @@
|
||||
{
|
||||
"name": "",
|
||||
"css_prefix_text": "icon-",
|
||||
"css_use_suffix": false,
|
||||
"hinting": true,
|
||||
"units_per_em": 1000,
|
||||
"ascent": 850,
|
||||
"glyphs": [
|
||||
{
|
||||
"uid": "70370693ada58ef0a60fa0984fe8d52a",
|
||||
"css": "plus",
|
||||
"code": 59408,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "1256e3054823e304d7e452a589cf8bb8",
|
||||
"css": "minus",
|
||||
"code": 59409,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "3a230e539a4f3b904debd04c6c155034",
|
||||
"css": "help",
|
||||
"code": 59396,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "bb46b15cb78cc4cc05d3d715d522ac4d",
|
||||
"css": "cw",
|
||||
"code": 59410,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "cb13afd4722a849d48056540bb74c47e",
|
||||
"css": "play",
|
||||
"code": 59397,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "d8d378d0ce413f231dfa37592e39c227",
|
||||
"css": "pause",
|
||||
"code": 59398,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "18f7c393e3532e40edd45607c9d99988",
|
||||
"css": "fast-forward",
|
||||
"code": 59399,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "85806fd8ab907f45d34f976354a0df23",
|
||||
"css": "fast-backward",
|
||||
"code": 59400,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "3a6f0140c3a390bdb203f56d1bfdefcb",
|
||||
"css": "gauge",
|
||||
"code": 59393,
|
||||
"src": "entypo"
|
||||
},
|
||||
{
|
||||
"uid": "d94334f23acba022bfd68e49d76b31bb",
|
||||
"css": "github",
|
||||
"code": 59395,
|
||||
"src": "entypo"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,85 @@
|
||||
/*
|
||||
Animation example, for spinners
|
||||
*/
|
||||
.animate-spin {
|
||||
-moz-animation: spin 2s infinite linear;
|
||||
-o-animation: spin 2s infinite linear;
|
||||
-webkit-animation: spin 2s infinite linear;
|
||||
animation: spin 2s infinite linear;
|
||||
display: inline-block;
|
||||
}
|
||||
@-moz-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-o-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-ms-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
|
||||
.icon-gauge:before { content: '\e801'; } /* '' */
|
||||
.icon-github:before { content: '\e803'; } /* '' */
|
||||
.icon-help:before { content: '\e804'; } /* '' */
|
||||
.icon-play:before { content: '\e805'; } /* '' */
|
||||
.icon-pause:before { content: '\e806'; } /* '' */
|
||||
.icon-fast-forward:before { content: '\e807'; } /* '' */
|
||||
.icon-fast-backward:before { content: '\e808'; } /* '' */
|
||||
.icon-plus:before { content: '\e810'; } /* '' */
|
||||
.icon-minus:before { content: '\e811'; } /* '' */
|
||||
.icon-cw:before { content: '\e812'; } /* '' */
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,11 @@
|
||||
|
||||
.icon-gauge { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-help { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-play { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-pause { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-fast-forward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-fast-backward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-minus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-cw { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
@ -0,0 +1,22 @@
|
||||
[class^="icon-"], [class*=" icon-"] {
|
||||
font-family: 'fontello';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
|
||||
/* fix buttons height */
|
||||
line-height: 1em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
}
|
||||
|
||||
.icon-gauge { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-help { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-play { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-pause { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-fast-forward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-fast-backward { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-minus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-cw { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
@ -0,0 +1,66 @@
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.eot?4455604');
|
||||
src: url('../font/fontello.eot?4455604#iefix') format('embedded-opentype'),
|
||||
url('../font/fontello.woff?4455604') format('woff'),
|
||||
url('../font/fontello.ttf?4455604') format('truetype'),
|
||||
url('../font/fontello.svg?4455604#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('../font/fontello.svg?4455604#fontello') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[class^="icon-"]:before, [class*=" icon-"]:before {
|
||||
font-family: "fontello";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: .2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: .2em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.icon-gauge:before { content: '\e801'; } /* '' */
|
||||
.icon-github:before { content: '\e803'; } /* '' */
|
||||
.icon-help:before { content: '\e804'; } /* '' */
|
||||
.icon-play:before { content: '\e805'; } /* '' */
|
||||
.icon-pause:before { content: '\e806'; } /* '' */
|
||||
.icon-fast-forward:before { content: '\e807'; } /* '' */
|
||||
.icon-fast-backward:before { content: '\e808'; } /* '' */
|
||||
.icon-plus:before { content: '\e810'; } /* '' */
|
||||
.icon-minus:before { content: '\e811'; } /* '' */
|
||||
.icon-cw:before { content: '\e812'; } /* '' */
|
@ -0,0 +1,322 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head><!--[if lt IE 9]><script language="javascript" type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
<meta charset="UTF-8"><style>/*
|
||||
* Bootstrap v2.2.1
|
||||
*
|
||||
* Copyright 2012 Twitter, Inc
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
||||
*/
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
}
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
html {
|
||||
font-size: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
a:focus {
|
||||
outline: thin dotted #333;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
a:hover,
|
||||
a:active {
|
||||
outline: 0;
|
||||
}
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-size: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
button,
|
||||
input {
|
||||
*overflow: visible;
|
||||
line-height: normal;
|
||||
}
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
}
|
||||
a {
|
||||
color: #08c;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
color: #005580;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.row {
|
||||
margin-left: -20px;
|
||||
*zoom: 1;
|
||||
}
|
||||
.row:before,
|
||||
.row:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.row:after {
|
||||
clear: both;
|
||||
}
|
||||
[class*="span"] {
|
||||
float: left;
|
||||
min-height: 1px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.container,
|
||||
.navbar-static-top .container,
|
||||
.navbar-fixed-top .container,
|
||||
.navbar-fixed-bottom .container {
|
||||
width: 940px;
|
||||
}
|
||||
.span12 {
|
||||
width: 940px;
|
||||
}
|
||||
.span11 {
|
||||
width: 860px;
|
||||
}
|
||||
.span10 {
|
||||
width: 780px;
|
||||
}
|
||||
.span9 {
|
||||
width: 700px;
|
||||
}
|
||||
.span8 {
|
||||
width: 620px;
|
||||
}
|
||||
.span7 {
|
||||
width: 540px;
|
||||
}
|
||||
.span6 {
|
||||
width: 460px;
|
||||
}
|
||||
.span5 {
|
||||
width: 380px;
|
||||
}
|
||||
.span4 {
|
||||
width: 300px;
|
||||
}
|
||||
.span3 {
|
||||
width: 220px;
|
||||
}
|
||||
.span2 {
|
||||
width: 140px;
|
||||
}
|
||||
.span1 {
|
||||
width: 60px;
|
||||
}
|
||||
[class*="span"].pull-right,
|
||||
.row-fluid [class*="span"].pull-right {
|
||||
float: right;
|
||||
}
|
||||
.container {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
*zoom: 1;
|
||||
}
|
||||
.container:before,
|
||||
.container:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.container:after {
|
||||
clear: both;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
.lead {
|
||||
margin-bottom: 20px;
|
||||
font-size: 21px;
|
||||
font-weight: 200;
|
||||
line-height: 30px;
|
||||
}
|
||||
small {
|
||||
font-size: 85%;
|
||||
}
|
||||
h1 {
|
||||
margin: 10px 0;
|
||||
font-family: inherit;
|
||||
font-weight: bold;
|
||||
line-height: 20px;
|
||||
color: inherit;
|
||||
text-rendering: optimizelegibility;
|
||||
}
|
||||
h1 small {
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
color: #999;
|
||||
}
|
||||
h1 {
|
||||
line-height: 40px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 38.5px;
|
||||
}
|
||||
h1 small {
|
||||
font-size: 24.5px;
|
||||
}
|
||||
body {
|
||||
margin-top: 90px;
|
||||
}
|
||||
.header {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -480px;
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding-top: 10px;
|
||||
z-index: 10;
|
||||
}
|
||||
.footer {
|
||||
color: #ddd;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.footer a {
|
||||
color: #ccc;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.the-icons {
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
}
|
||||
.switch {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 10px;
|
||||
color: #666;
|
||||
}
|
||||
.switch input {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
.codesOn .i-name {
|
||||
display: none;
|
||||
}
|
||||
.codesOn .i-code {
|
||||
display: inline;
|
||||
}
|
||||
.i-code {
|
||||
display: none;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'fontello';
|
||||
src: url('./font/fontello.eot?80798054');
|
||||
src: url('./font/fontello.eot?80798054#iefix') format('embedded-opentype'),
|
||||
url('./font/fontello.woff?80798054') format('woff'),
|
||||
url('./font/fontello.ttf?80798054') format('truetype'),
|
||||
url('./font/fontello.svg?80798054#fontello') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
|
||||
.demo-icon
|
||||
{
|
||||
font-family: "fontello";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: .2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: .2em;
|
||||
|
||||
/* You can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Font smoothing. That was taken from TWBS */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="css/animation.css"><!--[if IE 7]><link rel="stylesheet" href="css/fontello-ie7.css"><![endif]-->
|
||||
<script>
|
||||
function toggleCodes(on) {
|
||||
var obj = document.getElementById('icons');
|
||||
|
||||
if (on) {
|
||||
obj.className += ' codesOn';
|
||||
} else {
|
||||
obj.className = obj.className.replace(' codesOn', '');
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container header">
|
||||
<h1>
|
||||
fontello
|
||||
<small>font demo</small>
|
||||
</h1>
|
||||
<label class="switch">
|
||||
<input type="checkbox" onclick="toggleCodes(this.checked)">show codes
|
||||
</label>
|
||||
</div>
|
||||
<div id="icons" class="container">
|
||||
<div class="row">
|
||||
<div title="Code: 0xe801" class="the-icons span3"><i class="demo-icon icon-gauge"></i> <span class="i-name">icon-gauge</span><span class="i-code">0xe801</span></div>
|
||||
<div title="Code: 0xe803" class="the-icons span3"><i class="demo-icon icon-github"></i> <span class="i-name">icon-github</span><span class="i-code">0xe803</span></div>
|
||||
<div title="Code: 0xe804" class="the-icons span3"><i class="demo-icon icon-help"></i> <span class="i-name">icon-help</span><span class="i-code">0xe804</span></div>
|
||||
<div title="Code: 0xe805" class="the-icons span3"><i class="demo-icon icon-play"></i> <span class="i-name">icon-play</span><span class="i-code">0xe805</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div title="Code: 0xe806" class="the-icons span3"><i class="demo-icon icon-pause"></i> <span class="i-name">icon-pause</span><span class="i-code">0xe806</span></div>
|
||||
<div title="Code: 0xe807" class="the-icons span3"><i class="demo-icon icon-fast-forward"></i> <span class="i-name">icon-fast-forward</span><span class="i-code">0xe807</span></div>
|
||||
<div title="Code: 0xe808" class="the-icons span3"><i class="demo-icon icon-fast-backward"></i> <span class="i-name">icon-fast-backward</span><span class="i-code">0xe808</span></div>
|
||||
<div title="Code: 0xe810" class="the-icons span3"><i class="demo-icon icon-plus"></i> <span class="i-name">icon-plus</span><span class="i-code">0xe810</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div title="Code: 0xe811" class="the-icons span3"><i class="demo-icon icon-minus"></i> <span class="i-name">icon-minus</span><span class="i-code">0xe811</span></div>
|
||||
<div title="Code: 0xe812" class="the-icons span3"><i class="demo-icon icon-cw"></i> <span class="i-name">icon-cw</span><span class="i-code">0xe812</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,186 @@
|
||||
body {
|
||||
background-color: black;
|
||||
color: silver;
|
||||
font-family: monospace;
|
||||
margin-right: 19rem;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
color: seagreen;
|
||||
}
|
||||
|
||||
a {
|
||||
color: dodgerblue;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: skyblue;
|
||||
}
|
||||
|
||||
/*nav {
|
||||
position: fixed;
|
||||
background: black;
|
||||
z-index: 10;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: .5rem;
|
||||
border-left: 1px dashed gray;
|
||||
border-bottom: 1px dashed gray;
|
||||
text-align: right;
|
||||
}
|
||||
nav ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
nav ul li {
|
||||
list-style: none;
|
||||
padding-bottom: .5rem;
|
||||
}
|
||||
nav ul li:last-child {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
header {
|
||||
position: fixed;
|
||||
background: black;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 3rem;
|
||||
border-bottom: 1px dashed gray;
|
||||
padding-left: 2rem;
|
||||
z-index: 9;
|
||||
}
|
||||
header h1, header h2 {
|
||||
height: 2rem;
|
||||
display: inline-block;
|
||||
color: coral;
|
||||
}
|
||||
main#replay {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
textarea {
|
||||
width: 75%;
|
||||
height: 30rem;
|
||||
}
|
||||
footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 2rem;
|
||||
border-top: 1px dashed gray;
|
||||
line-height: 2rem;
|
||||
background: black;
|
||||
}
|
||||
/*
|
||||
footer ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
footer ul li {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
footer ul li.divider {
|
||||
color: green;
|
||||
font-size: 1rem;
|
||||
}
|
||||
footer i {
|
||||
font-size: x-large;
|
||||
}
|
||||
span.header_mod {
|
||||
visibility: hidden;
|
||||
}
|
||||
.notice {
|
||||
color: yellow;
|
||||
}*/
|
||||
|
||||
|
||||
|
||||
div.top {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 10em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.top h1 {
|
||||
font-size: xx-large;
|
||||
border-bottom: 1px solid seagreen;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.top h1 a {
|
||||
color: coral;
|
||||
}
|
||||
|
||||
div.top ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.top ul li {
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
padding-top: .5rem;
|
||||
padding-right: .5rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.bottom {
|
||||
position: fixed;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 10rem;
|
||||
text-align: right;
|
||||
padding: .5rem;
|
||||
}
|
||||
|
||||
div.bottom table {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
div.bottom i {
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
.green {
|
||||
color: seagreen;
|
||||
}
|
||||
|
||||
div.notice {
|
||||
color: seagreen;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
div.notice span {
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
progress[value] {
|
||||
width: 3rem;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
main#main {
|
||||
/*white-space: pre-wrap;*/
|
||||
}
|
||||
|
||||
div.replay-div {
|
||||
display: none;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
div.replay-div-visible {
|
||||
display: block;
|
||||
}
|
||||
|
||||
textarea {
|
||||
width: 40rem;
|
||||
height: 20rem;
|
||||
}
|
@ -0,0 +1,200 @@
|
||||
"use strict";
|
||||
|
||||
var counter = 1;
|
||||
var elmain = document.getElementById("main");
|
||||
var direction = "forward";
|
||||
var fast_forward_lines = 0;
|
||||
var json = null;
|
||||
var lineno = 0;
|
||||
var pausedid = null;
|
||||
var playing = false;
|
||||
var speed = 1;
|
||||
var timeout = null;
|
||||
|
||||
function scroll(el) {
|
||||
var de = document.documentElement;
|
||||
|
||||
if ((el.offsetTop < de.scrollTop) ||
|
||||
(el.offsetTop + el.offsetHeight > de.scrollTop + de.clientHeight)) {
|
||||
el.scrollIntoView();
|
||||
}
|
||||
}
|
||||
|
||||
function add_line(line, visible) {
|
||||
var div = document.createElement("div");
|
||||
div.classList.add("replay-div");
|
||||
div.id = "replay-div-" + counter;
|
||||
div.innerHTML = line || "\n";
|
||||
elmain.appendChild(div);
|
||||
|
||||
if (visible) {
|
||||
div.classList.add("replay-div-visible");
|
||||
scroll(div);
|
||||
}
|
||||
|
||||
counter += 1;
|
||||
return counter - 1;
|
||||
}
|
||||
|
||||
function notice(msg, now) {
|
||||
var s = '<div class="notice"><span>****</span> ' + msg;
|
||||
return add_line(s, now);
|
||||
}
|
||||
|
||||
function del_line(id) {
|
||||
var el = document.getElementById("replay-div-" + id);
|
||||
if (el) {
|
||||
el.parentNode.removeChild(el);
|
||||
}
|
||||
}
|
||||
|
||||
function finished() {
|
||||
playing = false;
|
||||
notice('Finished <a href="/+' + json.meta.id + '">' +
|
||||
(json.meta.title || json.meta.id) + '</a>', true);
|
||||
document.getElementById("play_pause").className = "icon-play";
|
||||
}
|
||||
|
||||
function forward() {
|
||||
direction = "forward";
|
||||
return false;
|
||||
}
|
||||
|
||||
function xhr_load() {
|
||||
this.callback.apply(this, this.arguments);
|
||||
}
|
||||
|
||||
function xhr_error() {
|
||||
console.error(this.statusText);
|
||||
}
|
||||
|
||||
function fetch_json(url, callback) {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.callback = callback;
|
||||
xhr.onload = xhr_load;
|
||||
xhr.onerror = xhr_error;
|
||||
xhr.open("get", url, true);
|
||||
xhr.send(null);
|
||||
}
|
||||
|
||||
function load_log_lines() {
|
||||
json = JSON.parse(this.responseText);
|
||||
|
||||
if (!json) {
|
||||
notice("Loading failed", true);
|
||||
return;
|
||||
}
|
||||
|
||||
var ready = notice((json.meta.title || json.meta.id) +
|
||||
' loaded <a href="#" onclick="return play_pause();">Play</a>', false);
|
||||
|
||||
json.log.forEach(function(line) {
|
||||
json.log[line.lineno - 1].lineid =
|
||||
add_line(line.line, false);
|
||||
});
|
||||
|
||||
document.getElementById("progress").max = json.log.length;
|
||||
document.title = "ReWoT :: " + (json.meta.title || json.meta.id);
|
||||
document.getElementById("play_pause").className = "icon-play";
|
||||
update_progress();
|
||||
show_line(ready);
|
||||
}
|
||||
|
||||
function load_log(url) {
|
||||
fetch_json(url, load_log_lines);
|
||||
return false;
|
||||
}
|
||||
|
||||
function play_pause() {
|
||||
var el = document.getElementById("play_pause");
|
||||
|
||||
if (playing) {
|
||||
if (timeout) {
|
||||
window.clearTimeout(timeout);
|
||||
}
|
||||
pausedid = notice("Paused", true);
|
||||
playing = false;
|
||||
document.getElementById("play_pause").className = "icon-play";
|
||||
} else {
|
||||
if (json) {
|
||||
playing = true;
|
||||
document.getElementById("play_pause").className = "icon-pause";
|
||||
if (pausedid) {
|
||||
del_line(pausedid);
|
||||
}
|
||||
if (lineno > json.log.slice(-1)[0].lineno) {
|
||||
lineno = json.log.slice(-1)[0].lineno;
|
||||
} else if (lineno < 1) {
|
||||
lineno = 1;
|
||||
}
|
||||
replay_log();
|
||||
} else {
|
||||
notice("No replay loaded", true);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function replay_log() {
|
||||
if (!json.log[lineno] || !playing) {
|
||||
return;
|
||||
}
|
||||
|
||||
show_line(json.log[lineno].lineid);
|
||||
|
||||
if (direction == "forward") {
|
||||
lineno += 1;
|
||||
} else {
|
||||
hide_line(json.log[lineno].lineid);
|
||||
lineno -= 1;
|
||||
}
|
||||
|
||||
if (json.log[lineno]) {
|
||||
if (fast_forward_lines) {
|
||||
fast_forward_lines -= 1;
|
||||
replay_log();
|
||||
} else {
|
||||
var d = parseFloat(json.log[lineno].delta) * speed;
|
||||
if (d > 4000) {
|
||||
d = 4000;
|
||||
}
|
||||
timeout = setTimeout(replay_log, d);
|
||||
}
|
||||
update_lineno();
|
||||
update_progress();
|
||||
} else {
|
||||
finished();
|
||||
}
|
||||
}
|
||||
|
||||
function reverse() {
|
||||
direction = "reverse";
|
||||
return false;
|
||||
}
|
||||
|
||||
function show_line(id) {
|
||||
var el = document.getElementById("replay-div-" + id);
|
||||
if (!!el) {
|
||||
el.classList.add("replay-div-visible");
|
||||
scroll(el);
|
||||
}
|
||||
}
|
||||
|
||||
function hide_line(id) {
|
||||
var el = document.getElementById("replay-div-" + id);
|
||||
if (!!el) {
|
||||
el.classList.remove("replay-div-visible");
|
||||
}
|
||||
}
|
||||
|
||||
function update_lineno() {
|
||||
document.getElementById("lineno").innerHTML = json.log[lineno].lineno;
|
||||
}
|
||||
|
||||
function update_progress() {
|
||||
var el = document.getElementById("progress");
|
||||
el.value = json.log[lineno].lineno;
|
||||
el.title = json.log[lineno].lineno + " / " + el.max;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in new issue