Skip to content

Add support of readme generation

Compare
Choose a tag to compare
@goruha goruha released this 08 Dec 18:16
· 232 commits to master since this release
dbd0e31

What

  • Support of README generation
  • Support pluggable datasources (check how we deal with make & terraform projects)
  • Generate readme with one command

Why

  • We have standard parts in readme files.
  • Different projects need different way to collect data for templates
  • Unify way to generate readme independent of project type

How to use

  1. Create Makefile in repo root dir ( Example https://github.com/cloudposse/terraform-aws-elastic-beanstalk-environment/blob/feature-support-readme-generation/Makefile )
  2. Run $ make readme:init to fetch basic .README.md
  3. Customize .README.md template as you need
  4. Run $ make readme:build to generate README.md based on .README.md

Avaliable placeholders

  • {{ (datasource "git").name }} - Repository name
  • {{ (datasource "git").url }} - Repository URL
  • {{ (datasource "section").help }} - Cloudposse contact us text
  • {{ (datasource "section").contributing }} - Cloudposse code of conduct rules
  • {{ (datasource "license").apache2 }} - Cloudposse short license text
  • {{ (datasource "section").about }} - Cloudposse about text
  • {{ (datasource "section").warning }} - Warning DO NOT EDIT README.md
  • {{- (datasource "contributor").erik }} - Erik's contributor card
  • {{- (datasource "contributor").igor }} - Igor's contributor card
  • {{- (datasource "contributor").andrew }} - Andrew contributor card
  • {{- (datasource "contributor").konstantin }} - Konstantin's contributor card
  • {{- (datasource "contributor").sergey }} - Sergey's contributor card
  • {{- (datasource "contributor").valeriy }} - Valeriy's contributor card
  • {{- (datasource "contributor").vladimir }} - Vladimir's contributor card
  • {{- (datasource "contributor")._links }} - Links to github profiles and images to contributors (Required if at least one contributor specified in README)
  • {{ (datasource "terraform").input }} - Terraform module input variables table
  • {{ (datasource "terraform").output }} - Terraform module outputs table
  • {{ (datasource "make").help }} - Make targets list with descriptions (based on make help)

Under the hood

  1. Gomplate as cli tool for gotempale
  2. Terraform docs as tool to parse terraform module and get input\output

Example

cloudposse/terraform-aws-elastic-beanstalk-environment#19
#35