Nathan Schneider d36b63d3fc Added README
2025-04-11 12:25:54 -06:00

180 lines
4.2 KiB
Markdown

# Governance Ecologies Website
This repository contains the source code for the Governance Ecologies project website, built with [Hugo](https://gohugo.io/).
## Getting Started
### Prerequisites
- [Hugo Extended](https://gohugo.io/installation/) (v0.112.0 or later recommended)
- Git
### Local Development
1. Clone this repository:
```bash
git clone https://github.com/your-username/governance-ecologies.git
cd governance-ecologies
```
2. Start the Hugo development server:
```bash
hugo server -D
```
3. View the site at http://localhost:1313/
## Site Structure
```
governance-ecologies/
├── content/ # Site content (Markdown files)
├── data/ # Data files for projects, team, etc.
├── static/ # Static files (images, etc.)
│ └── images/ # All image files go here
├── themes/ # Theme files
│ └── governance-ecologies/ # Custom theme
└── config.toml # Site configuration
```
## Content Management
### Modifying the Main Page
The main page content is stored in `content/_index.md` with structured front matter. Edit this file to update the primary site content.
### Adding/Editing Projects
Projects are managed via the `data/projects.toml` file. Each project entry follows this format:
```toml
[[project]]
title = "Project Name"
description = "Project description text."
url = "https://example.com"
logo = "project-logo.png" # Optional, place image in static/images/
```
### Managing Team Members
Team members are managed via the `data/team.toml` file:
```toml
[[member]]
name = "Person Name"
photo = "person-photo.jpg" # Optional, place image in static/images/
institution = "Their Institution"
url = "https://example.com/profile"
```
### Managing Organizations (Anchors, Partners, Funders)
Organizations are managed in their respective TOML files:
- `data/anchors.toml`
- `data/partners.toml`
- `data/funders.toml`
Example format:
```toml
[[anchor]]
name = "Organization Name"
logo = "org-logo.png" # Optional, place image in static/images/
url = "https://example.org"
```
## Adding Images
1. Place all image files in the `static/images/` directory
2. Reference them in data files using just the filename (e.g., `logo = "example.png"`)
## Adding New Pages
1. Create a new markdown file in the `content/` directory:
```bash
hugo new page-name.md
```
2. Edit the front matter and content:
```md
---
title: "Page Title"
date: 2023-01-01
draft: false
menu:
main:
weight: 40
layout: "page"
hero:
heading: "Page Title"
subheading: "Page subtitle here"
content: |
# Your Content Here
Write your content in Markdown format here.
---
```
## Deployment
### Building for Production
Build the site for production:
```bash
hugo --minify
```
This generates the site in the `public/` directory.
### Deployment Options
#### Option 1: Manual Deployment
Upload the contents of the `public/` directory to your web server.
#### Option 2: GitHub Pages
1. Push your repository to GitHub
2. Set up GitHub Actions with a workflow file (`.github/workflows/hugo.yml`)
3. Configure GitHub Pages to deploy from the Actions workflow
#### Option 3: Netlify
1. Push your repository to GitHub
2. Connect Netlify to your GitHub repository
3. Configure build settings:
- Build command: `hugo --minify`
- Publish directory: `public`
## Customization
### Theme Customization
The site uses a custom theme located in `themes/governance-ecologies/`. To modify the site's appearance:
- Edit CSS in `static/css/main.css`
- Modify templates in `themes/governance-ecologies/layouts/`
- Update partials in `themes/governance-ecologies/layouts/partials/`
### Color Scheme
The color scheme is defined in CSS variables in `static/css/main.css`:
```css
:root {
--background-color: #dcd5cf;
--red: #832827;
--yellow: #cc9637;
--teal: #3f6266;
--purple: #372c3d;
--text-color: #333333;
}
```
## Troubleshooting
- **Missing images**: Ensure images are placed in `static/images/` and referenced correctly
- **Content not updating**: Clear your browser cache or use incognito mode
- **Build errors**: Check the Hugo console output for specific error messages