1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
unleash.unleash/website
Nnenna Ndukwe b7232d0397
docs: Spring Boot Tutorial v1 (#6620)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

We have a v1 for a Java Spring Boot Tutorial:
- uses popular Java Spring Boot open source project Spring Pet Clinic
- uses Unleash Spring Boot SDK
- this is simple & introductory as we don't have data plugged into the
new page we build in the application.

<img width="899" alt="spring-boot-tutorial-app-in-browser"
src="https://github.com/Unleash/unleash/assets/22972707/c620f49c-d487-44ac-af7d-ce32bc3c85d8">


<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

I added the tutorial to the Java section in the docs navigation menu. I
could have it stand alone, but I would consider it to be underneath the
Java language we have already listed in our menu.

<img width="301" alt="Screenshot 2024-03-19 at 8 49 11 PM"
src="https://github.com/Unleash/unleash/assets/22972707/404ff27b-0363-446a-9036-1b99e4ee5f80">
2024-03-20 10:25:29 -04:00
..
docs docs: Spring Boot Tutorial v1 (#6620) 2024-03-20 10:25:29 -04:00
remote-content Apply biome formatting to the docs website (#6523) 2024-03-13 11:30:40 +00:00
src Fixed missing video in the Sveltekit tutorial (#6631) 2024-03-20 13:52:05 +00:00
static docs: Spring Boot Tutorial v1 (#6620) 2024-03-20 10:25:29 -04:00
.gitignore Docs/public signup (#2070) 2022-10-10 16:12:11 +03:00
babel.config.js Apply biome formatting to the docs website (#6523) 2024-03-13 11:30:40 +00:00
clean-generated-docs.js chore: update docusaurus/openapi integration to stable version (#2414) 2022-11-14 08:52:46 +01:00
docusaurus.config.js Made sure the slugs are consistent in the tutorials (#6604) 2024-03-19 19:20:26 -04:00
global.js Apply biome formatting to the docs website (#6523) 2024-03-13 11:30:40 +00:00
package.json chore(deps): update dependency enhanced-resolve to v5.16.0 (#6614) 2024-03-19 19:29:27 +00:00
README.md docs/improve website README.md with local docs server installation step (#5956) 2024-01-22 09:44:31 -05:00
sidebars.js docs: Spring Boot Tutorial v1 (#6620) 2024-03-20 10:25:29 -04:00
tsconfig.json chore: convert feedback component to typescript 2022-03-02 10:50:46 +01:00
vercel.json docs: troubleshooting unleash over https (#6250) 2024-02-15 15:49:21 +01:00
yarn.lock chore(deps): update dependency enhanced-resolve to v5.16.0 (#6614) 2024-03-19 19:29:27 +00:00

Website

This website is built using Docusaurus 2, a modern static website generator.

Installation

In a terminal, cd into the website folder of the locally cloned unleash repository and then start the installation.

cd unleash/website
yarn install

Generate OpenAPI docs

yarn generate

Generate the Open API docs that live at Reference documentation > APIs > OpenAPI

Local Development

Before running the docs the first time, you'll need to generate external documentation, as described in the generate OpenAPI docs section.

yarn start

Start 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

GIT_USER=<Your GitHub username> USE_SSH=true 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.

Troubleshooting

TypeError: source_default(...).bold is not a function

If you get an error like this, it's probably due to a formatting issue within one of the markdown files. It could be

  • unescaped angle brackets (markdown will try to parse <your-key> (when it's not quoted) as HTML, which breaks the build)
  • incorrectly formatted titles or missing pieces of files
  • a lot of other stuff.
Component Figure was not imported, exported, or provided by MDXProvider as global scope

TypeError: source_default(...).bold is not a function
[ERROR] Unable to build website for locale en.

This error is very hard to debug, but there is a trick that appears to work (as shared in this discussion on docusaurus' repo):

In node_modules/@docusaurus/core/lib/client/serverEntry.js, remove all references to chalk. You can use a regex replace for that, by replacing chalk(\w|\.)+ with the empty string.

Depending on your editor, that regex might need more escapes. For instance, here's a command to run with evil-ex in Emacs:

%s/chalk\(\w\|\.\)+//g

For macOS sed, it'd be:

sed -i '' 's/chalk\(\w\|\.\)\+//g' node_modules/@docusaurus/core/lib/client/serverEntry.js

For GNU sed:

sed -i 's/chalk\(\w\|\.\)\+//g' node_modules/@docusaurus/core/lib/client/serverEntry.js

That might turn your error into something like this:

[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/change-requests.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/feature-types.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/frontend-api.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/maintenance.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/notifications.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/personal-access-tokens.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/segments.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/service-accounts.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/telemetry.
[ERROR] Docusaurus server-side rendering could not render static page with path /reference/api/unleash/unstable.
Component Figure was not imported, exported, or provided by MDXProvider as global scope

Error: Unexpected: cant find current sidebar in context
[ERROR] Unable to build website for locale en.