diff --git a/.gitignore b/.gitignore index 959996a..3e0620d 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,8 @@ go.work.sum # air - go hot reloading tmp/ testdata/ + +# Blog generation +.pyssg/ +__pycache__/ +*.pyc diff --git a/build-blog.sh b/build-blog.sh new file mode 100755 index 0000000..ac74b83 --- /dev/null +++ b/build-blog.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# Blog build script for req project +# Builds the static site using pyssg + +set -e + +echo "Building req blog..." + +# Check if pyssg is installed +if [ ! -d ".pyssg" ]; then + echo "Installing pyssg..." + git clone https://github.com/maniac-en/pyssg.git .pyssg + cd .pyssg + git checkout 46d6632bff1259ae045a116ba6ee4332cbae5f26 + cd .. +fi + +# Generate the site +echo "Generating static site..." +cd .pyssg +PYTHONPATH=. python3 src/main.py --config ../pyssg.config.json +cd .. + +# Remove pyssg example images that we don't need +echo "Cleaning up unnecessary images..." +if [ -d "docs/images" ]; then + rm -rf docs/images +fi + +echo "Blog built successfully! Files are in /docs directory." +echo "The site is ready for GitHub Pages deployment." \ No newline at end of file diff --git a/docs/index.css b/docs/index.css new file mode 100644 index 0000000..3e4d1a0 --- /dev/null +++ b/docs/index.css @@ -0,0 +1,130 @@ +body { + background-color: #1f1c25; + color: #f0e6d1; + font-family: "Luminari", "Georgia", serif; + line-height: 1.7; + margin: 0; + padding: 20px; + max-width: 800px; + margin-left: auto; + margin-right: auto; +} + +b { + font-weight: 900; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: #dda15e; + margin-top: 24px; + margin-bottom: 16px; + text-shadow: 2px 2px 4px #000; +} + +h1 { + font-size: 2.5em; +} + +h2 { + font-size: 2em; +} + +h3 { + font-size: 1.5em; +} + +h4, +h5, +h6 { + font-size: 1.2em; +} + +a { + color: #e0a96d; + text-decoration: none; + border-bottom: 2px solid #e0a96d; +} + +a:hover { + color: #f4a261; + border-color: #f4a261; +} + +ul, +ol { + padding-left: 30px; +} + +code { + background-color: #3c3c42; + border-radius: 6px; + color: #e9c46a; + padding: 0.4em 0.6em; + font-family: "Courier New", monospace; +} + +pre code { + padding: 0; +} + +pre { + background-color: #3c3c42; + border-radius: 6px; + padding: 1em; + overflow: auto; + box-shadow: 2px 2px 6px #000; +} + +blockquote { + background-color: #2e2c35; + border-left: 4px solid #8d99ae; + padding-left: 2em; + margin-left: 0; + padding-top: 0.5em; + padding-bottom: 0.5em; + padding-right: 0.5em; + color: #ddd; + font-style: italic; +} + +img { + max-width: 100%; + height: auto; + border-radius: 6px; + border: 3px solid #3c3c42; + box-shadow: 3px 3px 6px #000; +} + +::-webkit-scrollbar { + width: 12px; + height: 12px; +} + +::-webkit-scrollbar-track { + background: #1f1c25; + border-radius: 6px; +} + +::-webkit-scrollbar-thumb { + background-color: #3c3c42; + border-radius: 6px; + border: 3px solid #1f1c25; +} + +::-webkit-scrollbar-thumb:hover { + background-color: #5a5466; +} + +* { + scrollbar-width: thin; + scrollbar-color: #3c3c42 #1f1c25; +} + +::-webkit-scrollbar-corner { + background: #1f1c25; +} diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..127e1e4 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,31 @@ + + + + + + + req - Terminal API Client + + + + + +
+

req - Terminal API Client

Note: This page is not up to date and serves as a boilerplate for the blog setup.

A terminal-based API client built for the Boot.dev Hackathon 2025.

Features

Tech Stack

The project uses:

  1. Go for core logic
  2. Bubble Tea for TUI
  3. SQLite for storage

Code Example

go
+func main() {
+    fmt.Println("Hello, req!")
+}
+

Installation

bash
+go build -o req .
+./req
+

Commands

Lists Test

Unordered list: +- Item one +- Item two +- Item three

Ordered list: +1. First step +2. Second step +3. Third step

Text Formatting

This has bold text, italic text, and inline code.

---

This blog is built with ❤️ using pyssg - A guided learning project at boot.dev

+
+ + + diff --git a/pyssg.config.json b/pyssg.config.json new file mode 100644 index 0000000..8928ff1 --- /dev/null +++ b/pyssg.config.json @@ -0,0 +1,20 @@ +{ + "project": { + "name": "req", + "title": "req - Terminal API Client" + }, + "paths": { + "content_dir": "web/content", + "static_dir": ".pyssg/src/static", + "template_path": ".pyssg/template.html", + "build_dir": "docs" + }, + "server": { + "enable_hot_reload": true, + "port": 8080 + }, + "build": { + "base_path": "/req/", + "css_path": "/index.css" + } +} diff --git a/web/content/index.md b/web/content/index.md new file mode 100644 index 0000000..6fb2392 --- /dev/null +++ b/web/content/index.md @@ -0,0 +1,60 @@ +# req - Terminal API Client + +> **Note**: This page is not up to date and serves as a boilerplate for the blog setup. + +A terminal-based API client built for the [Boot.dev Hackathon 2025](https://blog.boot.dev/news/hackathon-2025/). + +## Features + +- Terminal user interface +- Request collections +- Environment variables +- Request history + +## Tech Stack + +The project uses: + +1. **Go** for core logic +2. **Bubble Tea** for TUI +3. **SQLite** for storage + +### Code Example + +```go +func main() { + fmt.Println("Hello, req!") +} +``` + +## Installation + +```bash +go build -o req . +./req +``` + +### Commands + +- `req --help` - Show help +- `req --verbose` - Verbose output + +## Lists Test + +**Unordered list:** +- Item one +- Item two +- Item three + +**Ordered list:** +1. First step +2. Second step +3. Third step + +## Text Formatting + +This has **bold text**, _italic text_, and `inline code`. + +--- + +This blog is built with ❤️ using [pyssg](https://github.com/maniac-en/pyssg) - A guided learning project at [boot.dev](https://www.boot.dev/courses/build-static-site-generator) diff --git a/web/template.html b/web/template.html new file mode 100644 index 0000000..c69f630 --- /dev/null +++ b/web/template.html @@ -0,0 +1,17 @@ + + + + + + + {{ Title }} + + + + +
+ {{ Content }} +
+ + +