Skip to content

Commit 40ec830

Browse files
authored
Switch to injecting new DartPad UI (#5627)
- Updates to use the new, smaller injection script (introduced in dart-lang/site-shared#205) - Updates the markdown renderer to set the new expected data variables - Removes some old code relating to multi-file DartPad Staged example: https://dart-dev--pr5627-feat-new-dartpad-injection-n1bx8le4.web.app/codelabs/async-await
1 parent 585291c commit 40ec830

14 files changed

+16
-18
lines changed

eleventy.config.js

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ export default function (eleventyConfig) {
9191

9292
eleventyConfig.addPassthroughCopy('src/content/assets/dash');
9393
eleventyConfig.addPassthroughCopy('src/content/assets/js');
94+
eleventyConfig.addPassthroughCopy({'site-shared/packages/inject_dartpad/lib/inject_dartpad.js': 'assets/js/inject_dartpad.js'});
9495
eleventyConfig.addPassthroughCopy('src/content/assets/img', { expand: true });
9596
eleventyConfig.addPassthroughCopy('src/content/f', {
9697
expand: true,

src/_11ty/plugins/highlight.js

+3-6
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,9 @@ function _highlight(
8080
language,
8181
attributeString,
8282
) {
83-
// Don't customize or highlight DartPad snippets
84-
// so that inject_embed can convert them.
85-
if (language.includes('-dartpad') || language.includes('file-')) {
86-
return `<pre><code class="language-${language}">
87-
${markdown.utils.escapeHtml(content)}
88-
</code></pre>`;
83+
// Specially handle DartPad snippets so that inject_embed can convert them.
84+
if (language.includes('-dartpad')) {
85+
return `<pre><code data-dartpad="true" data-embed="true" data-theme="light">${markdown.utils.escapeHtml(content)}</code></pre>`;
8986
}
9087

9188
const attributes = _parseAttributes(attributeString);

src/_sass/components/_code.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ pre {
187187
}
188188

189189
// Border and resizability for dartpad
190-
iframe[src^="https://dartpad"]:not(#try-dart-pad), iframe[src^="https://old-dartpad"] {
190+
iframe[src^="https://dartpad"]:not(#try-dart-pad) {
191191
border: 1px solid #ccc;
192192
margin-bottom: 1rem;
193193
min-height: 400px;

src/content/codelabs/async-await.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Asynchronous programming: futures, async, await"
33
description: Learn about and practice writing asynchronous code in DartPad!
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
---
66
<?code-excerpt replace="/ *\/\/\s+ignore_for_file:[^\n]+\n//g; /(^|\n) *\/\/\s+ignore:[^\n]+\n/$1/g; /(\n[^\n]+) *\/\/\s+ignore:[^\n]+\n/$1\n/g"?>
77
<?code-excerpt plaster="none"?>

src/content/codelabs/dart-cheatsheet.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Dart cheatsheet codelab
33
description: Interactively learn (or relearn) some of Dart's unique features.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
---
66
<?code-excerpt replace="/ *\/\/\s+ignore_for_file:[^\n]+\n//g; /(^|\n) *\/\/\s+ignore:[^\n]+\n/$1/g; /(\n[^\n]+) *\/\/\s+ignore:[^\n]+\n/$1\n/g"?>
77

src/content/codelabs/iterables.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Iterable collections
33
description: An interactive guide to using Iterable objects such as lists and sets.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
---
66
<?code-excerpt replace="/ *\/\/\s+ignore_for_file:[^\n]+\n//g; /(^|\n) *\/\/\s+ignore:[^\n]+\n/$1/g; /(\n[^\n]+) *\/\/\s+ignore:[^\n]+\n/$1\n/g"?>
77
<?code-excerpt plaster="none"?>

src/content/language/callable-objects.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Callable objects
33
description: Learn how to create and use callable objects in Dart.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
toc: false
66
prevpage:
77
url: /language/extension-types

src/content/language/constructors.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Constructors
33
description: Everything about using constructors in Dart.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
prevpage:
66
url: /language/classes
77
title: Classes

src/content/language/functions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Functions
33
description: Everything about functions in Dart.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
prevpage:
66
url: /language/pattern-types
77
title: Pattern types

src/content/overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Dart overview
33
description: A short introduction to Dart.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
---
66

77
<img

src/content/tutorials/language/streams.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Asynchronous programming: Streams"
33
description: Learn how to consume single-subscriber and broadcast streams.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
---
66

77
:::secondary What's the point?

src/content/tutorials/server/fetch-data.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Fetch data from the internet
33
description: Fetch data over the internet using the http package.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
prevpage:
66
url: /tutorials/server/cmdline
77
title: Write command-line apps

src/content/tutorials/server/get-started.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Get started: Command-line and server apps"
33
description: Get Dart, run and compile a small app.
4-
js: [{url: 'https://old-dartpad-3ce3f.web.app/inject_embed.dart.js', defer: true}]
4+
js: [{url: '/assets/js/inject_dartpad.js', defer: true}]
55
prevpage:
66
url: /tutorials/server
77
title: Dart command-line and server tutorials

0 commit comments

Comments
 (0)