OpenRefine / OpenRefine/openrefine.org

[Feature] : Interactive Glossary Tooltips

Open
#518 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
161
Forks
142
Avg merge
6h 10m
Merged PRs (30d)
9

Description

Problem

OpenRefine has domain-specific terminology (e.g., "Reconciliation", "Facets", "GREL", "Clustering"). New users reading the documentation might run into these terms without context, requiring them to search or navigate away to understand them.

Proposed Solution

Implement a "Glossary Tooltip" system where key terms in the documentation are automatically or manually linked to a definition tooltip.

Key Features
  1. Centralized Glossary File:

    • specific glossary.json or Markdown file defining terms and their short definitions.
  2. Automatic or Tag-based Highlighting:

    • Create a wrapper component (e.g., <Term>Reconciliation</Term>) that pulls the definition.
    • OR (Advanced) Write a Remark/Rehype plugin to automatically find and underline these terms in MDX files.
  3. UI Interaction:

    • Hovering over the term shows a styled tooltip with the definition and a "Read more" link to the glossary page.

Technical Feasibility

  • Stack: Docusaurus support for MDX and Remark plugins.
  • Approach: A simple <GlossaryTerm text="Reconciliation" /> MDX component is the safest "Week 1" approach. A Remark plugin is the "Premium" approach.
  • Scope: ~2-3 weeks.
    • Week 1: Define the glossary data structure and content.
    • Week 2: Build the GlossaryTerm React component and Tooltip UI.
    • Week 3: (Optional) Remark plugin investigation or manual replacement of terms in key "Getting Started" pages.

Value

Significantly lowers the learning curve by providing context in-place.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Docusaurus MDX setup and comparing the proposed GlossaryTerm component with the optional Remark/Rehype plugin approach. Define the glossary data structure and tooltip behavior first; done means key terms can show definitions and link to the glossary page.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
documentation, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.