import Link from 'next/link' import { documents, authors, topics as topicsList, affiliations, } from './db/data' import { epoch2datestring } from './utils/epoch2datestring' import { Fragment } from 'react' export default function Home() { const RandomDocs = (): React.ReactNode[] => { // Convert the object keys into an array const keys = Object.keys(documents) // Determine the number of keys to process (all if fewer than 10) const numKeysToProcess = keys.length < 10 ? keys.length : 10 // Shuffle the keys array if there are more than 10 keys if (keys.length > 10) { for (let i = keys.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)) ;[keys[i], keys[j]] = [keys[j], keys[i]] } } // Select keys based on numKeysToProcess const selectedKeys = keys.slice(0, numKeysToProcess) // Iterate over each of the selected keys return selectedKeys.map((key, index) => { const { title, dates, type, topics } = documents[key].manifest let dateString = epoch2datestring(dates[dates.length - 1]) let typeString = '' switch (type) { case 'report': typeString = 'report' break case 'presentation': typeString = 'presentation' break case 'white paper': typeString = 'white paper' break case 'datasheet': typeString = 'datasheet' break case 'dwm': typeString = 'DWM' break case 'other': typeString = 'document' break } const randomFromArray = (arr: string[]): string => arr[Math.floor(Math.random() * arr.length)] return (
{title}, a {typeString}{' '} about {topicsList[randomFromArray(topics)]['name']} published on{' '} {dateString} .
) }) } const AuthorDisplay = () => { return Object.entries(authors).map(([author, data], index) => { let affiliationSlug = data.affiliation[0].split('@')[1] let affiliation = affiliations[affiliationSlug] return (
{data.name.first} {data.name.nickname ? ` "${data.name.nickname}" ` : ' '} {data.name.last} {' '} of{' '} {affiliation.short}
) }) } return (

eeXiv2 is a free distribution service and an open-access archive for nearly 2.4 million scholarly articles in the fields of physics, mathematics, computer science, quantitative biology, quantitative finance, statistics, electrical engineering and systems science, and economics. Materials on this site may be published independently through other channels.

eeXiv News
Stay up to date with what is happening at eeXiv.
Latest news
- eeXiv is currently under active development!

Selected documents in various disciplines
Our esteemed faculty and alumni
) }