Skip to content
View charlottebrf's full-sized avatar

Organizations

@HackBrexit

Block or report charlottebrf

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
charlottebrf/README.md

Charlotte's Portfolio Website

A personal portfolio website built with Go, featuring a blog with markdown support and a dark ocean-inspired design. This site replaces a previous version written using 11ty.

🌐 Live Site

Production: charlottebrf.dev

✨ Features

  • Dark Theme: Ocean-inspired design with turquoise accents
  • Blog System: Markdown-powered blog with status tags (draft/complete)
  • Experience Timeline: Professional background showcase
  • Responsive Design: Mobile-friendly layout
  • Analytics: Privacy-focused tracking with Plausible
  • Fast Performance: Lightweight Go server

πŸ›  Tech Stack

  • Backend: Go with html/template
  • Markdown: Custom parser with github.com/gomarkdown/markdown
  • Styling: CSS with Grid and Flexbox
  • Fonts: Inconsolata (monospace), Lora (serif)
  • Deployment: Fly.io
  • Analytics: Plausible

πŸ“ Project Structure

charlotte-go-website/
β”œβ”€β”€ content/
β”‚   └── blog/           # Markdown blog posts
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ css/           # Stylesheets
β”‚   β”œβ”€β”€ images/        # Static images
β”‚   └── js/            # JavaScript files
β”œβ”€β”€ templates/         # HTML templates
β”œβ”€β”€ parser/            # Markdown parsing logic
β”œβ”€β”€ main.go           # Web server
β”œβ”€β”€ go.mod            # Go dependencies
└── Dockerfile        # Container configuration

πŸš€ Local Development

Prerequisites

  • Go 1.24+
  • Git

Setup

  1. Clone the repository

    git clone [email protected]:charlottebrf/charlotte-go-website.git
    cd charlotte-go-website
  2. Install dependencies

    go mod download
  3. Run the server

    go run main.go
  4. Visit the site Open http://localhost:8080

πŸ“ Adding Blog Posts

Create a new markdown file in content/blog/ with the following format:

# Your Post Title

*Published: July 1, 2025*
*Category: Technology*
*Status: draft*

Your blog post content here...

Supported fields:

  • Published: Date in "Month Day, Year" format
  • Category: Post category
  • Status: draft or complete (shows colored tag)

🎨 Design System

Colors

  • Background: #0d1b2a (dark ocean blue)
  • Primary: #20b2aa (turquoise)
  • Text: #eceff1 (light gray)
  • Secondary: #707070 (medium gray)

Typography

  • Headers: Lora (serif)
  • Body: Lora (serif)
  • Code/Nav: Inconsolata (monospace)

🚒 Deployment

The site is automatically deployed to Fly.io. To deploy manually:

fly deploy

There is a custom domain setup.

πŸ“Š Analytics

Analytics are provided by Plausible (privacy-focused, GDPR compliant). The tracking script is included in all page templates with the domain charlottebrf.dev.

πŸ”§ Environment Variables

  • PORT: Server port (defaults to 8080)

πŸ“„ License

Β© 2025 Charlotte Fereday. All rights reserved. See the MIT License relevant for the code and CC by NC ND License for the blog content.

Popular repositories Loading

  1. mytm mytm Public

    Mind Mapp: An interactive mind mapping tool for programmers

    JavaScript 4 2

  2. MigrateMe MigrateMe Public

    Quaquaversal is a site that brings together stories from people around the world in one place.

    HTML 1 1

  3. my-first-open-source-project my-first-open-source-project Public

    My first open source project, created because I was struggling to find Beginner level open source PR's I could get involved in. Forthcoming for 2017.

    1

  4. my-reading-list my-reading-list Public

    A reading list for beginners learning to programme.

    1

  5. ruby-docs-exercises ruby-docs-exercises Public

    A repo to document my Ruby learning via a variety of online & offline resources.

    Ruby 1 1

  6. MinistersUnderTheInfluence MinistersUnderTheInfluence Public archive

    Forked from HackBrexit/MinistersUnderTheInfluence

    JavaScript 1