Auto-push

This commit is contained in:
Matthias L. Jugel
2017-08-19 17:16:35 +02:00
parent e9d34f9af0
commit b028b1df5b
769 changed files with 509481 additions and 1 deletions

79
docfiles/abuse.html Normal file
View File

@ -0,0 +1,79 @@
<div class="ui icon violet message" style='margin: 3em 0'>
<i class="user icon"></i>
<div class="content">
<h3 class="header">
User-provided content
</h3>
<p>
The content below is provided by a user, and is not endorsed by Microsoft. If you think it's not appropriate, please
<a style='text-decoration:underline' id="abuse" href="#">report abuse</a>.
</p>
</div>
</div>
<div class="ui small modal" id='abusemodal'>
<div class="header">Report abuse</div>
<div class="content">
<div class="ui form">
<div class="field">
<label>Why do you find it offensive?</label>
<textarea id='abusetext' rows="2"></textarea>
</div>
</div>
</div>
<div class="actions">
<div class="ui ok button violet">
<i class='ui flag icon'></i> Submit
</div>
<div class="ui cancel button">
<i class='ui cancel icon'></i> Cancel
</div>
</div>
</div>
<div class="ui small modal" id='abusedone'>
<div class="header">Report sent</div>
<div class="content">
<p>
Thank you for helping keep PXT a friendly place!
</p>
</div>
<div class="actions">
<div class="ui ok green button">
<i class='ui trophy icon'></i> OK
</div>
</div>
</div>
<script>
$(document).ready(function() {
var id = "@id@";
var now = Math.round(Date.now()/1000);
$(".humantime").each(function() {
$(this).text(
describetime(now, parseInt($(this).data("time")))
)
})
$("#abuse").click(function() {
$("#abusemodal")
.modal({
onApprove: function() {
$.ajax({
type: 'POST',
url: '/api/@id@/abusereports',
data: JSON.stringify({
text: $('#abusetext').val()
}),
success: function() {
$("#abusedone").modal("show");
},
contentType: "application/json",
dataType: 'json'
});
}
})
.modal("show");
})
})
</script>

31
docfiles/appmeta.html Normal file
View File

@ -0,0 +1,31 @@
<title>@name@</title>
<meta name="description" content="@description@" />
<link rel="manifest" href="/sim/sim.webmanifest">
<link rel="apple-touch-icon" href="@appLogo@">
<link rel="icon" href="@appLogo@">
<link rel="shortcut icon" href="@appLogo@">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="@name@">
<meta name="application-name" content="@name@">
<meta name="msapplication-TileColor" content="@accentColor@">
<meta name="msapplication-TileImage" content="@appLogo@">
<meta name="msapplication-config" content="/static/icons/browserconfig.xml">
<meta name="theme-color" content="@accentColor@">
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@ptwitter@" />
<meta name="twitter:title" content="@name@" />
<meta name="twitter:description" content="@description@" />
<meta name="twitter:image" content="@cardLogo@" />
<meta property="og:title" content="@name@" />
<meta property="og:site_name" content="@name@" />
<meta property="og:description" content="@description@" />
<meta property="og:image" content="@cardLogo@" />
<link rel="apple-touch-icon" href="@appLogo@">
<link rel="icon" type="image/png" href="@appLogo@">
<link rel="shortcut icon" href="@appLogo@">

View File

@ -0,0 +1 @@
<!-- @include tracking.html -->

30
docfiles/docs.html Normal file
View File

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta charset="UTF-8">
<title>@name@</title>
<meta name="Description" content="@description@" />
<!-- @include meta.html -->
<!-- @include head.html -->
</head>
<body id='root' class='root'>
<!-- @include header.html -->
<div id="docs" class="ui main container mainbody">
@breadcrumb@
@body@
@github@
</div>
<!-- @include footer.html -->
<!-- @include macros.html -->
<!-- @include tracking.html -->
</body>
</html>

138
docfiles/docs.js Normal file
View File

@ -0,0 +1,138 @@
function describePlural(value, unit) {
return value + " " + unit + (value == 1 ? "" : "s")
}
function describetime(now, other) {
var seconds = now - other
if (isNaN(seconds)) return ""
var timeString
if (seconds < 0)
return "now"
else if (seconds < 10)
return "a few seconds ago"
else if (seconds < 60)
return " " + describePlural(Math.floor(seconds), "second") + " ago"
else if (seconds < 2 * 60)
return "a minute ago"
else if (seconds < 60 * 60)
return " " + describePlural(Math.floor(seconds / 60), "minute") + " ago"
else if (seconds < 2 * 60 * 60)
return "an hour ago";
else if (seconds < 60 * 60 * 24)
return " " + describePlural(Math.floor(seconds / 60 / 60), "hour") + " ago"
else if (seconds < 60 * 60 * 24 * 30)
return " " + describePlural(Math.floor(seconds / 60 / 60 / 24), "day") + " ago"
else if (seconds < 60 * 60 * 24 * 365)
return " " + describePlural(Math.floor(seconds / 60 / 60 / 24 / 30), "month") + " ago"
else
return " " + describePlural(Math.floor(seconds / 60 / 60 / 24 / 365), "year") + " ago"
}
function isIE() {
return /trident/i.test(navigator.userAgent);
}
function dirAuto($el) {
if ($el) {
if (!isIE())
$el.attr('dir', 'auto');
else {
var dir = /^[\s\.;:(+0-9]*[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/i.test($el.text()) ? "rtl" : "ltr";
$el.attr('dir', dir);
}
}
return $el;
}
function renderSnippets() {
var codeElems = $('code')
for (var i = 0; i < codeElems.length; i++) {
codeElems[i].className = codeElems[i].className.replace('-ignore', '')
}
var downloadScreenshots = /screenshots=1/i.test(window.location.href);
var path = window.location.href.split('/').pop().split(/[?#]/)[0];
ksRunnerReady(function() {
pxt.runner.renderAsync({
snippetClass: 'lang-blocks',
signatureClass: 'lang-sig',
blocksClass:'lang-block',
shuffleClass: 'lang-shuffle',
simulatorClass: 'lang-sim',
linksClass: 'lang-cards',
namespacesClass: 'lang-namespaces',
codeCardClass: 'lang-codecard',
packageClass: 'lang-package',
projectClass: 'lang-project',
snippetReplaceParent: true,
simulator: true,
hex: true,
hexName: path,
downloadScreenshots: downloadScreenshots
}).done();
});
}
$(document).ready(function () {
renderSnippets();
// don't show related videos
$.fn.embed.settings.sources.youtube.url = '//www.youtube.com/embed/{id}?rel=0'
//This is an adapted version of the original template code in Semantic UI
$.fn.embed.settings.templates.placeholder = function(image, icon) {
var html = '';
if(icon) {
html += '<i class="' + icon + ' icon"></i>';
}
if(image) {
//Remove the timestamp from the YouTube source URL
image = image.replace(/\#t=([0-9]+m)?([0-9]+s)?/, "");
html += '<img class="placeholder" src="' + image + '">';
}
return html;
};
//Again, this is a slightly modified version of the original Semantic UI source to support timestamped YouTube videos
$.fn.embed.settings.templates.iframe = function(url, parameters) {
var src = url;
//The following if statement is all that is different from the original implementation
var matches = src.match(/\#t=(([0-9]+)m)?(([0-9]+)s)?/);
if (matches) {
var minutes = matches[2] != undefined ? parseInt(matches[2]) : 0;
var seconds = matches[4] != undefined ? parseInt(matches[4]) : 0;
var param = "start=" + (minutes * 60 + seconds).toString();
if (parameters) {
parameters = param + "&" + parameters;
}
else {
parameters = param;
}
src = src.replace(/\#t=([0-9]+m)?([0-9]+s)?/, "");
}
if (parameters) {
src += (/\?/.test(url) ? '&' : '?') + parameters;
}
return ''
+ '<iframe src="' + src + '"'
+ ' width="100%" height="100%"'
+ ' frameborder="0" scrolling="no" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'
;
};
$('.ui.embed').embed();
$('.md-video-link').on("click", function () {
var name = $(this).data("playerurl") || $(this).data("videosrc");
$(this).find("img").remove();
$(this).find("svg").remove();
var outer = $('<div />', {
"class": 'embed-responsive embed-responsive-16by9'
});
outer.appendTo($(this));
$('<iframe>', {
class: 'embed-responsive-item',
src: name,
frameborder: 0,
scrolling: 'no'
}).appendTo(outer);
});
});

73
docfiles/error.html Normal file
View File

@ -0,0 +1,73 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta charset="UTF-8">
<title>Programming Experience Toolkit</title>
<meta name="Description" content="Programming Experiences in Blocks and JavaScript for beginners." />
<!-- @include head.html -->
</head>
<body id='root' class='root'>
<style>
.lead {
margin-top: 2em;
}
.smile {
font-size: 200px;
line-height: 0.6em;
float: left;
margin-right: 70px;
margin-bottom: 100px;
margin-left: 50px;
display: none;
font-weight: 200;
color: #0091ff;
}
@media screen and (min-width: 768px) {
.smile {
display: block;
}
#root .jumbotron {
min-height: 20em;
margin-bottom: 8em;
}
}
.message {
opacity: 0.5;
font-size: 0.8em;
}
</style>
<div class="ui main text container mainbody">
<div class="ui jumbotron">
<div class='smile'>
:(
</div>
<h1 dir="auto">Sorry, the page is missing</h1>
<p dir="auto" class='message'>@-body-@</p>
<p dir="auto" class='lead'>
You can go back to <a href="/">home page</a> or <a href="/contact">contact us</a>.
</p>
</div>
</div>
<!-- @include macros.html -->
<!-- @include tracking.html -->
</body>
</html>

15
docfiles/footer.html Normal file
View File

@ -0,0 +1,15 @@
<div class="ui inverted accent vertical footer segment">
<div class="ui center aligned container">
<div class="ui horizontal inverted small divided link list">
<a class="item" href="https://www.pxt.io/" title="Programming Experience Toolkit">Powered by PXT</a>
<a class="item" href="https://www.pxt.io/contact">Contact Us</a>
<a class="item" href="https://www.pxt.io/privacy">Privacy &amp; Cookies</a>
<a class="item" href="https://www.pxt.io/legal">Terms Of Use</a>
<a class="item" href="https://www.pxt.io/trademarks">Trademarks</a>
<div class="item">© 2016 Microsoft</div>
<!-- we need to force the browser to load this font -->
<div style='font-family: Icons; color: #010101;' aria-hidden="true">.</div>
</div>
<a class="item" href="https://www.microsoft.com/"><img class="ui centered image" src="https://az851932.vo.msecnd.net/pub/pmapoirq" /></a>
</div>
</div>

1
docfiles/fork.css Normal file
View File

@ -0,0 +1 @@
/* To be overridden by fork (branded target) */

1
docfiles/fork.js Normal file
View File

@ -0,0 +1 @@
/* To be overridden by fork (branded target) */

32
docfiles/head.html Normal file
View File

@ -0,0 +1,32 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
<link rel="stylesheet" href="/doccdn/semantic.css" />
<link rel="stylesheet" href="/docfiles/style.css" />
<link rel="stylesheet" href="/docfiles/vs.css" />
<link rel="stylesheet" href="/docfiles/target.css" />
<link rel="stylesheet" href="/docfiles/fork.css" />
<script src="/doccdn/jquery.js"></script>
<script src="/doccdn/semantic.js"></script>
<script src="/doccdn/lzma/lzma_worker-min.js"></script>
<script src="/--embed" type="text/javascript"></script>
<script src="/docfiles/docs.js" type="text/javascript"></script>
<script src="/docfiles/target.js" type="text/javascript"></script>
<script src="/docfiles/fork.js" type="text/javascript"></script>
<style>
@targetstyle@
</style>
<script>
$(document).ready(function() {
// patch youtube in semantic
if ($ && $.fn && $.fn.embed && $.fn.embed.settings && $.fn.embed.settings.sources && $.fn.embed.settings.sources.youtube) {
$.fn.embed.settings.sources.youtube.url = '//www.youtube.com/embed/{id}?rel=0'
}
$('.ui.embed').embed();
})
</script>

9
docfiles/header.html Normal file
View File

@ -0,0 +1,9 @@
<div class="ui fixed accent inverted menu">
<div class="ui container">
<a href="/" class="header item">
@targetlogo@
</a>
<!-- Menu -->
@menu@
</div>
</div>

BIN
docfiles/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

95
docfiles/macros.html Normal file
View File

@ -0,0 +1,95 @@
<aside id=button class=box>
<a class="ui primary button" href="@ARGS@">@BODY@</a>
</aside>
<aside id=vimeo>
<div class="ui two column stackable grid container">
<div class="column">
<div class="ui embed mdvid" data-source="vimeo" data-id="@ARGS@" data-placeholder="/thumbnail/1024/vimeo/@ARGS@" data-icon="video play">
</div>
</div></div>
</aside>
<aside id=youtube>
<div class="ui grid">
<div class="ten wide column">
<div class="ui embed mdvid" data-source="youtube" data-id="@ARGS@" data-placeholder="https://img.youtube.com/vi/@ARGS@/maxresdefault.jpg">
</div>
</div></div>
</aside>
<aside id=section>
<!-- section @ARGS@ -->
</aside>
<aside id=hide class=box>
<div style='display:none'>
@BODY@
</div>
</aside>
<aside id=avatar class=box>
<div class='avatar @ARGS@'>
<div class='avatar-image'></div>
<div class='ui compact message'>
@BODY@
</div>
</div>
</aside>
<aside id=hint class=box>
<div class="ui info message">
<div class="content">
@BODY@
</div>
</div>
</aside>
<!-- wrapped around ordinary content -->
<aside id=main-container class=box>
<div class="ui text">
@BODY@
</div>
</aside>
<!-- used for 'column' box - they are collected and wrapped in 'column-container' -->
<aside id=column class=aside>
<div class='column'>
@BODY@
</div>
</aside>
<aside id=column-container class=box>
<div class="ui three column stackable grid text">
@BODY@
</div>
</aside>
<!-- Menu on the top of the page -->
<aside id=item class=menu>
<a class="item" href="@LINK@">@NAME@</a>
</aside>
<aside id=divider class=menu>
<div class="divider"></div>
</aside>
<aside id=top-dropdown class=menu>
<div class="ui simple dropdown item" title="@TITLE@">
@NAME@
<i class="dropdown icon"></i>
<div class="menu">
@ITEMS@
</div>
</div>
</aside>
<aside id=inner-dropdown class=menu>
<div class="item" title="@TITLE@">
<i class="dropdown icon"></i> @NAME@
<div class="menu">
@ITEMS@
</div>
</div>
</aside>

21
docfiles/meta.html Normal file
View File

@ -0,0 +1,21 @@
<!-- This file is typically overriden by the target, with own Twitter
account etc. Most data is taken from the theme file though.
-->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@twitter@" />
<meta name="twitter:title" content="@name@" />
<meta name="twitter:description" content="@description@" />
<meta name="twitter:image" content="@cardLogo@" />
<meta property="og:title" content="@name@" />
<meta property="og:site_name" content="PXT" />
<meta property="og:type" content="website" />
<meta property="og:description" content="@description@" />
<meta property="fb:app_id" content="" />
<meta property="og:image" content="@cardLogo@" />
<link rel="apple-touch-icon" href="@appLogo@">
<link rel="icon" type="image/png" href="@appLogo@">
<link rel="shortcut icon" href="@appLogo@">
<meta name="theme-color" content="@accentColor@">

74
docfiles/script.html Normal file
View File

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta charset="UTF-8">
<title>@name@</title>
<meta name="Description" content="@description@" />
<!-- @include meta.html -->
<!-- @include head.html -->
<link rel="alternate" type="application/json+oembed" href="@oembedurl@&format=json" />
<link rel="alternate" type="text/xml+oembed" href="@oembedurl@&format=xml" />
</head>
<body id='root' class='root'>
<!-- @include header.html -->
<!-- @include macros.html -->
<aside id=main-container class=box>
@BODY@
</aside>
<div class="ui main container mainbody">
@breadcrumb@
<!-- @include abuse.html -->
<h1 class="ui header">
<div class="ui content">
@title@ <a href="/@versionsuff@#pub:@id@" class="ui primary button">Edit</a>
<div class='sub header humantime' data-time="@time@">@humantime@</span>
</div>
</h1>
<p class="ui content description">
@description@
</p>
<div class="ui container">
<div style="position:relative;height:0;padding-bottom:70%;overflow:hidden;">
<iframe style="position:absolute;top:0;left:0;width:100%;height:100%;" src="/@versionsuff@#sandbox:@id@" sandbox="allow-popups allow-scripts allow-same-origin"
frameborder="0"></iframe>
</div>
</div>
@body@
<div class="ui container segment">
<h4 class="description">Edit in <a href="https://code.visualstudio.com/">Visual Studio Code</a></h4>
<pre style="white-space: pre-wrap;">
# open a shell and run these commands
pxt extract @id@
cd @dirname@
code .</pre>
<p class="ui description">Do you need help installing the tools?
<a href="@theme_embedUrl@/code">Follow these instructions!</a></p>
</div>
</div>
<script>
const script = @JSON@;
// do something with it
</script>
<!-- @include footer.html -->
<!-- @include tracking.html -->
</body>
</html>

100
docfiles/stream.html Normal file
View File

@ -0,0 +1,100 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta charset="UTF-8">
<title>Stream: @name@</title>
<meta name="Description" content="Live data stream" />
<!-- @include meta.html -->
<!-- @include head.html -->
</head>
<body id='root' class='root'>
<!-- @include header.html -->
<!-- @include macros.html -->
<aside id=main-container class=box>
<div style='display:none' class="ui text container segment">
@BODY@
</div>
</aside>
<div class="ui main container mainbody">
@breadcrumb@
<!-- @include abuse.html -->
<div class="ui container stackable grid">
<div class="ui six wide column">
<div class="ui card">
<!-- <div class="image"><img src="..."></div> -->
<div class="content">
<div class="header">Stream: @title@</div>
<div class="meta">
<span class='humantime' data-time="@time@">@humantime@</span>
<span class='right floated'>/@id@</span>
</div>
<div class="description">
Live data powered by
<img src="https://az851932.vo.msecnd.net/pub/hjlxsmaf" class="ui fluid image" />
</div>
</div>
<div class="extra content">
<div class="ui two buttons">
<a href="/api/@id@/data?start=-24h" class="ui button">JSON</a>
<a href="/api/@id@/data.csv?start=-24h" class="ui green button">CSV</a>
</div>
</div>
</div>
</div>
<div class="ui card ten wide column">
<h2>Streaming data in Excel 2016</h2>
<p>The data stored in this stream can easily be imported into an Excel 2016 spreadsheet using
<a href="https://support.office.com/en-us/article/Get-Transform-in-Excel-2016-881c63c6-37c5-4ca2-b616-59e18d75b4de">Get &amp; Transform</a>.
</p>
<div class="ui segment">
<p>Create a <b>Blank Workbook</b> in Excel 2016</p>
</div>
<div class="ui segment">
<p>Click on <b>Data</b> » <b>New Query</b> » <b>From Other Sources</b> » <b>From Web</b>.
</p>
<img class="ui large centered image" src="https://az851932.vo.msecnd.net/pub/tipefycm" />
</div>
<div class="ui segment">
<p>Enter the following URL and click on <b>Connect</b>.</p>
<div class="ui fluid labeled input">
<div class="ui label">URL</div>
<input type="text" value="@apiroot@@id@/data.csv?start=-24h" readonly="" />
</div>
<img class="ui medium centered image" src="https://az851932.vo.msecnd.net/pub/jgyhkunq" />
</div>
<div class="ui segment">
<p>Select <b>Anonymous</b> and click <b>Connect</b>.</p>
<img class="ui medium centered image" src="https://az851932.vo.msecnd.net/pub/vvrkgcai" />
</div>
<div class="ui segment">
<p>Click on <b>Close &amp; Load</b>.</p>
<img class="ui medium centered image" src="https://az851932.vo.msecnd.net/pub/lgwswrzo" />
</div>
</div>
</div>
@body@
</div>
<!-- @include footer.html -->
<!-- @include tracking.html -->
</body>
</html>

160
docfiles/style.css Normal file
View File

@ -0,0 +1,160 @@
body#root {
font-size: 16px;
}
div.listing
{
color:Black;
border-style:none;
margin: 0px 0px 0px 0px;
font-size: 11pt;
font-family: Consolas, "Andale Mono WT" , "Andale Mono" , "Lucida Console" , "Lucida Sans Typewriter" , "DejaVu Sans Mono" , "Bitstream Vera Sans Mono" , "Liberation Mono" , "Nimbus Mono L" , Monaco, "Courier New" , Courier, monospace;
padding: 5px 5px 5px 5px;
background: #f8f8f8;
clear: both;
white-space: pre-wrap; /* css-3 */
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
div.listing A:link
{
color:#000020;
text-decoration: none;
}
div.listing A:visited
{
color:#000020;
text-decoration: none;
}
div.listing A:active
{
color:#000080;
text-decoration: none;
}
div.listing A:hover
{
color:#000080;
text-decoration: underline;
}
.mainbody {
margin-top: 6em;
margin-bottom: 3em;
}
.prodname {
font-weight: normal;
font-size: 1.8em;
margin-left: 0.5em;
color: #ff7d00;
}
#root .editor-image {
margin: 2em auto;
display: block;
max-width: 80%;
}
pre {
padding: 16px;
overflow: auto;
font-size: 85%;
line-height: 1.45;
background-color: #f7f7f7;
border-radius: 3px;
}
code {
padding: 0;
padding-top: 0.2em;
padding-bottom: 0.2em;
margin: 0;
font-size: 85%;
background-color: rgba(0,0,0,0.04);
border-radius: 3px;
}
code:before, code:after {
letter-spacing: -0.2em;
content: "\00a0";
}
.ui[class*="5:3"].embed {
padding-bottom: 83%;
background:transparent !important;
}
code {
white-space: pre-wrap;
}
code.lang-config, code.lang-package { display: none;}
code.lang-blocks::before,
code.lang-sig::before,
code.lang-block::before,
code.lang-shuffle::before,
code.lang-sim::before,
code.lang-cards::before,
code.lang-namespaces::before,
code.lang-codecard::before
{
content:"...";
position: absolute;
top:calc(50% - 0.5em);
left:calc(50% - 5em);
}
code.lang-blocks,
code.lang-sig,
code.lang-block,
code.lang-shuffle,
code.lang-sim,
code.lang-cards,
code.lang-namespaces,
code.lang-codecard
{
color:transparent;
}
code.lang-typescript {
background: none !important;
}
/* Limit width of text so that it's readable
*/
.ui.text p,
.ui.text li {
max-width: 45em;
}
/* wrap cards header */
.ui.card > .content > .header {
word-break: break-all;
}
svg {
max-width: 100%;
}
.blocklyText {
font-family:'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace !important;
}
.blocklyCheckbox,
.blocklyLed {
fill: #ff3030 !important;
text-shadow: 0px 0px 6px #f00;
font-size: 17pt !important;
}
.ui.card .blocklyPreview {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: calc(100% - 1em);
max-height: calc(100% - 1em);
}

1
docfiles/target.css Normal file
View File

@ -0,0 +1 @@
/* To be overridden by target */

1
docfiles/target.js Normal file
View File

@ -0,0 +1 @@
/* To be overridden by target */

26
docfiles/tracking.html Normal file
View File

@ -0,0 +1,26 @@
<script type="text/javascript">
var appInsights=window.appInsights||function(config){
function i(config){t[config]=function(){var i=arguments;t.queue.push(function(){t[config].apply(t,i)})}}var t={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",y=u.createElement(o),r,f;y.src=config.url||"https://az416426.vo.msecnd.net/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie=u.cookie}catch(p){}for(t.queue=[],t.version="1.0",r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)i("track"+r.pop());return i("set"+s),i("clear"+s),i(h+a),i(c+a),i(h+v),i(c+v),i("flush"),config.disableExceptionTracking||(r="onerror",i("_"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t["_"+r](config,i,u,e,o),s}),t
}({
instrumentationKey:"9801ed01-c40f-46ec-aa40-2a1742a9e71c",
disableAjaxTracking: true,
overridePageViewDuration: false,
disableExceptionTracking: true,
isCookieUseDisabled: true,
isStorageUseDisabled: true
});
window.appInsights=appInsights;
appInsights.queue.push(function () {
appInsights.context.addTelemetryInitializer(function (envelope) {
if (typeof pxtConfig === "undefined") return;
var telemetryItem = envelope.data.baseData;
telemetryItem.properties = telemetryItem.properties || {};
telemetryItem.properties["target"] = pxtConfig.targetId;
telemetryItem.properties["version"] = pxtConfig.targetVersion;
telemetryItem.properties["stage"] = (pxtConfig.relprefix || "/--").replace(/[^a-z]/ig, '')
if (typeof window !== "undefined" && window.location && /[?&]electron=1/i.test(window.location.href))
telemetryItem.properties["electron"] = 1;
});
});
appInsights.trackPageView();
</script>

68
docfiles/vs.css Normal file
View File

@ -0,0 +1,68 @@
/*
Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name>
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: white;
color: black;
}
.hljs-comment,
.hljs-quote,
.hljs-variable {
color: #008000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-built_in,
.hljs-name,
.hljs-tag {
color: #00f;
}
.hljs-string,
.hljs-title,
.hljs-section,
.hljs-attribute,
.hljs-literal,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-addition {
color: #a31515;
}
.hljs-deletion,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-meta {
color: #2b91af;
}
.hljs-doctag {
color: #808080;
}
.hljs-attr {
color: #f00;
}
.hljs-symbol,
.hljs-bullet,
.hljs-link {
color: #00b0e8;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}