Add section on citations to HOWTO.

This commit is contained in:
Wen Kokke 2020-10-26 17:40:16 +01:00
parent 2c4bf84365
commit 9b5ac3e7a8
2 changed files with 33 additions and 7 deletions

View file

@ -39,6 +39,7 @@ siteReaderOptions = defaultHakyllReaderOptions
, Ext_smart
, Ext_superscript
, Ext_subscript
, Ext_task_lists
, Ext_yaml_metadata_block
]
}

View file

@ -1,9 +1,26 @@
---
title : "Checklists for various tasks"
title : "Instructions for various tasks"
permalink : /HOWTO/
---
# Publishing an announcement
## Add a citation
You can cite works by writing `@` followed by a citation key, e.g., `@plfa20.07`. For instance, the first release of PLFA was by @plfa19.08. See the [Bibliography](#bibliography) section below for the bibliography. Citations and the bibliography are currently styled according to the ISO-690 standard. Other styles can easily be found using the [Zotero Style Repository][Zotero]. The citation keys are cross-referenced with the BibTeX file under `bib/plfa.bib`.
## Publish the current version of PLFA to the web
PLFA used to be published automatically from the `dev` branch by Travis CI. However, given recent trouble with Agda and Travis CS, we moved away from automatic updates.
There are several steps to publishing the current version of PLFA to the web:
- [ ] Check that your local copy of PLFA is up-to-date and on the `dev` branch by running `git status`.
- [ ] Run `make publish`.
The `publish` task builds the book, runs the tests, and then deploys it to GitHub. If any errors occur while running `make build` or `make test`, fix these errors. If an error occurs while switching to or operating on the `web` branch, switch back to the `dev` branch by running `git checkout dev` and delete your local copy of the `web` branch by running `git branch -D web`, then restart the process.
## Publish an announcement
PLFA announcements are files with names of the form `YYYY-0M-0D-SLUG.md`, where `YYYY` is the long year, `0M` is the zero-padded month, `0D` is the zero-padded day, and `SLUG` is the URL slug for the post, usually an URL-safe version of the title.
@ -16,7 +33,7 @@ There are several steps to writing an announcement for PLFA:
If the announcement is short, it will be displayed inline in on the announcements page. If the announcement is long, insert a `<!--more-->` tag after the first paragraph. Everything before this tag will be displayed on the announcements page, as a “teaser” followed by a link to the full text.
# Publishing a release
## Publish a new release
For a project such as PLFA, [Semantic Versioning][SemVer] doesnt make a huge amount of sense. Instead, weve adopted [Calendar Versioning][CalVer], following, e.g., [Ubuntu][Ubuntu]. PLFA versions are of the form `YY.0M`, where `YY` is the short year, and `0M` is the zero-padded month. For each release, there are two tags in the repository:
@ -28,16 +45,24 @@ The former contains everything youd need to work with that version of PLFA, w
There are several steps to creating a new release for PLFA:
- [ ] Update the version in `plfa.cabal` to `YY.M` (no zero padding).
- [ ] Commit your changes to the `dev` branch.
- [ ] [Publish the current version of PLFA](#publish-the-current-version-of-plfa-to-the-web).
- [ ] Create a new tag `dev-YY.0M` of the `dev` branch.
- [ ] Create a new tag `web-YY.0M` of the `master` branch.
- [ ] Create a new tag `web-YY.0M` of the `web` branch.
- [ ] Push the new tags.
- [ ] Draft a new release [on GitHub][releases] linked to the `dev-YY.0M` tag.
- [ ] Add the release version `YY.0M` to the end of the `RELEASE_VERSIONS` variable in the Makefile.
- [ ] Add the release version `YY.0M` to the end of the `releaseVersions` variable in `hs/Main.hs`.[^nosupport]
- [ ] Write an announcement for the release in the `_posts` folder, describing any major changes.
- [ ] Run `make build build-history test` and deal with any problems.
- [ ] Commit and push.
- [ ] Commit your changes to the `dev` branch.
- [ ] [Publish the current version of PLFA](#publish-the-current-version-of-PLFA-to-the-web) (again).
## Bibliography
[^nosupport]: At the time of writing, all prior releases have been demoted to legacy releases, and are included in the GitHub repository under the `versions/` folder. There is no support for importing future releases upon publication. Such support will be drafted on a by-need basis.
[releases]: https://github.com/plfa/plfa.github.io/releases
[SemVer]: https://semver.org/
[CalVer]: https://calver.org
[Ubuntu]: https://www.ubuntu.com
[Zotero]: https://www.zotero.org/styles