Plugins

Plugins

Plugins are the secret sauce behind PkgTemplates's customization and extension. This page describes plugins that already exist; for information on writing your own plugins, see Plugin Development.

Continuous Integration (CI)

TravisCI(; config_file::Union{AbstractString, Nothing}="") -> TravisCI

Add TravisCI to a template's plugins to add a .travis.yml configuration file to generated repositories, and an appropriate badge to the README.

Keyword Arguments:

  • config_file::Union{AbstractString, Nothing}="": Path to a custom .travis.yml. If nothing is supplied, no file will be generated.
AppVeyor(; config_file::Union{AbstractString, Nothing}="") -> AppVeyor

Add AppVeyor to a template's plugins to add a .appveyor.yml configuration file to generated repositories, and an appropriate badge to the README.

Keyword Arguments

  • config_file::Union{AbstractString, Nothing}="": Path to a custom .appveyor.yml. If nothing is supplied, no file will be generated.
GitLabCI(; config_file::Union{AbstractString, Nothing}="", coverage::Bool=true) -> GitLabCI

Add GitLabCI to a template's plugins to add a .gitlab-ci.yml configuration file to generated repositories, and appropriate badge(s) to the README.

Keyword Arguments:

  • config_file::Union{AbstractString, Nothing}="": Path to a custom .gitlab-ci.yml. If nothing is supplied, no file will be generated.
  • coverage::Bool=true: Whether or not GitLab CI's built-in code coverage analysis should be enabled.
CirrusCI(; config_file::Union{AbstractString, Nothing}="") -> CirrusCI

Add CirrusCI to a template's plugins to add a .cirrus.yml configuration file to generated repositories, and an appropriate badge to the README. The default configuration file supports only FreeBSD builds via CirrusCI.jl

Keyword Arguments

  • config_file::Union{AbstractString, Nothing}="": Path to a custom .cirrus.yml. If nothing is supplied, no file will be generated.

Code Coverage

Codecov(; config_file::Union{AbstractString, Nothing}=nothing) -> Codecov

Add Codecov to a template's plugins to optionally add a .codecov.yml configuration file to generated repositories, and an appropriate badge to the README. Also updates the .gitignore accordingly.

Keyword Arguments:

  • config_file::Union{AbstractString, Nothing}=nothing: Path to a custom .codecov.yml. If left unset, no file will be generated.
Coveralls(; config_file::Union{AbstractString, Nothing}=nothing) -> Coveralls

Add Coveralls to a template's plugins to optionally add a .coveralls.yml configuration file to generated repositories, and an appropriate badge to the README. Also updates the .gitignore accordingly.

Keyword Arguments:

  • config_file::Union{AbstractString, Nothing}=nothing: Path to a custom .coveralls.yml. If left unset, no file will be generated.

Documentation

Add a Documenter subtype to a template's plugins to add support for documentation generation via Documenter.jl.

By default, the plugin generates a minimal index.md and a make.jl file. The make.jl file contains the Documenter.makedocs command with predefined values for modules, format, pages, repo, sitename, and authors.

The subtype is expected to include the following fields:

  • assets::Vector{AbstractString}, a list of filenames to be included as the assets

kwarg to makedocs

  • gitignore::Vector{AbstractString}, a list of files to be added to the .gitignore

It may optionally include the field additional_kwargs::Union{AbstractDict, NamedTuple} to allow additional kwargs to be added to makedocs.

GitHubPages(; assets::Vector{<:AbstractString}=String[]) -> GitHubPages

Add GitHubPages to a template's plugins to add Documenter support via GitHub Pages, including automatic uploading of documentation from TravisCI. Also adds appropriate badges to the README, and updates the .gitignore accordingly.

Keyword Arguments

  • assets::Vector{<:AbstractString}=String[]: Array of paths to Documenter asset files.
Note

If deploying documentation with Travis CI, don't forget to complete the required configuration (see here).

GitLabPages(; assets::Vector{<:AbstractString}=String[]) -> GitLabPages

Add GitLabPages to a template's plugins to add Documenter support via GitLab Pages, including automatic uploading of documentation from GitLabCI. Also adds appropriate badges to the README, and updates the .gitignore accordingly.

Keyword Arguments

  • assets::Vector{<:AbstractString}=String[]: Array of paths to Documenter asset files.