diff --git a/icons/gatsby.svg b/icons/gatsby.svg
new file mode 100644
index 0000000..5578b06
--- /dev/null
+++ b/icons/gatsby.svg
@@ -0,0 +1,7 @@
+
diff --git a/icons/hugo.svg b/icons/hugo.svg
new file mode 100644
index 0000000..ea72a6f
--- /dev/null
+++ b/icons/hugo.svg
@@ -0,0 +1,9 @@
+
diff --git a/icons/jekyll-tube.svg b/icons/jekyll-tube.svg
new file mode 100644
index 0000000..89dd55d
--- /dev/null
+++ b/icons/jekyll-tube.svg
@@ -0,0 +1 @@
+
diff --git a/icons/nextjs.svg b/icons/nextjs.svg
new file mode 100644
index 0000000..c45d6e6
--- /dev/null
+++ b/icons/nextjs.svg
@@ -0,0 +1,3 @@
+
diff --git a/icons/nuxtjs.svg b/icons/nuxtjs.svg
new file mode 100644
index 0000000..bebded3
--- /dev/null
+++ b/icons/nuxtjs.svg
@@ -0,0 +1,4 @@
+
diff --git a/pages/gatsby.yml b/pages/gatsby.yml
new file mode 100644
index 0000000..9cdf3fc
--- /dev/null
+++ b/pages/gatsby.yml
@@ -0,0 +1,96 @@
+# Sample workflow for building and deploying a Gatsby site to GitHub Pages
+#
+# To get started with Gatsby see: https://www.gatsbyjs.com/docs/quick-start/
+#
+name: Deploy Gatsby site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+# Default to bash
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Detect package manager
+ id: detect-package-manager
+ run: |
+ if [ -f "${{ github.workspace }}/yarn.lock" ]; then
+ echo "::set-output name=manager::yarn"
+ echo "::set-output name=command::install"
+ exit 0
+ elif [ -f "${{ github.workspace }}/package.json" ]; then
+ echo "::set-output name=manager::npm"
+ echo "::set-output name=command::ci"
+ exit 0
+ else
+ echo "Unable to determine packager manager"
+ exit 1
+ fi
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: "16"
+ cache: ${{ steps.detect-package-manager.outputs.manager }}
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v1
+ with:
+ # Automatically inject pathPrefix in your Gatsby configuration file.
+ #
+ # You may remove this line if you want to manage the configuration yourself.
+ static_site_generator: gatsby
+ - name: Restore cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ public
+ .cache
+ key: ${{ runner.os }}-gatsby-build-${{ hashFiles('public') }}
+ restore-keys: |
+ ${{ runner.os }}-gatsby-build-
+ - name: Install dependencies
+ run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
+ - name: Build with Gatsby
+ env:
+ PREFIX_PATHS: 'true'
+ run: ${{ steps.detect-package-manager.outputs.manager }} run build
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./public
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/hugo.yml b/pages/hugo.yml
new file mode 100644
index 0000000..07b2b85
--- /dev/null
+++ b/pages/hugo.yml
@@ -0,0 +1,66 @@
+# Sample workflow for building and deploying a Hugo site to GitHub Pages
+name: Deploy Hugo site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+# Default to bash
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ env:
+ HUGO_VERSION: 0.99.0
+ steps:
+ - name: Install Hugo CLI
+ run: |
+ wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
+ && sudo dpkg -i ${{ runner.temp }}/hugo.deb
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v1
+ - name: Build with Hugo
+ run: |
+ hugo \
+ --minify \
+ --baseURL ${{ steps.pages.outputs.base_url }}
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./public
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/jekyll-gh-pages.yml b/pages/jekyll-gh-pages.yml
new file mode 100644
index 0000000..7ee1e97
--- /dev/null
+++ b/pages/jekyll-gh-pages.yml
@@ -0,0 +1,50 @@
+# Sample workflow for building and deploying a Jekyll site to GitHub Pages
+name: Deploy Jekyll with GitHub Pages dependencies preinstalled
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Setup Pages
+ uses: actions/configure-pages@v1
+ - name: Build with Jekyll
+ uses: actions/jekyll-build-pages@v1
+ with:
+ source: ./
+ destination: ./_site
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/jekyll.yml b/pages/jekyll.yml
new file mode 100644
index 0000000..05c8761
--- /dev/null
+++ b/pages/jekyll.yml
@@ -0,0 +1,53 @@
+# Sample workflow for building and deploying a Jekyll site to GitHub Pages
+name: Deploy Jekyll site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Setup Ruby
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: '3.0' # Not needed with a .ruby-version file
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
+ cache-version: 0 # Increment this number if you need to re-download cached gems
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v1
+ - run: bundle exec jekyll build --baseurl ${{ steps.pages.outputs.base_path }} # defaults output to '/_site'
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1 # This will automatically upload an artifact from the '/_site' directory
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/nextjs.yml b/pages/nextjs.yml
new file mode 100644
index 0000000..79a1cc8
--- /dev/null
+++ b/pages/nextjs.yml
@@ -0,0 +1,95 @@
+# Sample workflow for building and deploying a Next.js site to GitHub Pages
+#
+# To get started with Next.js see: https://nextjs.org/docs/getting-started
+#
+name: Deploy Next.js site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Detect package manager
+ id: detect-package-manager
+ run: |
+ if [ -f "${{ github.workspace }}/yarn.lock" ]; then
+ echo "::set-output name=manager::yarn"
+ echo "::set-output name=command::install"
+ echo "::set-output name=runner::yarn"
+ exit 0
+ elif [ -f "${{ github.workspace }}/package.json" ]; then
+ echo "::set-output name=manager::npm"
+ echo "::set-output name=command::ci"
+ echo "::set-output name=runner::npx --no-install"
+ exit 0
+ else
+ echo "Unable to determine packager manager"
+ exit 1
+ fi
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: "16"
+ cache: ${{ steps.detect-package-manager.outputs.manager }}
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v1
+ with:
+ # Automatically inject basePath in your Next.js configuration file and disable
+ # server side image optimization (https://nextjs.org/docs/api-reference/next/image#unoptimized).
+ #
+ # You may remove this line if you want to manage the configuration yourself.
+ static_site_generator: next
+ - name: Restore cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ .next/cache
+ # Generate a new cache whenever packages or source files change.
+ key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
+ # If source files changed but packages didn't, rebuild from a prior cache.
+ restore-keys: |
+ ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-
+ - name: Install dependencies
+ run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
+ - name: Build with Next.js
+ run: ${{ steps.detect-package-manager.outputs.runner }} next build
+ - name: Static HTML export with Next.js
+ run: ${{ steps.detect-package-manager.outputs.runner }} next export
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./out
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/nuxtjs.yml b/pages/nuxtjs.yml
new file mode 100644
index 0000000..87c1201
--- /dev/null
+++ b/pages/nuxtjs.yml
@@ -0,0 +1,90 @@
+# Sample workflow for building and deploying a Nuxt site to GitHub Pages
+#
+# To get started with Nuxt see: https://nuxtjs.org/docs/get-started/installation
+#
+name: Deploy Nuxt site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Detect package manager
+ id: detect-package-manager
+ run: |
+ if [ -f "${{ github.workspace }}/yarn.lock" ]; then
+ echo "::set-output name=manager::yarn"
+ echo "::set-output name=command::install"
+ exit 0
+ elif [ -f "${{ github.workspace }}/package.json" ]; then
+ echo "::set-output name=manager::npm"
+ echo "::set-output name=command::ci"
+ exit 0
+ else
+ echo "Unable to determine packager manager"
+ exit 1
+ fi
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: "16"
+ cache: ${{ steps.detect-package-manager.outputs.manager }}
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v1
+ with:
+ # Automatically inject router.base in your Nuxt configuration file and set
+ # target to static (https://nuxtjs.org/docs/configuration-glossary/configuration-target/).
+ #
+ # You may remove this line if you want to manage the configuration yourself.
+ static_site_generator: nuxt
+ - name: Restore cache
+ uses: actions/cache@v3
+ with:
+ path: |
+ dist
+ .nuxt
+ key: ${{ runner.os }}-nuxt-build-${{ hashFiles('dist') }}
+ restore-keys: |
+ ${{ runner.os }}-nuxt-build-
+ - name: Install dependencies
+ run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
+ - name: Static HTML export with Nuxt
+ run: ${{ steps.detect-package-manager.outputs.manager }} run generate
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ path: ./dist
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v1
diff --git a/pages/properties/gatsby.properties.json b/pages/properties/gatsby.properties.json
new file mode 100644
index 0000000..7d82424
--- /dev/null
+++ b/pages/properties/gatsby.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "Gatsby",
+ "creator": "GitHub Actions",
+ "description": "Package a Gatsby site.",
+ "iconName": "gatsby",
+ "categories": ["Pages"]
+}
\ No newline at end of file
diff --git a/pages/properties/hugo.properties.json b/pages/properties/hugo.properties.json
new file mode 100644
index 0000000..1fa902c
--- /dev/null
+++ b/pages/properties/hugo.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "Hugo",
+ "creator": "GitHub Actions",
+ "description": "Package a Hugo site.",
+ "iconName": "hugo",
+ "categories": ["Pages"]
+}
\ No newline at end of file
diff --git a/pages/properties/jekyll-gh-pages.properties.json b/pages/properties/jekyll-gh-pages.properties.json
new file mode 100644
index 0000000..6f278c8
--- /dev/null
+++ b/pages/properties/jekyll-gh-pages.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "GitHub Pages Jekyll",
+ "creator": "GitHub Actions",
+ "description": "Package a Jekyll site with GitHub Pages dependencies preinstalled.",
+ "iconName": "jekyll-tube",
+ "categories": ["Pages"]
+}
diff --git a/pages/properties/jekyll.properties.json b/pages/properties/jekyll.properties.json
new file mode 100644
index 0000000..a6c9d5c
--- /dev/null
+++ b/pages/properties/jekyll.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "Jekyll",
+ "creator": "GitHub Actions",
+ "description": "Package a Jekyll site.",
+ "iconName": "jekyll-tube",
+ "categories": ["Pages"]
+}
diff --git a/pages/properties/nextjs.properties.json b/pages/properties/nextjs.properties.json
new file mode 100644
index 0000000..0b9d3b4
--- /dev/null
+++ b/pages/properties/nextjs.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "Next.js",
+ "creator": "GitHub Actions",
+ "description": "Package a Next.js site.",
+ "iconName": "nextjs",
+ "categories": ["Pages"]
+}
diff --git a/pages/properties/nuxtjs.properties.json b/pages/properties/nuxtjs.properties.json
new file mode 100644
index 0000000..b799074
--- /dev/null
+++ b/pages/properties/nuxtjs.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "NuxtJS",
+ "creator": "GitHub Actions",
+ "description": "Package a NuxtJS site.",
+ "iconName": "nuxtjs",
+ "categories": ["Pages"]
+}
\ No newline at end of file
diff --git a/pages/properties/static.properties.json b/pages/properties/static.properties.json
new file mode 100644
index 0000000..5b727a8
--- /dev/null
+++ b/pages/properties/static.properties.json
@@ -0,0 +1,7 @@
+{
+ "name": "Static HTML",
+ "creator": "GitHub Actions",
+ "description": "Deploy static files in a repository without a build.",
+ "iconName": "html",
+ "categories": ["Pages"]
+}
diff --git a/pages/static.yml b/pages/static.yml
new file mode 100644
index 0000000..bd753e9
--- /dev/null
+++ b/pages/static.yml
@@ -0,0 +1,42 @@
+# Simple workflow for deploying static content to GitHub Pages
+name: Deploy static content to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches: [$default-branch]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+jobs:
+ # Single deploy job since we're just deploying
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ - name: Setup Pages
+ uses: actions/configure-pages@v1
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v1
+ with:
+ # Upload entire repository
+ path: '.'
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@main