https://github.com/ashiknesin/ai-engineer-guide
A clean, fast Hugo-powered blog covering AI engineering trends, tools, and insights at AIEngineerGuide.com
https://github.com/ashiknesin/ai-engineer-guide
ai-agents ai-engineering hugo learn-in-public
Last synced: 9 months ago
JSON representation
A clean, fast Hugo-powered blog covering AI engineering trends, tools, and insights at AIEngineerGuide.com
- Host: GitHub
- URL: https://github.com/ashiknesin/ai-engineer-guide
- Owner: AshikNesin
- Created: 2024-12-22T16:25:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-09T11:37:14.000Z (9 months ago)
- Last Synced: 2025-09-09T14:32:57.121Z (9 months ago)
- Topics: ai-agents, ai-engineering, hugo, learn-in-public
- Language: HTML
- Homepage: https://AIEngineerGuide.com
- Size: 153 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AI Engineer Guide
A clean, fast Hugoβpowered blog that powers [AIEngineerGuide.com](https://aiengineerguide.com)

## π Getting Started
### Prerequisites
Before you begin, make sure you have these installed:
- [Hugo](https://gohugo.io/installation/) (v0.140.0 or newer)
- [Node.js](https://nodejs.org/) (used for syncing content)
### Run Locally
```bash
# Clone the repo
git clone https://github.com/AshikNesin/ai-engineer-guide
cd ai-engineer-guide
# Start the dev server
hugo server -t hugo-bearblog
# Or, using Makefile
make dev
# Visit http://localhost:1313 in your browser
```
## ποΈ Site Overview
- **Live Site**: [AIEngineerGuide.com](https://aiengineerguide.com)
- **Framework**: Hugo (static site generator)
- **Theme**: `hugo-bearblog`
- **Hosting**: Netlify + serverless functions
- **Content Source**: Obsidian vault
- **Analytics**: Umami integration (self hosted)
- **Timezone**: Asia/Kolkata
## π Content Management
### How It Works
### Content Pipeline
- Source notes live in `~/Sync/Notes/ai-notes/AIEngineerGuide/content/blog/`
- Synced via: `scripts/sync-obsidian-notes.js`
- Output: `content/blog/` in Hugo format
- Images: Automatically copied to `static/images/`
Content is maintained in a separate [repo](https://github.com/AshikNesin/ai-notes/tree/main/AIEngineerGuide), synced manually when needed.
### Sync Commands
```bash
# Install sync dependencies
cd scripts && npm install
# One-time sync
cd scripts && npm run sync:once
# Watch for changes
cd scripts && npm run sync:watch
```
### Structure
Posts are grouped by year/month: `content/blog/YYYY-MM/`
Each post includes:
- Hugo front matter (title, date, tags)
- Markdown content + image links
- Tags
## π οΈ Useful Commands
```bash
# Start local development server
hugo server -t hugo-bearblog
# Production build
hugo --gc --minify --config hugo.toml
# Clean up build files
hugo --gc
```
## π Project Structure
```
AIEngineerGuide/
βββ content/
β βββ blog/ # Blog posts organized by YYYY-MM
β βββ bookmarks.md # Bookmarks page
β βββ newsletter.md # Newsletter page
βββ layouts/ # Custom Hugo layouts
βββ static/
β βββ images/ # Blog post images
β βββ favicon files
βββ themes/
β βββ hugo-bearblog/ # Theme directory
βββ scripts/ # Content sync automation
βββ netlify/
β βββ functions/ # Serverless functions
βββ hugo.toml # Primary Hugo configuration
βββ netlify.toml # Netlify deployment config
```
## π Deploying to Netlify
### Settings
* **Build Command**: `hugo --gc --minify --config hugo.toml`
* **Publish Directory**: `public/`
* **Hugo Version**: `0.140.0`
### Environment Variables
Used for 404 tracking:
* `PUSHOVER_API_TOKEN`
* `PUSHOVER_USER_KEY`
---
## β¨ Key Features
* **Obsidian Sync**: Write in Obsidian, publish with Hugo
* **404 Notifications**: Realβtime alerts via Pushover
* **RSS Feed**: Custom RSS generation
* **Analytics**: Privacyβfirst insights with Umami
* **OG Images**: Social previews via Cloudinary
* **Responsive Design**: Mobileβfriendly, clean typography
---
## π§ Customization
### Layouts
Override theme templates via `layouts/`:
* `layouts/_default/baseof.html`
* `layouts/partials/`
* `layouts/shortcodes/`
### Serverless Functions
Custom Netlify function for tracking 404s:
* `netlify/functions/track-404.mjs`
* Sends push alerts for broken links
---
## π Monitoring
* **Umami**: Lightweight, privacyβfriendly analytics
* **404 Alerts**: Instant detection of broken links
* **Build Logs**: Netlify deployment feedback
---
## π€ Contribute
1. Fork the repo
2. Create a new branch
3. Make your changes
4. Test with `hugo server`
5. Submit a pull request
---
## π License
MIT
## π Links
- [Hugo Documentation](https://gohugo.io/documentation/)
- [Hugo Bearblog Theme](https://github.com/janraasch/hugo-bearblog)
- [Netlify Docs](https://docs.netlify.com/)