diff --git a/docsite/docusaurus.config.ts b/docsite/docusaurus.config.ts index 3247ca15..89f4c485 100644 --- a/docsite/docusaurus.config.ts +++ b/docsite/docusaurus.config.ts @@ -1,6 +1,7 @@ import type * as Preset from '@docusaurus/preset-classic'; import type { Config } from '@docusaurus/types'; import * as themes from 'prism-react-renderer'; +import glossaryPlugin from 'docusaurus-plugin-glossary'; //import sidebars from './sidebars'; const config: Config = { @@ -50,10 +51,15 @@ const config: Config = { docs: { sidebarPath: './sidebars.ts', routeBasePath: '/', - // Please change this to your repo. - // Remove this to remove the "edit this page" links. - editUrl: - 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/', + remarkPlugins: [ + glossaryPlugin.getRemarkPlugin( + { + glossaryPath: 'glossary/glossary.json', + routePath: '/glossary', + }, + { siteDir: __dirname } + ), + ], }, // blog: { // showReadingTime: true, @@ -121,7 +127,14 @@ const config: Config = { }, ] } - ] + ], + [ + 'docusaurus-plugin-glossary', + { + glossaryPath: 'glossary/glossary.json', + routePath: '/glossary', + }, + ], ], themeConfig: { diff --git a/docsite/glossary/glossary.json b/docsite/glossary/glossary.json new file mode 100644 index 00000000..3512bef0 --- /dev/null +++ b/docsite/glossary/glossary.json @@ -0,0 +1,56 @@ +{ + "description": "A collection of technical terms and their definitions", + "terms": [ + { + "term": "AIO", + "abbreviation": "All-In-One", + "definition": "Configuration type that uses the config.json file to configure Sources, Clients, and all application configuration together", + "relatedTerms": ["File Config", "ENV Config"] + }, + { + "term": "Client", + "definition": "Services that recieve/store Scrobbles sent by Multi-Scrobbler.", + "relatedTerms": ["Source"] + }, + { + "term": "ENV Config", + "definition": "Configuration type that uses environmental variales to configure Sources and Clients", + "relatedTerms": ["AIO", "File Config"] + }, + { + "term": "ENV", + "abbreviation": "Environmental Variable", + "definition": "A variable passed to a docker container or present in the operating environment.", + "relatedTerms": ["Env Config"] + }, + { + "term": "File Config", + "definition": "Configuration type that uses individual JSON files to configure Sources and Clients", + "relatedTerms": ["AIO", "ENV Config"] + }, + { + "term": "MS", + "abbreviation": "Multi-Scrobbler", + "definition": "Multi-Scrobbler" + }, + { + "term": "Play", + "definition": "The data related to a specific piece of audio you listened to, without a timestamp. EX: Artist, Title, Album...", + "relatedTerms": ["Scrobble"] + }, + { + "term": "Source", + "definition": "A service/app that Multi-Scrobbler can get listening activity/history from.", + "relatedTerms": ["Client"] + }, + { + "term": "Scrobble", + "definition": "The data (Play) and timestamp related to a certain song you listened to at a specific time" + }, + { + "term": "Scrobbling", + "definition": "The verb for sending a Scrobble to one or more Clients", + "relatedTerms": ["Scrobble", "Client"] + } + ] +} \ No newline at end of file diff --git a/docsite/package-lock.json b/docsite/package-lock.json index 1a2ed64d..289813f8 100644 --- a/docsite/package-lock.json +++ b/docsite/package-lock.json @@ -16,13 +16,14 @@ "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "docusaurus-json-schema-plugin": "^1.15.0", + "docusaurus-plugin-glossary": "^3.0.0", "docusaurus-theme-github-codeblock": "^2.0.2", "json5": "^2.2.3", "micromark-extension-directive": "^3.0.1", "prism-react-renderer": "^2.3.0", "raw-loader": "^4.0.2", - "react": "^19.0.0", - "react-dom": "^19.0.0" + "react": "^18.0.0", + "react-dom": "^18.0.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.9.2", @@ -8674,6 +8675,36 @@ "react": ">=18 < 20" } }, + "node_modules/docusaurus-json-schema-plugin/node_modules/react-monaco-editor": { + "version": "0.59.0", + "resolved": "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.59.0.tgz", + "integrity": "sha512-SggqfZCdUauNk7GI0388bk5n25zYsQ1ai1i+VhxAgwbCH+MTGl7L1fBNTJ6V+oXeUApf+bpzikprHJEZm9J/zA==", + "license": "MIT", + "peerDependencies": { + "monaco-editor": "^0.52.0", + "react": ">=16.8.0 <20.0.0", + "react-dom": ">=16.8.0 <20.0.0" + } + }, + "node_modules/docusaurus-plugin-glossary": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-glossary/-/docusaurus-plugin-glossary-3.0.0.tgz", + "integrity": "sha512-3ifzU7xJ1im5vXiz/E4oZHkr2YM43yjEocGjnMuzWbZirNxtWqNd0IzQteC26zUN+YA+QkhgCr9GUb6w5HsKyA==", + "license": "MIT", + "dependencies": { + "fs-extra": "^11.0.0", + "unist-util-visit": "^5.0.0", + "validate-peer-dependencies": "^2.2.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/core": "^3.0.0", + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, "node_modules/docusaurus-theme-github-codeblock": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/docusaurus-theme-github-codeblock/-/docusaurus-theme-github-codeblock-2.0.2.tgz", @@ -14763,6 +14794,27 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "license": "MIT" }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "license": "MIT", + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -16595,24 +16647,28 @@ } }, "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", "dependencies": { - "scheduler": "^0.27.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^19.2.0" + "react": "^18.3.1" } }, "node_modules/react-fast-compare": { @@ -16686,17 +16742,6 @@ "webpack": ">=4.41.1 || 5.x" } }, - "node_modules/react-monaco-editor": { - "version": "0.59.0", - "resolved": "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.59.0.tgz", - "integrity": "sha512-SggqfZCdUauNk7GI0388bk5n25zYsQ1ai1i+VhxAgwbCH+MTGl7L1fBNTJ6V+oXeUApf+bpzikprHJEZm9J/zA==", - "license": "MIT", - "peerDependencies": { - "monaco-editor": "^0.52.0", - "react": ">=16.8.0 <20.0.0", - "react-dom": ">=16.8.0 <20.0.0" - } - }, "node_modules/react-router": { "version": "5.3.4", "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", @@ -17255,6 +17300,18 @@ "node": ">=4" } }, + "node_modules/resolve-package-path": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz", + "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==", + "license": "MIT", + "dependencies": { + "path-root": "^0.1.1" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/resolve-pathname": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", @@ -17387,10 +17444,13 @@ "license": "BlueOak-1.0.0" }, "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } }, "node_modules/schema-dts": { "version": "1.1.5", @@ -19123,6 +19183,19 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/validate-peer-dependencies": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz", + "integrity": "sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA==", + "license": "MIT", + "dependencies": { + "resolve-package-path": "^4.0.3", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", diff --git a/docsite/package.json b/docsite/package.json index 2efcdd57..30d28f87 100644 --- a/docsite/package.json +++ b/docsite/package.json @@ -22,13 +22,14 @@ "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "docusaurus-json-schema-plugin": "^1.15.0", + "docusaurus-plugin-glossary": "^3.0.0", "docusaurus-theme-github-codeblock": "^2.0.2", "json5": "^2.2.3", "micromark-extension-directive": "^3.0.1", "prism-react-renderer": "^2.3.0", "raw-loader": "^4.0.2", - "react": "^19.0.0", - "react-dom": "^19.0.0" + "react": "^18.0.0", + "react-dom": "^18.0.0" }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.9.2",