branch | master | dev |
---|---|---|
R CMD check | ||
test coverage | ||
lints | ||
CRAN |
A package to create and update the NEWS.md
file.
install.packages("newsmd")
# for dev version use
devtools::install_github("Dschaykib/newsmd", ref = "dev")
library(newsmd)
The main part of the package is the news
object, which is an R6 class object and contains the text for the NEWS.md
file. You can add versions, subtitles and bullet points to it via the objects' methods. If you want to create the NEWS.md
file from your git commits, then have a look at these packages: fledge or autonewsmd.
To initialise a new object you can use two different ways:
my_news <- news$new()
my_news <- newsmd()
The default text contains markdown code and looks like this:
## version 0.0.0.9000
---
### NEWS.md setup
- added NEWS.md creation with newsmd
From version 0.4.0, you can also start with an existing NEWS.md
file. In this case, the file is checked for the last version and adds a new dev version to it.
With add_version
you can update the version number.
my_news$add_version("0.0.1")
With add_subtitle
you can add a new subtitle, where the following bullet points will be under.
my_news$add_subtitle("Bugfixes")
With add_bullet
you can add more bullet points to the latest version and latest subtitle.
my_news$add_bullet(c("this is point 1", "this is point 2"))
After these few changes, let's see how the file looks. The get_text
method will return each single line of the file. Alternatively you can just use print(my_news)
.
my_news$get_text()
[1] "## version 0.0.1"
[2] ""
[3] "---"
[4] ""
[5] ""
[6] "### Bugfixes"
[7] ""
[8] "- this is point 1"
[9] "- this is point 2"
[10] ""
[11] ""
[12] "## version 0.0.0.9000"
[13] ""
[14] "---"
[15] ""
[16] "### NEWS.md setup"
[17] ""
[18] "- added NEWS.md creation with newsmd"
[19] ""
At last, with write
you can save all your changes into the NEWS.md
file.
my_news$write()
The goal of this package was to update the NEWS.md
file in addition to the DESCRIPTION
file. To optimize the workflow I suggest the desc
package. For example instead of manually defining the version number, you can use desc_bump_version()
and get_version()
of the desc
package:
my_desc$bump_version("patch")
my_news$add_version(my_desc$get_version())
my_news$add_bullet("added automated creation for DESCRIPTION and NEWS.md")
The full example script I used for this package's NEWS file, can be found here.