This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch feat-docusaurus
in repository https://gitbox.apache.org/repos/asf/apisix-website.git

commit 063b2c0918fae7711777aa55a63ee9e65c2f4360
Author: juzhiyuan <[email protected]>
AuthorDate: Sat Aug 22 10:32:11 2020 +0800

    feat: intial
---
 .dockerignore                                  |   2 +
 .gitignore                                     |  12 ++
 Dockerfile                                     |  10 ++
 README.md                                      |  12 +-
 docker-compose.yml                             |  18 +++
 docs/doc1.md                                   |  29 ++++
 docs/doc2.md                                   |   7 +
 docs/doc3.md                                   |  14 ++
 docs/exampledoc4.md                            |   6 +
 docs/exampledoc5.md                            |   6 +
 website/README.md                              | 198 +++++++++++++++++++++++
 website/blog/2016-03-11-blog-post.md           |  18 +++
 website/blog/2017-04-10-blog-post-two.md       |  18 +++
 website/blog/2017-09-25-testing-rss.md         |  14 ++
 website/blog/2017-09-26-adding-rss.md          |  10 ++
 website/blog/2017-10-24-new-version-1.0.0.md   |   8 +
 website/core/Footer.js                         | 116 ++++++++++++++
 website/package.json                           |  14 ++
 website/pages/en/help.js                       |  54 +++++++
 website/pages/en/index.js                      | 213 +++++++++++++++++++++++++
 website/pages/en/users.js                      |  53 ++++++
 website/sidebars.json                          |  10 ++
 website/siteConfig.js                          | 110 +++++++++++++
 website/static/css/custom.css                  |  23 +++
 website/static/img/favicon.ico                 | Bin 0 -> 766 bytes
 website/static/img/oss_logo.png                | Bin 0 -> 4370 bytes
 website/static/img/undraw_code_review.svg      |   1 +
 website/static/img/undraw_monitor.svg          |   1 +
 website/static/img/undraw_note_list.svg        |   1 +
 website/static/img/undraw_online.svg           |   1 +
 website/static/img/undraw_open_source.svg      |   1 +
 website/static/img/undraw_operating_system.svg |   1 +
 website/static/img/undraw_react.svg            |   1 +
 website/static/img/undraw_tweetstorm.svg       |   1 +
 website/static/img/undraw_youtube_tutorial.svg |   1 +
 35 files changed, 983 insertions(+), 1 deletion(-)

diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..27d2dae
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,2 @@
+*/node_modules
+*.log
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5395ea7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+.DS_Store
+
+node_modules
+
+lib/core/metadata.js
+lib/core/MetadataBlog.js
+
+website/translated_docs
+website/build/
+website/yarn.lock
+website/node_modules
+website/i18n/*
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..c7f1856
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,10 @@
+FROM node:lts
+
+WORKDIR /app/website
+
+EXPOSE 3000 35729
+COPY ./docs /app/docs
+COPY ./website /app/website
+RUN yarn install
+
+CMD ["yarn", "start"]
diff --git a/README.md b/README.md
index 1eff2e4..1d52ec8 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,15 @@
 # Apache APISIX Website
 
-> The website of [Apache APISIX](https://github.com/apache/apisix), a 
cloud-native microservices api gateway.
+The website of [Apache APISIX](https://github.com/apache/apisix), a 
cloud-native microservices api gateway.
+
+## Usage
+
+```sh
+$ cd website
+
+$ yarn
+
+$ yarn start
+```
 
 Thanks to [docusaurus](https://docusaurus.io/)
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..6711192
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,18 @@
+version: "3"
+
+services:
+  docusaurus:
+    build: .
+    ports:
+      - 3000:3000
+      - 35729:35729
+    volumes:
+      - ./docs:/app/docs
+      - ./website/blog:/app/website/blog
+      - ./website/core:/app/website/core
+      - ./website/i18n:/app/website/i18n
+      - ./website/pages:/app/website/pages
+      - ./website/static:/app/website/static
+      - ./website/sidebars.json:/app/website/sidebars.json
+      - ./website/siteConfig.js:/app/website/siteConfig.js
+    working_dir: /app/website
diff --git a/docs/doc1.md b/docs/doc1.md
new file mode 100644
index 0000000..37fa73f
--- /dev/null
+++ b/docs/doc1.md
@@ -0,0 +1,29 @@
+---
+id: doc1
+title: Latin-ish
+sidebar_label: Example Page
+---
+
+Check the [documentation](https://docusaurus.io) for how to use Docusaurus.
+
+## Lorem
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque 
elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam 
consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus 
elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut 
odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada 
iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien.
+
+## Mauris In Code
+
+```
+Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec 
volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum 
ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum 
nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum 
bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio 
facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare 
arcu tincidunt sit amet. Maece [...]
+```
+
+## Nulla
+
+Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, 
pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget 
iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse 
fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus 
elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius 
natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras 
et aliquet lectus. Pelle [...]
+
+## Orci
+
+Orci varius natoque penatibus et magnis dis parturient montes, nascetur 
ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum 
hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque 
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in 
tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel 
vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit 
ut. Sed non mollis risus. Duis sagittis, mi  [...]
+
+## Phasellus
+
+Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin 
sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor 
hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in 
faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. 
Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum 
facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis 
condimentum bibendum, nunc dolor aliquam massa, id bib [...]
diff --git a/docs/doc2.md b/docs/doc2.md
new file mode 100644
index 0000000..20c0c95
--- /dev/null
+++ b/docs/doc2.md
@@ -0,0 +1,7 @@
+---
+id: doc2
+title: document number 2
+---
+
+This is a link to [another document.](doc3.md)  
+This is a link to an [external page.](http://www.example.com)
diff --git a/docs/doc3.md b/docs/doc3.md
new file mode 100644
index 0000000..2cc6183
--- /dev/null
+++ b/docs/doc3.md
@@ -0,0 +1,14 @@
+---
+id: doc3
+title: This is document number 3
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. In ac euismod odio, 
eu consequat dui. Nullam molestie consectetur risus id imperdiet. Proin sodales 
ornare turpis, non mollis massa ultricies id. Nam at nibh scelerisque, feugiat 
ante non, dapibus tortor. Vivamus volutpat diam quis tellus elementum bibendum. 
Praesent semper gravida velit quis aliquam. Etiam in cursus neque. Nam lectus 
ligula, malesuada et mauris a, bibendum faucibus mi. Phasellus ut interdum 
felis. Phasellus in odi [...]
+
+Duis et egestas libero, imperdiet faucibus ipsum. Sed posuere eget urna vel 
feugiat. Vivamus a arcu sagittis, fermentum urna dapibus, congue lectus. Fusce 
vulputate porttitor nisl, ac cursus elit volutpat vitae. Nullam vitae ipsum 
egestas, convallis quam non, porta nibh. Morbi gravida erat nec neque bibendum, 
eu pellentesque velit posuere. Fusce aliquam erat eu massa eleifend tristique.
+
+Sed consequat sollicitudin ipsum eget tempus. Integer a aliquet velit. In 
justo nibh, pellentesque non suscipit eget, gravida vel lacus. Donec odio ante, 
malesuada in massa quis, pharetra tristique ligula. Donec eros est, tristique 
eget finibus quis, semper non nisl. Vivamus et elit nec enim ornare placerat. 
Sed posuere odio a elit cursus sagittis.
+
+Phasellus feugiat purus eu tortor ultrices finibus. Ut libero nibh, lobortis 
et libero nec, dapibus posuere eros. Sed sagittis euismod justo at consectetur. 
Nulla finibus libero placerat, cursus sapien at, eleifend ligula. Vivamus elit 
nisl, hendrerit ac nibh eu, ultrices tempus dui. Nam tellus neque, commodo non 
rhoncus eu, gravida in risus. Nullam id iaculis tortor.
+
+Nullam at odio in sem varius tempor sit amet vel lorem. Etiam eu hendrerit 
nisl. Fusce nibh mauris, vulputate sit amet ex vitae, congue rhoncus nisl. Sed 
eget tellus purus. Nullam tempus commodo erat ut tristique. Cras accumsan massa 
sit amet justo consequat eleifend. Integer scelerisque vitae tellus id 
consectetur.
diff --git a/docs/exampledoc4.md b/docs/exampledoc4.md
new file mode 100644
index 0000000..6f94ffe
--- /dev/null
+++ b/docs/exampledoc4.md
@@ -0,0 +1,6 @@
+---
+id: doc4
+title: Other Document
+---
+
+this is another document
diff --git a/docs/exampledoc5.md b/docs/exampledoc5.md
new file mode 100644
index 0000000..92e2d0d
--- /dev/null
+++ b/docs/exampledoc5.md
@@ -0,0 +1,6 @@
+---
+id: doc5
+title: Fifth Document
+---
+
+Another one
diff --git a/website/README.md b/website/README.md
new file mode 100644
index 0000000..6477a55
--- /dev/null
+++ b/website/README.md
@@ -0,0 +1,198 @@
+This website was created with [Docusaurus](https://docusaurus.io/).
+
+# What's In This Document
+
+- [Get Started in 5 Minutes](#get-started-in-5-minutes)
+- [Directory Structure](#directory-structure)
+- [Editing Content](#editing-content)
+- [Adding Content](#adding-content)
+- [Full Documentation](#full-documentation)
+
+# Get Started in 5 Minutes
+
+1. Make sure all the dependencies for the website are installed:
+
+```sh
+# Install dependencies
+$ yarn
+```
+
+2. Run your dev server:
+
+```sh
+# Start the site
+$ yarn start
+```
+
+## Directory Structure
+
+Your project file structure should look something like this
+
+```
+my-docusaurus/
+  docs/
+    doc-1.md
+    doc-2.md
+    doc-3.md
+  website/
+    blog/
+      2016-3-11-oldest-post.md
+      2017-10-24-newest-post.md
+    core/
+    node_modules/
+    pages/
+    static/
+      css/
+      img/
+    package.json
+    sidebars.json
+    siteConfig.js
+```
+
+# Editing Content
+
+## Editing an existing docs page
+
+Edit docs by navigating to `docs/` and editing the corresponding document:
+
+`docs/doc-to-be-edited.md`
+
+```markdown
+---
+id: page-needs-edit
+title: This Doc Needs To Be Edited
+---
+
+Edit me...
+```
+
+For more information about docs, click 
[here](https://docusaurus.io/docs/en/navigation)
+
+## Editing an existing blog post
+
+Edit blog posts by navigating to `website/blog` and editing the corresponding 
post:
+
+`website/blog/post-to-be-edited.md`
+
+```markdown
+---
+id: post-needs-edit
+title: This Blog Post Needs To Be Edited
+---
+
+Edit me...
+```
+
+For more information about blog posts, click 
[here](https://docusaurus.io/docs/en/adding-blog)
+
+# Adding Content
+
+## Adding a new docs page to an existing sidebar
+
+1. Create the doc as a new markdown file in `/docs`, example 
`docs/newly-created-doc.md`:
+
+```md
+---
+id: newly-created-doc
+title: This Doc Needs To Be Edited
+---
+
+My new content here..
+```
+
+1. Refer to that doc's ID in an existing sidebar in `website/sidebars.json`:
+
+```javascript
+// Add newly-created-doc to the Getting Started category of docs
+{
+  "docs": {
+    "Getting Started": [
+      "quick-start",
+      "newly-created-doc" // new doc here
+    ],
+    ...
+  },
+  ...
+}
+```
+
+For more information about adding new docs, click 
[here](https://docusaurus.io/docs/en/navigation)
+
+## Adding a new blog post
+
+1. Make sure there is a header link to your blog in `website/siteConfig.js`:
+
+`website/siteConfig.js`
+
+```javascript
+headerLinks: [
+    ...
+    { blog: true, label: 'Blog' },
+    ...
+]
+```
+
+2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in 
`website/blog`:
+
+`website/blog/2018-05-21-New-Blog-Post.md`
+
+```markdown
+---
+author: Frank Li
+authorURL: https://twitter.com/foobarbaz
+authorFBID: 503283835
+title: New Blog Post
+---
+
+Lorem Ipsum...
+```
+
+For more information about blog posts, click 
[here](https://docusaurus.io/docs/en/adding-blog)
+
+## Adding items to your site's top navigation bar
+
+1. Add links to docs, custom pages or external links by editing the 
headerLinks field of `website/siteConfig.js`:
+
+`website/siteConfig.js`
+
+```javascript
+{
+  headerLinks: [
+    ...
+    /* you can add docs */
+    { doc: 'my-examples', label: 'Examples' },
+    /* you can add custom pages */
+    { page: 'help', label: 'Help' },
+    /* you can add external links */
+    { href: 'https://github.com/facebook/docusaurus', label: 'GitHub' },
+    ...
+  ],
+  ...
+}
+```
+
+For more information about the navigation bar, click 
[here](https://docusaurus.io/docs/en/navigation)
+
+## Adding custom pages
+
+1. Docusaurus uses React components to build pages. The components are saved 
as .js files in `website/pages/en`:
+1. If you want your page to show up in your navigation header, you will need 
to update `website/siteConfig.js` to add to the `headerLinks` element:
+
+`website/siteConfig.js`
+
+```javascript
+{
+  headerLinks: [
+    ...
+    { page: 'my-new-custom-page', label: 'My New Custom Page' },
+    ...
+  ],
+  ...
+}
+```
+
+For more information about custom pages, click 
[here](https://docusaurus.io/docs/en/custom-pages).
+
+# Full Documentation
+
+Full documentation can be found on the [website](https://docusaurus.io/).
diff --git a/website/blog/2016-03-11-blog-post.md 
b/website/blog/2016-03-11-blog-post.md
new file mode 100644
index 0000000..cf2ba29
--- /dev/null
+++ b/website/blog/2016-03-11-blog-post.md
@@ -0,0 +1,18 @@
+---
+title: Blog Title
+author: Blog Author
+authorURL: http://twitter.com/
+authorFBID: 100002976521003
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque 
elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam 
consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus 
elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut 
odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada 
iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien.
+
+<!--truncate-->
+
+Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec 
volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum 
ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum 
nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum 
bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio 
facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare 
arcu tincidunt sit amet. Maece [...]
+
+Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, 
pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget 
iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse 
fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus 
elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius 
natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras 
et aliquet lectus. Pelle [...]
+
+Orci varius natoque penatibus et magnis dis parturient montes, nascetur 
ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum 
hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque 
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in 
tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel 
vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit 
ut. Sed non mollis risus. Duis sagittis, mi  [...]
+
+Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin 
sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor 
hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in 
faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. 
Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum 
facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis 
condimentum bibendum, nunc dolor aliquam massa, id bib [...]
diff --git a/website/blog/2017-04-10-blog-post-two.md 
b/website/blog/2017-04-10-blog-post-two.md
new file mode 100644
index 0000000..3ab4637
--- /dev/null
+++ b/website/blog/2017-04-10-blog-post-two.md
@@ -0,0 +1,18 @@
+---
+title: New Blog Post
+author: Blog Author
+authorURL: http://twitter.com/
+authorFBID: 100002976521003
+---
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque 
elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam 
consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus 
elementum massa eget nulla aliquet sagittis. Proin odio tortor, vulputate ut 
odio in, ultrices ultricies augue. Cras ornare ultrices lorem malesuada 
iaculis. Etiam sit amet libero tempor, pulvinar mauris sed, sollicitudin sapien.
+
+<!--truncate-->
+
+Mauris vestibulum ullamcorper nibh, ut semper purus pulvinar ut. Donec 
volutpat orci sit amet mauris malesuada, non pulvinar augue aliquam. Vestibulum 
ultricies at urna ut suscipit. Morbi iaculis, erat at imperdiet semper, ipsum 
nulla sodales erat, eget tincidunt justo dui quis justo. Pellentesque dictum 
bibendum diam at aliquet. Sed pulvinar, dolor quis finibus ornare, eros odio 
facilisis erat, eu rhoncus nunc dui sed ex. Nunc gravida dui massa, sed ornare 
arcu tincidunt sit amet. Maece [...]
+
+Nulla facilisi. Maecenas sodales nec purus eget posuere. Sed sapien quam, 
pretium a risus in, porttitor dapibus erat. Sed sit amet fringilla ipsum, eget 
iaculis augue. Integer sollicitudin tortor quis ultricies aliquam. Suspendisse 
fringilla nunc in tellus cursus, at placerat tellus scelerisque. Sed tempus 
elit a sollicitudin rhoncus. Nulla facilisi. Morbi nec dolor dolor. Orci varius 
natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras 
et aliquet lectus. Pelle [...]
+
+Orci varius natoque penatibus et magnis dis parturient montes, nascetur 
ridiculus mus. Proin venenatis lectus dui, vel ultrices ante bibendum 
hendrerit. Aenean egestas feugiat dui id hendrerit. Orci varius natoque 
penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur in 
tellus laoreet, eleifend nunc id, viverra leo. Proin vulputate non dolor vel 
vulputate. Curabitur pretium lobortis felis, sit amet finibus lorem suscipit 
ut. Sed non mollis risus. Duis sagittis, mi  [...]
+
+Phasellus pulvinar ex id commodo imperdiet. Praesent odio nibh, sollicitudin 
sit amet faucibus id, placerat at metus. Donec vitae eros vitae tortor 
hendrerit finibus. Interdum et malesuada fames ac ante ipsum primis in 
faucibus. Quisque vitae purus dolor. Duis suscipit ac nulla et finibus. 
Phasellus ac sem sed dui dictum gravida. Phasellus eleifend vestibulum 
facilisis. Integer pharetra nec enim vitae mattis. Duis auctor, lectus quis 
condimentum bibendum, nunc dolor aliquam massa, id bib [...]
diff --git a/website/blog/2017-09-25-testing-rss.md 
b/website/blog/2017-09-25-testing-rss.md
new file mode 100644
index 0000000..13a42f7
--- /dev/null
+++ b/website/blog/2017-09-25-testing-rss.md
@@ -0,0 +1,14 @@
+---
+title: Adding RSS Support - RSS Truncation Test
+author: Eric Nakagawa
+authorURL: http://twitter.com/ericnakagawa
+authorFBID: 661277173
+---
+
+1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
+
+This should be truncated.
+
+<!--truncate-->
+
+This line should never render in XML.
diff --git a/website/blog/2017-09-26-adding-rss.md 
b/website/blog/2017-09-26-adding-rss.md
new file mode 100644
index 0000000..eeb4f04
--- /dev/null
+++ b/website/blog/2017-09-26-adding-rss.md
@@ -0,0 +1,10 @@
+---
+title: Adding RSS Support
+author: Eric Nakagawa
+authorURL: http://twitter.com/ericnakagawa
+authorFBID: 661277173
+---
+
+This is a test post.
+
+A whole bunch of other information.
diff --git a/website/blog/2017-10-24-new-version-1.0.0.md 
b/website/blog/2017-10-24-new-version-1.0.0.md
new file mode 100644
index 0000000..60761c0
--- /dev/null
+++ b/website/blog/2017-10-24-new-version-1.0.0.md
@@ -0,0 +1,8 @@
+---
+title: New Version 1.0.0
+author: Eric Nakagawa
+authorURL: http://twitter.com/ericnakagawa
+authorFBID: 661277173
+---
+
+This blog post will test file name parsing issues when periods are present.
diff --git a/website/core/Footer.js b/website/core/Footer.js
new file mode 100644
index 0000000..90d0f6e
--- /dev/null
+++ b/website/core/Footer.js
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+const React = require('react');
+
+class Footer extends React.Component {
+  docUrl(doc) {
+    const baseUrl = this.props.config.baseUrl;
+    const docsUrl = this.props.config.docsUrl;
+    const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
+    return `${baseUrl}${docsPart}${doc}`;
+  }
+
+  render() {
+    return (
+      <footer className="nav-footer" id="footer">
+        <section className="sitemap">
+          <a href={this.props.config.baseUrl} className="nav-home">
+            {this.props.config.footerIcon && (
+              <img
+                src={this.props.config.baseUrl + this.props.config.footerIcon}
+                alt={this.props.config.title}
+                width="66"
+                height="58"
+              />
+            )}
+          </a>
+          <div>
+            <h5>Docs</h5>
+            <a href={this.docUrl('doc1.html')}>
+              Getting Started (or other categories)
+            </a>
+            <a href={this.docUrl('doc2.html')}>Guides (or other categories)</a>
+            <a href={this.docUrl('doc3.html')}>
+              API Reference (or other categories)
+            </a>
+          </div>
+          <div>
+            <h5>Community</h5>
+            <a href={`${this.props.config.baseUrl}users`}>User Showcase</a>
+            <a
+              href="https://stackoverflow.com/questions/tagged/";
+              target="_blank"
+              rel="noreferrer noopener">
+              Stack Overflow
+            </a>
+            <a href="https://discordapp.com/";>Project Chat</a>
+            <a
+              href="https://twitter.com/";
+              target="_blank"
+              rel="noreferrer noopener">
+              Twitter
+            </a>
+          </div>
+          <div>
+            <h5>More</h5>
+            <a href={`${this.props.config.baseUrl}blog`}>Blog</a>
+            <a href="https://github.com/";>GitHub</a>
+            <a
+              className="github-button"
+              href={this.props.config.repoUrl}
+              data-icon="octicon-star"
+              data-count-href="/facebook/docusaurus/stargazers"
+              data-show-count="true"
+              data-count-aria-label="# stargazers on GitHub"
+              aria-label="Star this project on GitHub">
+              Star
+            </a>
+            {this.props.config.twitterUsername && (
+              <div className="social">
+                <a
+                  
href={`https://twitter.com/${this.props.config.twitterUsername}`}
+                  className="twitter-follow-button">
+                  Follow @{this.props.config.twitterUsername}
+                </a>
+              </div>
+            )}
+            {this.props.config.facebookAppId && (
+              <div className="social">
+                <div
+                  className="fb-like"
+                  data-href={this.props.config.url}
+                  data-colorscheme="dark"
+                  data-layout="standard"
+                  data-share="true"
+                  data-width="225"
+                  data-show-faces="false"
+                />
+              </div>
+            )}
+          </div>
+        </section>
+
+        <a
+          href="https://opensource.facebook.com/";
+          target="_blank"
+          rel="noreferrer noopener"
+          className="fbOpenSource">
+          <img
+            src={`${this.props.config.baseUrl}img/oss_logo.png`}
+            alt="Facebook Open Source"
+            width="170"
+            height="45"
+          />
+        </a>
+        <section className="copyright">{this.props.config.copyright}</section>
+      </footer>
+    );
+  }
+}
+
+module.exports = Footer;
diff --git a/website/package.json b/website/package.json
new file mode 100644
index 0000000..a92c8b6
--- /dev/null
+++ b/website/package.json
@@ -0,0 +1,14 @@
+{
+  "scripts": {
+    "examples": "docusaurus-examples",
+    "start": "docusaurus-start",
+    "build": "docusaurus-build",
+    "publish-gh-pages": "docusaurus-publish",
+    "write-translations": "docusaurus-write-translations",
+    "version": "docusaurus-version",
+    "rename-version": "docusaurus-rename-version"
+  },
+  "devDependencies": {
+    "docusaurus": "^1.14.6"
+  }
+}
diff --git a/website/pages/en/help.js b/website/pages/en/help.js
new file mode 100644
index 0000000..ba4df9c
--- /dev/null
+++ b/website/pages/en/help.js
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary.js');
+
+const Container = CompLibrary.Container;
+const GridBlock = CompLibrary.GridBlock;
+
+function Help(props) {
+  const {config: siteConfig, language = ''} = props;
+  const {baseUrl, docsUrl} = siteConfig;
+  const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
+  const langPart = `${language ? `${language}/` : ''}`;
+  const docUrl = (doc) => `${baseUrl}${docsPart}${langPart}${doc}`;
+
+  const supportLinks = [
+    {
+      content: `Learn more using the [documentation on this site.](${docUrl(
+        'doc1.html',
+      )})`,
+      title: 'Browse Docs',
+    },
+    {
+      content: 'Ask questions about the documentation and project',
+      title: 'Join the community',
+    },
+    {
+      content: "Find out what's new with this project",
+      title: 'Stay up to date',
+    },
+  ];
+
+  return (
+    <div className="docMainWrapper wrapper">
+      <Container className="mainContainer documentContainer postContainer">
+        <div className="post">
+          <header className="postHeader">
+            <h1>Need help?</h1>
+          </header>
+          <p>This project is maintained by a dedicated group of people.</p>
+          <GridBlock contents={supportLinks} layout="threeColumn" />
+        </div>
+      </Container>
+    </div>
+  );
+}
+
+module.exports = Help;
diff --git a/website/pages/en/index.js b/website/pages/en/index.js
new file mode 100644
index 0000000..6eda245
--- /dev/null
+++ b/website/pages/en/index.js
@@ -0,0 +1,213 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary.js');
+
+const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
+const Container = CompLibrary.Container;
+const GridBlock = CompLibrary.GridBlock;
+
+class HomeSplash extends React.Component {
+  render() {
+    const {siteConfig, language = ''} = this.props;
+    const {baseUrl, docsUrl} = siteConfig;
+    const docsPart = `${docsUrl ? `${docsUrl}/` : ''}`;
+    const langPart = `${language ? `${language}/` : ''}`;
+    const docUrl = (doc) => `${baseUrl}${docsPart}${langPart}${doc}`;
+
+    const SplashContainer = (props) => (
+      <div className="homeContainer">
+        <div className="homeSplashFade">
+          <div className="wrapper homeWrapper">{props.children}</div>
+        </div>
+      </div>
+    );
+
+    const Logo = (props) => (
+      <div className="projectLogo">
+        <img src={props.img_src} alt="Project Logo" />
+      </div>
+    );
+
+    const ProjectTitle = (props) => (
+      <h2 className="projectTitle">
+        {props.title}
+        <small>{props.tagline}</small>
+      </h2>
+    );
+
+    const PromoSection = (props) => (
+      <div className="section promoSection">
+        <div className="promoRow">
+          <div className="pluginRowBlock">{props.children}</div>
+        </div>
+      </div>
+    );
+
+    const Button = (props) => (
+      <div className="pluginWrapper buttonWrapper">
+        <a className="button" href={props.href} target={props.target}>
+          {props.children}
+        </a>
+      </div>
+    );
+
+    return (
+      <SplashContainer>
+        <Logo img_src={`${baseUrl}img/undraw_monitor.svg`} />
+        <div className="inner">
+          <ProjectTitle tagline={siteConfig.tagline} title={siteConfig.title} 
/>
+          <PromoSection>
+            <Button href="#try">Try It Out</Button>
+            <Button href={docUrl('doc1.html')}>Example Link</Button>
+            <Button href={docUrl('doc2.html')}>Example Link 2</Button>
+          </PromoSection>
+        </div>
+      </SplashContainer>
+    );
+  }
+}
+
+class Index extends React.Component {
+  render() {
+    const {config: siteConfig, language = ''} = this.props;
+    const {baseUrl} = siteConfig;
+
+    const Block = (props) => (
+      <Container
+        padding={['bottom', 'top']}
+        id={props.id}
+        background={props.background}>
+        <GridBlock
+          align="center"
+          contents={props.children}
+          layout={props.layout}
+        />
+      </Container>
+    );
+
+    const FeatureCallout = () => (
+      <div
+        className="productShowcaseSection paddingBottom"
+        style={{textAlign: 'center'}}>
+        <h2>Feature Callout</h2>
+        <MarkdownBlock>These are features of this project</MarkdownBlock>
+      </div>
+    );
+
+    const TryOut = () => (
+      <Block id="try">
+        {[
+          {
+            content:
+              'To make your landing page more attractive, use illustrations! 
Check out ' +
+              '[**unDraw**](https://undraw.co/) which provides you with 
customizable illustrations which are free to use. ' +
+              'The illustrations you see on this page are from unDraw.',
+            image: `${baseUrl}img/undraw_code_review.svg`,
+            imageAlign: 'left',
+            title: 'Wonderful SVG Illustrations',
+          },
+        ]}
+      </Block>
+    );
+
+    const Description = () => (
+      <Block background="dark">
+        {[
+          {
+            content:
+              'This is another description of how this project is useful',
+            image: `${baseUrl}img/undraw_note_list.svg`,
+            imageAlign: 'right',
+            title: 'Description',
+          },
+        ]}
+      </Block>
+    );
+
+    const LearnHow = () => (
+      <Block background="light">
+        {[
+          {
+            content:
+              'Each new Docusaurus project has **randomly-generated** theme 
colors.',
+            image: `${baseUrl}img/undraw_youtube_tutorial.svg`,
+            imageAlign: 'right',
+            title: 'Randomly Generated Theme Colors',
+          },
+        ]}
+      </Block>
+    );
+
+    const Features = () => (
+      <Block layout="fourColumn">
+        {[
+          {
+            content: 'This is the content of my feature',
+            image: `${baseUrl}img/undraw_react.svg`,
+            imageAlign: 'top',
+            title: 'Feature One',
+          },
+          {
+            content: 'The content of my second feature',
+            image: `${baseUrl}img/undraw_operating_system.svg`,
+            imageAlign: 'top',
+            title: 'Feature Two',
+          },
+        ]}
+      </Block>
+    );
+
+    const Showcase = () => {
+      if ((siteConfig.users || []).length === 0) {
+        return null;
+      }
+
+      const showcase = siteConfig.users
+        .filter((user) => user.pinned)
+        .map((user) => (
+          <a href={user.infoLink} key={user.infoLink}>
+            <img src={user.image} alt={user.caption} title={user.caption} />
+          </a>
+        ));
+
+      const pageUrl = (page) =>
+        baseUrl + (language ? `${language}/` : '') + page;
+
+      return (
+        <div className="productShowcaseSection paddingBottom">
+          <h2>Who is Using This?</h2>
+          <p>This project is used by all these people</p>
+          <div className="logos">{showcase}</div>
+          <div className="more-users">
+            <a className="button" href={pageUrl('users.html')}>
+              More {siteConfig.title} Users
+            </a>
+          </div>
+        </div>
+      );
+    };
+
+    return (
+      <div>
+        <HomeSplash siteConfig={siteConfig} language={language} />
+        <div className="mainContainer">
+          <Features />
+          <FeatureCallout />
+          <LearnHow />
+          <TryOut />
+          <Description />
+          <Showcase />
+        </div>
+      </div>
+    );
+  }
+}
+
+module.exports = Index;
diff --git a/website/pages/en/users.js b/website/pages/en/users.js
new file mode 100644
index 0000000..5a0136d
--- /dev/null
+++ b/website/pages/en/users.js
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+const React = require('react');
+
+const CompLibrary = require('../../core/CompLibrary.js');
+
+const Container = CompLibrary.Container;
+
+class Users extends React.Component {
+  render() {
+    const {config: siteConfig} = this.props;
+    if ((siteConfig.users || []).length === 0) {
+      return null;
+    }
+
+    const showcase = siteConfig.users.map((user) => (
+      <a href={user.infoLink} key={user.infoLink}>
+        <img src={user.image} alt={user.caption} title={user.caption} />
+      </a>
+    ));
+
+    return (
+      <div className="mainContainer">
+        <Container padding={['bottom', 'top']}>
+          <div className="showcaseSection">
+            <div className="prose">
+              <h1>Who is Using This?</h1>
+              <p>This project is used by many folks</p>
+            </div>
+            <div className="logos">{showcase}</div>
+            {siteConfig.repoUrl && (
+              <React.Fragment>
+                <p>Are you using this project?</p>
+                <a
+                  
href={`${siteConfig.repoUrl}/edit/master/website/siteConfig.js`}
+                  className="button">
+                  Add your company
+                </a>
+              </React.Fragment>
+            )}
+          </div>
+        </Container>
+      </div>
+    );
+  }
+}
+
+module.exports = Users;
diff --git a/website/sidebars.json b/website/sidebars.json
new file mode 100644
index 0000000..7a1d054
--- /dev/null
+++ b/website/sidebars.json
@@ -0,0 +1,10 @@
+{
+  "docs": {
+    "Docusaurus": ["doc1"],
+    "First Category": ["doc2"],
+    "Second Category": ["doc3"]
+  },
+  "docs-other": {
+    "First Category": ["doc4", "doc5"]
+  }
+}
diff --git a/website/siteConfig.js b/website/siteConfig.js
new file mode 100644
index 0000000..b6cdeb4
--- /dev/null
+++ b/website/siteConfig.js
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+// See https://docusaurus.io/docs/site-config for all the possible
+// site configuration options.
+
+// List of projects/orgs using your project for the users page.
+const users = [
+  {
+    caption: 'User1',
+    // You will need to prepend the image path with your baseUrl
+    // if it is not '/', like: '/test-site/img/image.jpg'.
+    image: '/img/undraw_open_source.svg',
+    infoLink: 'https://www.facebook.com',
+    pinned: true,
+  },
+];
+
+const siteConfig = {
+  title: 'Test Site', // Title for your website.
+  tagline: 'A website for testing',
+  url: 'https://your-docusaurus-test-site.com', // Your website URL
+  baseUrl: '/', // Base URL for your project */
+  // For github.io type URLs, you would set the url and baseUrl like:
+  //   url: 'https://facebook.github.io',
+  //   baseUrl: '/test-site/',
+
+  // Used for publishing and more
+  projectName: 'test-site',
+  organizationName: 'facebook',
+  // For top-level user or org sites, the organization is still the same.
+  // e.g., for the https://JoelMarcey.github.io site, it would be set like...
+  //   organizationName: 'JoelMarcey'
+
+  // For no header links in the top nav bar -> headerLinks: [],
+  headerLinks: [
+    {doc: 'doc1', label: 'Docs'},
+    {doc: 'doc4', label: 'API'},
+    {page: 'help', label: 'Help'},
+    {blog: true, label: 'Blog'},
+  ],
+
+  // If you have users set above, you add it here:
+  users,
+
+  /* path to images for header/footer */
+  headerIcon: 'img/favicon.ico',
+  footerIcon: 'img/favicon.ico',
+  favicon: 'img/favicon.ico',
+
+  /* Colors for website */
+  colors: {
+    primaryColor: '#a30328',
+    secondaryColor: '#72021c',
+  },
+
+  /* Custom fonts for website */
+  /*
+  fonts: {
+    myFont: [
+      "Times New Roman",
+      "Serif"
+    ],
+    myOtherFont: [
+      "-apple-system",
+      "system-ui"
+    ]
+  },
+  */
+
+  // This copyright info is used in /core/Footer.js and blog RSS/Atom feeds.
+  copyright: `Copyright © ${new Date().getFullYear()} Your Name or Your 
Company Name`,
+
+  highlight: {
+    // Highlight.js theme to use for syntax highlighting in code blocks.
+    theme: 'default',
+  },
+
+  // Add custom scripts here that would be placed in <script> tags.
+  scripts: ['https://buttons.github.io/buttons.js'],
+
+  // On page navigation for the current documentation page.
+  onPageNav: 'separate',
+  // No .html extensions for paths.
+  cleanUrl: true,
+
+  // Open Graph and Twitter card images.
+  ogImage: 'img/undraw_online.svg',
+  twitterImage: 'img/undraw_tweetstorm.svg',
+
+  // For sites with a sizable amount of content, set collapsible to true.
+  // Expand/collapse the links and subcategories under categories.
+  // docsSideNavCollapsible: true,
+
+  // Show documentation's last contributor's name.
+  // enableUpdateBy: true,
+
+  // Show documentation's last update time.
+  // enableUpdateTime: true,
+
+  // You may provide arbitrary config keys to be used as needed by your
+  // template. For example, if you need your repo's URL...
+  // repoUrl: 'https://github.com/facebook/test-site',
+};
+
+module.exports = siteConfig;
diff --git a/website/static/css/custom.css b/website/static/css/custom.css
new file mode 100644
index 0000000..7c72a86
--- /dev/null
+++ b/website/static/css/custom.css
@@ -0,0 +1,23 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+/* your custom css */
+
+@media only screen and (min-device-width: 360px) and (max-device-width: 736px) 
{
+}
+
+@media only screen and (min-width: 1024px) {
+}
+
+@media only screen and (max-width: 1023px) {
+}
+
+@media only screen and (min-width: 1400px) {
+}
+
+@media only screen and (min-width: 1500px) {
+}
diff --git a/website/static/img/favicon.ico b/website/static/img/favicon.ico
new file mode 100644
index 0000000..be74abd
Binary files /dev/null and b/website/static/img/favicon.ico differ
diff --git a/website/static/img/oss_logo.png b/website/static/img/oss_logo.png
new file mode 100644
index 0000000..8183e28
Binary files /dev/null and b/website/static/img/oss_logo.png differ
diff --git a/website/static/img/undraw_code_review.svg 
b/website/static/img/undraw_code_review.svg
new file mode 100644
index 0000000..520e284
--- /dev/null
+++ b/website/static/img/undraw_code_review.svg
@@ -0,0 +1 @@
+<svg id="a594ac37-6d44-4297-8862-1cbd9c01c0b7" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; width="1126.19355" height="855" viewBox="0 0 
1126.19355 855"><title>code review</title><path 
d="M581.7675,778.43794C339.36866,759.99137,50.29677,572.17166,65.01385,378.78054S359.70017,5.35846,602.099,23.805,984.03089,403.667,969.31381,597.05809,824.16633,796.88451,581.7675,778.43794Z"
 transform="translate(-36.90323 -22.5)" fill="#f2f2f2"/><ellipse cx="565.19355" 
cy="756" rx="506" ry="31" [...]
diff --git a/website/static/img/undraw_monitor.svg 
b/website/static/img/undraw_monitor.svg
new file mode 100644
index 0000000..543ce6f
--- /dev/null
+++ b/website/static/img/undraw_monitor.svg
@@ -0,0 +1 @@
+<svg id="ad7c1fe1-eb22-473c-bc85-8b4fe073a50d" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
width="1094.72" height="788.69" viewBox="0 0 1094.72 
788.69"><defs><linearGradient id="f137b292-0aa2-40b3-a442-9a256144b6d8" 
x1="2938.83" y1="215.4" x2="2938.83" y2="-91.93" 
gradientTransform="matrix(0.51, 0.86, -0.86, 0.51, -713.07, -2373.14)" 
gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" 
stop-opacity="0.25"/><stop offset="0 [...]
diff --git a/website/static/img/undraw_note_list.svg 
b/website/static/img/undraw_note_list.svg
new file mode 100644
index 0000000..7650711
--- /dev/null
+++ b/website/static/img/undraw_note_list.svg
@@ -0,0 +1 @@
+<svg id="ada6f7ae-8394-4767-8700-18704e9e9034" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; width="974" height="805.02" viewBox="0 0 974 
805.02"><title>note list</title><path 
d="M1087,816.24v5a19.11,19.11,0,0,1-20.91,19c-39.15-3.72-78.12-10.64-117.4-9.43-72.42,2.21-145.44,31.83-215.54,13.53-19.77-5.16-39.32-14.13-59.66-12.2-18.25,1.73-34.49,12.05-52.17,16.89C567.55,863.79,512.8,826.49,457.06,828c-36.74,1-71.92,18.89-108.62,16.9-21.27-1.14-41.53-8.92-62.28-13.71-51.66-11.94-104.
 [...]
diff --git a/website/static/img/undraw_online.svg 
b/website/static/img/undraw_online.svg
new file mode 100644
index 0000000..a02064b
--- /dev/null
+++ b/website/static/img/undraw_online.svg
@@ -0,0 +1 @@
+<svg id="f9ea829a-01ef-4860-a3a7-641ca853f294" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
width="1082.19" height="847.94" viewBox="0 0 1082.19 
847.94"><defs><linearGradient id="0bbd7947-ca61-424a-a753-fb567ef3345a" 
x1="276.42" y1="818" x2="276.42" y2="60" gradientUnits="userSpaceOnUse"><stop 
offset="0" stop-color="gray" stop-opacity="0.25"/><stop offset="0.54" 
stop-color="gray" stop-opacity="0.12"/><stop offset="1" stop-color="gray"  [...]
diff --git a/website/static/img/undraw_open_source.svg 
b/website/static/img/undraw_open_source.svg
new file mode 100644
index 0000000..1a06ec6
--- /dev/null
+++ b/website/static/img/undraw_open_source.svg
@@ -0,0 +1 @@
+<svg id="a58ef234-55dd-4456-b368-278f056cc5c7" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; width="1028" height="598.99741" viewBox="0 0 
1028 598.99741"><title>open source</title><circle cx="332.00497" cy="292.00357" 
r="292.00357" fill="#f2f2f2"/><path 
d="M1114,668.4987a13.68982,13.68982,0,0,1-.16992,2.12c-7.14014,43.76-234.46008,78.88-513.83008,78.88s-506.69-35.12-513.83-78.88a13.67509,13.67509,0,0,1-.17-2.12c0-.2,0-.41.02-.61,0-.11005.01-.21.01-.32a.48944.48944,0,0,0,.01-.12c
 [...]
diff --git a/website/static/img/undraw_operating_system.svg 
b/website/static/img/undraw_operating_system.svg
new file mode 100644
index 0000000..e66c27d
--- /dev/null
+++ b/website/static/img/undraw_operating_system.svg
@@ -0,0 +1 @@
+<svg id="a91a722e-5259-4ef2-8c31-2e8a1147b313" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
width="1100" height="806.74" viewBox="0 0 1100 806.74"><defs><linearGradient 
id="f0793c8d-2cc7-4dcf-96d3-b23677fc2573" x1="459.23" y1="847.99" x2="459.23" 
y2="385.75" gradientTransform="translate(250.84)" 
gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" 
stop-opacity="0.25"/><stop offset="0.54" stop-color="gray" stop-opacity="0.1 
[...]
diff --git a/website/static/img/undraw_react.svg 
b/website/static/img/undraw_react.svg
new file mode 100644
index 0000000..f5d927a
--- /dev/null
+++ b/website/static/img/undraw_react.svg
@@ -0,0 +1 @@
+<svg id="a75d69e6-d07c-4db3-9c83-72b2470e5561" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; width="1108" height="731.18" viewBox="0 0 
1108 731.18"><title>react</title><path 
d="M813.68,415.2l6.89-2.7c.66-.26,1.31-.54,2-.81a59.85,59.85,0,0,1,15.28-115.77l-4.8,24.2,18.22-23.92.16,0a59.87,59.87,0,0,1,51.16,67.45c-.15,1.13-.39,2.23-.6,3.34,5.61-4.43,10.87-9.32,14.81-15,8-11.54,10.71-25.76,13.47-43.17,5.47-34.48,10.4-69.34,14.84-104.18a59.83,59.83,0,0,1-42-65.36c.25-1.82.6-3.59,1-5.3
 [...]
diff --git a/website/static/img/undraw_tweetstorm.svg 
b/website/static/img/undraw_tweetstorm.svg
new file mode 100644
index 0000000..af86150
--- /dev/null
+++ b/website/static/img/undraw_tweetstorm.svg
@@ -0,0 +1 @@
+<svg id="5315dcf4-9ab7-45f5-a3d8-2e76525705db" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; width="813.15" height="752" viewBox="0 0 
813.15 752"><title>tweetstorm</title><polygon points="559.73 403.7 347.86 
352.67 347.86 752 559.73 696.54 559.73 403.7" fill="#e0e0e0"/><polygon 
points="559.73 403.7 347.86 352.67 347.86 752 559.73 696.54 559.73 403.7" 
opacity="0.1"/><polygon points="135.99 403.7 347.86 352.67 347.86 752 135.99 
697.65 135.99 403.7" fill="#e0e0e0"/><polygon points= [...]
diff --git a/website/static/img/undraw_youtube_tutorial.svg 
b/website/static/img/undraw_youtube_tutorial.svg
new file mode 100644
index 0000000..117d38a
--- /dev/null
+++ b/website/static/img/undraw_youtube_tutorial.svg
@@ -0,0 +1 @@
+<svg id="b847c0d8-de26-4ae3-b269-ef35a8ef771f" data-name="Layer 1" 
xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
width="1130" height="831.56" viewBox="0 0 1130 831.56"><defs><linearGradient 
id="af868219-7e5b-405b-a411-f7ffae4abd96" x1="321.68" y1="857.11" x2="321.68" 
y2="447.21" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray" 
stop-opacity="0.25"/><stop offset="0.54" stop-color="gray" 
stop-opacity="0.12"/><stop offset="1" stop-color="gray" [...]

Reply via email to