GithubHelp home page GithubHelp logo

newsmd's Introduction

newsmd - 0.5.1

branch master dev
R CMD check master-branch dev-branch
test coverage master-test-coverage dev-test-coverage
lints master-lints dev-lints
CRAN CRAN DevVersion

A package to create and update the NEWS.md file.

Installation

install.packages("newsmd")

# for dev version use
devtools::install_github("Dschaykib/newsmd", ref = "dev")
library(newsmd)

Usage of 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.

Initialise a new object

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.

Adding a the next version

With add_version you can update the version number.

my_news$add_version("0.0.1")

Adding a new subtitle

With add_subtitle you can add a new subtitle, where the following bullet points will be under.

my_news$add_subtitle("Bugfixes")

Adding more bullets

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"))

Getting the whole text

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] "" 

Writing the NEWS.md file

At last, with write you can save all your changes into the NEWS.md file.

my_news$write()

Combination with the desc package

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.

newsmd's People

Contributors

dschaykib avatar martalbers avatar sw-jakobgepp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

newsmd's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.