scratch – Blame information for rev 125

Subversion Repositories:
Rev:
Rev Author Line No. Line
5 office 1 <!DOCTYPE html>
125 office 2 <html lang="en" ng-app="scratch">
5 office 3 <head>
4 <meta charset="utf-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
21 office 8 <meta name="description" content="quick asset upload">
5 office 9 <meta name="author" content="Wizardry and Steamworks">
10 <link rel="icon" href="favicon.ico">
11  
71 office 12 <title>scratch copy</title>
5 office 13  
14 <!-- Bootstrap core CSS -->
58 office 15 <link href="bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
65 office 16 <!-- Font Awesome -->
17 <link href="bower_components/font-awesome/css/font-awesome.min.css" rel="stylesheet">
79 office 18 <!-- Bootstrap Toggle -->
19 <link href="bower_components/bootstrap-toggle/css/bootstrap-toggle.min.css" rel="stylesheet">
5 office 20  
68 office 21 <!-- Site-wide style CCS -->
22 <link href="css/style.css" rel="stylesheet">
125 office 23 <!-- Scratch Angular Includes -->
24 <ng-include src="'html/scratch-head-last.html'"></ng-include>
5 office 25 </head>
26  
27 <body>
101 office 28 <!-- Include first body content -->
125 office 29 <!-- <div id="scratch-body-first"></div> -->
30 <ng-include src="'html/scratch-body-first.html'"></ng-include>
101 office 31  
71 office 32 <!-- Main component for a primary marketing message or call to action -->
33 <div class="paralax-background"></div>
34 <div class="jumbotron">
35 <h1>scratch copy</h1>
36 <p class="quote">the asset sharer</p>
37 </div>
38  
5 office 39 <div class="container">
79 office 40 <div class="pull-right">
41 <input id="toggle-sound" type="checkbox">
42 </div>
84 office 43  
5 office 44 <ul class="nav nav-tabs">
23 office 45 <li class="active"><a href="#">Home</a></li>
56 office 46 <li><a href="file.html">File</a></li>
23 office 47 <li><a href="text.html">Text</a></li>
84 office 48 <li><a href="draw.html">Draw</a></li>
91 office 49 <li><a href="link.html">Link</a></li>
121 office 50 <li><a href="view.html">View</a></li>
5 office 51 </ul>
42 office 52  
64 office 53 <div class="row">
54 <h2>About</h2>
76 office 55 <p><strong>scratch copy</strong> is a platform for small-sized asset sharing developed by <a href="http://grimore.org">Wizardry and Steamworks</a> and published under the <a href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC 1.0 Universal (CC0 1.0)</a> license. The sharing platform covers images, text snippets, movie clips and any sort of media that can be conveniently shared by generating short, public and obfuscated URLs that are easily accessible.</p>
42 office 56 </div>
76 office 57  
58 <div class="row" ng-app="scratch" ng-controller="scratch-control">
75 office 59 <h2>Configuration</h2>
76 office 60 <div class="panel panel-default">
61 <!-- Default panel contents -->
62 <div class="panel-heading">Current Configuration Settings</div>
63 <div class="panel-body">
64 <!-- Table -->
65 <table class="table table-striped table-hover table-condensed table-responsive">
66 <thead>
67 <tr>
68 <th>
69 Description
70 </th>
71 <th>
72 Limit
73 </th>
74 </tr>
75 </thead>
76 <tbody>
77 <tr>
78 <td>
79 File extensions accepted for upload.
80 </td>
81 <td>
82 <span ng-repeat="extension in extensions" id="box">{{extension}} </span>
83 </td>
84 </tr>
85 <tr>
86 <td>
87 Allowed file size upload limit.
88 </td>
89 <td>
90 <p>{{uploadlimit}}MiB</p>
91 </td>
92 </tr>
93 </tbody>
94 </table>
95 </div>
96 </div>
75 office 97 </div>
5 office 98  
99 </div> <!-- /container -->
100  
10 office 101 <div id="footer">
102 <div class="container">
71 office 103 <p class="text-muted credit text-center">Copyright <i class="glyphicon glyphicon-copyright-mark"></i> 2017 <a href="http://grimore.org">Wizardry and Steamworks</a>.</p>
10 office 104 </div>
105 </div>
5 office 106  
58 office 107 <!-- jQuery -->
108 <script src="bower_components/jquery/dist/jquery.min.js"></script>
75 office 109 <!-- Angular JS -->
110 <script src="bower_components/angular/angular.min.js"></script>
58 office 111 <!-- BootStrap -->
112 <script src="bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
79 office 113 <!-- BootStrap Toggle -->
114 <script src="bower_components/bootstrap-toggle/js/bootstrap-toggle.min.js"></script>
71 office 115 <!-- SoundJS -->
116 <script src="bower_components/SoundJS/lib/soundjs-NEXT.combined.js"></script>
75 office 117 <!-- YAML -->
118 <script src="bower_components/yaml.js/dist/yaml.min.js"></script>
79 office 119 <!-- js-cookie -->
120 <script src="bower_components/js-cookie/src/js.cookie.js"></script>
75 office 121 <script>
122 var app = angular.module('scratch', []);
123 app.controller('scratch-control', function($scope, $http) {
124 $http.get('config.yaml').then((response) => {
125 var doc = YAML.parse(response.data);
126 $scope.extensions = doc.ALLOWED_FILE_EXTENSIONS;
76 office 127 $scope.uploadlimit = doc.ALLOWED_ASSET_SIZE;
75 office 128 });
129 });
130 </script>
71 office 131 <!-- Jumbotron parallax effect -->
68 office 132 <script>
133 var jumboHeight = $('.jumbotron').outerHeight();
134 function parallax(){
135 var scrolled = $(window).scrollTop();
136 $('.paralax-background').css('height', (jumboHeight-scrolled) + 'px');
137 }
138  
139 $(window).scroll(function(e){
140 parallax();
141 });
142 </script>
75 office 143 <!-- Hiss sounds -->
71 office 144 <script>
79 office 145 $(document).ready(() => {
146 // Get the sound cookie.
80 office 147 const sound = Cookies.get('sound');
148  
149 if (!createjs.Sound.initializeDefaultPlugins() ||
150 createjs.BrowserDetect.isIOS ||
151 createjs.BrowserDetect.isAndroid ||
152 createjs.BrowserDetect.isBlackberry)
153 return;
154  
155 const hiss = [
156 "snd/hisses/hiss_1.mp3",
157 "snd/hisses/hiss_2.mp3",
158 "snd/hisses/hiss_3.mp3",
159 "snd/hisses/hiss_4.mp3",
160 "snd/hisses/hiss_5.mp3",
161 "snd/hisses/hiss_6.mp3",
162 "snd/hisses/hiss_7.mp3",
163 "snd/hisses/hiss_8.mp3",
164 "snd/hisses/hiss_9.mp3",
165 "snd/hisses/hiss_10.mp3",
166 ];
167  
79 office 168 // Play the sounds.
99 office 169 if(!sound || sound == 'on') {
79 office 170 createjs.Sound.onLoadComplete =
171 (event) => createjs.Sound.play(event.src);
172 createjs.Sound.addEventListener("fileload",
173 (event) => createjs.Sound.play(event.src));
174 createjs.Sound.registerSound(
175 hiss[~~(Math.random() * hiss.length)]
176 );
177 }
178  
179 // Load the toggle.
180 $('#toggle-sound').bootstrapToggle({
80 office 181 on: 'Pet Kitty',
182 off: 'Annoy Kitty',
183 onstyle: "danger",
184 offstyle: "success"
185 });
186 $('#toggle-sound')
187 .bootstrapToggle(sound)
188 .change(() => {
189 var checked = $('#toggle-sound').is(":checked");
79 office 190 Cookies.set('sound',
80 office 191 checked ? 'on' : 'off'
79 office 192 );
80 office 193 if(checked) {
194 createjs.Sound.onLoadComplete =
195 (event) => createjs.Sound.play(event.src);
196 createjs.Sound.addEventListener("fileload",
197 (event) => createjs.Sound.play(event.src));
198 createjs.Sound.registerSound(
199 hiss[~~(Math.random() * hiss.length)]
200 );
201 }
202 });
71 office 203 });
204 </script>
5 office 205 </body>
206 </html>