Skip to content

geeksblabla/geeksblabla.com

Repository files navigation

GeeksBlabla Website

This website is built with Astro

Getting Started

  1. Fork and clone the repository
git clone https://github.com/your-username/geeksblabla.com.git
  1. Install dependencies
pnpm install
  1. Start the development server
pnpm run dev

To simplify project management, we added mock data to ensure the website functions in development mode without requiring any external API keys. However, if you want to work with real data for the gallery, episode planning, or adding new episodes through the website, you will need the following API keys:

NOTION_API_KEY=
GEEKSBLABLA_NOTION_DATABASE_ID=
YOUTUBE_API_KEY=
CLOUDINARY_API_SECRET=
PUBLIC_CLOUDINARY_API_KEY=
PUBLIC_CLOUDINARY_CLOUD_NAME=

🚀 Project Structure

Inside of your Astro project, you'll see the following folders and files:

├── public/
├── articles/
├── authors/
├── episodes/
├── src/
│   ├── actions/ # astro actions, Api for to connect with notion
│   ├── assets/ # images, videos, etc.
│   ├── components/ # reusable components
│   ├── content/ # content for the blog config, articles, authors, episodes
│   ├── lib/ # utils functions
│   └── pages/
├── astro.config.mjs
├── README.md
├── package.json
└── tsconfig.json

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
pnpm install Installs dependencies
pnpm run dev Starts local dev server at localhost:4321
pnpm run build Build your production site to ./dist/
pnpm run preview Preview your build locally, before deploying
pnpm run astro ... Run CLI commands like astro add, astro check
pnpm run lint Run lint
pnpm run check Run check
pnpm run check-all Run lint, check and build
pnpm run astro -- --help Get help using the Astro CLI

Add a new Episode

Adding a new episode is as simple as adding a new markdown file to the episodes folder with the following format:

⚠️ category attribute should be one of the following: dev, mss, ai, career,ama

---
date: 2020-02-16
duration: "01:40:00"
title: "Side Projects & Indie Hacking"
tags: ["dev", "indie", "career"]
category: "career"
youtube: https://www.youtube.com/watch?v=bDrUAza36ec
published: true
---

Episode description

## Guests

[Guest 1](https://example.com)

[Guest 2](https://example.com)

## Notes

00:00:00 - Introduction: Welcoming, guests intro.

00:05:00 - Topic 1

00:16:00 - Topic 2

00:24:00 - Topic 3

00:32:00 - Topic 4

## Links

[Link 1](https://www.example.com)

[Link 2](https://www.example.com)

## Prepared and Presented by

[Host 1](https://example.com)

Add a new Article

To add a new article, follow these steps:

  1. If this is your first time, you will need to create your author json file in the authors/ directory.
// authors/author-name.json
{
  "name": "Author Name",
  "url": "https://example.dev",
  "bio": "Guest bio",
  "avatar": "/avatars/avatar.jpg",
  "is_core_team": false
}
  1. Create a new markdown file in the articles/ directory.
  2. Use the following format:
---
title: "Article Title"
tags: ["tag1", "tag2", "tag3"]
keywords: ["keyword1", "keyword2", "keyword3"]
pubDatetime: 2024-12-01
authors: ["author-name"] # the name of the author file
slug: article-slug
description: "Article description"
ogImage: "/og-image.jpg"
---

Article content

Licensing

The code in this project is licensed under MIT license.

Contributors

Big thanks to all the code contributors who made this project possible!

GeeksBlabla contributors