Fork of Chiri for Astro for my blog
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at c2e840b94461e84e6569b66f60a4ff04d00d6ec9 93 lines 2.0 kB view raw
1import type { TOCItem, ReadingTime } from './content.types' 2 3// TOC component props interface 4export interface TOCProps { 5 toc?: TOCItem[] 6} 7 8// Post layout props interface (generic, not tied to specific data source) 9export interface PostLayoutProps { 10 title: string 11 pubDate: Date 12 image?: string 13 readingTime?: ReadingTime 14 toc?: TOCItem[] 15} 16 17// Transition props interface 18export interface TransitionProps { 19 type: 'post' | 'page' 20 class?: string 21} 22 23// Layout props interface 24export interface LayoutProps extends TransitionProps { 25 title?: string 26 description?: string 27} 28 29// BaseHead component props interface 30export interface BaseHeadProps { 31 title: string 32 description: string 33 ogImage?: string 34 atUri?: string 35} 36 37// ImageOptimizer component props interface 38export interface ImageOptimizerProps { 39 src: string | ImageMetadata 40 alt: string 41 width?: number 42 height?: number 43 quality?: number 44 format?: 'avif' | 'webp' | 'jpeg' | 'png' 45 loading?: 'lazy' | 'eager' 46 decoding?: 'async' | 'sync' | 'auto' 47 class?: string 48 caption?: string 49 priority?: boolean 50} 51 52// FormattedDate component props interface 53export interface FormattedDateProps { 54 date: Date 55 format?: string 56 context?: 'list' | 'post' | 'default' 57} 58 59// GitHub repository data interface 60export interface GitHubRepoData { 61 owner?: { 62 avatar_url: string 63 } 64 description?: string 65 stargazers_count?: number 66 forks_count?: number 67 license?: { 68 spdx_id: string 69 } 70} 71 72// Cached repository data interface 73export interface CachedRepoData { 74 data: GitHubRepoData 75 timestamp: number 76} 77 78// GitHub card UI elements interface 79export interface CardElements { 80 avatar: HTMLElement | null 81 desc: HTMLElement | null 82 stars: HTMLElement | null 83 forks: HTMLElement | null 84 license: HTMLElement | null 85} 86 87// LinkCard metadata interface (fetched from URL) 88export interface LinkCardMetadata { 89 title: string 90 description: string 91 image: string 92 imageAlt: string 93}