From 3e7eafe9deba949c5644262824130782c213ccda Mon Sep 17 00:00:00 2001 From: Richard Harris Date: Thu, 7 Mar 2019 22:24:29 -0500 Subject: [PATCH] chapters on and --- .../app-a/App.svelte | 0 .../app-a/File.svelte | 0 .../app-a/Folder.svelte | 0 .../app-b/App.svelte | 0 .../app-b/File.svelte | 0 .../app-b/Folder.svelte | 0 .../{01-self => 01-svelte-self}/text.md | 0 .../02-svelte-component/app-a/App.svelte | 27 ++++++ .../app-a/BlueThing.svelte | 5 ++ .../app-a/GreenThing.svelte | 5 ++ .../02-svelte-component/app-a/RedThing.svelte | 5 ++ .../02-svelte-component/app-b/App.svelte | 21 +++++ .../app-b/BlueThing.svelte | 5 ++ .../app-b/GreenThing.svelte | 5 ++ .../02-svelte-component/app-b/RedThing.svelte | 5 ++ .../02-svelte-component/text.md | 23 +++++ .../03-svelte-window/app-a/App.svelte | 42 ++++++++++ .../03-svelte-window/app-b/App.svelte | 42 ++++++++++ .../03-svelte-window/text.md | 11 +++ .../app-a/App.svelte | 84 +++++++++++++++++++ .../app-b/App.svelte | 84 +++++++++++++++++++ .../04-svelte-window-bindings/text.md | 21 +++++ site/content/tutorial/99-todo/99-todo/text.md | 6 +- 23 files changed, 388 insertions(+), 3 deletions(-) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/app-a/App.svelte (100%) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/app-a/File.svelte (100%) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/app-a/Folder.svelte (100%) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/app-b/App.svelte (100%) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/app-b/File.svelte (100%) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/app-b/Folder.svelte (100%) rename site/content/tutorial/16-special-elements/{01-self => 01-svelte-self}/text.md (100%) create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-a/App.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-a/BlueThing.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-a/GreenThing.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-a/RedThing.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-b/App.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-b/BlueThing.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-b/GreenThing.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/app-b/RedThing.svelte create mode 100644 site/content/tutorial/16-special-elements/02-svelte-component/text.md create mode 100644 site/content/tutorial/16-special-elements/03-svelte-window/app-a/App.svelte create mode 100644 site/content/tutorial/16-special-elements/03-svelte-window/app-b/App.svelte create mode 100644 site/content/tutorial/16-special-elements/03-svelte-window/text.md create mode 100644 site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-a/App.svelte create mode 100644 site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-b/App.svelte create mode 100644 site/content/tutorial/16-special-elements/04-svelte-window-bindings/text.md diff --git a/site/content/tutorial/16-special-elements/01-self/app-a/App.svelte b/site/content/tutorial/16-special-elements/01-svelte-self/app-a/App.svelte similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/app-a/App.svelte rename to site/content/tutorial/16-special-elements/01-svelte-self/app-a/App.svelte diff --git a/site/content/tutorial/16-special-elements/01-self/app-a/File.svelte b/site/content/tutorial/16-special-elements/01-svelte-self/app-a/File.svelte similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/app-a/File.svelte rename to site/content/tutorial/16-special-elements/01-svelte-self/app-a/File.svelte diff --git a/site/content/tutorial/16-special-elements/01-self/app-a/Folder.svelte b/site/content/tutorial/16-special-elements/01-svelte-self/app-a/Folder.svelte similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/app-a/Folder.svelte rename to site/content/tutorial/16-special-elements/01-svelte-self/app-a/Folder.svelte diff --git a/site/content/tutorial/16-special-elements/01-self/app-b/App.svelte b/site/content/tutorial/16-special-elements/01-svelte-self/app-b/App.svelte similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/app-b/App.svelte rename to site/content/tutorial/16-special-elements/01-svelte-self/app-b/App.svelte diff --git a/site/content/tutorial/16-special-elements/01-self/app-b/File.svelte b/site/content/tutorial/16-special-elements/01-svelte-self/app-b/File.svelte similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/app-b/File.svelte rename to site/content/tutorial/16-special-elements/01-svelte-self/app-b/File.svelte diff --git a/site/content/tutorial/16-special-elements/01-self/app-b/Folder.svelte b/site/content/tutorial/16-special-elements/01-svelte-self/app-b/Folder.svelte similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/app-b/Folder.svelte rename to site/content/tutorial/16-special-elements/01-svelte-self/app-b/Folder.svelte diff --git a/site/content/tutorial/16-special-elements/01-self/text.md b/site/content/tutorial/16-special-elements/01-svelte-self/text.md similarity index 100% rename from site/content/tutorial/16-special-elements/01-self/text.md rename to site/content/tutorial/16-special-elements/01-svelte-self/text.md diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-a/App.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/App.svelte new file mode 100644 index 0000000000..9fbec68593 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/App.svelte @@ -0,0 +1,27 @@ + + + + +{#if selected.color === 'red'} + +{:else if selected.color === 'green'} + +{:else if selected.color === 'blue'} + +{/if} \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-a/BlueThing.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/BlueThing.svelte new file mode 100644 index 0000000000..f9130d9d65 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/BlueThing.svelte @@ -0,0 +1,5 @@ + + +blue thing \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-a/GreenThing.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/GreenThing.svelte new file mode 100644 index 0000000000..9cbee235d3 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/GreenThing.svelte @@ -0,0 +1,5 @@ + + +green thing \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-a/RedThing.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/RedThing.svelte new file mode 100644 index 0000000000..42f5e4c672 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-a/RedThing.svelte @@ -0,0 +1,5 @@ + + +red thing \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-b/App.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/App.svelte new file mode 100644 index 0000000000..a510fa8ad8 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/App.svelte @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-b/BlueThing.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/BlueThing.svelte new file mode 100644 index 0000000000..f9130d9d65 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/BlueThing.svelte @@ -0,0 +1,5 @@ + + +blue thing \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-b/GreenThing.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/GreenThing.svelte new file mode 100644 index 0000000000..9cbee235d3 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/GreenThing.svelte @@ -0,0 +1,5 @@ + + +green thing \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/app-b/RedThing.svelte b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/RedThing.svelte new file mode 100644 index 0000000000..42f5e4c672 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/app-b/RedThing.svelte @@ -0,0 +1,5 @@ + + +red thing \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/02-svelte-component/text.md b/site/content/tutorial/16-special-elements/02-svelte-component/text.md new file mode 100644 index 0000000000..57a6a3b531 --- /dev/null +++ b/site/content/tutorial/16-special-elements/02-svelte-component/text.md @@ -0,0 +1,23 @@ +--- +title: +--- + +A component can change its category altogether with ``. Instead of a sequence of `if` blocks... + +```html +{#if selected.color === 'red'} + +{:else if selected.color === 'green'} + +{:else if selected.color === 'blue'} + +{/if} +``` + +...we can have a single dynamic component: + +```html + +``` + +The `this` value can be any component constructor, or a falsy value — if it's falsy, no component is rendered. \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/03-svelte-window/app-a/App.svelte b/site/content/tutorial/16-special-elements/03-svelte-window/app-a/App.svelte new file mode 100644 index 0000000000..9fe2bf526c --- /dev/null +++ b/site/content/tutorial/16-special-elements/03-svelte-window/app-a/App.svelte @@ -0,0 +1,42 @@ + + + + + + +
+ {#if key} + {key === ' ' ? 'Space' : key} +

{keyCode}

+ {:else} +

Focus this window and press any key

+ {/if} +
\ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/03-svelte-window/app-b/App.svelte b/site/content/tutorial/16-special-elements/03-svelte-window/app-b/App.svelte new file mode 100644 index 0000000000..845d666dff --- /dev/null +++ b/site/content/tutorial/16-special-elements/03-svelte-window/app-b/App.svelte @@ -0,0 +1,42 @@ + + + + + + +
+ {#if key} + {key === ' ' ? 'Space' : key} +

{keyCode}

+ {:else} +

Focus this window and press any key

+ {/if} +
\ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/03-svelte-window/text.md b/site/content/tutorial/16-special-elements/03-svelte-window/text.md new file mode 100644 index 0000000000..2715da7260 --- /dev/null +++ b/site/content/tutorial/16-special-elements/03-svelte-window/text.md @@ -0,0 +1,11 @@ +--- +title: +--- + +Just as you can add event listeners to any DOM element, you can add event listeners to the `window` object with ``. + +On line 33, add the `keydown` listener: + +```html + +``` \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-a/App.svelte b/site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-a/App.svelte new file mode 100644 index 0000000000..480ba4419e --- /dev/null +++ b/site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-a/App.svelte @@ -0,0 +1,84 @@ + + + + + + {#each [0, 1, 2, 3, 4, 5, 6, 7, 8] as layer} + parallax layer {layer} + {/each} + + +
+ + scroll down + + +
+ You have scrolled {y} pixels +
+
+ + diff --git a/site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-b/App.svelte b/site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-b/App.svelte new file mode 100644 index 0000000000..a4b6f927b7 --- /dev/null +++ b/site/content/tutorial/16-special-elements/04-svelte-window-bindings/app-b/App.svelte @@ -0,0 +1,84 @@ + + + + + + {#each [0, 1, 2, 3, 4, 5, 6, 7, 8] as layer} + parallax layer {layer} + {/each} + + +
+ + scroll down + + +
+ You have scrolled {y} pixels +
+
+ + diff --git a/site/content/tutorial/16-special-elements/04-svelte-window-bindings/text.md b/site/content/tutorial/16-special-elements/04-svelte-window-bindings/text.md new file mode 100644 index 0000000000..c4653e0948 --- /dev/null +++ b/site/content/tutorial/16-special-elements/04-svelte-window-bindings/text.md @@ -0,0 +1,21 @@ +--- +title: bindings +--- + +We can also bind to certain properties of `window`, such as `scrollY`. Update line 7: + +```html + +``` + +The list of properties you can bind to is as follows: + +* `innerWidth` +* `innerHeight` +* `outerWidth` +* `outerHeight` +* `scrollX` +* `scrollY` +* `online` — an alias for `window.navigator.onLine` + +All except `scrollX` and `scrollY` are readonly. \ No newline at end of file diff --git a/site/content/tutorial/99-todo/99-todo/text.md b/site/content/tutorial/99-todo/99-todo/text.md index ce1eef5fe5..42eb753866 100644 --- a/site/content/tutorial/99-todo/99-todo/text.md +++ b/site/content/tutorial/99-todo/99-todo/text.md @@ -144,9 +144,9 @@ Maybe lifecycle should go first, since we're using `onMount` in the `this` demo? ## Special elements -* [ ] `` -* [ ] `` -* [ ] `` +* [x] `` +* [x] `` +* [x] `` * [ ] `` * [ ] ``