# 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