diff --git a/site/content/tutorial/16-special-elements/01-self/app-a/App.svelte b/site/content/tutorial/16-special-elements/01-self/app-a/App.svelte new file mode 100644 index 0000000000..ff02fa6a42 --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/app-a/App.svelte @@ -0,0 +1,41 @@ + + + \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/01-self/app-a/File.svelte b/site/content/tutorial/16-special-elements/01-self/app-a/File.svelte new file mode 100644 index 0000000000..e34686101a --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/app-a/File.svelte @@ -0,0 +1,14 @@ + + + + +{name} \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/01-self/app-a/Folder.svelte b/site/content/tutorial/16-special-elements/01-self/app-a/Folder.svelte new file mode 100644 index 0000000000..add7fb96d3 --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/app-a/Folder.svelte @@ -0,0 +1,52 @@ + + + + +{name} + +{#if expanded} + +{/if} \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/01-self/app-b/App.svelte b/site/content/tutorial/16-special-elements/01-self/app-b/App.svelte new file mode 100644 index 0000000000..ff02fa6a42 --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/app-b/App.svelte @@ -0,0 +1,41 @@ + + + \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/01-self/app-b/File.svelte b/site/content/tutorial/16-special-elements/01-self/app-b/File.svelte new file mode 100644 index 0000000000..e34686101a --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/app-b/File.svelte @@ -0,0 +1,14 @@ + + + + +{name} \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/01-self/app-b/Folder.svelte b/site/content/tutorial/16-special-elements/01-self/app-b/Folder.svelte new file mode 100644 index 0000000000..c25bb2a93d --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/app-b/Folder.svelte @@ -0,0 +1,52 @@ + + + + +{name} + +{#if expanded} + +{/if} \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/01-self/text.md b/site/content/tutorial/16-special-elements/01-self/text.md new file mode 100644 index 0000000000..773dded83e --- /dev/null +++ b/site/content/tutorial/16-special-elements/01-self/text.md @@ -0,0 +1,25 @@ +--- +title: +--- + +Svelte provides a variety of built-in elements. The first, ``, allows a component to contain itself recursively. + +It's useful for things like this folder tree view, where folders can contain *other* folders. In `Folder.svelte` we want to be able to do this... + +```html +{#if file.type === 'folder'} + +{:else} + +{/if} +``` + +...but that's impossible, because a file can't import itself. Instead, we use ``: + +```html +{#if file.type === 'folder'} + +{:else} + +{/if} +``` \ No newline at end of file diff --git a/site/content/tutorial/16-special-elements/meta.json b/site/content/tutorial/16-special-elements/meta.json new file mode 100644 index 0000000000..2718c14b59 --- /dev/null +++ b/site/content/tutorial/16-special-elements/meta.json @@ -0,0 +1,3 @@ +{ + "title": "Special elements" +} \ 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 683b4fa15b..ce1eef5fe5 100644 --- a/site/content/tutorial/99-todo/99-todo/text.md +++ b/site/content/tutorial/99-todo/99-todo/text.md @@ -52,8 +52,7 @@ Another one should cover how to set up an editor for syntax highlighting. * [x] `export let foo` * [x] `export let foo = 1` - - +* [ ] spread props * [ ] `export function foo(){...}` @@ -140,7 +139,7 @@ Maybe lifecycle should go first, since we're using `onMount` in the `this` demo? ## Context -* [ ] `setContext` and `getContext` +* [x] `setContext` and `getContext` ## Special elements diff --git a/site/static/tutorial/icons/folder-open.svg b/site/static/tutorial/icons/folder-open.svg new file mode 100644 index 0000000000..9dac0ef9e9 --- /dev/null +++ b/site/static/tutorial/icons/folder-open.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/site/static/tutorial/icons/folder.svg b/site/static/tutorial/icons/folder.svg new file mode 100644 index 0000000000..7d4a03f1d2 --- /dev/null +++ b/site/static/tutorial/icons/folder.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/site/static/tutorial/icons/gif.svg b/site/static/tutorial/icons/gif.svg new file mode 100644 index 0000000000..315860a247 --- /dev/null +++ b/site/static/tutorial/icons/gif.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/site/static/tutorial/icons/md.svg b/site/static/tutorial/icons/md.svg new file mode 100644 index 0000000000..60bc36f4a7 --- /dev/null +++ b/site/static/tutorial/icons/md.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/site/static/tutorial/icons/xlsx.svg b/site/static/tutorial/icons/xlsx.svg new file mode 100644 index 0000000000..6ee32e943d --- /dev/null +++ b/site/static/tutorial/icons/xlsx.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file