|
# H2O LLM Studio Documentation |
|
|
|
- The LLM Studio documentation is built using [Makersaurus](https://github.com/h2oai/makersaurus/pkgs/npm/makersaurus) which is a very thin wrapper around Facebook's Docusaurus. |
|
- The documentation is displayed at {{ https://docs.h2o.ai/h2o-llm-studio/ }} |
|
|
|
To view, edit, and cut a version of the documentation, the following is required: |
|
|
|
- Node.js version 16.14+ (you can check your version by running `node -v`). Use nvm to manage multiple Node versions installed on a single machine. |
|
|
|
- To install Node.js and npm with nvm in Mac or Ubuntu, run: `curl -o- |
|
https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash` and `nvm install node` |
|
|
|
- Makersaurus (the H2O themed documentation site) is hosted on H2O's Github npm registry. npm must authenticate to the registry before you can download Makersaurus. Follow the 3 steps below to authenticate the npm package. |
|
|
|
If you have already installed `@h2oai/ui-kit` or any other private `@h2oai`-prefixed npm package you can skip this step. |
|
|
|
**Step 1:** Create a "classic" [personal access token](https://github.com/settings/tokens) (PAT) on Github. Note that you only need to enable the `read:packages` scope for this token. |
|
|
|
**Step 2:** Add the PAT to your `~/.npmrc` file. Create this file if it doesn't exist yet. |
|
``` |
|
@h2oai:registry=https://npm.pkg.github.com/ |
|
//npm.pkg.github.com/:_authToken=YOUR-GENERATED-TOKEN |
|
``` |
|
**Step 3:** Verify that it worked by running the following command: |
|
``` |
|
npm whoami --registry=https://npm.pkg.github.com |
|
``` |
|
If this command returns your username, you can proceed to the next step. If you get an error, you are not yet authenticated. You might find the [Github registry docs](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-with-a-personal-access-token) helpful for debugging. |
|
|
|
### Documentation structure |
|
|
|
|
|
``` |
|
βββ documentation |
|
β βββ docs |
|
β βββ tmp |
|
β βββ makersaurus.config.js |
|
β βββ sidebars.js |
|
β βββ package.json |
|
β βββ package-lock.json |
|
``` |
|
|
|
- `documentation/docs`: Contains Markdown documentation files to edit the next documentation version. |
|
Customize the order of the docs sidebar in `sidebars.js` |
|
- `documentation/tmp`: Temporary files generated by Makersaurus. Do not edit these files. |
|
- `documentation/makersaurus.config.js`: Makersaurus [config file](https://h2oai.github.io/makersaurus/api/config) |
|
- `documentation/sidebars.js`: Sidebar configuration file |
|
- `documentation/package.json`: npm configuration file |
|
- `documentation/package-lock.json`: Generated by npm. Do not edit this file. |
|
|
|
|
|
### Edit locally |
|
|
|
To setup the local `env` to view and edit the next or past documentation versions ([first, ensure you install |
|
Node.js](#requirements)): |
|
|
|
1. Enter the documentation folder |
|
|
|
`cd documentation` |
|
|
|
2. Install dependencies |
|
|
|
`npm install` |
|
|
|
3. Start Makersaurus |
|
|
|
`npm start` |
|
|
|
- **Next documentation version**: To view your edits for the next documentation version, navigate to the provided URL. |
|
Then, select **Next** on the **Versions** dropdown menu. |
|
- **Debug** |
|
- If you don't see anything after clicking **Next**, run the following command and try again: |
|
`make setup-doc` |
|
- Ensure that the following variable is set to `true` in the `makersaurus.config.js` file (located at `docs`): |
|
`includeCurrentVersion` |
|
- **Past documentation versions**: To view your edits for past documentation versions (located at |
|
`docs/versioned_docs/`), navigate to the provided URL (for example, `http://localhost:3000/h2o-llm-studio/`). |
|
Then, select a *version* (for example, v0.2.0) on the **Versions** dropdown menu. |
|
|
|
### Cut a version |
|
|
|
To cut a new version after making specific changes at `documentation/docs` to align with the next version of the application, consider the following instructions: |
|
|
|
1. Before a new version of the documentation is released, and right before we cut a version (`make version-doc`), change the following variable located in the `makersaurus.config.js` file to `false`: `includeCurrentVersion` |
|
2. Run: `make version-doc` (for example, `make version-doc DOC_VERSION=v0.3.0`) |
|
3. After the previous steps are executed and all generated files are pushed to the main branch, trigger the following |
|
script in GitHub actions: `deploy-to-github-pages.yml` |
|
4. After publishing the new documentation version, change the following variable located in the |
|
`makersaurus.config.js` file to `true`: `includeCurrentVersion` |
|
- This ensures the next doc version to edit will be visible while editing locally |
|
|
|
|
|
## More information |
|
|
|
Use the [Makersaurus docs](https://h2oai.github.io/makersaurus/) to learn more about how to edit docs, deploy the site, set up versioning and more. |
|
|
|
|
|
|
|
|