summaryrefslogtreecommitdiff
path: root/examples/remote-markdown/src
diff options
context:
space:
mode:
authorGravatar Nate Moore <natemoo-re@users.noreply.github.com> 2021-05-17 09:29:16 -0500
committerGravatar GitHub <noreply@github.com> 2021-05-17 09:29:16 -0500
commitb3886c206f550b53227facd0480a94500ab2515d (patch)
treeb3a1af99f6fa62adeb6996db1c4d47f4015c32d4 /examples/remote-markdown/src
parentfe5cf78e8e5760f814aa7f5af4c68f51b2ce457c (diff)
downloadastro-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/remote-markdown/src')
-rw-r--r--examples/remote-markdown/src/components/Yell.jsx5
-rw-r--r--examples/remote-markdown/src/layouts/main.astro14
-rw-r--r--examples/remote-markdown/src/pages/index.astro72
3 files changed, 91 insertions, 0 deletions
diff --git a/examples/remote-markdown/src/components/Yell.jsx b/examples/remote-markdown/src/components/Yell.jsx
new file mode 100644
index 000000000..ae7d0d959
--- /dev/null
+++ b/examples/remote-markdown/src/components/Yell.jsx
@@ -0,0 +1,5 @@
+import { h, Fragment } from 'preact';
+
+export default function Yell({ children }) {
+ return children.filter(v => typeof v === 'string').join('').toUpperCase() + '!'
+}
diff --git a/examples/remote-markdown/src/layouts/main.astro b/examples/remote-markdown/src/layouts/main.astro
new file mode 100644
index 000000000..37fcc0ee7
--- /dev/null
+++ b/examples/remote-markdown/src/layouts/main.astro
@@ -0,0 +1,14 @@
+---
+export let content;
+---
+
+<html>
+ <head>
+ <title>{content.title}</title>
+ </head>
+
+ <body>
+ <slot />
+ <pre>{JSON.stringify(content)}</pre>
+ </body>
+</html>
diff --git a/examples/remote-markdown/src/pages/index.astro b/examples/remote-markdown/src/pages/index.astro
new file mode 100644
index 000000000..402780065
--- /dev/null
+++ b/examples/remote-markdown/src/pages/index.astro
@@ -0,0 +1,72 @@
+---
+import Markdown from 'astro/components/Markdown.astro';
+import Yell from '../components/Yell.jsx';
+const title = 'INTERPOLATED';
+const quietTest = 'interpolated';
+const content = await fetch('https://raw.githubusercontent.com/snowpackjs/snowpack/main/README.md').then(res => res.text());
+---
+
+<!-- Basic -->
+<Markdown>
+# Hello world!
+</Markdown>
+
+ <!-- Indented -->
+ <Markdown>
+ # Hello indent!
+ </Markdown>
+
+<!-- Interpolation -->
+<Markdown>
+# Hello {title}!
+</Markdown>
+
+
+ <!-- Can I break this? -->
+ <Markdown>
+ # I cannot!
+
+ <div>
+ # ahhhh
+ </div>
+
+ <Yell>{quietTest}</Yell>
+
+ <strong>Dope</strong>
+
+ `nice`
+
+ ```
+ plain fence
+ ```
+
+ ```html
+ don't <div>me</div> bro
+ ```
+
+ ```js
+ Astro.fetchContent()
+ ```
+
+ ### cool stuff?
+ ```astro
+ {'can\'t interpolate'}
+ {}
+ {title}
+
+ Do I break? <Markdown> </Markdown>
+ ```
+ </Markdown>
+
+<!-- external content -->
+<Markdown>{content}</Markdown>
+
+<!-- external with newlines -->
+<Markdown>
+ {content}
+</Markdown>
+
+ <!-- external with indentation -->
+ <Markdown>
+ {content}
+ </Markdown>