# ๐ OurWorld Web (Salient Template) **OurWorld Web** is a statically-exported site built using the [Salient](https://tailwindcss.com/plus) template with **Next.js**, **Tailwind CSS v4**, and **TypeScript**. It showcases people and ventures in a modular and scalable frontend. --- ## ๐ Project Structure ``` www_ourworld_new/ โโโ .env.local # Local environment variables โโโ public/ # Public static assets (images, videos) โโโ scripts/ # Utility scripts (generate people) โโโ src/ โ โโโ app/ # App routes (people, ventures, pages) โ โ โโโ people/ # Page routes per person โ โ โโโ ventures/ # Venture route pages โ โโโ components/ โ โ โโโ people/ # Individual people components โ โโโ data/ # Temporary or pre-generated data โ โโโ lib/ # People data registry (auto-generated) โ โโโ styles/ # Tailwind & global CSS โ โโโ videos/ # Local videos โโโ docs/ # Markdown docs for onboarding โโโ out/ # Static export folder after build โโโ package.json # Scripts and dependencies โโโ README.md # You are here. ``` --- ## โ๏ธ Technologies * [Next.js](https://nextjs.org/) * [Tailwind CSS](https://tailwindcss.com/) * [React](https://reactjs.org/) * [TypeScript](https://www.typescriptlang.org/) * [Headless UI](https://headlessui.dev/) * [Heroicons](https://heroicons.com/) * [Nodemailer](https://nodemailer.com/) (optional for contact form) --- ## ๐ Getting Started ```bash git clone https://github.com/your-org/www_ourworld_new.git cd www_ourworld_new npm install npm run dev ``` Visit `http://localhost:3000` to view the site. --- ## โ๏ธ Building the Site ```bash npm run build ``` This will: * Run `scripts/generate-people-data.js` to update the people registry * Build a static export into `/out` To preview production: ```bash npm run start ``` --- ## โจ Adding a Person 1. Create a folder: `public/images/people/jane_doe/` 2. Inside it, place: * `index.md` (frontmatter + bio) * `jane_doe.jpg` (image) 3. Run: ```bash node scripts/generate-all-people.js npm run generate-people-data npm run build ``` **Frontmatter example:** ```md --- title: Jane Doe description: Community Architect extra: socialLinks: LinkedIn: https://linkedin.com/in/janedoe --- Jane builds regenerative systems that empower local communities... ``` The script will: * Generate a component in `src/components/people/People_Jane_Doe.tsx` * Create or update `src/app/people/jane_doe/page.tsx` * Add them to the dynamic people registry --- ## ๐ง Anatomy of a Person ### Component (`People_Jane_Doe.tsx`) ```tsx export const data = [{ name: 'Jane Doe', role: 'Community Architect', imageUrl: '/images/people/jane_doe/jane_doe.jpg', xUrl: '#', linkedinUrl: 'https://linkedin.com/in/janedoe', }] const biography = `
Jane builds regenerative systems...
` export function People_Jane_Doe() { return