Define a template directory and write a README template for your project then compile it into a proper README.
$ deno install --name readme-manager --reload --allow-all https://deno.land/x/readme_manager/cli.ts
On the first run without any arguments a setup will happen :
matchcorresponds to the name the README template will have inside the repository it is created on first start but you can always recreate it with
templatescorresponds to the path where the rendering function is stored it is boostrapped on first start but you can always access it with
$ readme-manager # Will guide you through setup on first run $ readme-manager # Will create readme in current directory with template and config $ readme-manager my-project # Will create readme in my-project directory with template and config $ readme-manager [...] --templates [path] # Will create a readme with config match and overriden template directory $ readme-manager [...] --match [name] # Will create a readme with config template directory and overriden match name $ readme-manager [...] --templates [path] --match [name] # Will create a readme and bypass configuration (if it exists)
There are also some other commands :
$ readme-manager --help # Will print the help page $ readme-manager --setup # Re-run setup step and backup old config $ readme-manager --bootstrap # Re-run templates boostrapping step and backup old directory
There is also a debug flag available that can be added to any command :
$ readme-manager [...] --debug # Will print more information to console and save all logs to the log file (instead of only errors by default)
You can check out the current templates I use for my project (including this readme) over here.
When you bootstrap the templates forlder, 3 examples files will be create for you :
- README.template.md: this is the base file that gets used when rendering your readme. You can await stuff in it. This is the only required file
- HEADER.template.md: is an example header you might use
- FOOTER.template.md: is an example footer you might use
Feel free to adjust, remove or add any files you might want. Simply keep in mind that
README.template.md is required and will be the base for rendering.
Any file in the templates folder will be automatically required and available by its filename with
Any file that starts with
. will be ignored.
The following variables are available to the template (on
- name: basename of the folder the README is in
- readme: content of the readme template file
- readmeFilePath: the absolute filepath of the readme
- readmeDirectoryPath: the absolute path of the directory containing the readme
- gitTag: the current git tag
- gitURL: the repository url
- gitCommit: the sha of the current commit
- gitBranch: the current checkout out branch
Make sure to
await any includes you do ! As templates are compiled in async mode for await support (even if you are not using it).
The templating engine use is https://email@example.com.
More information about it can be found on their documentation.
If you are going to be using this for many repositories you might want tot setup a git template folder and add a precommit hook that runs the
Here is what mine looks like:
# ~/.git-templates/hooks/pre-commit # git config --global init.templatedir '~/.git-templates' # git init #!/usr/bin/env bash ~/.deno/bin/readme-manager git add -u
Documentation view is currently disabled for third party modules on deno.land/x but you can still view the auto generated docs on doc.deno.land