mirror of
https://github.com/explosion/spaCy.git
synced 2025-01-12 10:16:27 +03:00
Add Universe projects
This commit is contained in:
parent
cefbb3d203
commit
4c7552dcb1
|
@ -3,3 +3,7 @@ import universe from './universe.json'
|
|||
export const recordUniverseCategories = Object.fromEntries(
|
||||
universe.categories.flatMap((category) => category.items.map((item) => [item.id, item]))
|
||||
)
|
||||
|
||||
export const recordUniverseResources = Object.fromEntries(
|
||||
universe.resources.map((resource) => [resource.id, resource])
|
||||
)
|
||||
|
|
|
@ -2,8 +2,8 @@ import type { GetStaticPaths, GetStaticProps } from 'next'
|
|||
import models from '../../meta/languages.json'
|
||||
import recordSection from '../../meta/recordSections'
|
||||
import recordLanguages from '../../meta/recordLanguages'
|
||||
import Layout from '../../src/components/layout'
|
||||
import { PropsPageBase } from '../[...listPath]'
|
||||
import Layout from '../../src/templates'
|
||||
import { PropsPageBase } from '../[...listPathPage]'
|
||||
|
||||
type PropsPageModel = PropsPageBase & {
|
||||
next: { title: string; slug: string } | null
|
||||
|
|
41
website/pages/universe/project/[slug].tsx
Normal file
41
website/pages/universe/project/[slug].tsx
Normal file
|
@ -0,0 +1,41 @@
|
|||
import { GetStaticPaths, GetStaticProps } from 'next'
|
||||
import recordSections from '../../../meta/recordSections'
|
||||
import { recordUniverseResources } from '../../../meta/recordUniverse'
|
||||
import universe from '../../../meta/universe.json'
|
||||
import Layout from '../../../src/templates'
|
||||
import { PropsPageBase } from '../../[...listPathPage]'
|
||||
|
||||
type ParsedUrlQuery = {
|
||||
slug: string
|
||||
}
|
||||
|
||||
export default Layout
|
||||
|
||||
export const getStaticPaths: GetStaticPaths<ParsedUrlQuery> = async () => {
|
||||
return {
|
||||
paths: universe.resources.flatMap((resource) => `/universe/project/${resource.id}`),
|
||||
fallback: false,
|
||||
}
|
||||
}
|
||||
|
||||
export const getStaticProps: GetStaticProps<PropsPageBase, ParsedUrlQuery> = async (args) => {
|
||||
if (!args.params) {
|
||||
return { notFound: true }
|
||||
}
|
||||
|
||||
const resource = recordUniverseResources[args.params.slug]
|
||||
|
||||
return {
|
||||
props: {
|
||||
id: resource.id,
|
||||
title: resource.title || resource.id,
|
||||
teaser: resource.slogan || null,
|
||||
slug: `/universe/project/${args.params.slug}`,
|
||||
isIndex: false,
|
||||
data: { ...resource, isProject: true },
|
||||
section: 'universe',
|
||||
sectionTitle: recordSections.universe.title,
|
||||
theme: recordSections.universe.theme,
|
||||
},
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user