180 lines
4.2 KiB
Markdown
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
|