{"id":44518767,"url":"https://github.com/grnet/docusaurus-terminology","last_synced_at":"2026-02-13T17:31:00.753Z","repository":{"id":145466890,"uuid":"532904961","full_name":"grnet/docusaurus-terminology","owner":"grnet","description":"Home of Docusaurus Terminology Plugin","archived":false,"fork":false,"pushed_at":"2025-01-13T12:26:18.000Z","size":2476,"stargazers_count":37,"open_issues_count":9,"forks_count":6,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-01-13T13:28:16.058Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grnet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-05T13:06:37.000Z","updated_at":"2025-01-13T12:26:21.000Z","dependencies_parsed_at":"2025-01-13T13:26:58.273Z","dependency_job_id":"6ee8225f-1846-4a71-a05d-2f3785f8ad9e","html_url":"https://github.com/grnet/docusaurus-terminology","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/grnet/docusaurus-terminology","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grnet%2Fdocusaurus-terminology","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grnet%2Fdocusaurus-terminology/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grnet%2Fdocusaurus-terminology/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grnet%2Fdocusaurus-terminology/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grnet","download_url":"https://codeload.github.com/grnet/docusaurus-terminology/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grnet%2Fdocusaurus-terminology/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29413364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-13T17:31:00.229Z","updated_at":"2026-02-13T17:31:00.749Z","avatar_url":"https://github.com/grnet.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @grnet/docusaurus-terminology\n\n## Overview\n\nThis Docusaurus plugin allows you to use standout terms in your pages, which, when hovered over, displays a short explanation, and when clicked, navigates you to the relevant page. The plugin parses all `*.md` and `*.mdx` files and replaces each markdown hyperlink pattern with a `\u003ca\u003e` HTML tag supporting a tooltip functionality. Additionally, it generates a glossary with all terms found in the markdown files.\n\n![Term in text example](static/img/terminology_example.gif)\n\n\nCheck for live example in [codesandbox](https://codesandbox.io/p/sandbox/sharp-sara-jh675w)\n\n\n## Installation\n\nTo use this plugin, you have to add it to your project as a npm package. You can do this by running the following command in your project's root directory:\n\n```\nnpm i @grnet/docusaurus-terminology --save\n```\n\nor\n\n```\nyarn add @grnet/docusaurus-terminology\n```\n\nOnce the package is installed, you need to configure it in your Docusaurus site configuration file by adding the plugin to your `docusaurus.config.js` file:\n\n```\nmodule.exports = {\n    ...\n  plugins: [\n    ['@grnet/docusaurus-terminology', {\n      termsDir: './docs/terms',\n      docsDir: './docs/',\n      glossaryFilepath: './docs/glossary.md'\n    }],\n  ],\n    ...\n};\n```\n\nThere is the ability to use custom components for the glossary file and term preview tooltip, instead of using the ones provided by `@grnet/docusaurus-term-preview` and `@grnet/docusaurus-glossary-view`.\n\nTo modify the default options, add the fields `glossaryComponentPath`, `termPreviewComponentPath` in the plugins section to provide the corresponding component paths (**relative to the `/docs` folder**):\n\n```\nplugins: [\n    ['@grnet/docusaurus-terminology', {\n      ...\n      glossaryComponentPath: 'relative/path/to/your/component',\n      termPreviewComponentPath: 'relative/path/to/your/component',\n    }],\n  ],\n```\n\n## Usage\n\nTo use the terminology tool, you need to create the terms folder under docs in order to have the required folder structure: `docs/terms`.\n\nAfter that, you can create the `*.md` and `*.mdx` files and initialize them with the format of the following metadata header.\n\n```\n---\nid: example-term\ntitle: Example term\nhoverText: This is an example term\n---\n\nThis is a more detailed explanation for the term. The `hoverText` metadata provides a preview of the explanation.\n```\n\nYou should also create a new `./docs/glossary.md` file.\n\n```\n---\nid: glossary\ntitle: Glossary\n---\n\nThis is my glossary file, I expect this to remain unaltered, and just append text below this line.\n\n```\n\nTo include the desired term in a documentation page, you can add the markdown syntax for a hyperlink `[term](path/to/term.md)` in the page. For example, you can edit the default `./docs/intro.md` generated by the Docusaurus scaffolder and add a link, eg. `[This is the example-term](./terms/example-term)`. You should make sure that the link you point to is relative to the path where the term source code file is located in your filesystem.\n\nThis renders the hyperlink \"This is the example-term\", and displays the \"hoverText\" attribute when you hover it.\n\n## How it works\nThis plugin retrieves docs in two ways:\n\n1. Parses all `*.md` and `*.mdx` files in the `docs/` directory and replaces each pattern `[term](path/to/term.md)` (markdown syntax for a hyperlink) with a `\u003ca\u003e` tag supporting tooltip functionality using the [@grnet/term-preview](https://www.npmjs.com/package/@grnet/docusaurus-term-preview) package that uses the [rc-tooltip](https://www.npmjs.com/package/rc-tooltip) under the hood.\n2. Creates a glossary with all the terms from markdown files that are listed in the `docs/terms/`.\n\nIn greater depth:\n\n#### Terms\n\nThe plugin needs the directory `docs/terms`, which contains all the terms you need for your website. The specific format for each term:\n\nIn `docs/terms/example-term.md`:\n\n```\n---\nid: example-term\ntitle: Example term\nhoverText: This is an example term\n---\n\nExample body\n```\n\nwhere:\n\n* `id`: the unique id of the docusaurus web page, this is docusaurus specific\n\n* `title`: the visible title of the term, docusaurus specific as well\n\n* `hoverText`: this text shows when you hover over a term in a documentation page\n\nYou can add your own content under the markdown metadata header.\n\n#### Glossary\n\nThe plugin creates a glossary that aggregates all of the terms from the `docs/terms` directory onto a single page where you can examine each term and its `hoverText` definition. Also, you can click a term to go to the term page. To see the glossary page you can visit [http://localhost:3000/docs/glossary](http://localhost:3000/docs/glossary)\n\n## Troubleshooting\n\nIf you encounter any issues with the @grnet/docusaurus-terminology plugin, please check the following:\n* Ensure that you have installed it correctly and added it to your site configuration file.\n* Make sure that you add/edit markdown files under the `/docs/terms` directory and the hyperlink pattern `[term](path/to/term.md)` you are using to define the term is correct. Both the term's id and filename must match.\n* If you are still encountering issues, please submit a bug report or contact the plugin maintainer for support.\n\n## Contributing\n\nIf you would like to contribute to the development of the @grnet/docusaurus-terminology plugin, you can do so by submitting issues or pull requests on the GitHub repository.\n\n## License\n\nThe @grnet/docusaurus-terminology plugin is released under the BSD-2-Clause.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrnet%2Fdocusaurus-terminology","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrnet%2Fdocusaurus-terminology","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrnet%2Fdocusaurus-terminology/lists"}