v0.2.1 release
This commit is contained in:
72
scripts/generate_docs.sh
Executable file
72
scripts/generate_docs.sh
Executable file
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
|
||||
YELLOW='\033[1;33m'
|
||||
GREEN='\033[0;32m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo "Generating FlexLöve documentation..."
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
PROJECT_ROOT="$( cd "$SCRIPT_DIR/.." && pwd )"
|
||||
cd "$PROJECT_ROOT"
|
||||
|
||||
if [ -f "docs/api.html" ]; then
|
||||
echo -e "${YELLOW}Checking for previous documentation version...${NC}"
|
||||
OLD_VERSION=$(grep -o 'FlexLöve v[0-9.]*' docs/api.html | head -1 | sed 's/FlexLöve v//')
|
||||
CURRENT_VERSION=$(grep -m 1 "_VERSION" FlexLove.lua | sed -E 's/.*"([^"]+)".*/\1/')
|
||||
|
||||
if [ -n "$OLD_VERSION" ] && [ "$OLD_VERSION" != "$CURRENT_VERSION" ]; then
|
||||
echo -e "${YELLOW}Found previous version v${OLD_VERSION}, archiving before generating new docs...${NC}"
|
||||
mkdir -p "docs/versions/v${OLD_VERSION}"
|
||||
cp docs/api.html "docs/versions/v${OLD_VERSION}/api.html"
|
||||
echo -e "${GREEN}✓ Archived previous documentation to docs/versions/v${OLD_VERSION}/${NC}"
|
||||
elif [ -n "$OLD_VERSION" ] && [ "$OLD_VERSION" = "$CURRENT_VERSION" ]; then
|
||||
echo -e "${YELLOW}Same version (v${OLD_VERSION}), will overwrite current documentation${NC}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! command -v lua-language-server &> /dev/null; then
|
||||
echo "Error: lua-language-server not found. Please install it first."
|
||||
echo " macOS: brew install lua-language-server"
|
||||
echo " Linux: See https://github.com/LuaLS/lua-language-server"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p docs
|
||||
|
||||
echo "Running lua-language-server documentation export..."
|
||||
lua-language-server \
|
||||
--doc="$PROJECT_ROOT" \
|
||||
--doc_out_path="$PROJECT_ROOT/docs"
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✓ Markdown documentation generated"
|
||||
|
||||
echo "Building beautiful HTML documentation..."
|
||||
cd "$PROJECT_ROOT/docs"
|
||||
|
||||
if [ ! -d "node_modules" ]; then
|
||||
echo "Installing Node.js dependencies..."
|
||||
npm install --silent
|
||||
fi
|
||||
|
||||
npm run build --silent
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}✓ HTML documentation built successfully!${NC}"
|
||||
echo ""
|
||||
echo "Generated files:"
|
||||
echo " - docs/api.html (Beautiful, searchable API reference)"
|
||||
echo " - docs/index.html (Landing page)"
|
||||
echo " - docs/doc.md (Raw markdown)"
|
||||
if [ -n "$OLD_VERSION" ] && [ "$OLD_VERSION" != "$CURRENT_VERSION" ]; then
|
||||
echo " - docs/versions/v${OLD_VERSION}/api.html (Previous version archived)"
|
||||
fi
|
||||
else
|
||||
echo "✗ HTML build failed, but markdown docs are available"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "✗ Documentation generation failed"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user