mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2026-04-11 19:28:30 +00:00
39 lines
1.3 KiB
Bash
Executable File
39 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Generate the desktop app project by extracting source from the cpp-httplib book.
|
|
# Usage: generate_desktop_app_project.sh <output-dir>
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
OUT_DIR="${1:?Usage: $0 <output-dir>}"
|
|
|
|
BASE_URL="https://raw.githubusercontent.com/yhirose/cpp-httplib/master/docs-src/pages/ja/llm-app"
|
|
CACHE_DIR="$SCRIPT_DIR/.cache"
|
|
|
|
source "$SCRIPT_DIR/extract_code.sh"
|
|
|
|
# --- Helper: download markdown files (always fetch latest) ---
|
|
fetch_md() {
|
|
local name="$1"
|
|
local path="$CACHE_DIR/$name"
|
|
curl -sfL "$BASE_URL/$name" -o "$path" || { echo "ERROR: Failed to download $name" >&2; return 1; }
|
|
echo "$path"
|
|
}
|
|
|
|
# --- Main ---
|
|
echo "=== Generating desktop app project ==="
|
|
|
|
mkdir -p "$CACHE_DIR" "$OUT_DIR/src" "$OUT_DIR/public"
|
|
|
|
CH05=$(fetch_md "ch05-web-ui.md")
|
|
CH06=$(fetch_md "ch06-desktop-app.md")
|
|
|
|
echo "Extracting source files..."
|
|
extract_code "$CH06" "CMakeLists.txt" > "$OUT_DIR/CMakeLists.txt"
|
|
extract_code "$CH06" "main.cpp" > "$OUT_DIR/src/main.cpp"
|
|
extract_code "$CH05" "index.html" > "$OUT_DIR/public/index.html"
|
|
extract_code "$CH05" "style.css" > "$OUT_DIR/public/style.css"
|
|
extract_code "$CH05" "script.js" > "$OUT_DIR/public/script.js"
|
|
|
|
echo "=== Done ==="
|
|
echo "Generated files in: $OUT_DIR"
|