File size: 1,780 Bytes
6afedde 0bc73ea 6afedde 0bc73ea 6afedde 0bc73ea 6afedde 0bc73ea 6afedde 0bc73ea 6afedde | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #!/bin/bash
set -e
echo "π Starting Hugging Face Space..."
# Ensure proper permissions for the app directory at runtime
chmod -R 755 /app/src/content/assets 2>/dev/null || true
# Check if Notion import is enabled and token is available
if [ "${ENABLE_NOTION_IMPORT:-false}" = "true" ] && [ -n "$NOTION_TOKEN" ] && [ -n "$NOTION_PAGE_ID" ]; then
echo "π Notion import enabled - fetching content from Notion..."
echo " Page ID: $NOTION_PAGE_ID"
cd /app
if npm run notion:import 2>&1; then
echo "β
Notion import completed successfully!"
echo "π¨ Rebuilding site with Notion content..."
npm run build 2>&1
# PDF export only if Playwright was installed at build time
if [ "${ENABLE_PDF_EXPORT:-false}" = "true" ] && command -v chromium > /dev/null 2>&1; then
echo "π Generating PDF..."
npm run export:pdf -- --theme=light --wait=full 2>&1 || echo "β οΈ PDF generation failed (non-critical)"
else
echo "βοΈ Skipping PDF generation (Playwright not available)"
fi
echo "β
Site rebuilt and ready!"
else
echo "β οΈ Notion import failed - using pre-built content"
fi
else
if [ "${ENABLE_NOTION_IMPORT:-false}" = "true" ]; then
echo "β οΈ Notion import enabled but NOTION_TOKEN or NOTION_PAGE_ID not found"
echo " NOTION_TOKEN: ${NOTION_TOKEN:+SET}${NOTION_TOKEN:-NOT SET}"
echo " NOTION_PAGE_ID: ${NOTION_PAGE_ID:+SET}${NOTION_PAGE_ID:-NOT SET}"
echo " β Using pre-built content"
else
echo "βοΈ Notion import disabled - serving pre-built content"
fi
fi
echo "π Starting nginx on port 8080..."
exec nginx -g 'daemon off;'
|