Skip to content

[Feature Request]: Tags #1200

Open
Open
@reakaleek

Description

@reakaleek

Context

The legacy asciidocs build supported tags.
In the conf.yaml, you can see these tags applied at a book level.

These tags were also used to enhance the search experience, making it possible to filter by tags.

Goal

Add a tags feature that can be used by the search feature for filtering.

Requirements

  • The user should be able to set one or more tags for a page.
  • The user should be able to set a default tag for reference content.
    E.g. the logstash reference should have the "Logstash" tag by default
  • The user should be able to append tags on a page, in addition to the default tag.
    Hence, if a default tag exists and the user adds tags to a page, it should contain both the default tag and the additional tags.
  • Linting: Make sure we reuse existing tags.

Proposed implementation

  1. Add a tags frontmatter option; these tags should then be added to HTML meta tags so that the web team can crawl and parse them.
  2. Write a script to parse tags from conf.yaml and add it to frontmatter based on the prefix attribute in conf.yaml and mapped_pages frontmatter in elastic/docs-content. This means a page might have multiple tags.
  3. Do a release so we can already utilize the tags for search.
  4. Add a "default" tag feature for reference content. (Can we add it somehow to assembler.yml or navigation.yml?

Open Questions

  • What format should the meta tags be so that the web team can parse them
  • Can we add additional metadata for the search? E.g., content type, license, or version? AFAIU, right now it's only for "Products" filtering
  • What's the best way to add default tags for reference content? docset.yml, toc.yml, assembler.yml or navigation.yml?

References

Stakeholders

@elastic/docs-engineering, @KOTungseth, @colleenmcginnis, @elastic/webteam

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions