Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,8 @@ go.work.sum
# air - go hot reloading
tmp/
testdata/

# Blog generation
.pyssg/
__pycache__/
*.pyc
32 changes: 32 additions & 0 deletions build-blog.sh
Original file line number Diff line number Diff line change
@@ -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."
130 changes: 130 additions & 0 deletions docs/index.css
Original file line number Diff line number Diff line change
@@ -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;
}
31 changes: 31 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> req - Terminal API Client </title>
<link href="/req/index.css" rel="stylesheet">

</head>

<body>
<article>
<div><h1>req - Terminal API Client</h1><blockquote><b>Note</b>: This page is not up to date and serves as a boilerplate for the blog setup.</blockquote><p>A terminal-based API client built for the <a href="https://blog.boot.dev/news/hackathon-2025/">Boot.dev Hackathon 2025</a>.</p><h2>Features</h2><ul><li>Terminal user interface</li><li>Request collections</li><li>Environment variables</li><li>Request history</li></ul><h2>Tech Stack</h2><p>The project uses:</p><ol><li><b>Go</b> for core logic</li><li><b>Bubble Tea</b> for TUI</li><li><b>SQLite</b> for storage</li></ol><h3>Code Example</h3><pre>go
func main() {
fmt.Println("Hello, req!")
}
</pre><h2>Installation</h2><pre>bash
go build -o req .
./req
</pre><h3>Commands</h3><ul><li><code>req --help</code> - Show help</li><li><code>req --verbose</code> - Verbose output</li></ul><h2>Lists Test</h2><p><b>Unordered list:</b>
- Item one
- Item two
- Item three</p><p><b>Ordered list:</b>
1. First step
2. Second step
3. Third step</p><h2>Text Formatting</h2><p>This has <b>bold text</b>, <i>italic text</i>, and <code>inline code</code>.</p><p>---</p><p>This blog is built with ❤️ using <a href="https://github.com/maniac-en/pyssg">pyssg</a> - A guided learning project at <a href="https://www.boot.dev/courses/build-static-site-generator">boot.dev</a></p></div>
</article>
</body>

</html>
20 changes: 20 additions & 0 deletions pyssg.config.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
60 changes: 60 additions & 0 deletions web/content/index.md
Original file line number Diff line number Diff line change
@@ -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)
17 changes: 17 additions & 0 deletions web/template.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title> {{ Title }} </title>
<link href="{{ CSSPath }}" rel="stylesheet">
</head>

<body>
<article>
{{ Content }}
</article>
</body>

</html>