aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/layout.js22
-rw-r--r--app/not-found.js2
-rw-r--r--app/page.js27
-rw-r--r--app/travel-advisory/page.js11
-rw-r--r--app/updates/[slug]/page.js39
-rw-r--r--app/updates/page.js22
-rw-r--r--components/PostPreview.js14
-rw-r--r--components/getPostMetadata.js20
-rw-r--r--package.json5
-rw-r--r--posts/test.md163
-rw-r--r--posts/welcome.md11
-rw-r--r--public/next.svg1
-rw-r--r--tailwind.config.js4
-rw-r--r--yarn.lock98
14 files changed, 409 insertions, 30 deletions
diff --git a/app/layout.js b/app/layout.js
index 118fad1..97c14ab 100644
--- a/app/layout.js
+++ b/app/layout.js
@@ -6,7 +6,10 @@ import Image from "next/image";
const exo = Exo({ subsets: ['latin'] })
export const metadata = {
- title: 'Government of Alure Regions',
+ title: {
+ template: '%s - Government of Alure Regions',
+ default: 'Government of Alure Regions'
+ },
description: 'The official website of the Government of Alure Regions',
}
@@ -38,29 +41,22 @@ export default function RootLayout({ children }) {
<ul className="font-medium text-lg flex flex-col p-4 md:p-0 mt-4 rounded-lg md:flex-row md:space-x-8 md:mt-0">
{[
['Home', '/'],
- ['Updates', '#'],
+ ['Updates', '/updates'],
['Services', '#'],
- ['Travel Advisory', 'travel-advisory'],
+ ['Travel Advisory', '/travel-advisory'],
].map(([title, url]) => (
- // eslint-disable-next-line react/jsx-key
- <li>
- <Link href={url} className="transition duration-150 ease-out hover:ease-in block py-2 pl-3 pr-4 rounded md:border-0 md:p-0 text-white md:hover:text-blue-500 hover:bg-gray-700 hover:text-white md:hover:bg-transparent">
+ <li key="links">
+ <Link href={url} className="transition duration-150 ease-out hover:ease-in block py-2 pl-3 pr-4 rounded md:border-0 md:p-0 text-white md:hover:text-blue-500 hover:bg-gray-700 hover:text-white md:hover:bg-transparent" aria-current="page">
{title}
</Link>
</li>
))}
- { /*<li>
- <a href="#"
- className="block py-2 pl-3 pr-4 text-white bg-blue-700 rounded md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500"
- aria-current="page">Home</a>
- </li> */}
-
</ul>
</div>
</div>
</nav>
{children}
- <footer className="flex flex-col text-center py-3 space-y-2 bg-blue-950 text-light text-sm sm:text-base">
+ <footer className="flex flex-col text-center py-3 space-y-2 bg-blue-950 text-light text-sm sm:text-base px-5 sm:px-0">
<p>Alure Regions is a fictional country made for the bits & Bytes Minecraft Server</p>
<p>This website is proudly written using Next.JS and Tailwind CSS</p>
</footer>
diff --git a/app/not-found.js b/app/not-found.js
index a3a3571..4046e54 100644
--- a/app/not-found.js
+++ b/app/not-found.js
@@ -5,7 +5,7 @@ export default function NotFound() {
<main className="flex flex-col justify-center context-center text-center p-2">
<h1 className="text-2xl font-bold">404</h1>
<h1 className="text-2xl font-bold">The page you are looking for does not exist.</h1>
- <Link href='/'><p className="text-cyan-600 hover:text-cyan-500">Head back to the home page</p></Link>
+ <Link href='/'><p className="text-cyan-600 hover:text-cyan-500">Head back to the homepage</p></Link>
</main>
)
}
diff --git a/app/page.js b/app/page.js
index dd8513d..188c214 100644
--- a/app/page.js
+++ b/app/page.js
@@ -1,3 +1,7 @@
+export const metadata = {
+ title: 'Home - Government of Alure Regions',
+ description: 'The official website of the Government of Alure Regions',
+}
export default function Home() {
return (
<main className="flex flex-col">
@@ -10,8 +14,8 @@ export default function Home() {
<ul>
<li>
<div className="bg-center bg-no-repeat bg-[url('/regions/alee-isle.webp')] bg-gray-600 bg-blend-multiply">
- <div className="sm:px-40 px-10 py-10 space-y-2">
- <h1 className="font-medium text-5xl">Alee Isle</h1>
+ <div className="sm:px-40 px-10 py-14 space-y-2">
+ <h1 className="font-medium sm:text-5xl text-3xl">Alee Isle</h1>
<span>Est. 2017 - Premier: Alee</span>
<h2 className="text-lg">Capital of Alure Regions and the original home of MinePot</h2>
</div>
@@ -19,17 +23,17 @@ export default function Home() {
</li>
<li>
<div className="bg-center bg-no-repeat bg-[url('/regions/breadcroust.webp')] bg-gray-600 bg-blend-multiply">
- <div className="sm:px-40 px-10 py-10 space-y-2">
- <h1 className="font-medium text-5xl">BreadCroust</h1>
+ <div className="sm:px-40 px-10 py-14 space-y-2">
+ <h1 className="font-medium sm:text-5xl text-3xl">BreadCroust</h1>
<span>Est. 2018 - Premier: Croust</span>
- <h2 className="text-lg">Home to MinePot Barton Centre</h2>
+ <h2 className="text-lg">Home to MinePot Barton Centre and athletics</h2>
</div>
</div>
</li>
<li>
<div className="bg-center bg-no-repeat bg-[url('/regions/skycity.webp')] bg-gray-600 bg-blend-multiply">
- <div className="sm:px-40 px-10 py-10 space-y-2">
- <h1 className="font-medium text-5xl">SkyCity</h1>
+ <div className="sm:px-40 px-10 py-14 space-y-2">
+ <h1 className="font-medium sm:text-5xl text-3xl">SkyCity</h1>
<span>Est. 2018 - Premier: Rahilu</span>
<h2 className="text-lg">A city that floats in the sky</h2>
</div>
@@ -37,17 +41,18 @@ export default function Home() {
</li>
<li>
<div className="bg-center bg-no-repeat bg-[url('/regions/silicon-valley.webp')] bg-gray-600 bg-blend-multiply">
- <div className="sm:px-40 px-10 py-10 space-y-2">
- <h1 className="font-medium text-5xl">Silicon Valley</h1>
+ <div className="sm:px-40 px-10 py-14 space-y-2">
+ <h1 className="font-medium sm:text-5xl text-3xl">Silicon Valley</h1>
<span>Est. 2018 - Premier: Inkydink</span>
- <h2 className="text-lg">Where all tech-related things goes here</h2>
+ <h2 className="text-lg">Where all things tech-related lie</h2>
</div>
</div>
</li>
</ul>
<div className="sm:px-40 px-10 py-3">
- <h1 className="text-2xl font-medium">About Alure Regions</h1>
+ <h1 className="text-2xl font-medium" id="about">About Alure Regions</h1>
<p>Founded in July 2023, the goal of Alure Regions is to have more freedom on our regions.</p>
+ <h1 className="text-2xl font-medium">Latest Updates</h1>
</div>
</main>
)
diff --git a/app/travel-advisory/page.js b/app/travel-advisory/page.js
index 3ce0de0..8dbd639 100644
--- a/app/travel-advisory/page.js
+++ b/app/travel-advisory/page.js
@@ -1,14 +1,19 @@
+export const metadata = {
+ title: 'Travel Advisory',
+ description: 'Information whether its safe to travel to other countries',
+}
+
export default function TravelAdvisory(){
return (
<main className="flex flex-col">
<div className="bg-center bg-no-repeat bg-[url('/jumbotron.webp')] bg-gray-700 bg-blend-multiply">
<div className="sm:px-40 px-10 max-w-screen-xl text-left py-24 lg:py-10 space-y-3">
- <h1 className="font-medium text-4xl">Travel Advisory</h1>
- <h2 className="font-light text-lg">Information whether its safe to travel to other countries</h2>
+ <h1 className="font-medium text-4xl">{metadata.title}</h1>
+ <h2 className="font-light text-lg">{metadata.description}</h2>
</div>
</div>
<div>
- <h1 className="p-5 sm:px-40 px-10 text-3xl">Legend</h1>
+ <h1 className="p-5 sm:px-40 px-10 text-3xl" id="legend">Legend</h1>
<ul>
<li className="p-6 sm:px-40 px-10 bg-green-950">
<p className="font-medium text-lg">Take normal security precautions</p>
diff --git a/app/updates/[slug]/page.js b/app/updates/[slug]/page.js
new file mode 100644
index 0000000..44c1f07
--- /dev/null
+++ b/app/updates/[slug]/page.js
@@ -0,0 +1,39 @@
+import {readFileSync} from "fs";
+import Markdown from "markdown-to-jsx"
+import matter from "gray-matter";
+import getPostMetadata from "@/components/getPostMetadata";
+
+const getPostContent = (slug) => {
+ const folder = "posts/";
+ const file = `${folder}${slug}.md`;
+ const content = readFileSync(file, "utf-8");
+ return matter(content);
+}
+
+export const generateStaticParams = async () => {
+ const posts = getPostMetadata();
+ return posts.map((post) => ({
+ slug: post.slug,
+ }))
+}
+
+export default function PostPage(props) {
+ const slug = props.params.slug;
+ const post = getPostContent(slug);
+ return (
+ <main>
+ <div className="bg-center bg-no-repeat bg-[url('/jumbotron.webp')] bg-gray-700 bg-blend-multiply">
+ <div className="sm:px-40 px-10 max-w-screen-xl text-left py-24 lg:py-10 space-y-3">
+ <h1 className="font-medium text-4xl">{post.data.title}</h1>
+ <h2 className="text-sm">{post.data.author} | {post.data.date}</h2>
+ <h2 className="font-light text-lg">{post.data.description}</h2>
+ </div>
+ </div>
+ <div className="md:px-80 px-20 mx-auto p-6 bg-zinc-800">
+ <article className="prose lg-prose-xl prose-invert">
+ <Markdown>{post.content}</Markdown>
+ </article>
+ </div>
+ </main>
+ )
+}
diff --git a/app/updates/page.js b/app/updates/page.js
new file mode 100644
index 0000000..3f20871
--- /dev/null
+++ b/app/updates/page.js
@@ -0,0 +1,22 @@
+import getPostMetadata from "@/components/getPostMetadata";
+import PostPreview from "@/components/PostPreview";
+
+export default function Updates() {
+ const postMetadata = getPostMetadata();
+ const postPreviews = postMetadata.map((post) => (
+ <PostPreview key={post.slug} {...post} />
+ ));
+ return (
+ <main className="flex flex-col">
+ <div className="bg-center bg-no-repeat bg-[url('/jumbotron.webp')] bg-gray-700 bg-blend-multiply">
+ <div className="md:px-40 px-10 max-w-screen-xl text-left py-24 lg:py-10 space-y-3">
+ <h1 className="font-medium text-4xl">Updates</h1>
+ <h2 className="font-light text-lg">Follow the latest updates from the Government of Alure Regions</h2>
+ </div>
+ </div>
+ <div className="md:px-60 px-2 py-3">
+ <div className="px-10 grid grid-cols-1 md:grid-cols-2 gap-4">{postPreviews}</div>
+ </div>
+ </main>
+ )
+}
diff --git a/components/PostPreview.js b/components/PostPreview.js
new file mode 100644
index 0000000..6eca000
--- /dev/null
+++ b/components/PostPreview.js
@@ -0,0 +1,14 @@
+import Link from "next/link";
+
+export default function PostPreview(props) {
+ return (
+ <div key="post" className="py-2 bg-zinc-800 py-3 px-5 border border-gray-600 rounded-lg space-y-3">
+ <Link href={`/updates/${props.slug}`}>
+ <h2 className="font-medium text-2xl hover:underline">{props.title}</h2>
+ </Link>
+ <span>By {props.author}</span>
+ <p>{props.description}</p>
+ <p className="font-medium text-sm">Posted on {props.date}</p>
+ </div>
+ )
+}
diff --git a/components/getPostMetadata.js b/components/getPostMetadata.js
new file mode 100644
index 0000000..88e4566
--- /dev/null
+++ b/components/getPostMetadata.js
@@ -0,0 +1,20 @@
+import {readdirSync, readFileSync} from "fs";
+import matter from "gray-matter";
+
+export default function getPostMetadata() {
+ const folder = "posts/";
+ const files = readdirSync(folder);
+ const markdownPosts = files.filter((file) => file.endsWith(".md"));
+
+ return markdownPosts.map((fileName) => {
+ const fileContent = readFileSync(`posts/${fileName}`, "utf-8");
+ const matterResult = matter(fileContent);
+ return {
+ title: matterResult.data.title,
+ author: matterResult.data.author,
+ date: matterResult.data.date,
+ description: matterResult.data.description,
+ slug: fileName.replace(".md", "")
+ }
+ })
+}
diff --git a/package.json b/package.json
index a378f21..71c9ddd 100644
--- a/package.json
+++ b/package.json
@@ -12,10 +12,15 @@
"autoprefixer": "10.4.14",
"eslint": "8.44.0",
"eslint-config-next": "13.4.10",
+ "gray-matter": "^4.0.3",
+ "markdown-to-jsx": "^7.2.1",
"next": "13.4.10",
"postcss": "8.4.26",
"react": "18.2.0",
"react-dom": "18.2.0",
"tailwindcss": "3.3.3"
+ },
+ "devDependencies": {
+ "@tailwindcss/typography": "^0.5.9"
}
}
diff --git a/posts/test.md b/posts/test.md
new file mode 100644
index 0000000..186a2cb
--- /dev/null
+++ b/posts/test.md
@@ -0,0 +1,163 @@
+---
+title: Markdown Test
+description: Test2
+author: President
+date: '2023-07-15'
+---
+An h1 header
+============
+
+Paragraphs are separated by a blank line.
+
+2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists
+look like:
+
+* this one
+* that one
+* the other one
+
+Note that --- not considering the asterisk --- the actual text
+content starts at 4-columns in.
+
+> Block quotes are
+> written like so.
+>
+> They can span multiple paragraphs,
+> if you like.
+
+Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
+in chapters 12--14"). Three dots ... will be converted to an ellipsis.
+Unicode is supported. ☺
+
+
+
+An h2 header
+------------
+
+Here's a numbered list:
+
+1. first item
+2. second item
+3. third item
+
+Note again how the actual text starts at 4 columns in (4 characters
+from the left side). Here's a code sample:
+
+ # Let me re-iterate ...
+ for i in 1 .. 10 { do-something(i) }
+
+As you probably guessed, indented 4 spaces. By the way, instead of
+indenting the block, you can use delimited blocks, if you like:
+
+~~~
+define foobar() {
+ print "Welcome to flavor country!";
+}
+~~~
+
+(which makes copying & pasting easier). You can optionally mark the
+delimited block for Pandoc to syntax highlight it:
+
+~~~python
+import time
+# Quick, count to ten!
+for i in range(10):
+ # (but not *too* quick)
+ time.sleep(0.5)
+ print i
+~~~
+
+
+
+### An h3 header ###
+
+Now a nested list:
+
+1. First, get these ingredients:
+
+ * carrots
+ * celery
+ * lentils
+
+2. Boil some water.
+
+3. Dump everything in the pot and follow
+ this algorithm:
+
+ find wooden spoon
+ uncover pot
+ stir
+ cover pot
+ balance wooden spoon precariously on pot handle
+ wait 10 minutes
+ goto first step (or shut off burner when done)
+
+ Do not bump wooden spoon or it will fall.
+
+Notice again how text always lines up on 4-space indents (including
+that last line which continues item 3 above).
+
+Here's a link to [a website](http://foo.bar), to a [local
+doc](local-doc.html), and to a [section heading in the current
+doc](#an-h2-header). Here's a footnote [^1].
+
+[^1]: Footnote text goes here.
+
+Tables can look like this:
+
+size material color
+---- ------------ ------------
+9 leather brown
+10 hemp canvas natural
+11 glass transparent
+
+Table: Shoes, their sizes, and what they're made of
+
+(The above is the caption for the table.) Pandoc also supports
+multi-line tables:
+
+-------- -----------------------
+keyword text
+-------- -----------------------
+red Sunsets, apples, and
+other red or reddish
+things.
+
+green Leaves, grass, frogs
+and other things it's
+not easy being.
+-------- -----------------------
+
+A horizontal rule follows.
+
+***
+
+Here's a definition list:
+
+apples
+: Good for making applesauce.
+oranges
+: Citrus!
+tomatoes
+: There's no "e" in tomatoe.
+
+Again, text is indented 4 spaces. (Put a blank line between each
+term/definition pair to spread things out more.)
+
+Here's a "line block":
+
+| Line one
+| Line too
+| Line tree
+
+and images can be specified like so:
+
+![example image](/jumbotron.webp "An exemplary image")
+
+Inline math equations go in like so: $\omega = d\phi / dt$. Display
+math should get its own line and be put in in double-dollarsigns:
+
+$$I = \int \rho R^{2} dV$$
+
+And note that you can backslash-escape any punctuation characters
+which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc.
diff --git a/posts/welcome.md b/posts/welcome.md
new file mode 100644
index 0000000..b7e28be
--- /dev/null
+++ b/posts/welcome.md
@@ -0,0 +1,11 @@
+---
+title: Website Launched
+description: Our new website is now available
+author: The President of the Alure Regions
+date: '2023-07-15'
+---
+Hello,
+
+As you might have seen, we have created a website. What will this website become?
+
+First it will be used for updates within Alure Regions, it is used for
diff --git a/public/next.svg b/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg> \ No newline at end of file
diff --git a/tailwind.config.js b/tailwind.config.js
index 8c4d1b2..86b035f 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -14,5 +14,7 @@ module.exports = {
},
},
},
- plugins: [],
+ plugins: [
+ require('@tailwindcss/typography'),
+ ],
}
diff --git a/yarn.lock b/yarn.lock
index b6b065c..4629236 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -209,6 +209,16 @@
dependencies:
tslib "^2.4.0"
+"@tailwindcss/typography@^0.5.9":
+ version "0.5.9"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.9.tgz#027e4b0674929daaf7c921c900beee80dbad93e8"
+ integrity sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==
+ dependencies:
+ lodash.castarray "^4.4.0"
+ lodash.isplainobject "^4.0.6"
+ lodash.merge "^4.6.2"
+ postcss-selector-parser "6.0.10"
+
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
@@ -308,6 +318,13 @@ arg@^5.0.2:
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
argparse@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
@@ -923,6 +940,11 @@ espree@^9.6.0:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^3.4.1"
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
esquery@^1.4.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
@@ -977,6 +999,13 @@ execa@^7.1.1:
signal-exit "^3.0.7"
strip-final-newline "^3.0.0"
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
+ dependencies:
+ is-extendable "^0.1.0"
+
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -1226,6 +1255,16 @@ graphemer@^1.4.0:
resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
+gray-matter@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
+ integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
+ dependencies:
+ js-yaml "^3.13.1"
+ kind-of "^6.0.2"
+ section-matter "^1.0.0"
+ strip-bom-string "^1.0.0"
+
has-bigints@^1.0.1, has-bigints@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
@@ -1377,6 +1416,11 @@ is-docker@^3.0.0:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200"
integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
+is-extendable@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
+
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -1497,6 +1541,14 @@ jiti@^1.18.2:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-yaml@^3.13.1:
+ version "3.14.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
js-yaml@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
@@ -1531,6 +1583,11 @@ json5@^1.0.2:
object.assign "^4.1.4"
object.values "^1.1.6"
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
language-subtag-registry@~0.3.2:
version "0.3.22"
resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d"
@@ -1568,6 +1625,16 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
+lodash.castarray@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
+ integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+ integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
lodash.merge@^4.6.2:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
@@ -1587,6 +1654,11 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
+markdown-to-jsx@^7.2.1:
+ version "7.2.1"
+ resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.2.1.tgz#87061fd3176ad926ef3d99493e5c57f6335e0c51"
+ integrity sha512-9HrdzBAo0+sFz9ZYAGT5fB8ilzTW+q6lPocRxrIesMO+aB40V9MgFfbfMXxlGjf22OpRy+IXlvVaQenicdpgbg==
+
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -1919,6 +1991,14 @@ postcss-nested@^6.0.1:
dependencies:
postcss-selector-parser "^6.0.11"
+postcss-selector-parser@6.0.10:
+ version "6.0.10"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
+ integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
postcss-selector-parser@^6.0.11:
version "6.0.13"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
@@ -2092,6 +2172,14 @@ scheduler@^0.23.0:
dependencies:
loose-envify "^1.1.0"
+section-matter@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
+ integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
+ dependencies:
+ extend-shallow "^2.0.1"
+ kind-of "^6.0.0"
+
semver@^6.3.0:
version "6.3.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
@@ -2145,6 +2233,11 @@ source-map-js@^1.0.2:
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
streamsearch@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
@@ -2198,6 +2291,11 @@ strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
+strip-bom-string@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
+ integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==
+
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"