$ make
Turn internet-draft source into text and HTML. This supports XML files using xml2rfc, markdown files using either kramdown-rfc or mmark.
Multiple files can be managed in the same repository. This only requires the addition of the source files for each draft, though you might choose to update some files.
$ make diff
Show changes since your last draft submission using rfcdiff.
$ make gh-pages
Update the gh-pages
branch with the latest edits. GitHub
pages make your changes available on the web.
This builds a HTML index that links to HTML and text copies of all drafts on all branches, plus links for showing changes with the most recent draft submission. Files for old branches are retained for one month after the branch is deleted, then cleaned up the next time this process runs.
$ git tag -a draft-ietf-unicorn-protocol-02
$ make upload
Upload tagged changes to the IETF datatracker using the API. This will also manage draft renames by setting the "replaces" field.
$ make lint
$ make fix-lint
Check for common formatting errors like trailing whitespace and automatically fix them.
The lint check and a check that drafts build correctly is installed as a git hook so that it runs before each commit.
$ make idnits
Check for nits using the idnits tool.
$ make issues
Download a copy of GitHub issues and pull requests.
If there are surprising errors, this may help:
$ make clean
When you setup a repository, this tool installs a stub Makefile
.
It also creates the following files from a template: README.md
, .gitignore
,
CONTRIBUTING.md
, LICENSE.md
, files for GitHub pages, and GitHub Action configuration
under .github/workflows/
(see below).
Using GitHub Actions you get automated continuous integration that can:
- Check that commits and pull requests for errors.
- Automatically maintain a readable copy for display on GitHub Pages.
- Automatically save a copy of GitHub issues and pull requests to the repository for offline access. This includes a simple HTML viewer.
- Automatically submit tagged versions of drafts to the IETF datatracker.
Alternatively, you can also use circleci or travis as described here.