Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Cow & canvas

  • Loading branch information...
commit 4ebfe7f349254a5da84ed5bd2d2db10197c25131 1 parent d116f17
@jakearchibald authored
Showing with 543 additions and 30 deletions.
  1. +2 −1  .gitignore
  2. +2 −2 bin/compress_assets.sh
  3. +2 −0  sass.sh
  4. BIN  www/assets/6/style/fonts/pro.ttf
  5. BIN  www/assets/6/style/imgs/grid.png
  6. BIN  www/assets/6/style/imgs/sprites1.png
  7. 0  www/assets/{6 → 7}/favicon.ico
  8. 0  www/assets/{6 → 7}/script/CssOutput.js
  9. 0  www/assets/{6 → 7}/script/FeatureTest.js
  10. 0  www/assets/{6 → 7}/script/ImgInput.js
  11. 0  www/assets/{6 → 7}/script/MicroEvent.js
  12. 0  www/assets/{6 → 7}/script/Rect.js
  13. 0  www/assets/{6 → 7}/script/SpriteCanvas.js
  14. 0  www/assets/{6 → 7}/script/SpriteCanvasView.js
  15. 0  www/assets/{6 → 7}/script/Toolbar.js
  16. 0  www/assets/{6 → 7}/script/base.js
  17. 0  www/assets/{6 → 7}/script/featureTests.js
  18. 0  www/assets/{6 → 7}/script/intro.js
  19. 0  www/assets/{6 → 7}/script/jquery-1.6.2.js
  20. 0  www/assets/{6 → 7}/script/jquery.easing.js
  21. 0  www/assets/{6 → 7}/script/jquery.fileClickjack.js
  22. 0  www/assets/{6 → 7}/script/jquery.transition.js
  23. 0  www/assets/{6 → 7}/script/mainmin.js
  24. 0  www/assets/{6 → 7}/script/pageLayout.js
  25. +73 −0 www/assets/7/style/_components.scss
  26. +4 −0 www/assets/7/style/_fonts.scss
  27. +117 −0 www/assets/7/style/_globals.scss
  28. +50 −0 www/assets/7/style/_structure.scss
  29. +15 −0 www/assets/7/style/_utils.scss
  30. +245 −0 www/assets/7/style/all.css
  31. +5 −0 www/assets/7/style/all.scss
  32. 0  www/assets/{6 → 7}/style/base.css
  33. BIN  www/assets/7/style/fonts/oswald.ttf
  34. BIN  www/assets/7/style/imgs/grid.png
  35. BIN  www/assets/7/style/imgs/sprites1.png
  36. 0  www/assets/{6 → 7}/style/imgs/trans.png
  37. 0  www/assets/{6 → 7}/style/mainmin.css
  38. 0  www/assets/{6 → 7}/tutorial-sprite.png
  39. +6 −6 www/offline.appcache
  40. +22 −21 www/unmin.html
View
3  .gitignore
@@ -3,4 +3,5 @@ bin/yui*
bin/uglify
fabric.cfg
*.pyc
-tmp
+tmp
+.sass-cache
View
4 bin/compress_assets.sh
@@ -1,4 +1,4 @@
#!/bin/bash
-ver=6
+ver=7
cat www/assets/$ver/script/{jquery-1.6.2,jquery.easing,jquery.transition,jquery.fileClickjack,intro,MicroEvent,Rect,ImgInput,SpriteCanvas,SpriteCanvasView,CssOutput,Toolbar,pageLayout,FeatureTest,featureTests,base}.js | node bin/uglify.js > www/assets/$ver/script/mainmin.js
-cat www/assets/$ver/style/base.css | java -jar bin/yuicompressor-2.4.8pre.jar --type css -o www/assets/$ver/style/mainmin.css
+~/dev/sass/bin/sass --style compressed www/assets/$ver/style/all.scss:www/assets/$ver/style/all-min.css
View
2  sass.sh
@@ -0,0 +1,2 @@
+ver=7
+~/dev/sass/bin/sass -l --watch www/assets/$ver/style:www/assets/$ver/style
View
BIN  www/assets/6/style/fonts/pro.ttf
Binary file not shown
View
BIN  www/assets/6/style/imgs/grid.png
Deleted file not rendered
View
BIN  www/assets/6/style/imgs/sprites1.png
Deleted file not rendered
View
0  www/assets/6/favicon.ico → www/assets/7/favicon.ico
File renamed without changes
View
0  www/assets/6/script/CssOutput.js → www/assets/7/script/CssOutput.js
File renamed without changes
View
0  www/assets/6/script/FeatureTest.js → www/assets/7/script/FeatureTest.js
File renamed without changes
View
0  www/assets/6/script/ImgInput.js → www/assets/7/script/ImgInput.js
File renamed without changes
View
0  www/assets/6/script/MicroEvent.js → www/assets/7/script/MicroEvent.js
File renamed without changes
View
0  www/assets/6/script/Rect.js → www/assets/7/script/Rect.js
File renamed without changes
View
0  www/assets/6/script/SpriteCanvas.js → www/assets/7/script/SpriteCanvas.js
File renamed without changes
View
0  www/assets/6/script/SpriteCanvasView.js → www/assets/7/script/SpriteCanvasView.js
File renamed without changes
View
0  www/assets/6/script/Toolbar.js → www/assets/7/script/Toolbar.js
File renamed without changes
View
0  www/assets/6/script/base.js → www/assets/7/script/base.js
File renamed without changes
View
0  www/assets/6/script/featureTests.js → www/assets/7/script/featureTests.js
File renamed without changes
View
0  www/assets/6/script/intro.js → www/assets/7/script/intro.js
File renamed without changes
View
0  www/assets/6/script/jquery-1.6.2.js → www/assets/7/script/jquery-1.6.2.js
File renamed without changes
View
0  www/assets/6/script/jquery.easing.js → www/assets/7/script/jquery.easing.js
File renamed without changes
View
0  www/assets/6/script/jquery.fileClickjack.js → www/assets/7/script/jquery.fileClickjack.js
File renamed without changes
View
0  www/assets/6/script/jquery.transition.js → www/assets/7/script/jquery.transition.js
File renamed without changes
View
0  www/assets/6/script/mainmin.js → www/assets/7/script/mainmin.js
File renamed without changes
View
0  www/assets/6/script/pageLayout.js → www/assets/7/script/pageLayout.js
File renamed without changes
View
73 www/assets/7/style/_components.scss
@@ -0,0 +1,73 @@
+// Logo
+ .cow-logo {
+ background: url('imgs/sprites1.png') no-repeat -2px -66px;
+ width: 448px;
+ height: 388px;
+ margin: 0 auto;
+ }
+// Headings
+ .h-main {
+ font: normal 59px/1 oswald, sans-serif;
+ color: white;
+ text-shadow: #004A86 0 4px 1px;
+ text-align: center;
+ }
+// Canvas
+ .canvas-view {
+ text-align: center;
+ @include user-select(none);
+ }
+ .canvas-cell {
+ display: table-cell;
+ height: 100%;
+ position: relative;
+
+ .intro & {
+ height: 170px;
+ cursor: auto;
+ }
+ }
+ .canvas-inner {
+ overflow: auto;
+ background: #fff url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlMzMz0oyR4AAAARSURBVAgdY/jPwIAVYRf9DwB+vw/xbMOy9QAAAABJRU5ErkJggg==');
+ box-shadow: 0 4px 18px rgba(0,0,0,0.35);
+ position: relative;
+ height: 100%;
+
+ .opera & {
+ /*
+ Opera treats the 100% height as the height of the body element, not the
+ table cell. This absolute layout works around that. However, it works
+ because Opera recognises the position:relative on the table cell, which
+ it shouldn't really. Using this fix on all browsers breaks layout in
+ Firefox.
+ */
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: auto;
+ }
+
+ .intro & {
+ overflow: hidden;
+ }
+ }
+ .sprite-canvas-container {
+ position: absolute;
+ min-width: 100%;
+ min-height: 100%;
+
+ & canvas {
+ display: block;
+ }
+
+ & .highlight {
+ // TODO
+ }
+
+ .intro & {
+ opacity: 0;
+ }
+ }
View
4 www/assets/7/style/_fonts.scss
@@ -0,0 +1,4 @@
+@font-face {
+ font-family: oswald;
+ src: url('fonts/oswald.ttf') format('truetype');
+}
View
117 www/assets/7/style/_globals.scss
@@ -0,0 +1,117 @@
+// Resets
+ html,
+ body,
+ ul,
+ ol,
+ li,
+ form,
+ dl,
+ dt,
+ dd {
+ padding: 0;
+ margin: 0;
+ display: block;
+ }
+ ul,
+ ol {
+ list-style: none;
+ }
+ article,
+ aside,
+ details,
+ figcaption,
+ figure,
+ footer,
+ header,
+ hgroup,
+ menu,
+ nav,
+ section {
+ display: block;
+ }
+// Forms
+ select,
+ input,
+ textarea,
+ button {
+ font-size: 100%;
+ margin: 0;
+ vertical-align: baseline;
+ }
+
+ button,
+ input {
+ line-height: normal;
+ }
+
+ button,
+ input[type="button"],
+ input[type="reset"],
+ input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button;
+ }
+ label {
+ cursor: pointer;
+ }
+
+ input, select {
+ vertical-align: middle;
+ _vertical-align: text-bottom;
+ }
+
+ input[type="radio"] { vertical-align: text-bottom; }
+ input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; }
+
+ button.custom {
+ padding: 0;
+ margin: 0;
+ border: 0;
+ background: none;
+ cursor: pointer;
+ overflow: visible;
+ vertical-align: middle;
+ font-size: 1em;
+ width: auto;
+ }
+ button.custom::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+ }
+// Typography
+ body {
+ font:13px/1.231 sans-serif;
+ color: #fff;
+ }
+ pre,
+ code,
+ kbd,
+ samp {
+ font-family: monospace, serif;
+ font-size: 1em;
+ }
+ p {
+ line-height: 1.4;
+ }
+ select,
+ input,
+ textarea {
+ color: #333;
+ font-family: sans-serif;
+ }
+// Links
+ a {
+ & img {
+ border: 0;
+ }
+ &:link,
+ &:visited {
+ text-decoration: none;
+ color: #ffb135;
+ font-weight: bold;
+ }
+ &:hover,
+ &:active {
+ text-decoration: underline;
+ }
+ }
View
50 www/assets/7/style/_structure.scss
@@ -0,0 +1,50 @@
+// Background
+ html {
+ height: 100%;
+ background: #004a86;
+
+ @include radial-gradient((
+ center center,
+ circle cover,
+ #0091d5 0%,
+ #0091d5 15%,
+ #004a86 100%
+ ));
+ }
+ body {
+ height: 100%;
+ min-height: 100%;
+ margin: 0;
+ padding: 0 20px;
+ background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQAgMAAADzfxo+AAAADFBMVEX///////////8AAAD1GyhhAAAABHRSTlMoNhsAX8Wz8wAAAC5JREFUOMtjCMUCGOr///7/fz8qMWQEs1YtWrVKC5UY9dGoj0Z9NOqjUR8NckEAV3eSqNB2GKwAAAAASUVORK5CYII=');
+ }
+// Main container
+ .container {
+ width: 100%;
+ height: 100%;
+ margin: 0 auto;
+ position: relative;
+ display: table;
+ table-layout: fixed;
+
+ &.intro {
+ width: 835px;
+ }
+ & > * {
+ display: table-row;
+ }
+ }
+// Main header
+ .main-header {
+ display: table-cell;
+ vertical-align: middle;
+ height: 0;
+
+ .intro & {
+ height: 169px;
+
+ & .h-main {
+ display: none;
+ }
+ }
+ }
View
15 www/assets/7/style/_utils.scss
@@ -0,0 +1,15 @@
+@mixin transform($transformation) {
+ @each $prefix in -webkit-, -moz-, -ms-, -o-, '' {
+ #{$prefix}transform: $transformation;
+ }
+}
+@mixin radial-gradient($type) {
+ @each $prefix in -webkit-, -moz-, -ms-, -o-, '' {
+ background: #{$prefix}radial-gradient($type);
+ }
+}
+@mixin user-select($type) {
+ @each $prefix in -webkit-, -moz-, -ms-, -o-, '' {
+ #{$prefix}user-select: $type;
+ }
+}
View
245 www/assets/7/style/all.css
@@ -0,0 +1,245 @@
+@font-face {
+ font-family: oswald;
+ src: url("fonts/oswald.ttf") format("truetype"); }
+
+/* line 10, _globals.scss */
+html,
+body,
+ul,
+ol,
+li,
+form,
+dl,
+dt,
+dd {
+ padding: 0;
+ margin: 0;
+ display: block; }
+
+/* line 16, _globals.scss */
+ul,
+ol {
+ list-style: none; }
+
+/* line 29, _globals.scss */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+ display: block; }
+
+/* line 36, _globals.scss */
+select,
+input,
+textarea,
+button {
+ font-size: 100%;
+ margin: 0;
+ vertical-align: baseline; }
+
+/* line 43, _globals.scss */
+button,
+input {
+ line-height: normal; }
+
+/* line 50, _globals.scss */
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ cursor: pointer;
+ -webkit-appearance: button; }
+
+/* line 54, _globals.scss */
+label {
+ cursor: pointer; }
+
+/* line 58, _globals.scss */
+input, select {
+ vertical-align: middle;
+ _vertical-align: text-bottom; }
+
+/* line 63, _globals.scss */
+input[type="radio"] {
+ vertical-align: text-bottom; }
+
+/* line 64, _globals.scss */
+input[type="checkbox"] {
+ vertical-align: bottom;
+ *vertical-align: baseline; }
+
+/* line 66, _globals.scss */
+button.custom {
+ padding: 0;
+ margin: 0;
+ border: 0;
+ background: none;
+ cursor: pointer;
+ overflow: visible;
+ vertical-align: middle;
+ font-size: 1em;
+ width: auto; }
+
+/* line 77, _globals.scss */
+button.custom::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/* line 82, _globals.scss */
+body {
+ font: 13px/1.231 sans-serif;
+ color: #fff; }
+
+/* line 89, _globals.scss */
+pre,
+code,
+kbd,
+samp {
+ font-family: monospace, serif;
+ font-size: 1em; }
+
+/* line 93, _globals.scss */
+p {
+ line-height: 1.4; }
+
+/* line 98, _globals.scss */
+select,
+input,
+textarea {
+ color: #333;
+ font-family: sans-serif; }
+
+/* line 104, _globals.scss */
+a img {
+ border: 0; }
+/* line 108, _globals.scss */
+a:link, a:visited {
+ text-decoration: none;
+ color: #ffb135;
+ font-weight: bold; }
+/* line 114, _globals.scss */
+a:hover, a:active {
+ text-decoration: underline; }
+
+/* line 2, _structure.scss */
+html {
+ height: 100%;
+ background: #004a86;
+ background: -webkit-radial-gradient(center center, circle cover, #0091d5 0%, #0091d5 15%, #004a86 100%);
+ background: -moz-radial-gradient(center center, circle cover, #0091d5 0%, #0091d5 15%, #004a86 100%);
+ background: -ms-radial-gradient(center center, circle cover, #0091d5 0%, #0091d5 15%, #004a86 100%);
+ background: -o-radial-gradient(center center, circle cover, #0091d5 0%, #0091d5 15%, #004a86 100%);
+ background: radial-gradient(center center, circle cover, #0091d5 0%, #0091d5 15%, #004a86 100%); }
+
+/* line 14, _structure.scss */
+body {
+ height: 100%;
+ min-height: 100%;
+ margin: 0;
+ padding: 0 20px;
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQAgMAAADzfxo+AAAADFBMVEX///////////8AAAD1GyhhAAAABHRSTlMoNhsAX8Wz8wAAAC5JREFUOMtjCMUCGOr///7/fz8qMWQEs1YtWrVKC5UY9dGoj0Z9NOqjUR8NckEAV3eSqNB2GKwAAAAASUVORK5CYII="); }
+
+/* line 22, _structure.scss */
+.container {
+ width: 100%;
+ height: 100%;
+ margin: 0 auto;
+ position: relative;
+ display: table;
+ table-layout: fixed; }
+ /* line 30, _structure.scss */
+ .container.intro {
+ width: 835px; }
+ /* line 33, _structure.scss */
+ .container > * {
+ display: table-row; }
+
+/* line 38, _structure.scss */
+.main-header {
+ display: table-cell;
+ vertical-align: middle;
+ height: 0; }
+ /* line 43, _structure.scss */
+ .intro .main-header {
+ height: 169px; }
+ /* line 46, _structure.scss */
+ .intro .main-header .h-main {
+ display: none; }
+
+/* line 2, _components.scss */
+.cow-logo {
+ background: url("imgs/sprites1.png") no-repeat -2px -66px;
+ width: 448px;
+ height: 388px;
+ margin: 0 auto; }
+
+/* line 9, _components.scss */
+.h-main {
+ font: normal 59px/1 oswald, sans-serif;
+ color: white;
+ text-shadow: #004A86 0 4px 1px;
+ text-align: center; }
+
+/* line 16, _components.scss */
+.canvas-view {
+ text-align: center;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ -o-user-select: none;
+ user-select: none; }
+
+/* line 20, _components.scss */
+.canvas-cell {
+ display: table-cell;
+ height: 100%;
+ position: relative; }
+ /* line 25, _components.scss */
+ .intro .canvas-cell {
+ height: 170px;
+ cursor: auto; }
+
+/* line 30, _components.scss */
+.canvas-inner {
+ overflow: auto;
+ background: white url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEX///8AAABVwtN+AAAAAnRSTlMzMz0oyR4AAAARSURBVAgdY/jPwIAVYRf9DwB+vw/xbMOy9QAAAABJRU5ErkJggg==");
+ box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
+ position: relative;
+ height: 100%; }
+ /* line 37, _components.scss */
+ .opera .canvas-inner {
+ /*
+ Opera treats the 100% height as the height of the body element, not the
+ table cell. This absolute layout works around that. However, it works
+ because Opera recognises the position:relative on the table cell, which
+ it shouldn't really. Using this fix on all browsers breaks layout in
+ Firefox.
+ */
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: auto; }
+ /* line 53, _components.scss */
+ .intro .canvas-inner {
+ overflow: hidden; }
+
+/* line 57, _components.scss */
+.sprite-canvas-container {
+ position: absolute;
+ min-width: 100%;
+ min-height: 100%; }
+ /* line 62, _components.scss */
+ .sprite-canvas-container canvas {
+ display: block; }
+ /* line 70, _components.scss */
+ .intro .sprite-canvas-container {
+ opacity: 0; }
View
5 www/assets/7/style/all.scss
@@ -0,0 +1,5 @@
+@import 'utils';
+@import 'fonts';
+@import 'globals';
+@import 'structure';
+@import 'components';
View
0  www/assets/6/style/base.css → www/assets/7/style/base.css
File renamed without changes
View
BIN  www/assets/7/style/fonts/oswald.ttf
Binary file not shown
View
BIN  www/assets/7/style/imgs/grid.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  www/assets/7/style/imgs/sprites1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0  www/assets/6/style/imgs/trans.png → www/assets/7/style/imgs/trans.png
File renamed without changes
View
0  www/assets/6/style/mainmin.css → www/assets/7/style/mainmin.css
File renamed without changes
View
0  www/assets/6/tutorial-sprite.png → www/assets/7/tutorial-sprite.png
File renamed without changes
View
12 www/offline.appcache
@@ -1,11 +1,11 @@
CACHE MANIFEST
-assets/6/script/mainmin.js
-assets/6/style/mainmin.css
-assets/6/style/fonts/pro.ttf
-assets/6/style/imgs/sprites1.png
-assets/6/tutorial-sprite.png
-assets/6/favicon.ico
+assets/7/script/mainmin.js
+assets/7/style/mainmin.css
+assets/7/style/fonts/pro.ttf
+assets/7/style/imgs/sprites1.png
+assets/7/tutorial-sprite.png
+assets/7/favicon.ico
NETWORK:
*
View
43 www/unmin.html
@@ -4,14 +4,15 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Sprite Cow - Generate CSS for sprite sheets</title>
- <link rel="stylesheet" href="assets/6/style/base.css">
- <link rel="shortcut icon" href="assets/6/favicon.ico">
+ <link rel="stylesheet" href="assets/7/style/all.css">
+ <link rel="shortcut icon" href="assets/7/favicon.ico">
<script>var _gaq=[['_setAccount','UA-24099758-1'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'))</script>
</head>
<body>
<div class="container intro">
- <header>
- <h1><span>Sprite Cow</span></h1>
+ <header class="main-header">
+ <div class="cow-logo"></div>
+ <h1 class="h-main">Sprite Cow</h1>
</header>
<div class="toolbar-container">
</div>
@@ -31,7 +32,7 @@
bit of copyable css.
</p>
<p>
- <a href="assets/6/tutorial-sprite.png" class="tutorial">Load the example image</a>, and have a click
+ <a href="assets/7/tutorial-sprite.png" class="tutorial">Load the example image</a>, and have a click
around. It becomes pretty obvious.
</p>
</section>
@@ -70,21 +71,21 @@
to the party... not promising anything, but give me a call.
</p>
</div>
- <script src="assets/6/script/jquery-1.6.2.js"></script>
- <script src="assets/6/script/jquery.easing.js"></script>
- <script src="assets/6/script/jquery.transition.js"></script>
- <script src="assets/6/script/jquery.fileClickjack.js"></script>
- <script src="assets/6/script/intro.js"></script>
- <script src="assets/6/script/MicroEvent.js"></script>
- <script src="assets/6/script/Rect.js"></script>
- <script src="assets/6/script/ImgInput.js"></script>
- <script src="assets/6/script/SpriteCanvas.js"></script>
- <script src="assets/6/script/SpriteCanvasView.js"></script>
- <script src="assets/6/script/CssOutput.js"></script>
- <script src="assets/6/script/Toolbar.js"></script>
- <script src="assets/6/script/pageLayout.js"></script>
- <script src="assets/6/script/FeatureTest.js"></script>
- <script src="assets/6/script/featureTests.js"></script>
- <script src="assets/6/script/base.js"></script>
+ <script src="assets/7/script/jquery-1.6.2.js"></script>
+ <script src="assets/7/script/jquery.easing.js"></script>
+ <script src="assets/7/script/jquery.transition.js"></script>
+ <script src="assets/7/script/jquery.fileClickjack.js"></script>
+ <script src="assets/7/script/intro.js"></script>
+ <script src="assets/7/script/MicroEvent.js"></script>
+ <script src="assets/7/script/Rect.js"></script>
+ <script src="assets/7/script/ImgInput.js"></script>
+ <script src="assets/7/script/SpriteCanvas.js"></script>
+ <script src="assets/7/script/SpriteCanvasView.js"></script>
+ <script src="assets/7/script/CssOutput.js"></script>
+ <script src="assets/7/script/Toolbar.js"></script>
+ <script src="assets/7/script/pageLayout.js"></script>
+ <script src="assets/7/script/FeatureTest.js"></script>
+ <script src="assets/7/script/featureTests.js"></script>
+ <script src="assets/7/script/base.js"></script>
</body>
</html>
Please sign in to comment.
Something went wrong with that request. Please try again.