diff --git a/src/App.tsx b/src/App.tsx index d21eef0..95effb1 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,11 +3,7 @@ import { useEffect } from 'react'; import { Route, Routes } from 'react-router-dom'; import * as config from '../environment.json'; -import { MainNav } from './components/MainNav/MainNav'; -import { LoadingSpinner } from './components/shared/LoadingSpinner/LoadingSpinner'; -import { MarkdownPage } from './components/shared/MarkdownPage'; -import { Message } from './components/shared/Message/Message'; -import { useGetSummary } from './Hooks/useGetSummary'; + import { Document } from './pages/Document'; import buildingFromSource from './pages/GettingStarted/BuildingFromSource.md'; import gswApacheMavenPath from './pages/GettingStarted/GettingStartedWithApacheMaven.md'; @@ -16,6 +12,8 @@ import gswGroovyGrape from './pages/GettingStarted/GettingStartedWithGroovyGrape import gswJitpack from './pages/GettingStarted/GettingStartedWithJitpack.md'; import { NeuralNetworksQuickstart } from './pages/GettingStarted/NeuralNetworksQuickstart/NeuralNetworksQuickstart'; import { Home } from './pages/Home/Home'; +import { useGetSummary } from './Hooks'; +import { LoadingSpinner, MainNav, MarkdownPage, Message } from './components'; export const App = (): JSX.Element => { const { data: summary, isLoading, isError } = useGetSummary(); diff --git a/src/Hooks/index.ts b/src/Hooks/index.ts new file mode 100644 index 0000000..0f9d235 --- /dev/null +++ b/src/Hooks/index.ts @@ -0,0 +1,7 @@ +export * from './useActiveAnchor'; +export * from './useActiveLink'; +export * from './useGenerateSearchEntries'; +export * from './useGetSpec'; +export * from './useGetSummary'; +export * from './useMarkdown'; +export * from './useScrollUp'; diff --git a/src/components/Feature/Feature.tsx b/src/components/Feature/Feature.tsx index f19ea85..8cb0164 100644 --- a/src/components/Feature/Feature.tsx +++ b/src/components/Feature/Feature.tsx @@ -5,9 +5,7 @@ import { Fragment } from 'react'; import { faHashtag } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; - -import { SyntaxHighlighter } from '../shared/SyntaxHighlighter'; -import { IRow, ResponsiveTable } from '../shared/Table'; +import { IRow, ResponsiveTable, SyntaxHighlighter } from '../shared'; /* className === unique key for spec diff --git a/src/components/Feature/index.ts b/src/components/Feature/index.ts new file mode 100644 index 0000000..cd130b5 --- /dev/null +++ b/src/components/Feature/index.ts @@ -0,0 +1 @@ +export * from './Feature'; diff --git a/src/components/MainNav/MainNav.tsx b/src/components/MainNav/MainNav.tsx index 82b86c8..0c712c9 100644 --- a/src/components/MainNav/MainNav.tsx +++ b/src/components/MainNav/MainNav.tsx @@ -8,10 +8,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import * as config from '../../../environment.json'; import GithubLogo from '../../assets/img/github-mark-white.png'; -import { useActiveLink } from '../../Hooks/useActiveLink'; -import { ISummary } from '../../Hooks/useGetSummary'; -import { Search } from '../Search/Search'; -import { NavLink } from '../shared/NavLink/NavLink'; +import { Search } from '../Search'; +import { NavLink } from '../shared'; +import { ISummary, useActiveLink } from '../../Hooks'; interface IMainNav { summary: ISummary; diff --git a/src/components/MainNav/index.ts b/src/components/MainNav/index.ts new file mode 100644 index 0000000..14d1b8a --- /dev/null +++ b/src/components/MainNav/index.ts @@ -0,0 +1 @@ +export * from './MainNav'; diff --git a/src/components/Search/Search.tsx b/src/components/Search/Search.tsx index 3c08cea..672ea12 100644 --- a/src/components/Search/Search.tsx +++ b/src/components/Search/Search.tsx @@ -3,11 +3,11 @@ import './styles.css'; import { useState } from 'react'; import { Dialog, DialogBackdrop, Separator, useDialogState } from 'reakit'; -import { ISummary } from '../../Hooks/useGetSummary'; -import { SearchButton } from './SearchButton/SearchButton'; -import { SearchFooter } from './SearchFooter/SearchFooter'; -import { SearchHits } from './SearchHits/SearchHits'; -import { SearchInput } from './SearchInput/SearchInput'; +import { ISummary } from '../../Hooks'; +import { SearchButton } from './SearchButton'; +import { SearchFooter } from './SearchFooter'; +import { SearchHits } from './SearchHits'; +import { SearchInput } from './SearchInput'; export interface ISearchHit { score: number; diff --git a/src/components/Search/SearchButton/index.ts b/src/components/Search/SearchButton/index.ts new file mode 100644 index 0000000..6f4ca09 --- /dev/null +++ b/src/components/Search/SearchButton/index.ts @@ -0,0 +1 @@ +export * from './SearchButton'; diff --git a/src/components/Search/SearchFooter/index.ts b/src/components/Search/SearchFooter/index.ts new file mode 100644 index 0000000..32aef08 --- /dev/null +++ b/src/components/Search/SearchFooter/index.ts @@ -0,0 +1 @@ +export * from './SearchFooter'; diff --git a/src/components/Search/SearchHits/SearchCard/index.ts b/src/components/Search/SearchHits/SearchCard/index.ts new file mode 100644 index 0000000..b8106de --- /dev/null +++ b/src/components/Search/SearchHits/SearchCard/index.ts @@ -0,0 +1 @@ +export * from './SearchCard'; diff --git a/src/components/Search/SearchHits/SearchHits.tsx b/src/components/Search/SearchHits/SearchHits.tsx index 1d81304..6d86341 100644 --- a/src/components/Search/SearchHits/SearchHits.tsx +++ b/src/components/Search/SearchHits/SearchHits.tsx @@ -5,7 +5,7 @@ import { DialogStateReturn } from 'reakit/ts'; import { ISummary } from '../../../Hooks/useGetSummary'; import { ISearchHit } from '../Search'; -import { SearchCard } from './SearchCard/SearchCard'; +import { SearchCard } from './SearchCard'; interface ISearchHits { searchHits: ISearchHit[] | null; diff --git a/src/components/Search/SearchHits/index.ts b/src/components/Search/SearchHits/index.ts new file mode 100644 index 0000000..544e1eb --- /dev/null +++ b/src/components/Search/SearchHits/index.ts @@ -0,0 +1 @@ +export * from './SearchHits'; diff --git a/src/components/Search/SearchInput/index.ts b/src/components/Search/SearchInput/index.ts new file mode 100644 index 0000000..c068bf4 --- /dev/null +++ b/src/components/Search/SearchInput/index.ts @@ -0,0 +1 @@ +export * from './SearchInput'; diff --git a/src/components/Search/index.ts b/src/components/Search/index.ts new file mode 100644 index 0000000..addd533 --- /dev/null +++ b/src/components/Search/index.ts @@ -0,0 +1 @@ +export * from './Search'; diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..684f1fb --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,4 @@ +export * from './Feature'; +export * from './MainNav'; +export * from './Search'; +export * from './shared'; diff --git a/src/components/shared/Divide/index.ts b/src/components/shared/Divide/index.ts new file mode 100644 index 0000000..821c7e5 --- /dev/null +++ b/src/components/shared/Divide/index.ts @@ -0,0 +1 @@ +export * from './Divide'; diff --git a/src/components/shared/Layout/Layout.tsx b/src/components/shared/Layout/Layout.tsx index abd0234..62e81c8 100644 --- a/src/components/shared/Layout/Layout.tsx +++ b/src/components/shared/Layout/Layout.tsx @@ -2,7 +2,7 @@ import './styles.css'; import { PropsWithChildren } from 'react'; -import { IFeature } from '../../../Hooks/useGetSpec'; +import { IFeature } from '../../../Hooks'; import { OnPageNav } from './OnPageNav'; interface ILayout { diff --git a/src/components/shared/Layout/OnPageNav.tsx b/src/components/shared/Layout/OnPageNav.tsx index a83dad5..0b5fa38 100644 --- a/src/components/shared/Layout/OnPageNav.tsx +++ b/src/components/shared/Layout/OnPageNav.tsx @@ -1,7 +1,7 @@ import { nanoid } from 'nanoid'; -import { IFeature } from '../../../Hooks/useGetSpec'; -import { NavAnchor } from '../NavLink/NavAnchor'; +import { IFeature } from '../../../Hooks'; +import { NavAnchor } from '..'; interface IOnPageNave { features: IFeature[]; diff --git a/src/components/shared/Layout/index.ts b/src/components/shared/Layout/index.ts new file mode 100644 index 0000000..a606fb1 --- /dev/null +++ b/src/components/shared/Layout/index.ts @@ -0,0 +1,2 @@ +export * from './Layout'; +export * from './OnPageNav'; diff --git a/src/components/shared/LoadingSpinner/index.ts b/src/components/shared/LoadingSpinner/index.ts new file mode 100644 index 0000000..58a46ee --- /dev/null +++ b/src/components/shared/LoadingSpinner/index.ts @@ -0,0 +1 @@ +export * from './LoadingSpinner'; diff --git a/src/components/shared/MarkdownRenderer.tsx b/src/components/shared/MarkdownRenderer.tsx index a16c12a..ba805eb 100644 --- a/src/components/shared/MarkdownRenderer.tsx +++ b/src/components/shared/MarkdownRenderer.tsx @@ -1,16 +1,16 @@ import Markdown from 'react-markdown'; -import { Divide } from './Divide/Divide'; -import { SyntaxHighlighter } from './SyntaxHighlighter'; +import remarkGfm from 'remark-gfm'; import { + Divide, MdTable, MdTableBody, MdTableCell, MdTableHead, MdTableHeader, MdTableRow, -} from './Table'; -import remarkGfm from 'remark-gfm'; + SyntaxHighlighter, +} from '..'; interface IMarkdownRenderer { children: string; diff --git a/src/components/shared/Message/index.ts b/src/components/shared/Message/index.ts new file mode 100644 index 0000000..cd58e02 --- /dev/null +++ b/src/components/shared/Message/index.ts @@ -0,0 +1 @@ +export * from './Message'; diff --git a/src/components/shared/NavLink/NavAnchor.tsx b/src/components/shared/NavLink/NavAnchor.tsx index 3fe8a28..68821d3 100644 --- a/src/components/shared/NavLink/NavAnchor.tsx +++ b/src/components/shared/NavLink/NavAnchor.tsx @@ -2,7 +2,7 @@ import './styles.css'; import { ReactNode } from 'react'; -import { useActiveAnchor } from '../../../Hooks/useActiveAnchor'; +import { useActiveAnchor } from '../../../Hooks'; interface INavAnchor { href: string; diff --git a/src/components/shared/NavLink/NavLink.tsx b/src/components/shared/NavLink/NavLink.tsx index e18dd27..e059617 100644 --- a/src/components/shared/NavLink/NavLink.tsx +++ b/src/components/shared/NavLink/NavLink.tsx @@ -3,7 +3,7 @@ import './styles.css'; import { ReactNode } from 'react'; import { Link } from 'react-router-dom'; -import { useActiveLink } from '../../../Hooks/useActiveLink'; +import { useActiveLink } from '../../../Hooks'; interface INavLink { href: string; diff --git a/src/components/shared/NavLink/index.ts b/src/components/shared/NavLink/index.ts new file mode 100644 index 0000000..e408bc1 --- /dev/null +++ b/src/components/shared/NavLink/index.ts @@ -0,0 +1,2 @@ +export * from './NavAnchor'; +export * from './NavLink'; diff --git a/src/components/shared/CustomPage.tsx b/src/components/shared/PageTemplate/CustomPage.tsx similarity index 69% rename from src/components/shared/CustomPage.tsx rename to src/components/shared/PageTemplate/CustomPage.tsx index 8493781..b39596b 100644 --- a/src/components/shared/CustomPage.tsx +++ b/src/components/shared/PageTemplate/CustomPage.tsx @@ -1,7 +1,7 @@ import { PropsWithChildren } from 'react'; -import { useScrollUp } from '../../Hooks/useScrollUp'; -import { Layout } from './Layout/Layout'; +import { useScrollUp } from '../../../Hooks'; +import { Layout } from '..'; export const CustomPage = (props: PropsWithChildren): JSX.Element => { const { children } = props; diff --git a/src/components/shared/MarkdownPage.tsx b/src/components/shared/PageTemplate/MarkdownPage.tsx similarity index 69% rename from src/components/shared/MarkdownPage.tsx rename to src/components/shared/PageTemplate/MarkdownPage.tsx index 7688ad5..7687745 100644 --- a/src/components/shared/MarkdownPage.tsx +++ b/src/components/shared/PageTemplate/MarkdownPage.tsx @@ -1,10 +1,6 @@ -import * as config from '../../../environment.json'; -import { useMarkdown } from '../../Hooks/useMarkdown'; -import { useScrollUp } from '../../Hooks/useScrollUp'; -import { Layout } from './Layout/Layout'; -import { LoadingSpinner } from './LoadingSpinner/LoadingSpinner'; -import { MarkdownRenderer } from './MarkdownRenderer'; -import { Message } from './Message/Message'; +import { Layout, LoadingSpinner, MarkdownRenderer, Message } from '..'; +import * as config from '../../../../environment.json'; +import { useMarkdown, useScrollUp } from '../../../Hooks'; interface IMarkdownPage { filePath: string; diff --git a/src/components/shared/PageTemplate/index.ts b/src/components/shared/PageTemplate/index.ts new file mode 100644 index 0000000..13ac2fd --- /dev/null +++ b/src/components/shared/PageTemplate/index.ts @@ -0,0 +1,2 @@ +export * from './CustomPage'; +export * from './MarkdownPage'; diff --git a/src/components/shared/Tab/index.ts b/src/components/shared/Tab/index.ts new file mode 100644 index 0000000..ea588da --- /dev/null +++ b/src/components/shared/Tab/index.ts @@ -0,0 +1 @@ +export * from './CustomTab'; diff --git a/src/components/shared/Table/ResponsiveTable/index.ts b/src/components/shared/Table/ResponsiveTable/index.ts new file mode 100644 index 0000000..c6addfc --- /dev/null +++ b/src/components/shared/Table/ResponsiveTable/index.ts @@ -0,0 +1 @@ +export * from './ResponsiveTable'; diff --git a/src/components/shared/Table/index.ts b/src/components/shared/Table/index.ts index 3c69a0e..e907525 100644 --- a/src/components/shared/Table/index.ts +++ b/src/components/shared/Table/index.ts @@ -1,2 +1,2 @@ -export * from './ResponsiveTable/ResponsiveTable'; +export * from './ResponsiveTable'; export * from './MarkdownTable'; diff --git a/src/components/shared/index.ts b/src/components/shared/index.ts new file mode 100644 index 0000000..4cd8ea3 --- /dev/null +++ b/src/components/shared/index.ts @@ -0,0 +1,10 @@ +export * from './Divide'; +export * from './Layout'; +export * from './LoadingSpinner'; +export * from './MarkdownRenderer'; +export * from './Message'; +export * from './NavLink'; +export * from './PageTemplate'; +export * from './SyntaxHighlighter'; +export * from './Tab'; +export * from './Table'; diff --git a/src/main.tsx b/src/main.tsx index 85e08f5..94f0b05 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -8,7 +8,7 @@ import { BrowserRouter } from 'react-router-dom'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { App } from './App'; -import { Message } from './components/shared/Message/Message'; +import { Message } from './components/shared'; import * as config from '../environment.json'; const queryClient = new QueryClient(); diff --git a/src/pages/Document.tsx b/src/pages/Document.tsx index 90a8d0d..4b32d59 100644 --- a/src/pages/Document.tsx +++ b/src/pages/Document.tsx @@ -2,13 +2,14 @@ import { nanoid } from 'nanoid'; import { Fragment } from 'react'; import * as config from '../../environment.json'; -import { Feature } from '../components/Feature/Feature'; -import { Divide } from '../components/shared/Divide/Divide'; -import { Layout } from '../components/shared/Layout/Layout'; -import { LoadingSpinner } from '../components/shared/LoadingSpinner/LoadingSpinner'; -import { Message } from '../components/shared/Message/Message'; -import { useGetSpec } from '../Hooks/useGetSpec'; -import { useScrollUp } from '../Hooks/useScrollUp'; +import { useGetSpec, useScrollUp } from '../Hooks'; +import { + Divide, + Feature, + Layout, + LoadingSpinner, + Message, +} from '../components'; interface IExampleOne { fileName: string; diff --git a/src/pages/GettingStarted/NeuralNetworksQuickstart/NeuralNetworksQuickstart.tsx b/src/pages/GettingStarted/NeuralNetworksQuickstart/NeuralNetworksQuickstart.tsx index 6fa6630..c1eb98b 100644 --- a/src/pages/GettingStarted/NeuralNetworksQuickstart/NeuralNetworksQuickstart.tsx +++ b/src/pages/GettingStarted/NeuralNetworksQuickstart/NeuralNetworksQuickstart.tsx @@ -1,9 +1,6 @@ +import { CustomPage, CustomTab, SyntaxHighlighter } from '../../../components'; import './styles.css'; -import { CustomPage } from '../../../components/shared/CustomPage'; -import { SyntaxHighlighter } from '../../../components/shared/SyntaxHighlighter'; -import { CustomTab } from '../../../components/shared/Tab/CustomTab'; - export const NeuralNetworksQuickstart = () => { return ( diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index 20698af..5e69907 100644 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -6,10 +6,7 @@ import { faWandSparkles, } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; - -import { CustomPage } from '../../components/shared/CustomPage'; -import { SyntaxHighlighter } from '../../components/shared/SyntaxHighlighter'; -import { CustomTab } from '../../components/shared/Tab/CustomTab'; +import { CustomPage, CustomTab, SyntaxHighlighter } from '../../components'; const groovySnippet = { content: ( diff --git a/src/tests/example.test.tsx b/src/tests/example.test.tsx index 0ee5a12..85e6c13 100644 --- a/src/tests/example.test.tsx +++ b/src/tests/example.test.tsx @@ -4,7 +4,7 @@ import { describe, expect, test } from 'vitest'; import { renderHook } from '@testing-library/react-hooks'; import { App } from '../App'; -import { ISummary, useGetSummary } from '../Hooks/useGetSummary'; +import { ISummary, useGetSummary } from '../Hooks'; import { HookProvider, render } from '../test-utils'; describe('test', () => {