Licence
proprietary
Version
2.0.1
Deps
13
Size
63 kB
Vulns
19
Weekly
0
ProcessCube DocFlow
Table of Contents
Description
A command to generate a documentation website for BPMN diagrams.
The website is generated from a processes directory containing BPMN diagrams
and a README.md file in the root directory of your project.
Usage
- Have your BPMN diagrams in a
processesdirectory. - Optional: Have a
README.mdfile in the root directory of your project.
with NPM
- Run
npm i -g @5minds/processcube_docflowin the root directory of your project to install the package. - Run
docflow buildto generate the documentation website. - Run
docflow serveto start the server. - Visit
http://localhost:3000in your browser.
with Docker
- Run
docker run -p 3000:3000 -t -i -v ./processes:/src/processes -v ./README.md:/src/README.md 5minds/processcube_docflow
- Visit
http://localhost:3000in your browser.
Options
Running docflow without any arguments will show the help message.
You can set environment variables during build or serve to configure the behavior of the command:
OUT_DIR: The output directory for the build. Default:.staticBASE_PATH: The base path for the app. Default:/. Used for Path-Based RoutingPROCESSES_DIR: Custom path for processesREADME_PATH: Custom path to a README.md
Development
Requirements
If you want to run the app locally, you need Docker-Desktop and Node.js installed.
Start app locally
If you want to develop and test the package locally, you can do the following to start the apps:
- Clone the repository.
- Run
docker compose up -dto start the ProcessCube-Containers - Run
npm ito install the dependencies. - Run
npm run devto start the Development-Server of the DocFlow-App - Visit
http://localhost:3000in your browser.
Running in the CI
If you want to automatically generate and deploy the documentation website in your CI workflow, you can use the following template:
name: Deploy Documentation to GitHub Pages
on:
push:
branches:
- main
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: 'pages'
cancel-in-progress: false
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup Pages
id: setup-pages
uses: actions/configure-pages@v5
- name: Install DocFlow
run: npm i -g @5minds/processcube_docflow@develop
- name: Build Documentation
run: docflow build
env:
BASE_PATH: ${{ steps.setup-pages.outputs.base_path }}
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./.static
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4