60 lines
		
	
	
		
			978 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			978 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { createDirectus, rest } from '@directus/sdk';
 | |
| 
 | |
| type Global = {
 | |
|   title: string;
 | |
|   description: string;
 | |
|   name: string;
 | |
|   initals: string;
 | |
|   tagline: string;
 | |
|   email: string;
 | |
|   portrait: string;
 | |
|   portrait_alt: string;
 | |
|   about: string;
 | |
| };
 | |
| 
 | |
| type About = {
 | |
|   background: string;
 | |
|   experience: string;
 | |
|   education: string;
 | |
|   certifications: string;
 | |
| };
 | |
| 
 | |
| type Links = {
 | |
|   github: string;
 | |
|   linkedin: string;
 | |
|   gitea: string;
 | |
| };
 | |
| 
 | |
| type Skill = {
 | |
|   title: string;
 | |
|   description: string;
 | |
|   icon: string;
 | |
|   level: string;
 | |
| };
 | |
| 
 | |
| export type Post = {
 | |
|   slug: string;
 | |
|   title: string;
 | |
|   description: string;
 | |
|   content: string;
 | |
|   image: string;
 | |
|   image_alt: string;
 | |
|   published_date: Date;
 | |
|   updated_date: Date;
 | |
|   tags: string[];
 | |
| };
 | |
| 
 | |
| type Schema = {
 | |
|   global: Global;
 | |
|   about: About;
 | |
|   links: Links;
 | |
|   skills: Skill[];
 | |
|   posts: Post[];
 | |
| };
 | |
| 
 | |
| const directus = createDirectus<Schema>(
 | |
|   process.env.DIRECTUS_URL ?? 'https://directus.alexlebens.dev'
 | |
| ).with(rest());
 | |
| 
 | |
| export default directus;
 |