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 .