Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / apps/web/lib/project-utils.ts |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | apps/web/lib/project-utils.ts |
| Original SHA-256 | c6ff4ce3dd0bdd3ab14b2379c95766ad83ed424a7ddb3697bd6ade459a59daaf |
| Git blob SHA | 4d00b62e0ff4874f2c30c350a1ac5b6d0254ac31 |
| Reading-copy SHA-256 | c6ff4ce3dd0bdd3ab14b2379c95766ad83ed424a7ddb3697bd6ade459a59daaf |
Recovered source transcript
Download complete source text ↓29 lines · 1.0 KB
import type { WebsiteMetadata } from './content-loader'
/**
* Filters and returns featured projects, limited to 8 items
* Shows 6 on smaller screens, 8 on 4xl+ screens (handled via CSS)
* @param projects - Array of website metadata objects
* @returns Array of featured projects (max 8)
*/
export function getFeaturedProjects(projects: WebsiteMetadata[]): WebsiteMetadata[] {
// Get explicitly featured projects only, max 8
const featuredProjects = projects.filter(project => project.featured === true)
return featuredProjects.slice(0, 8)
}
/**
* Returns projects sorted by most recently updated
* @param projects - Array of website metadata objects
* @param limit - Maximum number of projects to return (default: 5)
* @returns Array of recently updated projects
*/
export function getRecentlyUpdatedProjects(
projects: WebsiteMetadata[],
limit = 5
): WebsiteMetadata[] {
return projects
.sort((a, b) => new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime())
.slice(0, limit)
}