Live site: https://digitalgeosciences.com
Digital Geosciences is a lightweight, data-driven home for the network of researchers, educators, and technologists building open geoscience and sustainability tooling. The public landing page documents active collaborators, highlight projects, and points people toward ways to plug into the community.
- Vite + React + TypeScript powers a modern, fast refresh experience for developing sections and layout components under
src/components/sections. - Tailwind CSS (with the typography plugin) and Radix UI primitives provide the design tokens, while Lucide, Recharts, and Sonner cover icons, charts, and lightweight notifications.
- Data fetching relies on local JSON files in
public/data/so that maintaining the site stays in sync with whatever content you ship through Git.
public/hosts assets that are copied verbatim to the output directory, including the JSON data files that seed each page section.public/data/containssite-config.json,projects.json,collaborators.json,announcements.json, and related metadata. Each section component fetches the matching file at runtime (CollaboratorsSection,JoinSection, etc.) so that content updates happen through straightforward edits instead of hard-coded UI updates.src/contains the Vite-powered application. Most of the landing page is created insidesrc/components/sections, with supporting hooks, theme providers, and utilities living undersrc/components.
public/data/site-config.json: global metadata (title, description, contact info) plus the navigation and social links wired into the header/footer.public/data/projects.json: project cards rendered in the Projects section, each entry describing a tool, dataset, or publication with an optional external URL.public/data/collaborators.json: collaborator bios, roles, participation dates, social links, and featured projects displayed in the Collaborators section.public/data/announcements.json: announcements or news items surfaced in the announcement/hero area; rotating this file adjusts what visitors see first.- Additional JSON files can be added to
public/data/as needed; just pair them with a new section insrc/components/sectionsthat fetches the data and renders it.
- Install dependencies:
npm install(alternativelypnpm installif you prefer the pnpm CLI). - Launch the dev server:
npm run dev. Vite will serve the app onhttp://localhost:5173by default. - (Optional) Run
npm run lintto verify TypeScript and ESLint rules before committing.
npm run dev: starts Vite with hot module replacement.npm run build: bundles the app for production intodist/.npm run build:dev: builds with development mode settings (useful for debugging minification issues).npm run preview: serves the production build locally.npm run lint: runs ESLint across the project to enforce coding standards.
Edit the JSON files in public/data/ to update collaborators, announcements, projects, or site metadata. Most sections fetch their data automatically, so the UI will pick up your changes on the next reload. For richer entries (photos, project icons, or custom links), add assets to public/ and reference them from the JSON objects.
Run npm run build to populate dist/ with the optimized static site. Deploy the contents of dist/ to your preferred static host (Vercel, Netlify, GitHub Pages, etc.). Every JSON/data change requires rebuilding before deployment, since the files are bundled into the output.
For questions or to suggest updates, reach out to info@digitalgeosciences.com or open an issue on the GitHub.