-
-
Notifications
You must be signed in to change notification settings - Fork 285
Description
It would be great to have a standardised way for specifying metadata in a package's Project.toml. The following is heavily inspired by npm.
Package Discoverability
keywords/tags-> array of strings (could be autopopulated from GitHubs tags by some third party utility)description/tagline-> string with a short (one line) description of the package
Utility
license-> string with license nameversion(I know this is controversial but would still be nice to have...)issue-url-> URL where the user can report issues with the package
Documentation
We need to support multiple cases here:
built-docs-url-> URL to git repo + branch (+ directory) that contains built documentationhosted-docs-url-> URL to hosted docsdocs-directory-> path to the dir containing the packages Documenter.jl source, falls back todocs/
Those three options should span all sane use cases -- we have a default where the package author doesn't have to worry about docs deployment at all (because we'll build them), the current standard where you set up Documenter.jl on travis yourself and have it push to a gh-pages branch somewhere, and an option that allows you complete freedom with your self-hosted docs.
So for DifferentialEquations.jl the following metadata could be supplied:
[metadata]
keywords = ["differential-equations", "julia", "ode", "sde", "pde", "dae"]
description = "Julia suite for high-performance solvers of differential equations."
license = "MIT"
issue-url = "https://github.com/JuliaDiffEq/DifferentialEquations.jl/issues/new"
version = "v6.3.0"
[metadata.documentation]
built-docs-url = "https://github.com/JuliaDiffEq/DiffEqDocs.jl.git#gh-pages"keywords, description, license and one of the docs keys are the most important for discoverability and usability, imho, so we should heavily encourage people to fill those in, e.g. when registering a package. Would also be sensible to sanity check the different fields.
The [metadata] section could of course contain arbitrary information (maybe a DOI or whatever).