package.elm-lang.org icon indicating copy to clipboard operation
package.elm-lang.org copied to clipboard

Filter packages by category tags

Open tpoindex opened this issue 8 years ago • 1 comments
trafficstars

I would like to propose that packages be categorized by function, and allow http://package.elm-lang.org/ to display and filter packages by a tag.

Currently, searching for a package that performs a certain function requires filtering by substring of package name. For example, if I'm looking for a package that provides enhanced table function, I might have to look for "list", "table", "datagrid", etc. to find the matching packages. Category tags could allow a package author to self-select a number of tags that the package implements. Tags are also useful in package discovery.

A similar example is https:// stackoverflow.com/tags, where questions and answers are categorized by tag(s).

To implement the feature fully, elm-package publish should require that an elm-package.json file include a "category-tags": array element in order to publish a package. To prevent an explosion of similarly named tags, any tag included in elm-package.json should be an existing tag, or require a --new-tags xxx,yyy argument, where the new tags are explicitly specified. Another option for elm-package publish would list all existing tags, allowing a package author to find appropriate tags (e.g. elm-package publish --show-tags.) An empty list of tags would not prevent a package from being published, but elm-package publish might issue a warning or require a prompt to continue publishing without category tags.

Some examples I would imagine are:

  • elm-community/elm-datepicker: "category-tags": ["ui","ui-date","ui-time"]
  • evancz/elm-sortable-table: "category-tags": ["ui","ui-table","ui-list"]
  • elm-community/elm-test: "category-tags": ["test","fuzzing"]
  • BrianHicks/elm-avl-exploration: "category-tags": ["data-structure","data-structure-tree"]
  • NoRedInk/elm-decode-pipeline: "category-tags": ["json","json-decoder"]

I've done a search on current and closed issues, as well as recent 'dev' branch commits for similar issues and didn't see anything matching my proposal. If this is a duplicate, or has been discussed and previously rejected, feel free to cancel.

tpoindex avatar Aug 14 '17 19:08 tpoindex

Thanks for the issue! Make sure it satisfies this checklist. My human colleagues will appreciate it!

Here is what to expect next, and if anyone wants to comment, keep these things in mind.

process-bot avatar Aug 14 '17 19:08 process-bot