Michael Bromley f4843edca8 feat(docs): Add visual indication of sub-sections in menu 7 ani în urmă
..
archetypes 0b00db96a1 feat(docs): Initial setup of Hugo docs website 7 ani în urmă
assets f4843edca8 feat(docs): Add visual indication of sub-sections in menu 7 ani în urmă
content 373b1cf385 chore(docs): Set up webpack-based build for assets 7 ani în urmă
diagrams 91de6beb2b feat(server): Refine customer signup flow 7 ani în urmă
layouts f4843edca8 feat(docs): Add visual indication of sub-sections in menu 7 ani în urmă
static f4843edca8 feat(docs): Add visual indication of sub-sections in menu 7 ani în urmă
README.md 454905db58 chore(docs): Use svg icons instead of Clarity custom elements 7 ani în urmă
config.toml 7b5dcbf829 feat(docs): Improve docs nav menu: correct ordering & expand sections 7 ani în urmă
package.json 373b1cf385 chore(docs): Set up webpack-based build for assets 7 ani în urmă
tsconfig.json 373b1cf385 chore(docs): Set up webpack-based build for assets 7 ani în urmă
webpack.config.ts 373b1cf385 chore(docs): Set up webpack-based build for assets 7 ani în urmă
yarn.lock 373b1cf385 chore(docs): Set up webpack-based build for assets 7 ani în urmă

README.md

Vendure Docs

This is the source for the Vendure documentation website. Docs are written in markdown and the website is generated with Hugo.

Building the docs

To build the docs, first install Hugo on your machine.

The run the docs:build script from the root of this repo.

This task will:

  1. Auto-generate the API markdown files based on the Vendure server source (see below)
  2. Run webpack to build the JavaScript and CSS for the docs site
  3. Run Hugo to build and output the site into the docs/public directory.

Dev mode

Run docs:watch when developing the docs site. This will run all of the above in watch mode, so you can go to http://localhost:1313 to view the docs site. It will auto-reload the browser on any changes to the server source, the docs script/styles assets, or the Hugo templates.

API Docs Generation

The API docs are generated from the TypeScript source files by running the "generate-docs" script:

yarn generate-docs [-w]

This script uses the TypeScript compiler API to traverse the server source code and extract data about the types as well as other information such as descriptions and default values.

Currently, any interface which includes the JSDoc @docCategory tag will be extracted into a markdown file in the content/docs/api directory. Hugo can then build the API documentation from these markdown files. This will probably be expanded to be able to parse class and type declarations too.

A note on icons

The docs site also uses the Clarity icons to maintain consistency with the Vendure admin ui app. However, currently this bug makes the use of the custom-elements based icons unfeasible since it adds about 400kb to the JS bundle size. This is unacceptable for what is essentially a static HTML site.

So for now we are hand-picking the icons as svg files from https://icongr.am/clarity and using them as regular images. The downside is that to get different colours, the svg files themselves must be edited.

This is a pain but for the small number of icons planned, it is workable.