diff --git a/pkg/website/docs/installation.md b/pkg/website/docs/installation.md new file mode 100644 index 0000000..47edd29 --- /dev/null +++ b/pkg/website/docs/installation.md @@ -0,0 +1,17 @@ +--- +sidebar_position: 1 +--- + +# 👩‍💻 How to Compile and Run Fysh + +## ⚙️ Option 1: Using VSCode + +1. Download the `Fysh` VSCode extension. +2. Create a `.fysh` file. +3. Write your code. +4. Press the run button. + +## ⚙️ Option 2: Using Command Line + +1. Install the latest version `go install github.com/Fysh-Fyve/fysh@latest` +2. Execute with `fysh .fysh`. diff --git a/pkg/website/docs/intro.md b/pkg/website/docs/intro.md deleted file mode 100644 index 45e8604..0000000 --- a/pkg/website/docs/intro.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -sidebar_position: 1 ---- - -# 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 18.0 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. diff --git a/pkg/website/docs/manual.md b/pkg/website/docs/manual.md new file mode 100644 index 0000000..3db6c18 --- /dev/null +++ b/pkg/website/docs/manual.md @@ -0,0 +1,439 @@ +--- +sidebar_position: 2 +--- + +# 🐙 Fyshing Manual + +## 🐠 Chapter 1: Fysh Syntax + +
+ Click to expand + +### 🐟 Variables + +- Meet Steven, our fishy friend. In Fysh, variables like Steven are declared + with `>`. Every line of fysh ends with a wave `~`. + +```fysh +> ~ +``` + +- Steven has binary scales. In Fysh, `}` represents `1` and `)` represents `0`. + Here, Steven is valued at `0b101`, which is `5` in decimal. + +```fysh +> = ><})}> ~ +``` + +- Steven doesn’t give a flying fysh about scale direction. `≈` for variable + assignment is cool with them too. + +```fysh +> ≈ ><}({> ~ +``` + +### 👁️ Optional Visuals + +- Steven is blind. You have the power to bless them with sight, but it's + completely optional! You can make them biblically accurate by giving them + multiple eyes. + +```fysh +> ≈ ><{({°> ~ +> ≈ ><{({o> ~ +> ≈ ><{({°°> ~ +> ≈ ><{({o°> ~ +> = ><{({°o°> ~ +``` + +### ➕ Arithmetic with Variables + +- **Summing values:** A school of Fysh's value is the sum of each member. This + gives Steven a value of `0b101 = 0b100 + 0b001 =` (5 = 4 + 1). + +```fysh +> ≈ ><{((°> ><(({°> ~ +``` + +- **Subtracting values:** Sometimes fysh are negative and start to swim + backwards. This takes away from the school's value. Steven's value is + `0b101 = 0b111 - 0b010` (5 = 7 - 2). + +```fysh +> ≈ ><{{{°> <°)})>< ~ # 0b101 = 0b111 - 0b010 +``` + +- **Multiplying values:** Fysh often get lonely. This loneliness causes fysh to + meet new fysh and proliferate. This gives Steven a value of + `0b101010 = 0b110 * 0b111`. (42 = 6 * 7) + +```fysh +> = ><{{(°> <3 ><{{{°> ~ +> ≈ ><{{(°> ♡ ><{{{°> ~ +``` + +- **Dividing values:** Not every fysh story is a happy one. At times, separation + is inevitable, and their division breaks their heart. This gives Steven a + value of `0b101 = 0b11001 / 0b101`. (5 = 25 / 5) + +```fysh +> ≈ ><{{(({°> <{({°> ~ +> ≈ ><{{(({°> 💔 ><{({°> ~ +``` + +- **Using parentheses for complex operations:** Fysh are often abducted and + isolated into fyshbowls `( )` for terrestrials' amusment. This makes the fysh + sad and gives Steven a value of `0b101 = 0b101 / (0b101 - 0b100)`. (5 = 5 / + (5 - 4)) + +```fysh +> ≈ ><{({°> 💔 ( ><{({°> <°}))>< ) ~ +``` + +### 🔼🔽 Increment and Decrement + +- **Increment:** As life goes on, we learn from our mistakes and improve. + Steven’s self help journey allowed them to grow an extra tail, incrementing + their value by 1. + +```fysh +>> ~ +``` + +- **Decrement:** Sometimes we feel like a fyshup, a failure. And that's ok, it’s + a part of being fysh. However for some fysh, this feeling is too much to + handle and is internalized. They haven’t received the emotional support they + need and have gone on a downward spiral, causing them to feel worthless. They + begin to retreat and try to swim away in the opposite direction causing their + value to decrement by 1. + +```fysh +<< ~ +``` + +### 🍢 Random Number Generation + +**Random Number:** This is a grilled fysh. It generates a random signed 32-bit +number that determines the doneness of the fysh. + +```fysh +><###> ~ +``` + +
+ +## 📊 Chapter 2: Data Types + +
+ Click to expand + +### 📏 Integers + +- **Integer:** Steven is an integer represented using binary scales. They have + scales that are either `1` or `0`. Steven's value is `0b101`, which is `5` in + decimal. + +```fysh +> ≈ ><{({°> ~ +``` + +### 📐 Floating Point Numbers + +- **Floats:** Steven can also be a float fysh. To seperate the integer and + decimal parts, we use a fysh bone `-`. Steven's value is `5.5`. + +```fysh +> ≈ ><{({-{({°> ~ +``` + +- **Floats with multiple bones:** Steven can also have multiple bones to + seperate each decimal place. Steven's value is `5 + 0.2 + 0.05 = 5.25`. + +```fysh +> ≈ ><{({-{(-{({°> ~ +``` + +- **Floats with numbers larger than 9:** If a value in the decimal place is + greater than 9, it will occupy an extra decimal place. Steven's value is + `15 + 0.15 + 0.005 15.155`. + +```fysh +> ≈ ><{{{{-{{{{-{({°> ~ +``` + +### 📝 Strings + +- **Strings:** Steven can also be a string fysh. They speak using bubbles. + Steven's value is `"Hello, World!"`. + +```fysh +> ≈ 🫧Hello, World!🫧 ~ +``` + +### 📦 Arrays and Traversal + +- **Arrays:** A fysh tank `[ ]` is used create an array. Each item is separated + by fysh food -.value is `[0b010, 0b010] = [2, 2]`. + +```fysh +> ≈ [><({(°> - ><({(°>] ~ +``` + +- **Accessing Array Elements:** These fysh tanks can be traversed using a fysh + tank `[ ]` with a number inside it. Steven returns the element at index 1. + Array indexes start at 0. + +```fysh +>[><(({°>] ~ +``` + +
+ +## 🧠 Chapter 3: Fysh Logic and Operations + +
+ Click to expand + +### 🤔 Logical Operations + +- **`AND (&&)`, `OR (||)`, and `NOT (!!)`**: Steven is experiencing an + existential crisis. They're questioning the very fabric of reality. + - If steven is real `and` they found the truth, they're happy. (Steven && + theTruth) + - Steven is happy if either they're real `or` found the truth. (Steven || + theTruth) + - But then Steven thought about it and said "hey it would be kinda cool if I + wasn't real" and is now only happy if they're `not` real. (!!Steven) + +```fysh +> && > ~ +> || > ~ +!! > ~ +``` + +### 🔧 Bitwise Operations + +- Steven is bored and looking to have their bits rearranged. At Fysh, we're + hereto help! We have provided Steven with a variety of tools and bitwise + manipulations to satisfy their bit busting needs: + - `AND (&)` + - `OR (|)` + - `XOR (^)` + - `NOT (!)` + +```fysh +> & ><(({°> ~ +> | ><(({°> ~ +> ^ ><(({°> ~ +! > ~ +``` + +- **Logical shifts:** Steven can also use logical shifts! Steven shifts their + bits to the left then right by 1. + - **Left shift (`<<`):** + - **Right shift (`>>`):** + +```fysh +> << ><(({°> ~ +> >> ><(({°> ~ +``` + +### 🐸 Tadpoles + +Tadpoles are Fysh too. They swim towards bigger Fysh (they like the danger) and +are represented by `~o` or `o~`. Here, we are checking if Steven is bigger than +5 and less than 7, respectively. + +```fysh +> Greater/Less than +> o~ ><{({°> +> ~o ><{{{°> + +> Greater/Less than or equal to (replace ~ with ≈ or =) +> o= ><{({°> +> ≈o ><{{{°> +``` + +
+ +## 🔄 Chapter 3: Control Structures + +
+ Click to expand + +### 🔁 While Loops + +- In the whirlpool of Fysh logic, the while loop, represented by `@` or `🌀`, + with the condition stored in either `[ ]` or `( )`. Small fysh define the + iterative heart `><>` and `<><`. + +Here we repeat the loop while Steve is greater than 5. Steven decrements by 1 +each iteration. + +```fysh +🌀 [> o~ ><{((°>] +><> + << ~ +<>< + +@ (> o~ ><{((°>) +><> + << ~ +<>< +``` + +### ❓ Conditional Statements + +Conditional statements run based on how each Fysh feels + +- **`if` statement:** are happy since they're the condition you're looking for. + They feel wanted and loved. They are represented by a happy Fysh + +```fysh +><(((^> [> o~ ><{((°>] +><> + << ~ +<>< +``` + +- **`else` statement:** feel like they're the last resort, an afterthought. This + makes them feel unimportant and sad. They are represented by a dead Fysh + +```fysh +><(((*> +><> + > ≈ ><(((°> ~ +<>< +``` + +- **`else if` statement:** are the middle child. They're not the first choice, + but they're not the last either. They're represented by both a dead and happy + Fysh + +```fysh +><(((*> ><(((^> [> ~o ><{((°>] +><> + >> ~ +<>< +``` + +
+ +## 🧑‍🔧 Chapter 4: Functions + +
+ Click to expand + +### ✏️ Defining Functions + +To define a function or SUBroutine, use a submarine `>(funcNameHere)` along with +any parameters `>`. To return a value, use a squid `<~` or `🦑`. + +Here the function is called `submarine` and has 3 parameters. It returns the sum +of the 3 parameters. + +```fysh +>(submarine) > > > +><> + <~ > > > ~ +<>< +``` + +### 📞 Calling Functions + +- To call a subroutine, put the submarine in a Fysh tank along with its + arguments. If two or more params are next to each other, separate them with + Fysh food `-`. + +```fysh +[>(submarine) > - > - >] ~ +``` + +
+ +## ⚓ Chapter 5: Output + +
+ Click to expand + +### ⛓️ Output Value + +When we finally reach our destination, we anchor ourselves. Anchors are used to +output the value of a Fysh. They are represented by `(+o` or `⚓` + +Here we're outputting `0b101` (5). + +```fysh +(+o ><{({°> ~ +``` + +
+ +## 💬 Chapter 6: Comments + +
+ Click to expand + +### 🔉 Single-line Comments + +Navigator Fysh are used to guide the reader through the code. They are +represented by `>`. + +```fysh +> What's cookin' good lookin'? +``` + +### 🔊 Multi-line Comments + +For longer explanations, multiline comments are used. They are represented by +`>` and `<*\><` + +```fysh +> +How to grill a Fysh: +1. Catch a Fysh +2. Grill the Fysh +3. Eat the Fysh +<*/>< +``` + +
+ +## 📈 Examples + +
+ Click to expand + +### ❗Factorial Example + +This program calculates the factorial of number. In this case 5. The factorial +of 5 is 120. + +```fysh +> Factorial Example + +> ≈ ><{({°> ~ +> ≈ ><(({°> ~ + +🌀 [> o~ ><(({°>] +><> + > ≈ > ♡ > ~ + << ~ +<>< +(+o > ~ +``` + +Let's break it down: + +1. `> ≈ ><{({°> ~` - Declare the number to calculate the factorial of. + (5 in this case) +2. `> ≈ ><(({°> ~` - Declare the factorial variable. (1 in this case) +3. `🌀 [> o~ ><(({°>]` - While the number is greater than 1, do the + following: + 1. `> ≈ > ♡ > ~` - Multiply the factorial by + the number. + 2. `<< ~` - Decrement the number. + 3. Repeat until the number is 1. +4. `(+o > ~` - Output the factorial. + +
diff --git a/pkg/website/docs/tutorial-basics/_category_.json b/pkg/website/docs/tutorial-basics/_category_.json deleted file mode 100644 index 2e6db55..0000000 --- a/pkg/website/docs/tutorial-basics/_category_.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "label": "Tutorial - Basics", - "position": 2, - "link": { - "type": "generated-index", - "description": "5 minutes to learn the most important Docusaurus concepts." - } -} diff --git a/pkg/website/docs/tutorial-basics/congratulations.md b/pkg/website/docs/tutorial-basics/congratulations.md deleted file mode 100644 index 04771a0..0000000 --- a/pkg/website/docs/tutorial-basics/congratulations.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Congratulations! - -You have just learned the **basics of Docusaurus** and made some changes to the **initial template**. - -Docusaurus has **much more to offer**! - -Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**. - -Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610) - -## What's next? - -- Read the [official documentation](https://docusaurus.io/) -- Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config) -- Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration) -- Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout) -- Add a [search bar](https://docusaurus.io/docs/search) -- Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase) -- Get involved in the [Docusaurus Community](https://docusaurus.io/community/support) diff --git a/pkg/website/docs/tutorial-basics/create-a-blog-post.md b/pkg/website/docs/tutorial-basics/create-a-blog-post.md deleted file mode 100644 index 550ae17..0000000 --- a/pkg/website/docs/tutorial-basics/create-a-blog-post.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -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 as you like. -``` - -A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings). diff --git a/pkg/website/docs/tutorial-basics/create-a-document.md b/pkg/website/docs/tutorial-basics/create-a-document.md deleted file mode 100644 index c22fe29..0000000 --- a/pkg/website/docs/tutorial-basics/create-a-document.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -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" -export default { - tutorialSidebar: [ - 'intro', - // highlight-next-line - 'hello', - { - type: 'category', - label: 'Tutorial', - items: ['tutorial-basics/create-a-document'], - }, - ], -}; -``` diff --git a/pkg/website/docs/tutorial-basics/create-a-page.md b/pkg/website/docs/tutorial-basics/create-a-page.md deleted file mode 100644 index 20e2ac3..0000000 --- a/pkg/website/docs/tutorial-basics/create-a-page.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -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 ( - -

My React page

-

This is a React page

-
- ); -} -``` - -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). diff --git a/pkg/website/docs/tutorial-basics/deploy-your-site.md b/pkg/website/docs/tutorial-basics/deploy-your-site.md deleted file mode 100644 index 1c50ee0..0000000 --- a/pkg/website/docs/tutorial-basics/deploy-your-site.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -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)**). diff --git a/pkg/website/docs/tutorial-basics/markdown-features.mdx b/pkg/website/docs/tutorial-basics/markdown-features.mdx deleted file mode 100644 index 35e0082..0000000 --- a/pkg/website/docs/tutorial-basics/markdown-features.mdx +++ /dev/null @@ -1,152 +0,0 @@ ---- -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) -``` - -![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. - -````md -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` -```` - -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` - -## Admonitions - -Docusaurus has a special syntax to create admonitions and callouts: - -```md -:::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}) => ( - { - alert(`You clicked the color ${color} with label ${children}`) - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! -``` - -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`); - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! diff --git a/pkg/website/docs/tutorial-extras/_category_.json b/pkg/website/docs/tutorial-extras/_category_.json deleted file mode 100644 index a8ffcc1..0000000 --- a/pkg/website/docs/tutorial-extras/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Tutorial - Extras", - "position": 3, - "link": { - "type": "generated-index" - } -} diff --git a/pkg/website/docs/tutorial-extras/img/docsVersionDropdown.png b/pkg/website/docs/tutorial-extras/img/docsVersionDropdown.png deleted file mode 100644 index 97e4164..0000000 Binary files a/pkg/website/docs/tutorial-extras/img/docsVersionDropdown.png and /dev/null differ diff --git a/pkg/website/docs/tutorial-extras/img/localeDropdown.png b/pkg/website/docs/tutorial-extras/img/localeDropdown.png deleted file mode 100644 index e257edc..0000000 Binary files a/pkg/website/docs/tutorial-extras/img/localeDropdown.png and /dev/null differ diff --git a/pkg/website/docs/tutorial-extras/manage-docs-versions.md b/pkg/website/docs/tutorial-extras/manage-docs-versions.md deleted file mode 100644 index ccda0b9..0000000 --- a/pkg/website/docs/tutorial-extras/manage-docs-versions.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Manage Docs Versions - -Docusaurus can manage multiple versions of your docs. - -## Create a docs version - -Release a version 1.0 of your project: - -```bash -npm run docusaurus docs:version 1.0 -``` - -The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created. - -Your docs now have 2 versions: - -- `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs -- `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs** - -## Add a Version Dropdown - -To navigate seamlessly across versions, add a version dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -export default { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'docsVersionDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The docs version dropdown appears in your navbar: - -![Docs Version Dropdown](./img/docsVersionDropdown.png) - -## Update an existing version - -It is possible to edit versioned docs in their respective folder: - -- `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello` -- `docs/hello.md` updates `http://localhost:3000/docs/next/hello` diff --git a/pkg/website/docs/tutorial-extras/translate-your-site.md b/pkg/website/docs/tutorial-extras/translate-your-site.md deleted file mode 100644 index b5a644a..0000000 --- a/pkg/website/docs/tutorial-extras/translate-your-site.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Translate your site - -Let's translate `docs/intro.md` to French. - -## Configure i18n - -Modify `docusaurus.config.js` to add support for the `fr` locale: - -```js title="docusaurus.config.js" -export default { - i18n: { - defaultLocale: 'en', - locales: ['en', 'fr'], - }, -}; -``` - -## Translate a doc - -Copy the `docs/intro.md` file to the `i18n/fr` folder: - -```bash -mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/ - -cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md -``` - -Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French. - -## Start your localized site - -Start your site on the French locale: - -```bash -npm run start -- --locale fr -``` - -Your localized site is accessible at [http://localhost:3000/fr/](http://localhost:3000/fr/) and the `Getting Started` page is translated. - -:::caution - -In development, you can only use one locale at a time. - -::: - -## Add a Locale Dropdown - -To navigate seamlessly across languages, add a locale dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -export default { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'localeDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The locale dropdown now appears in your navbar: - -![Locale Dropdown](./img/localeDropdown.png) - -## Build your localized site - -Build your site for a specific locale: - -```bash -npm run build -- --locale fr -``` - -Or build your site to include all the locales at once: - -```bash -npm run build -``` diff --git a/pkg/website/docusaurus.config.ts b/pkg/website/docusaurus.config.ts index 0b07066..bfb585e 100644 --- a/pkg/website/docusaurus.config.ts +++ b/pkg/website/docusaurus.config.ts @@ -39,12 +39,13 @@ const config: Config = { // Remove this to remove the "edit this page" links. editUrl: 'https://github.com/Fysh-Fyve/fysh/tree/master/pkg/website/', }, - blog: { - showReadingTime: true, - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: 'https://github.com/Fysh-Fyve/fysh/tree/master/pkg/website/', - }, + blog: false, + // blog: { + // showReadingTime: true, + // // Please change this to your repo. + // // Remove this to remove the "edit this page" links. + // editUrl: 'https://github.com/Fysh-Fyve/fysh/tree/master/pkg/website/', + // }, theme: { customCss: './src/css/custom.css', }, @@ -67,12 +68,12 @@ const config: Config = { items: [ { type: 'docSidebar', - sidebarId: 'tutorialSidebar', + sidebarId: 'docsSidebar', position: 'left', - label: 'Tutorial', + label: 'Docs', }, { to: '/playground', label: 'Playground', position: 'left' }, - { to: '/blog', label: 'Blog', position: 'left' }, + // { to: '/blog', label: 'Blog', position: 'left' }, { href: 'https://github.com/Fysh-Fyve/fysh', label: 'GitHub', @@ -87,8 +88,12 @@ const config: Config = { title: 'Docs', items: [ { - label: 'Tutorial', - to: '/docs/intro', + label: 'Installation', + to: '/docs/installation', + }, + { + label: 'Language Docs', + to: '/docs/manual', }, ], }, @@ -112,10 +117,10 @@ const config: Config = { { title: 'More', items: [ - { - label: 'Blog', - to: '/blog', - }, + // { + // label: 'Blog', + // to: '/blog', + // }, { label: 'GitHub', href: 'https://github.com/Fysh-Fyve/fysh', diff --git a/pkg/website/sidebars.ts b/pkg/website/sidebars.ts index acc7685..735649d 100644 --- a/pkg/website/sidebars.ts +++ b/pkg/website/sidebars.ts @@ -12,20 +12,7 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; */ const sidebars: SidebarsConfig = { // 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'], - }, - ], - */ + docsSidebar: [{type: 'autogenerated', dirName: '.'}], }; export default sidebars;