mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 09:57:26 +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(
 | 
					export const recordUniverseCategories = Object.fromEntries(
 | 
				
			||||||
    universe.categories.flatMap((category) => category.items.map((item) => [item.id, item]))
 | 
					    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 models from '../../meta/languages.json'
 | 
				
			||||||
import recordSection from '../../meta/recordSections'
 | 
					import recordSection from '../../meta/recordSections'
 | 
				
			||||||
import recordLanguages from '../../meta/recordLanguages'
 | 
					import recordLanguages from '../../meta/recordLanguages'
 | 
				
			||||||
import Layout from '../../src/components/layout'
 | 
					import Layout from '../../src/templates'
 | 
				
			||||||
import { PropsPageBase } from '../[...listPath]'
 | 
					import { PropsPageBase } from '../[...listPathPage]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type PropsPageModel = PropsPageBase & {
 | 
					type PropsPageModel = PropsPageBase & {
 | 
				
			||||||
    next: { title: string; slug: string } | null
 | 
					    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