Adds docs folder with Docusaurus

This commit is contained in:
Chris Anderson 2023-02-17 17:40:32 -06:00
parent a218ced72b
commit 19606cdf38
47 changed files with 22399 additions and 9 deletions

40
.github/workflows/docs.yml vendored Normal file
View file

@ -0,0 +1,40 @@
name: Docs
on:
push:
branches:
- documentation
jobs:
deploy:
name: Deploy to GitHub Pages
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: npm
- name: Open docs folder
run: cd docs
- name: Install dependencies
run: npm ci
- name: Build website
run: npm build
# Popular action to deploy to GitHub Pages:
# Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
# Build output to publish to the `gh-pages` branch:
publish_dir: ./build
# The following lines assign commit authorship to the official
# GH-Actions bot for deploys to `gh-pages` branch:
# https://github.com/actions/checkout/issues/13#issuecomment-724415212
# The GH actions bot is used by default if you didn't specify the two fields.
# You can swap them out with your own user credentials.
user_name: github-actions[bot]
user_email: 41898282+github-actions[bot]@users.noreply.github.com

20
docs/.gitignore vendored Normal file
View file

@ -0,0 +1,20 @@
# Dependencies
/node_modules
# Production
/build
# Generated files
.docusaurus
.cache-loader
# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*

41
docs/README.md Normal file
View file

@ -0,0 +1,41 @@
# Website
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
### Installation
```
$ yarn
```
### Local Development
```
$ yarn start
```
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
### Build
```
$ yarn build
```
This command generates static content into the `build` directory and can be served using any static contents hosting service.
### Deployment
Using SSH:
```
$ USE_SSH=true yarn deploy
```
Not using SSH:
```
$ GIT_USER=<Your GitHub username> yarn deploy
```
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.

3
docs/babel.config.js Normal file
View file

@ -0,0 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};

View file

@ -0,0 +1,8 @@
{
"label": "Deploy",
"position": 3,
"link": {
"type": "generated-index"
}
}

View file

@ -0,0 +1,6 @@
{
"label": "How To",
"position": 2,
"collapsible": false
}

View file

@ -0,0 +1,8 @@
{
"label": "Campaigns",
"position": 1,
"link": {
"type": "generated-index"
}
}

View file

@ -59,54 +59,99 @@ Alongside being able to access variables using handlebars, you can also modify v
Appends the speficied `suffix to the given `string`.
#### Camelcase
camelCase the characters in the given `string`.
```handlebars
{{ camelcase "snake_case_string" }} // = `snakeCaseString`
```
#### Capitalize
Capitalize the first word in a sentence.
```handlebars
{{ capitalize "this is a sentence" }} // = `This is a sentence`
```
#### Capitalize All
Capitalize all words in a string.
```handlebars
{{ capitalizeAll "this is a sentence" }} // = `This Is A Sentence`
```
#### Ellipsis
Capitalize all words in a string.
Truncates a string to the specified `length`, and appends it with an el;ipsis, `…`.
```handlebars
{{ ellipsis "very long string" 4 }} // = `very...`
```
#### Lowercase
Lowercase all characters in the given string.
```handlebars
{{lowercase myStr}}
{{ lowercase "UPPERCASE" }} // = `uppercase`
```
#### Occurences
Return the number of occurrences of `substring` within the given `string`.
```handlebars
{{ occurences "this and that and those" "and" }} // = `2`
```
#### Prepend
Prepends the given `string` with the specified `prefix`.
```handlebars
{{ prepend "means come before" "Prepend" }} // = `Prepend means come before`
```
#### Replace
Replace all occurrences of substring `a` with substring `b`.
In a given piece of text, replace all occurrences of substring `a` with substring `b`.
```handlebars
{{ replace "one two three four" " " ", " }} // = `one, two, three, four`
```
#### Replace First
Replace the first occurrence of substring `a` with substring `b`.
```handlebars
{{ replaceFirst "one two three four" " " ", " }} // = `one, two three four`
```
#### Reverse
Reverses a string.
```handlebars
{{ reverse "abcd" }} // = `dcba`
```
#### Snakecase
Converts a given string to snake case (i.e. snake_case)
```handlebars
{{ snakecase "camelCaseText" }} // = `camel_case_text`
```
#### Split
Split a piece of text into an array on the given `character`.
```handlebars
{{ split "one two three" " " }} // = `Array[one, two, three]`
```
#### Starts With
Tests whether a string begins with the given prefix.
#### Titlelize
Convert the entire string to title case.
```handlebars
{{ startsWith "Peter" "Pet" }} // = `true`
```
#### Trim
Removes extraneous whitespace from the beginning and end of a string.
```handlebars
{{ trim " text " }} // = `text` (no space before or after)
```
#### Truncate
Truncate a string to the specified `length`
```handlebars
{{ truncate "This is a long piece of text" 4 }} // = `This`
```
#### Truncate Words
Truncate a string to have the specified number of words.
```handlebars
{{ trucateWords "This is a long piece of text" 3 }} // = `This is a`
```
### Numbers
#### Absolute Value
@ -136,7 +181,7 @@ Divide `a` by `b`
```
#### Floor
Round a decimal valu down to the closest whole number.
Round a decimal value down to the closest whole number.
```handlebars
{{ floor 5.14 }} // = `5`
```

View file

@ -0,0 +1,5 @@
{
"label": "Settings",
"position": 3
}

View file

@ -0,0 +1 @@
# Index for settings!

27
docs/docs/intro.md Normal file
View file

@ -0,0 +1,27 @@
---
title: Home
slug: /
sidebar_position: 1
sidebar_class_name: menu-home
pagination_prev: null
pagination_next: null
custom_edit_url: null
---
# Documentation
## What is Parcelvoy?
Parcelvoy is an open sourced automated messaging and customer engagement tool for growth companies and enterprise alike. It combines the user experience you would expect in a Saas product with the flexibility of an open sourced tool.
## Discover
### Overview
Start here to get up and running and get aquainted at a high level with Parcelvoy.
### How To
Learn each component of Parcelvoy and how to do everything from create a campaign to generating a dynamic list.
### Integrations & Clients
To make full use of Parcelvoy you'll want to integrate it with our list of providers and include it in your app.
### API
We have an extensive list of available APIs to manage the platform or ingest data however you see fit. Documentation Coming soon.

View file

@ -0,0 +1,44 @@
# Tutorial Intro
Let's discover **Docusaurus in less than 5 minutes**.
## Getting Started
Get started by **creating a new site**.
Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**.
### What you'll need
- [Node.js](https://nodejs.org/en/download/) version 16.14 or above:
- When installing Node.js, you are recommended to check all checkboxes related to dependencies.
## Generate a new site
Generate a new Docusaurus site using the **classic template**.
The classic template will automatically be added to your project after you run the command:
```bash
npm init docusaurus@latest my-website classic
```
You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.
The command also installs all necessary dependencies you need to run Docusaurus.
## Start your site
Run the development server:
```bash
cd my-website
npm run start
```
The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there.
The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/.
Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes.

View file

@ -0,0 +1,6 @@
{
"label": "Quick Start",
"position": 1,
"collapsible": false
}

View file

@ -0,0 +1,8 @@
{
"label": "Tutorial - Basics",
"position": 2,
"link": {
"type": "generated-index",
"description": "5 minutes to learn the most important Docusaurus concepts."
}
}

View file

@ -0,0 +1,34 @@
---
sidebar_position: 3
---
# Create a Blog Post
Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed...
## Create your first Post
Create a file at `blog/2021-02-28-greetings.md`:
```md title="blog/2021-02-28-greetings.md"
---
slug: greetings
title: Greetings!
authors:
- name: Joel Marcey
title: Co-creator of Docusaurus 1
url: https://github.com/JoelMarcey
image_url: https://github.com/JoelMarcey.png
- name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
tags: [greetings]
---
Congratulations, you have made your first post!
Feel free to play around and edit this post as much you like.
```
A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings).

View file

@ -0,0 +1,57 @@
---
sidebar_position: 2
---
# Create a Document
Documents are **groups of pages** connected through:
- a **sidebar**
- **previous/next navigation**
- **versioning**
## Create your first Doc
Create a Markdown file at `docs/hello.md`:
```md title="docs/hello.md"
# Hello
This is my **first Docusaurus document**!
```
A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello).
## Configure the Sidebar
Docusaurus automatically **creates a sidebar** from the `docs` folder.
Add metadata to customize the sidebar label and position:
```md title="docs/hello.md" {1-4}
---
sidebar_label: 'Hi!'
sidebar_position: 3
---
# Hello
This is my **first Docusaurus document**!
```
It is also possible to create your sidebar explicitly in `sidebars.js`:
```js title="sidebars.js"
module.exports = {
tutorialSidebar: [
'intro',
// highlight-next-line
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
};
```

View file

@ -0,0 +1,43 @@
---
sidebar_position: 1
---
# Create a Page
Add **Markdown or React** files to `src/pages` to create a **standalone page**:
- `src/pages/index.js``localhost:3000/`
- `src/pages/foo.md``localhost:3000/foo`
- `src/pages/foo/bar.js``localhost:3000/foo/bar`
## Create your first React Page
Create a file at `src/pages/my-react-page.js`:
```jsx title="src/pages/my-react-page.js"
import React from 'react';
import Layout from '@theme/Layout';
export default function MyReactPage() {
return (
<Layout>
<h1>My React page</h1>
<p>This is a React page</p>
</Layout>
);
}
```
A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page).
## Create your first Markdown Page
Create a file at `src/pages/my-markdown-page.md`:
```mdx title="src/pages/my-markdown-page.md"
# My Markdown page
This is a Markdown page
```
A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page).

View file

@ -0,0 +1,31 @@
---
sidebar_position: 5
---
# Deploy your site
Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**).
It builds your site as simple **static HTML, JavaScript and CSS files**.
## Build your site
Build your site **for production**:
```bash
npm run build
```
The static files are generated in the `build` folder.
## Deploy your site
Test your production build locally:
```bash
npm run serve
```
The `build` folder is now served at [http://localhost:3000/](http://localhost:3000/).
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)**).

View file

@ -0,0 +1,148 @@
---
sidebar_position: 4
---
# Markdown Features
Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**.
## Front Matter
Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/):
```text title="my-doc.md"
// highlight-start
---
id: my-doc-id
title: My document title
description: My document description
slug: /my-custom-url
---
// highlight-end
## Markdown heading
Markdown text with [links](./hello.md)
```
## Links
Regular Markdown links are supported, using url paths or relative file paths.
```md
Let's see how to [Create a page](/create-a-page).
```
```md
Let's see how to [Create a page](./create-a-page.md).
```
**Result:** Let's see how to [Create a page](./create-a-page.md).
## Images
Regular Markdown images are supported.
You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`):
```md
![Docusaurus logo](/img/docusaurus.png)
```
You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:
```md
![Docusaurus logo](./img/docusaurus.png)
```
## Code Blocks
Markdown code blocks are supported with Syntax highlighting.
```jsx title="src/components/HelloDocusaurus.js"
function HelloDocusaurus() {
return (
<h1>Hello, Docusaurus!</h1>
)
}
```
```jsx title="src/components/HelloDocusaurus.js"
function HelloDocusaurus() {
return <h1>Hello, Docusaurus!</h1>;
}
```
## Admonitions
Docusaurus has a special syntax to create admonitions and callouts:
:::tip My tip
Use this awesome feature option
:::
:::danger Take care
This action is dangerous
:::
:::tip My tip
Use this awesome feature option
:::
:::danger Take care
This action is dangerous
:::
## MDX and React Components
[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**:
```jsx
export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '20px',
color: '#fff',
padding: '10px',
cursor: 'pointer',
}}
onClick={() => {
alert(`You clicked the color ${color} with label ${children}`)
}}>
{children}
</span>
);
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
This is <Highlight color="#1877F2">Facebook blue</Highlight> !
```
export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '20px',
color: '#fff',
padding: '10px',
cursor: 'pointer',
}}
onClick={() => {
alert(`You clicked the color ${color} with label ${children}`);
}}>
{children}
</span>
);
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
This is <Highlight color="#1877F2">Facebook blue</Highlight> !

124
docs/docusaurus.config.js Normal file
View file

@ -0,0 +1,124 @@
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'Parcelvoy',
tagline: 'Dinosaurs are cool',
favicon: 'img/favicon.ico',
// Set the production url of your site here
url: 'https://docs.parcelvoy.com',
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/',
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: 'parcelvoy', // Usually your GitHub org/user name.
projectName: 'platform', // Usually your repo name.
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
presets: [
[
'classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
sidebarPath: require.resolve('./sidebars.js'),
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
'https://github.com/parcelvoy/platform/blob/main/docs/',
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
image: 'img/og-image.jpg',
navbar: {
title: '',
logo: {
alt: 'Parcelvoy',
src: 'img/parcelvoy.svg',
},
items: [
{
href: 'https://github.com/parcelvoy/platform',
label: 'GitHub',
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: 'Tutorial',
to: '/docs/intro',
},
],
},
{
title: 'Community',
items: [
{
label: 'Stack Overflow',
href: 'https://stackoverflow.com/questions/tagged/docusaurus',
},
{
label: 'Discord',
href: 'https://discordapp.com/invite/docusaurus',
},
{
label: 'Twitter',
href: 'https://twitter.com/docusaurus',
},
],
},
{
title: 'More',
items: [
{
label: 'Blog',
to: '/blog',
},
{
label: 'GitHub',
href: 'https://github.com/facebook/docusaurus',
},
],
},
],
copyright: `© ${new Date().getFullYear()} Parcelvoy`,
},
prism: {
theme: darkCodeTheme,
darkTheme: darkCodeTheme,
},
}),
};
module.exports = config;

21407
docs/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

47
docs/package.json Normal file
View file

@ -0,0 +1,47 @@
{
"name": "parcelvoy",
"version": "0.0.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "2.3.1",
"@docusaurus/preset-classic": "2.3.1",
"@fontsource/inter": "^4.5.15",
"@mdx-js/react": "^1.6.22",
"clsx": "^1.2.1",
"prism-react-renderer": "^1.3.5",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.3.1",
"@tsconfig/docusaurus": "^1.0.5",
"typescript": "^4.7.4"
},
"browserslist": {
"production": [
">0.5%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"engines": {
"node": ">=16.14"
}
}

33
docs/sidebars.js Normal file
View file

@ -0,0 +1,33 @@
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
// By default, Docusaurus generates a sidebar from the docs folder structure
tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
// But you can create a sidebar manually
/*
tutorialSidebar: [
'intro',
'hello',
{
type: 'category',
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
};
module.exports = sidebars;

147
docs/src/css/custom.css Normal file
View file

@ -0,0 +1,147 @@
/**
* Any CSS included here will be global. The classic template
* bundles Infima by default. Infima is a CSS framework designed to
* work well for content-centric websites.
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
/* You can override the default Infima variables here. */
:root {
--color-black: #151c2d;
--color-white: #ffffff;
--color-primary: var(--color-black);
--color-primary-soft: #6b707b;
--color-grey: #eae8e8;
--color-grey-soft: #F5F5F7;
--color-grey-hard: #cecfd2;
--ifm-color-primary: var(--color-primary);
--ifm-heading-color: var(--color-primary);
--ifm-color-primary-dark: #151c2d;
--ifm-color-primary-darker: #277148;
--ifm-color-primary-darkest: #205d3b;
--ifm-color-primary-light: var(--color-primary-soft);
--ifm-color-primary-lighter: #359962;
--ifm-color-primary-lightest: #3cad6e;
--ifm-code-font-size: 95%;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
[data-theme='dark'] {
--ifm-color-primary: #25c2a0;
--ifm-color-primary-dark: #21af90;
--ifm-color-primary-darker: #1fa588;
--ifm-color-primary-darkest: #1a8870;
--ifm-color-primary-light: #29d5b0;
--ifm-color-primary-lighter: #32d8b4;
--ifm-color-primary-lightest: #4fddbf;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
}
body {
font-family: 'Inter', 'Helvetica Neue', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
font-size: 15px;
background: var(--color-background);
color: var(--color-primary);
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
color: var(--color-primary) !important;
}
.navbar {
box-shadow: none;
border-bottom: 1px solid var(--color-grey);
}
.theme-doc-sidebar-container {
border-right-color: var(--color-grey-soft) !important;
}
.container {
padding: 40px !important;
}
.menu .menu__list .menu__link {
color: var(--color-primary);
font-weight: 600;
}
.menu .menu__list .menu__list .menu__link {
color: var(--color-primary-soft);
font-weight: 500;
border-radius: 0;
margin: 0;
}
.menu .menu__list .menu__list .menu__list-item > .menu__list-item-collapsible,
.menu .menu__list .menu__list .menu__list-item > .menu__link {
border-left: 1px solid var(--color-grey);
border-radius: 0;
}
.menu .theme-doc-sidebar-item-link-level-1,
.menu .theme-doc-sidebar-item-category-level-1 {
margin-top: 20px;
}
.menu .theme-doc-sidebar-item-link-level-2,
.menu .theme-doc-sidebar-item-category-level-2 {
margin: 0;
}
.menu__caret:before {
background: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" viewBox=\"0 0 24 24\"><path fill=\"rgba(0,0,0,0.3)\" d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\"></path></svg>") 50% / 1.5rem 1.5rem;
}
.menu .menu__link:hover,
.menu .menu__list-item-collapsible:hover {
background: none;
}
.menu .menu__list .menu__list .menu__list-item > .menu__list-item-collapsible:hover,
.menu .menu__list .menu__list .menu__list-item > .menu__link:hover,
.menu .menu__list .menu__list .menu__list-item > .menu__link.menu__link--active {
border-left: 1px solid var(--color-primary);
color: var(--color-primary);
}
.menu .menu__list .menu__list .menu__list-item > .menu__list-item-collapsible:hover .menu__link,
.menu .menu__list .menu__list .menu__list-item > .menu__link.menu__link--active {
background: none;
color: var(--color-primary);
}
.menu .menu__list .menu__list .menu__list-item > .menu__link.menu__link--active {
font-weight: 600;
}
.menu-home {
display: none;
}
.theme-code-block {
box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px !important;
}
.table-of-contents__link {
color: var(--color-primary-soft);
}
.table-of-contents__link.table-of-contents__link--active,
.table-of-contents__link:hover {
color: var(--color-primary);
font-weight: 600;
}
.footer {
background: var(--color-primary);
}

View file

@ -0,0 +1,7 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

BIN
docs/static/img/favicon.ico vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

1
docs/static/img/logo.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
docs/static/img/og-image.jpg vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

12
docs/static/img/parcelvoy.svg vendored Normal file
View file

@ -0,0 +1,12 @@
<svg width="196" height="39" viewBox="0 0 196 39" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M50.176 5.57602H40.132V30.776H44.092V22.424H50.176C56.044 22.424 59.428 19.256 59.428 14C59.428 8.74402 56.044 5.57602 50.176 5.57602ZM49.888 18.752H44.092V9.24802H49.888C53.56 9.24802 55.324 10.796 55.324 14C55.324 17.204 53.56 18.752 49.888 18.752Z" fill="black"/>
<path d="M75.0368 13.892L74.8208 16.412H74.7128C73.7048 14.54 71.4728 13.496 68.9888 13.496C64.3088 13.496 60.6728 17.312 60.6728 22.316C60.6728 27.356 64.3088 31.172 68.9888 31.172C71.4728 31.172 73.7048 30.128 74.7128 28.256H74.8208L75.0368 30.776H78.4568V13.892H75.0368ZM64.4888 22.316C64.4888 19.22 66.5408 16.88 69.6728 16.88C72.8048 16.88 74.8568 19.22 74.8568 22.316C74.8568 25.412 72.8048 27.788 69.6728 27.788C66.5408 27.788 64.4888 25.412 64.4888 22.316Z" fill="black"/>
<path d="M91.6446 13.568C89.2686 13.568 87.2526 14.792 86.3166 17.132H86.2086L85.9926 13.892H82.5726V30.776H86.3166V23.612C86.3166 19.112 88.2966 17.132 91.5366 17.132C92.1486 17.132 92.7606 17.204 93.1926 17.276V13.82C92.7246 13.64 92.2206 13.568 91.6446 13.568Z" fill="black"/>
<path d="M103.018 31.172C107.554 31.172 110.974 28.364 111.334 24.332H107.518C107.122 26.528 105.358 27.788 103.054 27.788C99.9221 27.788 97.9421 25.52 97.9421 22.316C97.9421 19.148 99.9221 16.88 103.054 16.88C105.394 16.88 107.122 18.14 107.554 20.372H111.37C110.974 16.304 107.59 13.496 103.018 13.496C97.6541 13.496 94.1261 17.348 94.1261 22.316C94.1261 27.284 97.6541 31.172 103.018 31.172Z" fill="black"/>
<path d="M130.966 22.244C130.966 16.988 127.438 13.496 122.362 13.496C117.106 13.496 113.542 17.204 113.542 22.352C113.542 27.536 117.07 31.172 122.47 31.172C127.006 31.172 129.994 28.688 130.678 25.556H127.078C126.646 27.068 124.99 28.112 122.506 28.112C119.554 28.112 117.682 26.564 117.322 23.504H130.858C130.93 23.108 130.966 22.748 130.966 22.244ZM122.362 16.52C125.026 16.52 126.718 17.924 127.15 20.804H117.358C117.826 17.96 119.626 16.52 122.362 16.52Z" fill="black"/>
<path d="M134.106 30.776H137.85V5.57602H134.106V30.776Z" fill="black"/>
<path d="M147.284 30.776H150.776L158.156 13.892H154.124L149.084 26.24H148.976L143.9 13.892H139.904L147.284 30.776Z" fill="black"/>
<path d="M167.642 31.172C172.79 31.172 176.642 27.356 176.642 22.316C176.642 17.312 172.79 13.496 167.642 13.496C162.494 13.496 158.642 17.312 158.642 22.316C158.642 27.356 162.494 31.172 167.642 31.172ZM167.642 27.788C164.51 27.788 162.458 25.412 162.458 22.316C162.458 19.22 164.51 16.88 167.642 16.88C170.774 16.88 172.79 19.22 172.79 22.316C172.79 25.412 170.774 27.788 167.642 27.788Z" fill="black"/>
<path d="M191.339 13.892L186.299 26.24H186.191L181.115 13.892H177.119L184.283 30.272L180.575 38.552H184.571L195.371 13.892H191.339Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.9788 0.626526L31.4444 8.35935V27.6648L15.9788 35.3977L0.513153 27.6648V8.35935L15.9788 0.626526ZM5.90762 9.92568C4.93867 10.4102 4.3266 11.4005 4.3266 12.4838V23.5404C4.3266 24.6237 4.93867 25.614 5.90762 26.0985L7.29265 26.791V16.4628C7.29265 13.5739 8.92482 10.933 11.5087 9.64107L18.4947 6.14805L17.2579 5.52962C16.4527 5.12703 15.5049 5.12703 14.6997 5.52962L5.90762 9.92568ZM14.6997 30.4946L12.2117 29.2505C11.5341 28.9118 11.1061 28.2192 11.1061 27.4617V24.2751L20.449 19.6037C23.0328 18.3117 24.665 15.6708 24.665 12.782V9.23319L26.05 9.92568C27.0189 10.4102 27.631 11.4005 27.631 12.4838V23.5404C27.631 24.6237 27.0189 25.614 26.05 26.0985L17.2579 30.4946C16.4527 30.8972 15.5049 30.8972 14.6997 30.4946ZM20.8516 9.2332V12.782C20.8516 14.2264 20.0355 15.5469 18.7435 16.1928L11.1061 20.0115V16.4628C11.1061 15.0183 11.9222 13.6979 13.2141 13.0519L20.8516 9.2332Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

7
docs/tsconfig.json Normal file
View file

@ -0,0 +1,7 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@tsconfig/docusaurus/tsconfig.json",
"compilerOptions": {
"baseUrl": "."
}
}

View file

30
package-lock.json generated
View file

@ -1,14 +1,18 @@
{
"name": "root",
"name": "parcelvoy",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "root",
"name": "parcelvoy",
"workspaces": [
"apps/*"
],
"dependencies": {
"bcryptjs": "^2.4.3"
},
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"lerna": "^6.0.3"
}
},
@ -24859,6 +24863,12 @@
"node": ">= 10"
}
},
"node_modules/@types/bcryptjs": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz",
"integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==",
"dev": true
},
"node_modules/@types/body-parser": {
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
@ -25264,6 +25274,11 @@
}
]
},
"node_modules/bcryptjs": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
"integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
},
"node_modules/before-after-hook": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
@ -31907,6 +31922,12 @@
"integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
"dev": true
},
"@types/bcryptjs": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/@types/bcryptjs/-/bcryptjs-2.4.2.tgz",
"integrity": "sha512-LiMQ6EOPob/4yUL66SZzu6Yh77cbzJFYll+ZfaPiPPFswtIlA/Fs1MzdKYA7JApHU49zQTbJGX3PDmCpIdDBRQ==",
"dev": true
},
"@types/body-parser": {
"version": "1.19.2",
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
@ -32246,6 +32267,11 @@
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
"bcryptjs": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz",
"integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
},
"before-after-hook": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",

View file

@ -5,6 +5,7 @@
"apps/*"
],
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"lerna": "^6.0.3"
},
"scripts": {
@ -12,5 +13,8 @@
"build": "lerna run build",
"lint": "lerna run lint",
"test": "lerna run test"
},
"dependencies": {
"bcryptjs": "^2.4.3"
}
}