mirror of
https://github.com/better-auth/better-auth.git
synced 2026-05-25 08:31:37 -05:00
67 lines
2.2 KiB
Bash
Executable File
67 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# Fetches docs and blog content from better-auth/better-auth repo
|
|
# Runs before fumadocs-mdx to ensure content is available at build time
|
|
|
|
set -e
|
|
|
|
REPO="https://github.com/better-auth/better-auth.git"
|
|
CONTENT_DIR="content"
|
|
TEMP_DIR=".tmp-docs-fetch"
|
|
|
|
# ─── Fetch a single branch ──────────────────────────────────────────────────────
|
|
# Usage: fetch_branch <branch> <docs_dest>
|
|
fetch_branch() {
|
|
local branch="$1"
|
|
local docs_dest="$2"
|
|
|
|
echo "Fetching docs from branch '$branch'..."
|
|
|
|
rm -rf "$TEMP_DIR"
|
|
git clone --depth 1 --filter=blob:none --sparse --branch "$branch" "$REPO" "$TEMP_DIR" 2>/dev/null
|
|
cd "$TEMP_DIR"
|
|
git sparse-checkout set docs/content docs/components
|
|
cd ..
|
|
|
|
rm -rf "$docs_dest"
|
|
mkdir -p "$docs_dest"
|
|
cp -r "$TEMP_DIR/docs/content/docs/." "$docs_dest/"
|
|
|
|
# Copy blog content only from the main branch
|
|
if [ "$branch" = "main" ]; then
|
|
rm -rf "$CONTENT_DIR/blogs"
|
|
mkdir -p "$CONTENT_DIR"
|
|
cp -r "$TEMP_DIR/docs/content/blogs" "$CONTENT_DIR/blogs"
|
|
|
|
# Copy doc-specific components referenced by MDX files
|
|
DOC_COMPONENTS=(
|
|
"community-plugins-table.tsx"
|
|
"resource-section.tsx"
|
|
"resource-card.tsx"
|
|
)
|
|
for comp in "${DOC_COMPONENTS[@]}"; do
|
|
if [ -f "$TEMP_DIR/docs/components/$comp" ]; then
|
|
cp "$TEMP_DIR/docs/components/$comp" "components/$comp"
|
|
fi
|
|
done
|
|
|
|
# Rewrite relative image paths in blog frontmatter to absolute URLs
|
|
DOCS_SITE="https://www.better-auth.com"
|
|
for mdx in "$CONTENT_DIR/blogs"/*.mdx; do
|
|
if [ -f "$mdx" ]; then
|
|
tmp_file="${mdx}.tmp"
|
|
sed "s|^image: \"/|image: \"${DOCS_SITE}/|" "$mdx" > "$tmp_file" && mv "$tmp_file" "$mdx"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
rm -rf "$TEMP_DIR"
|
|
echo "Branch '$branch' fetched into $docs_dest."
|
|
}
|
|
|
|
# ─── Main ────────────────────────────────────────────────────────────────────────
|
|
|
|
fetch_branch "main" "$CONTENT_DIR/docs"
|
|
fetch_branch "canary" "$CONTENT_DIR/docs-canary"
|
|
|
|
echo "All docs content fetched successfully."
|