stentor

package module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2023 License: Apache-2.0 Imports: 0 Imported by: 0

README

stentor

noun

  1. (in the Iliad) a Greek herald with a loud voice.
  2. (lowercase) a person having a very loud or powerful voice.
  3. (lowercase) a trumpet-shaped, ciliate protozoan of the genus Stentor.

stentor is a CLI for generating a change log or release notes from a set of fragment files and templates. It was inspired by towncrier and git-chlog.

Badges

Build codecov License Contributor Covenant

Installation

Binary

Download a pre-built binary for your OS and Architecture from the releases page.

Go

You can also build stentor directly using go install:

go install github.com/wfscheper/stentor/cmd/stentor@latest

Usage

Setup

This example assumes that there is already a v0.1.0 tag.

  1. Create a .stentor.d directory in your git repository.

    mkdir .stentor.d
    

    This is where your fragments, configuration, and templates will go.

  2. Create a minimal stentor config file.

    $ cat >.stentor.d/stentor.toml << EOF
    [stentor]
    repository = "https://github.com/myname/myrepo"
    EOF
    
  3. Create some fragment files.

    $ cat >.stentor.d/1.feature.md << EOF
    Added the foo feature.
    
    The foo feature is full of foos,
    and is awesome.
    EOF
    $ cat >.stentor.d/2.fix.md << EOF
    Fixed parsing foos that contain special characters
    
    `fooer` no longer chokes when parsing a foo with the special characters `!@#$%`.
    EOF
    
  4. Run stentor to see the output it would add to CHANGELOG.md.

    $ stentor v0.2.0 v0.1.0
    ## [v0.2.0] - 2006-01-02
    
    ### Features
    
    - Added the foo feature
    
      The foo feature is full of foos, and is awesome.
      [#1](https://github.com/myname/myrepo/issues/1)
    
    
    ### Bug fixes
    
    - Fixed parsing foos that contain special characters
    
      `fooer` no longer chokes when parsing a foo with the special characters `!@#$%`.
      [#2](https://github.com/myname/myrepo/issues/2)
    
    [v0.2.0]: https://github.com/myname/myrepo/compare/v0.1.0...v0.2.0
    
    
    ---
    
    $ git add .stentor.d/
    $ git commit -m "Setup stentor to generate CHANGELOG.md"
    
  5. Use the -release flag to consume the fragments and update the news file.

    Note: If a CHANGELOG.md does not exist already, one will be created.

    $ stentor -release v0.2.0 v0.1.0
    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
           modified:   CHANGELOG.md
           deleted:    .stentor.d/1.feature.md
           deleted:    .stentor.d/2.fix.md
    
    no changes added to commit (use "git add" and/or "git commit -a")
    

Documentation

Overview

Package stentor provides some shared constants.

Index

Constants

View Source
const (
	//
	HostingGithub = "github"
	HostingGitlab = "gitlab"
)

Supported hosting platforms.

View Source
const (
	MarkupMD  = "markdown"
	MarkupRST = "rst"
)

Supported markup formats.

View Source
const (
	CommentMD  = "<!-- stentor output starts -->"
	CommentRST = ".. stentor output starts\n"
)

Comment styles that separate the news file's header from the releases.

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
Package config provides a toml-based config file parser and validation.
Package config provides a toml-based config file parser and validation.
Package fragment parses fragment files.
Package fragment parses fragment files.
internal
Package newsfile provides utilities for editing stentor newsfiles.
Package newsfile provides utilities for editing stentor newsfiles.
Package release provides the Release structure.
Package release provides the Release structure.
Package section provides the Section structure.
Package section provides the Section structure.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL