feat(v2): Implement proof-of-concept Docusaurus Debug Dashboard (#2928)

* feat(v2): Implement proof-of-concept Docusaurus Debug Dashboard

* Ensure we show the exact boolean
This commit is contained in:
Sam Zhou 2020-06-14 03:30:04 -04:00 committed by GitHub
parent 729b3cae9b
commit 6e37d3fb12
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 127 additions and 0 deletions

View file

@ -0,0 +1,25 @@
{
"name": "@docusaurus/plugin-debug",
"version": "2.0.0-alpha.56",
"description": "Debug plugin for Docusaurus",
"main": "lib/index.js",
"scripts": {
"tsc": "tsc"
},
"publishConfig": {
"access": "public"
},
"license": "MIT",
"dependencies": {
"@docusaurus/types": "^2.0.0-alpha.56",
"@docusaurus/utils": "^2.0.0-alpha.56"
},
"peerDependencies": {
"@docusaurus/core": "^2.0.0",
"react": "^16.8.4",
"react-dom": "^16.8.4"
},
"engines": {
"node": ">=10.15.1"
}
}

View file

@ -0,0 +1,31 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import {LoadContext, Plugin} from '@docusaurus/types';
import {normalizeUrl} from '@docusaurus/utils';
import path from 'path';
export default function pluginContentPages({
siteConfig: {baseUrl},
}: LoadContext): Plugin<void> {
return {
name: 'docusaurus-plugin-debug',
getThemePath() {
return path.resolve(__dirname, '../src/theme');
},
contentLoaded({actions: {addRoute}}) {
addRoute({
path: normalizeUrl([baseUrl, '__docusaurus/debug']),
component: '@theme/Debug',
exact: true,
});
},
};
}

View file

@ -0,0 +1,47 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import React from 'react';
import Layout from '@theme/Layout';
import registry from '@generated/registry';
import routes from '@generated/routes';
import styles from './styles.module.css';
function Debug() {
return (
<Layout permalink="__docusaurus/debug" title="Debug">
<main className={styles.Container}>
<section>
<h2>Registry</h2>
<ul>
{Object.values(registry).map(([, aliasedPath, resolved]) => (
<li key={aliasedPath}>
<div>Aliased Path: {aliasedPath}</div>
<div>Resolved Path: {resolved}</div>
</li>
))}
</ul>
</section>
<section>
<h2>Routes</h2>
<ul>
{routes.map(({path, exact}) => (
<li key={path}>
<div>Route: {path}</div>
<div>Is exact: {String(Boolean(exact))}</div>
</li>
))}
</ul>
</section>
</main>
</Layout>
);
}
export default Debug;

View file

@ -0,0 +1,11 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
.Container {
display: flex;
margin: 1em;
}

View file

@ -0,0 +1,9 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": "./lib/.tsbuildinfo",
"rootDir": "src",
"outDir": "lib"
}
}