Openware SDK contains the stack documentation website build files and CI helpers scripts, including version bumping and documentation aggregation.
SDK uses middleman paired with redcarpet
for website generation. middleman config is located in config.rb.
TheDocs theme is used for styling.
source folder contains website layouts (source/*.html.erb, source/layouts/, source/partials)
and documentation source (source/docs, source/api and source/changelogs).
source/docs, source/api and source/changelogs folders content is generated with CI, if you want to update it,
edit the coresponding page in component's docs/ folder.source/guides contains handwritten guides and can be edited.assets folder contains images and TheDocs theme sources
(assets/javascripts, assets/stylesheets).
gulp pipelines (gulpfile.js).lib folder contains middleman rendering helpers (lib/sdk/web) and CI helpers
rake tasks (lib/tasks).
master - used for SDK development.edge - used for website CI autodeployment, represents the latest alpha version, components'
master branches should go here.*-stable - used for website CI autodeployment, stable versions releases, components
*-stable branches should go here.Install dependencies:
bundle install --jobs=$(nproc)
npm i
For changelog generation you need also install git-chglog.
For the list of components visit config/components.yml.
You can add/remove components by editing this list. If you want to use a specific tag, specify it:
- name: barong
url: [email protected]:rubykube/barong.git
tag: 2.2.8 # default is the latest tag
Make sure you have access to all components and an ssh key configured. If you do not want to use ssh, change components' remote urls to use https.
Then run:
bundle exec rake sdk:clone
To collect all modules' documentation, run:
bundle exec rake sdk:collect
Each modules' documentation will be inside source/docs/%module_name% directory.
To generate changelogs:
bundle exec rake sdk:generate
Each modules' changelog will be under source/changelogs/%module_name% directory.
To run local middleman website:
bundle exec middleman serve
And visit http://localhost:4567
edge, 2-2-stable and 2-3-stable SDK branches are deployed automatically on every push.
Dockerfile-website is used for website packing.
If you want to deploy and mount documetation on specific path, use PATH_PREFIX variable:
PATH_PREFIX=/your/path docker build -f Dockerfile-website .