Skip to content

A GitHub Action to setup a project URL shortener on GitHub Pages.

Notifications You must be signed in to change notification settings

zziger/url-shortener-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

URL shortener action

This action allows you to easily generate HTML pages needed for a simple URL shortener hosted on GitHub Pages. Can be useful for open-source projects to manage short URLs for e.g. documentation allowing contributors to create/edit them.

Inputs

path

Path to the uploaded website root

Default: .

json

Path to a config JSON file.

Default: links.json

template

Optional path to a custom template file for redirection pages.
GitHub Pages does not support returning 301/302, so in order to redirect this action uses <meta http-equiv="refresh"> tag.
Your custom template should contain the tag, every %URL% occurence in the template will be replaced with the actual URL.
For default template see template.html

Config JSON

Fields

links

Object with links. Key is a shortened url key, value is either string or object.
String value will make a redirection URL, object value allows to have grouped/nested URLs.

separators

Array with characters to separate group URL parts. See example below. Default is ["-"]

Example config

{
    "separators": ["-", "/"],
    "links": {
        "foo": "https://google.com",
        "bar": {
            "baz": "https://github.com"
        }
    }
}

This config will produce:

Example usage

uses: zziger/[email protected]
with:
    path: './public'
    json: './config.json'
    template: './mytemplate.html'

About

A GitHub Action to setup a project URL shortener on GitHub Pages.

Resources

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published