├── www ├── static │ ├── .nojekyll │ └── img │ │ ├── favicon.ico │ │ ├── docusaurus.png │ │ └── tutorial │ │ ├── localeDropdown.png │ │ └── docsVersionDropdown.png ├── versions.json ├── docs │ ├── tutorial-basics │ │ ├── _category_.json │ │ ├── deploy-your-site.md │ │ ├── create-a-blog-post.md │ │ ├── congratulations.md │ │ ├── create-a-page.md │ │ ├── create-a-document.md │ │ └── markdown-features.mdx │ ├── tutorial-extras │ │ ├── _category_.json │ │ ├── manage-docs-versions.md │ │ └── translate-your-site.md │ └── intro.md ├── babel.config.js ├── versioned_docs │ ├── version-1.0.0-alpha.0 │ │ ├── tutorial-basics │ │ │ ├── _category_.json │ │ │ ├── deploy-your-site.md │ │ │ ├── create-a-blog-post.md │ │ │ ├── congratulations.md │ │ │ ├── create-a-page.md │ │ │ ├── create-a-document.md │ │ │ └── markdown-features.mdx │ │ ├── tutorial-extras │ │ │ ├── _category_.json │ │ │ ├── manage-docs-versions.md │ │ │ └── translate-your-site.md │ │ └── intro.md │ └── version-1.0.0-alpha.1 │ │ ├── tutorial-basics │ │ ├── _category_.json │ │ ├── deploy-your-site.md │ │ ├── create-a-blog-post.md │ │ ├── congratulations.md │ │ ├── create-a-page.md │ │ ├── create-a-document.md │ │ └── markdown-features.mdx │ │ ├── tutorial-extras │ │ ├── _category_.json │ │ ├── manage-docs-versions.md │ │ └── translate-your-site.md │ │ └── intro.md ├── src │ ├── pages │ │ ├── markdown-page.md │ │ ├── index.module.css │ │ └── index.js │ ├── components │ │ ├── HomepageFeatures.module.css │ │ └── HomepageFeatures.js │ └── css │ │ └── custom.css ├── versioned_sidebars │ ├── version-1.0.0-alpha.0-sidebars.json │ └── version-1.0.0-alpha.1-sidebars.json ├── tailwind.config.js ├── .gitignore ├── blog │ ├── 2019-05-28-hola.md │ ├── 2019-05-29-hello-world.md │ └── 2019-05-30-welcome.md ├── plugins │ └── webpack.js ├── sidebars.js ├── README.md ├── package.json └── docusaurus.config.js ├── .npmignore ├── src ├── theme │ ├── MDXComponents │ │ ├── Ol.tsx │ │ ├── P.tsx │ │ ├── Ul.tsx │ │ ├── Strong.tsx │ │ ├── Blockquote.tsx │ │ ├── Li.tsx │ │ ├── Em.tsx │ │ ├── Hr.tsx │ │ ├── createStyledElement.tsx │ │ └── index.tsx │ ├── ThemedImage │ │ ├── styles.module.css │ │ ├── index.tsx │ │ └── Toggle │ │ │ ├── styles.module.css │ │ │ └── index.tsx │ ├── LastUpdated │ │ ├── styles.module.css │ │ └── index.tsx │ ├── IconEdit │ │ ├── styles.module.css │ │ └── index.tsx │ ├── hooks │ │ ├── styles.css │ │ ├── useLockBodyScroll.ts │ │ ├── useThemeContext.ts │ │ ├── useLocationHash.ts │ │ ├── usePrismTheme.ts │ │ ├── useUserPreferencesContext.ts │ │ ├── useDocs.ts │ │ ├── useWindowSize.ts │ │ ├── useKeyboardNavigation.ts │ │ ├── useScrollPosition.ts │ │ ├── useTabGroupChoice.ts │ │ ├── useAnnouncementBar.ts │ │ ├── useContextualSearchFilters.ts │ │ ├── useHideableNavbar.ts │ │ ├── useTheme.ts │ │ └── useTOCHighlight.ts │ ├── Heading │ │ ├── styles.module.css │ │ ├── styles.css │ │ └── index.tsx │ ├── BlogSidebar │ │ ├── styles.module.css │ │ └── index.tsx │ ├── CodeBlock │ │ └── styles.module.css │ ├── TOCInline │ │ ├── styles.module.css │ │ └── index.tsx │ ├── UserPreferencesContext.ts │ ├── Anchor.tsx │ ├── ThemeContext.ts │ ├── SkipToContent │ │ ├── styles.module.css │ │ └── index.tsx │ ├── Tabs │ │ ├── styles.module.css │ │ └── index.tsx │ ├── Layout │ │ ├── styles.css │ │ └── index.tsx │ ├── TabItem │ │ └── index.tsx │ ├── SearchBar.tsx │ ├── DocSidebar │ │ └── styles.module.css │ ├── NavbarItem │ │ ├── styles.module.css │ │ ├── SearchNavbarItem.tsx │ │ ├── DocsVersionNavbarItem.tsx │ │ ├── DocNavbarItem.tsx │ │ ├── index.tsx │ │ ├── LocaleDropdownNavbarItem.tsx │ │ └── DocsVersionDropdownNavbarItem.tsx │ ├── ThemeProvider │ │ └── index.tsx │ ├── EditThisPage │ │ └── index.tsx │ ├── Menu │ │ ├── styles.module.css │ │ └── index.tsx │ ├── LayoutProviders │ │ └── index.tsx │ ├── Paginator.tsx │ ├── SearchMetadatas │ │ └── index.tsx │ ├── IconMenu │ │ └── index.tsx │ ├── prism-include-languages.ts │ ├── IconArrow │ │ └── index.tsx │ ├── UserPreferencesProvider │ │ └── index.tsx │ ├── Seo │ │ └── index.tsx │ ├── Logo │ │ └── index.tsx │ ├── NotFound.tsx │ ├── TOC │ │ └── index.tsx │ ├── IconLanguage │ │ └── index.tsx │ ├── DocPaginator │ │ └── index.tsx │ ├── MDXPage │ │ └── index.tsx │ ├── BlogPostPaginator.tsx │ ├── BlogListPaginator.tsx │ ├── BlogListPage.tsx │ ├── AnnouncementBar.tsx │ ├── BlogPostPage.tsx │ ├── BlogTagsListPage.tsx │ ├── Toggle │ │ ├── styles.module.css │ │ └── index.tsx │ ├── BlogTagsPostsPage.tsx │ ├── DocItem │ │ └── index.tsx │ ├── LayoutHead │ │ └── index.tsx │ ├── Footer │ │ └── index.tsx │ ├── DocVersionBanner │ │ └── index.tsx │ └── BlogPostItem │ │ └── index.tsx ├── styles.css ├── prism-include-languages.js └── tailwind-preset.js ├── tailwind.config.js ├── .babelrc.js ├── tsconfig.json ├── .eslintrc.js ├── .gitignore └── package.json /www/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | www/ 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /www/versions.json: -------------------------------------------------------------------------------- 1 | [ 2 | "1.0.0-alpha.1", 3 | "1.0.0-alpha.0" 4 | ] 5 | -------------------------------------------------------------------------------- /www/docs/tutorial-basics/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Basics", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /www/docs/tutorial-extras/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Extras", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /www/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /www/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jquense/docusaurus-theme-tailwind/HEAD/www/static/img/favicon.ico -------------------------------------------------------------------------------- /www/static/img/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jquense/docusaurus-theme-tailwind/HEAD/www/static/img/docusaurus.png -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.0/tutorial-basics/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Basics", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.0/tutorial-extras/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Extras", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.1/tutorial-basics/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Basics", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.1/tutorial-extras/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Tutorial - Extras", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/Ol.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("ol", ""); 4 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/P.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("p", ""); 4 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/Ul.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("ul", ""); 4 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable global-require */ 2 | 3 | module.exports = { 4 | presets: [require("./src/tailwind-preset.js")], 5 | }; 6 | -------------------------------------------------------------------------------- /www/static/img/tutorial/localeDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jquense/docusaurus-theme-tailwind/HEAD/www/static/img/tutorial/localeDropdown.png -------------------------------------------------------------------------------- /src/theme/MDXComponents/Strong.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("strong", ""); 4 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/Blockquote.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("blockquote", ""); 4 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/Li.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("li", { className: "" }); 4 | -------------------------------------------------------------------------------- /www/static/img/tutorial/docsVersionDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jquense/docusaurus-theme-tailwind/HEAD/www/static/img/tutorial/docsVersionDropdown.png -------------------------------------------------------------------------------- /.babelrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | "env-modules", 4 | ["@babel/react", { runtime: "automatic" }], 5 | "@babel/typescript", 6 | ], 7 | }; 8 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/Em.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("em", { className: "font-italic" }); 4 | -------------------------------------------------------------------------------- /www/src/pages/markdown-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown page example 3 | --- 4 | 5 | # Markdown page example 6 | 7 | You don't need React to write simple standalone pages. 8 | -------------------------------------------------------------------------------- /src/theme/MDXComponents/Hr.tsx: -------------------------------------------------------------------------------- 1 | import createStyledElement from "./createStyledElement"; 2 | 3 | export default createStyledElement("hr", { 4 | className: "border-t-1 border-gray-200", 5 | }); 6 | -------------------------------------------------------------------------------- /www/versioned_sidebars/version-1.0.0-alpha.0-sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "version-1.0.0-alpha.0/tutorialSidebar": [ 3 | { 4 | "type": "autogenerated", 5 | "dirName": "." 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /www/versioned_sidebars/version-1.0.0-alpha.1-sidebars.json: -------------------------------------------------------------------------------- 1 | { 2 | "version-1.0.0-alpha.1/tutorialSidebar": [ 3 | { 4 | "type": "autogenerated", 5 | "dirName": "." 6 | } 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /www/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | purge: [], 3 | darkMode: false, // or 'media' or 'class' 4 | theme: { 5 | extend: {}, 6 | }, 7 | variants: { 8 | extend: {}, 9 | }, 10 | plugins: [], 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/ThemedImage/styles.module.css: -------------------------------------------------------------------------------- 1 | .themedImage { 2 | display: none; 3 | } 4 | 5 | html[data-theme='light'] .themedImage--light { 6 | display: initial; 7 | } 8 | 9 | html[data-theme='dark'] .themedImage--dark { 10 | display: initial; 11 | } 12 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@4c/tsconfig/web.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "jsx": "react-jsx", 6 | "isolatedModules": true, 7 | "noImplicitAny": false 8 | }, 9 | "include": ["src"], 10 | "exclude": ["**/__tests__/**/*"] 11 | } 12 | -------------------------------------------------------------------------------- /www/src/components/HomepageFeatures.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | .features { 4 | display: flex; 5 | align-items: center; 6 | padding: 2rem 0; 7 | width: 100%; 8 | } 9 | 10 | .featureSvg { 11 | height: 200px; 12 | width: 200px; 13 | } 14 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ["jason/react", "4catalyzer-typescript", "prettier"], 3 | rules: { 4 | "import/extensions": "off", 5 | "@typescript-eslint/no-empty-function": "off", 6 | "react/jsx-uses-react": "off", 7 | "react/react-in-jsx-scope": "off", 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /src/theme/LastUpdated/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .lastUpdatedDate { 9 | font-weight: bold; 10 | } 11 | -------------------------------------------------------------------------------- /src/theme/IconEdit/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .iconEdit { 9 | margin-right: 0.3em; 10 | vertical-align: sub; 11 | } 12 | -------------------------------------------------------------------------------- /src/theme/hooks/styles.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | body:not(.navigation-with-keyboard) *:not(input):focus { 9 | outline: none; 10 | } 11 | -------------------------------------------------------------------------------- /www/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /src/theme/Heading/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .enhancedAnchor { 9 | top: calc(var(--ifm-navbar-height) * -1 - 0.5rem); 10 | } 11 | -------------------------------------------------------------------------------- /src/theme/BlogSidebar/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .sidebar { 9 | max-height: calc(100vh - (theme("height.16") + theme("margin.8"))); 10 | } 11 | -------------------------------------------------------------------------------- /src/theme/CodeBlock/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .codeBlockContent { 9 | position: relative; 10 | /*rtl:ignore*/ 11 | direction: ltr; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/theme/TOCInline/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .tableOfContentsInline ul { 9 | list-style-type: disc; 10 | font-size: initial; 11 | padding-top: 0; 12 | } 13 | -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss/base"; 2 | @import "tailwindcss/components"; 3 | 4 | a { 5 | @apply text-primary hover:underline; 6 | } 7 | 8 | @import "tailwindcss/utilities"; 9 | 10 | .max-w-full-navbar { 11 | max-height: calc(100vh - (theme("height.16") + theme("margin.8"))); 12 | } 13 | 14 | .top-full-navbar { 15 | top: calc(theme("height.16") + theme("margin.8")); 16 | } 17 | -------------------------------------------------------------------------------- /src/prism-include-languages.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import Prism from 'prism-react-renderer/prism'; 9 | import prismIncludeLanguages from '@theme/prism-include-languages'; 10 | 11 | prismIncludeLanguages(Prism); 12 | -------------------------------------------------------------------------------- /src/theme/UserPreferencesContext.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import {createContext} from 'react'; 9 | 10 | const UserPreferencesContext = createContext(undefined); 11 | 12 | export default UserPreferencesContext; 13 | -------------------------------------------------------------------------------- /src/theme/Anchor.tsx: -------------------------------------------------------------------------------- 1 | import clsx from "clsx"; 2 | import React from "react"; 3 | 4 | const Anchor = React.forwardRef( 5 | (props: React.ComponentProps<"a">, ref) => { 6 | return ( 7 | 12 | ); 13 | } 14 | ); 15 | 16 | export default Anchor; 17 | -------------------------------------------------------------------------------- /www/blog/2019-05-28-hola.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: hola 3 | title: Hola 4 | author: Gao Wei 5 | author_title: Docusaurus Core Team 6 | author_url: https://github.com/wgao19 7 | author_image_url: https://avatars1.githubusercontent.com/u/2055384?v=4 8 | tags: [hola, docusaurus] 9 | --- 10 | 11 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 12 | -------------------------------------------------------------------------------- /src/theme/ThemeContext.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | import type {ThemeContextProps} from '@theme/hooks/useThemeContext'; 10 | 11 | const ThemeContext = React.createContext( 12 | undefined, 13 | ); 14 | 15 | export default ThemeContext; 16 | -------------------------------------------------------------------------------- /src/theme/SkipToContent/styles.module.css: -------------------------------------------------------------------------------- 1 | .skipToContent { 2 | position: fixed; 3 | top: 1rem; 4 | left: 100%; 5 | z-index: calc(var(--ifm-z-index-fixed) + 1); 6 | padding: calc(var(--ifm-global-spacing) / 2) var(--ifm-global-spacing); 7 | color: var(--ifm-color-emphasis-900); 8 | background-color: var(--ifm-background-surface-color); 9 | border-radius: var(--ifm-global-radius); 10 | font: inherit; 11 | border: none; 12 | } 13 | 14 | .skipToContent:focus { 15 | left: 1rem; 16 | } 17 | -------------------------------------------------------------------------------- /www/blog/2019-05-29-hello-world.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: hello-world 3 | title: Hello 4 | author: Endilie Yacop Sucipto 5 | author_title: Maintainer of Docusaurus 6 | author_url: https://github.com/endiliey 7 | author_image_url: https://avatars1.githubusercontent.com/u/17883920?s=460&v=4 8 | tags: [hello, docusaurus] 9 | --- 10 | 11 | Welcome to this blog. This blog is created with [**Docusaurus 2 alpha**](https://docusaurus.io/). 12 | 13 | 14 | 15 | This is a test post. 16 | 17 | A whole bunch of other information. 18 | -------------------------------------------------------------------------------- /www/blog/2019-05-30-welcome.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: welcome 3 | title: Welcome 4 | author: Yangshun Tay 5 | author_title: Front End Engineer @ Facebook 6 | author_url: https://github.com/yangshun 7 | author_image_url: https://avatars0.githubusercontent.com/u/1315101?s=400&v=4 8 | tags: [facebook, hello, docusaurus] 9 | --- 10 | 11 | Blog features are powered by the blog plugin. Simply add files to the `blog` directory. It supports tags as well! 12 | 13 | Delete the whole directory if you don't want the blog features. As simple as that! 14 | -------------------------------------------------------------------------------- /src/theme/Heading/styles.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .anchor { 9 | display: block; 10 | position: relative; 11 | top: -0.5rem; 12 | } 13 | 14 | .hash-link { 15 | opacity: 0; 16 | padding-left: 0.5rem; 17 | transition: opacity var(--ifm-transition-fast); 18 | } 19 | 20 | .hash-link:focus, 21 | *:hover > .hash-link { 22 | opacity: 1; 23 | } 24 | -------------------------------------------------------------------------------- /src/theme/Tabs/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | .tabItem { 9 | margin-top: 0 !important; 10 | } 11 | 12 | .tabItemActive { 13 | animation: blink 0.5s ease-in-out 5; 14 | } 15 | 16 | @keyframes blink { 17 | 0% { 18 | background-color: var(--ifm-hover-overlay); 19 | } 20 | 100% { 21 | background-color: rgba(0, 0, 0, 0); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/theme/Layout/styles.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | html, 9 | body { 10 | height: 100%; 11 | } 12 | 13 | body { 14 | margin: 0; 15 | transition: var(--ifm-transition-fast) ease color; 16 | } 17 | 18 | #__docusaurus { 19 | min-height: 100%; 20 | display: flex; 21 | flex-direction: column; 22 | } 23 | 24 | .main-wrapper { 25 | flex: 1 0 auto; 26 | } 27 | -------------------------------------------------------------------------------- /src/theme/TabItem/index.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | import type {Props} from '@theme/TabItem'; 10 | 11 | function TabItem({children, hidden, className}: Props): JSX.Element { 12 | return ( 13 |
14 | {children} 15 |
16 | ); 17 | } 18 | 19 | export default TabItem; 20 | -------------------------------------------------------------------------------- /www/src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | /** 4 | * CSS files with the .module.css suffix will be treated as CSS modules 5 | * and scoped locally. 6 | */ 7 | 8 | .heroBanner { 9 | padding: 4rem 0; 10 | text-align: center; 11 | position: relative; 12 | overflow: hidden; 13 | } 14 | 15 | @media screen and (max-width: 966px) { 16 | .heroBanner { 17 | padding: 2rem; 18 | } 19 | } 20 | 21 | .buttons { 22 | display: flex; 23 | align-items: center; 24 | justify-content: center; 25 | } 26 | -------------------------------------------------------------------------------- /src/theme/SearchBar.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | // By default, the classic theme does not provide any SearchBar implementation 9 | // If you swizzled this file, it is your responsibility to provide an implementation 10 | // Tip: swizzle the SearchBar from the Algolia theme for inspiration: 11 | // npm run swizzle @docusaurus/theme-search-algolia SearchBar 12 | export {default} from '@docusaurus/Noop'; 13 | -------------------------------------------------------------------------------- /src/theme/hooks/useLockBodyScroll.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import { useEffect } from "react"; 9 | 10 | function useLockBodyScroll(lock = true): void { 11 | useEffect(() => { 12 | document.body.style.overflow = lock ? "hidden" : "visible"; 13 | 14 | return () => { 15 | document.body.style.overflow = "visible"; 16 | }; 17 | }, [lock]); 18 | } 19 | 20 | export default useLockBodyScroll; 21 | -------------------------------------------------------------------------------- /src/theme/DocSidebar/styles.module.css: -------------------------------------------------------------------------------- 1 | .menuLinkExternal { 2 | align-items: center; 3 | } 4 | .menuLinkExternal:after { 5 | content: ""; 6 | height: 1.15rem; 7 | width: 1.15rem; 8 | min-width: 1.15rem; 9 | margin: 0 auto 0 3%; 10 | background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'/%3E%3C/svg%3E") 11 | no-repeat; 12 | filter: var(--ifm-menu-link-sublist-icon-filter); 13 | } 14 | -------------------------------------------------------------------------------- /www/plugins/webpack.js: -------------------------------------------------------------------------------- 1 | // const path = require("path"); 2 | 3 | module.exports = () => { 4 | return { 5 | name: "webpack-plugin", 6 | configureWebpack() { 7 | return { 8 | resolve: { 9 | symlinks: false, 10 | alias: { 11 | react$: require.resolve("react"), 12 | "react/jsx-runtime": require.resolve("react/jsx-runtime"), 13 | "react-dom$": require.resolve("react-dom"), 14 | "react-dom/server": require.resolve("react-dom/server"), 15 | "@mdx-js/react": require.resolve("@mdx-js/react/dist/esm"), 16 | }, 17 | }, 18 | }; 19 | }, 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /src/theme/NavbarItem/styles.module.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | @media (max-width: theme("screens.lg")) { 9 | .searchWrapper { 10 | position: absolute; 11 | right: theme("spacing.4"); 12 | } 13 | } 14 | 15 | .dropdownToggle::after { 16 | border-color: currentcolor transparent; 17 | border-style: solid; 18 | border-width: 0.4em 0.4em 0; 19 | content: ""; 20 | margin-left: 0.3em; 21 | position: absolute; 22 | top: 50%; 23 | transform: translateY(-50%); 24 | } 25 | -------------------------------------------------------------------------------- /src/theme/NavbarItem/SearchNavbarItem.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | import type {Props} from '@theme/NavbarItem/SearchNavbarItem'; 10 | import SearchBar from '@theme/SearchBar'; 11 | import styles from './styles.module.css'; 12 | 13 | export default function SearchNavbarItem({mobile}: Props): JSX.Element | null { 14 | if (mobile) { 15 | return null; 16 | } 17 | 18 | return ( 19 |
20 | 21 |
22 | ); 23 | } 24 | -------------------------------------------------------------------------------- /www/sidebars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creating a sidebar enables you to: 3 | - create an ordered group of docs 4 | - render a sidebar for each doc of that group 5 | - provide next/previous navigation 6 | 7 | The sidebars can be generated from the filesystem, or explicitly defined here. 8 | 9 | Create as many sidebars as you want. 10 | */ 11 | 12 | module.exports = { 13 | // By default, Docusaurus generates a sidebar from the docs folder structure 14 | tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], 15 | 16 | // But you can create a sidebar manually 17 | /* 18 | tutorialSidebar: [ 19 | { 20 | type: 'category', 21 | label: 'Tutorial', 22 | items: ['hello'], 23 | }, 24 | ], 25 | */ 26 | }; 27 | -------------------------------------------------------------------------------- /src/theme/ThemeProvider/index.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | 10 | import useTheme from '@theme/hooks/useTheme'; 11 | import ThemeContext from '@theme/ThemeContext'; 12 | import type {Props} from '@theme/ThemeProvider'; 13 | 14 | function ThemeProvider(props: Props): JSX.Element { 15 | const {isDarkTheme, setLightTheme, setDarkTheme} = useTheme(); 16 | 17 | return ( 18 | 19 | {props.children} 20 | 21 | ); 22 | } 23 | 24 | export default ThemeProvider; 25 | -------------------------------------------------------------------------------- /src/theme/EditThisPage/index.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | import Translate from '@docusaurus/Translate'; 10 | 11 | import type {Props} from '@theme/EditThisPage'; 12 | import IconEdit from '@theme/IconEdit'; 13 | 14 | export default function EditThisPage({editUrl}: Props): JSX.Element { 15 | return ( 16 |
17 | 18 | 21 | Edit this page 22 | 23 | 24 | ); 25 | } 26 | -------------------------------------------------------------------------------- /www/docs/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Tutorial Intro 6 | 7 | Let's discover **Docusaurus in less than 5 minutes**. 8 | 9 | ## Getting Started 10 | 11 | Get started by **creating a new site**. 12 | 13 | Or **try Docusaurus immediately** with **[new.docusaurus.io](https://new.docusaurus.io)**. 14 | 15 | ## Generate a new site 16 | 17 | Generate a new Docusaurus site using the **classic template**: 18 | 19 | ```shell 20 | npx @docusaurus/init@latest init my-website classic 21 | ``` 22 | 23 | ## Start your site 24 | 25 | Run the development server: 26 | 27 | ```shell 28 | cd my-website 29 | 30 | npx docusaurus start 31 | ``` 32 | 33 | Your site starts at `http://localhost:3000`. 34 | 35 | Open `docs/getting-started.md` and edit some lines: the site **reloads automatically** and display your changes. 36 | -------------------------------------------------------------------------------- /src/theme/hooks/useThemeContext.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import { useContext } from "react"; 9 | 10 | import ThemeContext from "@theme/ThemeContext"; 11 | import type { ThemeContextProps } from "@theme/hooks/useThemeContext"; 12 | 13 | function useThemeContext(): ThemeContextProps { 14 | const context = useContext(ThemeContext); 15 | if (context == null) { 16 | throw new Error( 17 | "`useThemeContext` is used outside of `Layout` Component. See https://docusaurus.io/docs/api/themes/configuration#usethemecontext." 18 | ); 19 | } 20 | return context; 21 | } 22 | 23 | export default useThemeContext; 24 | -------------------------------------------------------------------------------- /src/theme/Menu/styles.module.css: -------------------------------------------------------------------------------- 1 | .menu .menu { 2 | @apply ml-3; 3 | } 4 | 5 | .menuItem { 6 | padding: theme("spacing.1") theme("spacing.3"); 7 | } 8 | 9 | .menuItemSublist { 10 | position: relative; 11 | padding-right: calc(theme("spacing.3") + 1.25rem); 12 | } 13 | 14 | .menuItemSublist::after { 15 | background: url('data:image/svg+xml;utf8,') 16 | 50%/2rem 2rem; 17 | content: " "; 18 | height: 1.25rem; 19 | position: absolute; 20 | right: 1rem; 21 | top: 0.375rem; 22 | transform: rotate(180deg); 23 | width: 1.25rem; 24 | transition: transform 250ms linear; 25 | } 26 | 27 | .collapsed::after { 28 | transform: rotate(90deg); 29 | } 30 | -------------------------------------------------------------------------------- /www/docs/tutorial-basics/deploy-your-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Deploy your site 6 | 7 | Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). 8 | 9 | It builds your site as simple **static HTML, JavaScript and CSS files**. 10 | 11 | ## Build your site 12 | 13 | Build your site **for production**: 14 | 15 | ```bash 16 | npm run build 17 | ``` 18 | 19 | The static files are generated in the `build` folder. 20 | 21 | ## Deploy your site 22 | 23 | Test your production build locally: 24 | 25 | ```bash 26 | npm run serve 27 | ``` 28 | 29 | The `build` folder is now served at `http://localhost:3000/`. 30 | 31 | You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). 32 | -------------------------------------------------------------------------------- /src/theme/hooks/useLocationHash.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import { useState, useEffect } from "react"; 9 | import type { UseLocationHashReturns } from "@theme/hooks/useLocationHash"; 10 | 11 | function useLocationHash(initialHash: string): UseLocationHashReturns { 12 | const [hash, setHash] = useState(initialHash); 13 | 14 | useEffect(() => { 15 | const handleHashChange = () => setHash(window.location.hash); 16 | 17 | window.addEventListener("hashchange", handleHashChange); 18 | 19 | return () => window.removeEventListener("hashchange", handleHashChange); 20 | }, []); 21 | 22 | return [hash, setHash]; 23 | } 24 | 25 | export default useLocationHash; 26 | -------------------------------------------------------------------------------- /src/theme/hooks/usePrismTheme.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import defaultTheme from "prism-react-renderer/themes/palenight"; 9 | import useThemeContext from "@theme/hooks/useThemeContext"; 10 | import { useThemeConfig } from "@docusaurus/theme-common"; 11 | 12 | const usePrismTheme = (): typeof defaultTheme => { 13 | const { prism } = useThemeConfig(); 14 | const { isDarkTheme } = useThemeContext(); 15 | const lightModeTheme = prism.theme || defaultTheme; 16 | const darkModeTheme = prism.darkTheme || lightModeTheme; 17 | const prismTheme = isDarkTheme ? darkModeTheme : lightModeTheme; 18 | 19 | return prismTheme; 20 | }; 21 | 22 | export default usePrismTheme; 23 | -------------------------------------------------------------------------------- /www/docs/tutorial-basics/create-a-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Create a Blog Post 6 | 7 | Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... 8 | 9 | ## Create your first Post 10 | 11 | Create a file at `blog/2021-02-28-greetings.md`: 12 | 13 | ```md title="blog/2021-02-28-greetings.md" 14 | --- 15 | slug: greetings 16 | title: Greetings! 17 | author: Steven Hansel 18 | author_title: Docusaurus Contributor 19 | author_url: https://github.com/ShinteiMai 20 | author_image_url: https://github.com/ShinteiMai.png 21 | tags: [greetings] 22 | --- 23 | 24 | Congratulations, you have made your first post! 25 | 26 | Feel free to play around and edit this post as much you like. 27 | ``` 28 | 29 | A new blog post is now available at `http://localhost:3000/blog/greetings`. 30 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.0/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Tutorial Intro 6 | 7 | Let's discover **Docusaurus in less than 5 minutes**. 8 | 9 | ## Getting Started 10 | 11 | Get started by **creating a new site**. 12 | 13 | Or **try Docusaurus immediately** with **[new.docusaurus.io](https://new.docusaurus.io)**. 14 | 15 | ## Generate a new site 16 | 17 | Generate a new Docusaurus site using the **classic template**: 18 | 19 | ```shell 20 | npx @docusaurus/init@latest init my-website classic 21 | ``` 22 | 23 | ## Start your site 24 | 25 | Run the development server: 26 | 27 | ```shell 28 | cd my-website 29 | 30 | npx docusaurus start 31 | ``` 32 | 33 | Your site starts at `http://localhost:3000`. 34 | 35 | Open `docs/getting-started.md` and edit some lines: the site **reloads automatically** and display your changes. 36 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.1/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Tutorial Intro 6 | 7 | Let's discover **Docusaurus in less than 5 minutes**. 8 | 9 | ## Getting Started 10 | 11 | Get started by **creating a new site**. 12 | 13 | Or **try Docusaurus immediately** with **[new.docusaurus.io](https://new.docusaurus.io)**. 14 | 15 | ## Generate a new site 16 | 17 | Generate a new Docusaurus site using the **classic template**: 18 | 19 | ```shell 20 | npx @docusaurus/init@latest init my-website classic 21 | ``` 22 | 23 | ## Start your site 24 | 25 | Run the development server: 26 | 27 | ```shell 28 | cd my-website 29 | 30 | npx docusaurus start 31 | ``` 32 | 33 | Your site starts at `http://localhost:3000`. 34 | 35 | Open `docs/getting-started.md` and edit some lines: the site **reloads automatically** and display your changes. 36 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.0/tutorial-basics/deploy-your-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Deploy your site 6 | 7 | Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). 8 | 9 | It builds your site as simple **static HTML, JavaScript and CSS files**. 10 | 11 | ## Build your site 12 | 13 | Build your site **for production**: 14 | 15 | ```bash 16 | npm run build 17 | ``` 18 | 19 | The static files are generated in the `build` folder. 20 | 21 | ## Deploy your site 22 | 23 | Test your production build locally: 24 | 25 | ```bash 26 | npm run serve 27 | ``` 28 | 29 | The `build` folder is now served at `http://localhost:3000/`. 30 | 31 | You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). 32 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.1/tutorial-basics/deploy-your-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 5 3 | --- 4 | 5 | # Deploy your site 6 | 7 | Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). 8 | 9 | It builds your site as simple **static HTML, JavaScript and CSS files**. 10 | 11 | ## Build your site 12 | 13 | Build your site **for production**: 14 | 15 | ```bash 16 | npm run build 17 | ``` 18 | 19 | The static files are generated in the `build` folder. 20 | 21 | ## Deploy your site 22 | 23 | Test your production build locally: 24 | 25 | ```bash 26 | npm run serve 27 | ``` 28 | 29 | The `build` folder is now served at `http://localhost:3000/`. 30 | 31 | You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). 32 | -------------------------------------------------------------------------------- /src/theme/hooks/useUserPreferencesContext.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import { useContext } from "react"; 9 | 10 | import UserPreferencesContext from "@theme/UserPreferencesContext"; 11 | import type { UserPreferencesContextProps } from "@theme/hooks/useUserPreferencesContext"; 12 | 13 | function useUserPreferencesContext(): UserPreferencesContextProps { 14 | const context = useContext( 15 | UserPreferencesContext 16 | ); 17 | if (context == null) { 18 | throw new Error( 19 | "`useUserPreferencesContext` is used outside of `Layout` Component." 20 | ); 21 | } 22 | return context; 23 | } 24 | 25 | export default useUserPreferencesContext; 26 | -------------------------------------------------------------------------------- /www/README.md: -------------------------------------------------------------------------------- 1 | # Website 2 | 3 | This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. 4 | 5 | ## Installation 6 | 7 | ```console 8 | yarn install 9 | ``` 10 | 11 | ## Local Development 12 | 13 | ```console 14 | yarn start 15 | ``` 16 | 17 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 18 | 19 | ## Build 20 | 21 | ```console 22 | yarn build 23 | ``` 24 | 25 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 26 | 27 | ## Deployment 28 | 29 | ```console 30 | GIT_USER= USE_SSH=true yarn deploy 31 | ``` 32 | 33 | If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. 34 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.0/tutorial-basics/create-a-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Create a Blog Post 6 | 7 | Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... 8 | 9 | ## Create your first Post 10 | 11 | Create a file at `blog/2021-02-28-greetings.md`: 12 | 13 | ```md title="blog/2021-02-28-greetings.md" 14 | --- 15 | slug: greetings 16 | title: Greetings! 17 | author: Steven Hansel 18 | author_title: Docusaurus Contributor 19 | author_url: https://github.com/ShinteiMai 20 | author_image_url: https://github.com/ShinteiMai.png 21 | tags: [greetings] 22 | --- 23 | 24 | Congratulations, you have made your first post! 25 | 26 | Feel free to play around and edit this post as much you like. 27 | ``` 28 | 29 | A new blog post is now available at `http://localhost:3000/blog/greetings`. 30 | -------------------------------------------------------------------------------- /www/versioned_docs/version-1.0.0-alpha.1/tutorial-basics/create-a-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 3 3 | --- 4 | 5 | # Create a Blog Post 6 | 7 | Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... 8 | 9 | ## Create your first Post 10 | 11 | Create a file at `blog/2021-02-28-greetings.md`: 12 | 13 | ```md title="blog/2021-02-28-greetings.md" 14 | --- 15 | slug: greetings 16 | title: Greetings! 17 | author: Steven Hansel 18 | author_title: Docusaurus Contributor 19 | author_url: https://github.com/ShinteiMai 20 | author_image_url: https://github.com/ShinteiMai.png 21 | tags: [greetings] 22 | --- 23 | 24 | Congratulations, you have made your first post! 25 | 26 | Feel free to play around and edit this post as much you like. 27 | ``` 28 | 29 | A new blog post is now available at `http://localhost:3000/blog/greetings`. 30 | -------------------------------------------------------------------------------- /src/theme/LayoutProviders/index.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) Facebook, Inc. and its affiliates. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | import React from 'react'; 9 | import ThemeProvider from '@theme/ThemeProvider'; 10 | import UserPreferencesProvider from '@theme/UserPreferencesProvider'; 11 | import {DocsPreferredVersionContextProvider} from '@docusaurus/theme-common'; 12 | import type {Props} from '@theme/LayoutProviders'; 13 | 14 | export default function LayoutProviders({children}: Props): JSX.Element { 15 | return ( 16 | 17 | 18 | 19 | {children} 20 | 21 | 22 | 23 | ); 24 | } 25 | -------------------------------------------------------------------------------- /src/theme/Paginator.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Link from "@docusaurus/Link"; 3 | 4 | export default function Paginator(props: any) { 5 | return ( 6 |