#!/bin/zsh function _env() { d=${0:a:h} ailog=$d/target/release/ailog port=4173 case $OSTYPE in darwin*) export NVM_DIR="$HOME/.nvm" [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion ;; esac } function _server() { _env lsof -ti:$port | xargs kill -9 2>/dev/null || true cd $d/my-blog cargo build --release $ailog build $ailog serve --port $port } function _server_public() { _env cloudflared tunnel --config $d/cloudflared-config.yml run } function _oauth_build() { _env cd $d/aicard-web-oauth nvm use 21 npm i source .env.production npm run build cp -rf dist/* $d/my-blog/static/ #npm run preview } function _server_comment() { _env cargo build --release AILOG_DEBUG_ALL=1 $ailog stream start } case "${1:-serve}" in tunnel|c) _server_public ;; oauth|o) _oauth_build ;; comment|co) _server_comment ;; serve|s|*) _server ;; esac