diff options
author | 2021-05-17 09:29:16 -0500 | |
---|---|---|
committer | 2021-05-17 09:29:16 -0500 | |
commit | b3886c206f550b53227facd0480a94500ab2515d (patch) | |
tree | b3a1af99f6fa62adeb6996db1c4d47f4015c32d4 /examples/astro-markdown/src/components | |
parent | fe5cf78e8e5760f814aa7f5af4c68f51b2ce457c (diff) | |
download | astro-b3886c206f550b53227facd0480a94500ab2515d.tar.gz astro-b3886c206f550b53227facd0480a94500ab2515d.tar.zst astro-b3886c206f550b53227facd0480a94500ab2515d.zip |
Fix markdown issues (#208)
* Init fix/markdown
* Astro Markdown (#207)
* Add Astro Markdown to VSCode Extension
* Add Astro Markdown to Astro
* refactor: update astro-markdown example
* feat: remove embedded components from `.md` files
* fix: resolve `.md.astro` files at runtime
* chore: update markdown tests
* feat: add <Markdown> component
* chore: bump examples
* chore: update example
* fix: improve Markdown child handling
* feat: harden markdown support, add code fence support, add automatic dedenting
* chore: add weird markdown edge cases
* chore: update remote-markdown examples
* chore: add comment to Markdown.astro
* feat: improve markdown support (codefences, nested inside HTML)
* refactor: extract import specifier types to set
* refactor: conditionally import markdown renderer
* refactor: revert special-cased "astro/components"
* refactor: revert special-cased "astro/components"
* refactor: use astro/components/Markdown.astro
* refactor: remove `.md.astro` support in favor of Markdown component
* refactor: use regular .astro files
* refactor: remove unused code
* refactor: move Markdown inside Layout
* wip: markdown scoped styles
* feat: improve scoped styles in Markdown
* feat: micromark => remark ecosystem
* fix: markdown build
* fix: markdown build
* chore: add todo
* fix: collect headers text
* docs: add Markdown doc
* chore: add changeset
* docs: improve Markdown highlighting
* refactor: prefer Set
* refactor: exclude large unified deps
* docs: update markdown docs
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* chore: remove extra markdown deps
* perf: optimize markdown
* fix: unified/rehype deps
* temp: fix markdown test
* test: add TODO comment
* fix: do not namespace frontmatter, just astro metadata
* test: fix astro-markdown test
* test: add realworld markdown example
* fix: prism language bug
* docs: update markdown docs
* chore: bump dependencies
* fix: escape codespan
* fix: unterminated string literal
* fix(vscode): inline dependencies
* fix(vscode): dependencies
* feat(vscode): embedded markdown
* feat: add Markdown syntax highlighting
* chore: improve markdown example
* fix: markdown example
* feat: highlighting improvements
* chore: add changeset
* fix: CodeBlock => CodeSpan
* chore: get astro-markdown example running
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
Diffstat (limited to 'examples/astro-markdown/src/components')
4 files changed, 88 insertions, 0 deletions
diff --git a/examples/astro-markdown/src/components/PreactCounter.tsx b/examples/astro-markdown/src/components/PreactCounter.tsx new file mode 100644 index 000000000..e3761643f --- /dev/null +++ b/examples/astro-markdown/src/components/PreactCounter.tsx @@ -0,0 +1,20 @@ +import { h, Fragment } from 'preact'; +import { useState } from 'preact/hooks'; + +/** a counter written in Preact */ +export default function PreactCounter({ children }) { + const [count, setCount] = useState(0); + const add = () => setCount((i) => i + 1); + const subtract = () => setCount((i) => i - 1); + + return ( + <> + <div className="counter"> + <button onClick={subtract}>-</button> + <pre>{count}</pre> + <button onClick={add}>+</button> + </div> + <div className="children">{children}</div> + </> + ); +} diff --git a/examples/astro-markdown/src/components/ReactCounter.jsx b/examples/astro-markdown/src/components/ReactCounter.jsx new file mode 100644 index 000000000..92871a8d8 --- /dev/null +++ b/examples/astro-markdown/src/components/ReactCounter.jsx @@ -0,0 +1,19 @@ +import React, { useState } from 'react'; + +/** a counter written in React */ +export default function ReactCounter({ children }) { + const [count, setCount] = useState(0); + const add = () => setCount((i) => i + 1); + const subtract = () => setCount((i) => i - 1); + + return ( + <> + <div className="counter"> + <button onClick={subtract}>-</button> + <pre>{count}</pre> + <button onClick={add}>+</button> + </div> + <div className="children">{children}</div> + </> + ); +} diff --git a/examples/astro-markdown/src/components/SvelteCounter.svelte b/examples/astro-markdown/src/components/SvelteCounter.svelte new file mode 100644 index 000000000..8d6b3f5e1 --- /dev/null +++ b/examples/astro-markdown/src/components/SvelteCounter.svelte @@ -0,0 +1,22 @@ + +<script> + let children; + let count = 0; + + function add() { + count += 1; + } + + function subtract() { + count -= 1; + } +</script> + +<div class="counter"> + <button on:click={subtract}>-</button> + <pre>{ count }</pre> + <button on:click={add}>+</button> +</div> +<div class="children"> + <slot /> +</div> diff --git a/examples/astro-markdown/src/components/VueCounter.vue b/examples/astro-markdown/src/components/VueCounter.vue new file mode 100644 index 000000000..8179fb1d9 --- /dev/null +++ b/examples/astro-markdown/src/components/VueCounter.vue @@ -0,0 +1,27 @@ +<template> + <div class="counter"> + <button @click="subtract()">-</button> + <pre>{{ count }}</pre> + <button @click="add()">+</button> + </div> + <div class="children"> + <slot /> + </div> +</template> + +<script> +import { ref } from 'vue'; +export default { + setup() { + const count = ref(0) + const add = () => count.value = count.value + 1; + const subtract = () => count.value = count.value - 1; + + return { + count, + add, + subtract + } + } +} +</script> |