name: Deploy to GitHub Pages on: push: branches: - main permissions: contents: write jobs: build-and-deploy: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '16' - name: Install dependencies for minification run: | npm install -g uglify-js csso-cli - name: Build and minify project run: | mkdir -p dist/css mkdir -p dist/js mkdir -p dist/images cp -r src/images/* dist/images csso src/css/*.css -o dist/css/styles.min.css uglifyjs src/js/*.js -o dist/js/scripts.min.js - name: Deploy to gh-pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./dist publish_branch: gh-pages