An open API service indexing awesome lists of open source software.

https://github.com/jerboa88/short-end

An experimental client-side URL shortener
https://github.com/jerboa88/short-end

css github-pages html jekyll link-shortener static-site url-shortener website

Last synced: 8 months ago
JSON representation

An experimental client-side URL shortener

Awesome Lists containing this project

README

          






Short End - URL Shortener




No Maintenance Intended

Experimental
Project category
Language
Repository size

Project license


Project URL



An experimental client-side URL shortener




> [!IMPORTANT]
> I've marked this project as [UNMAINTAINED](https://unmaintained.tech/) because it hasn't seen an update in a while. You can still fork/download/use this project at your own risk, but I won't be able to provide support or updates.

> [!WARNING]
> This is currently an experimental project or proof-of-concept. It may contain bugs or incomplete features, and is not intended for production use. Breaking changes may be made at any time. Consider more stable alternatives for critical applications.

## 👋 About
This is an experimental URL shortener using client-side redirects. If you want a simple link shortener for personal use but don't have your own server for setting up HTTP redirects, you may find this interesting.

Obviously, it's not a good idea to use this for anything important. Client-side redirects are slower and less reliable than HTTP redirects because they require the page to load before redirecting. They can negatively impact SEO, as search engines may not follow them consistently, and may cause accessibility issues or a poor user experience—especially if users briefly see the original page.

## 📦 Installation
This project is built with [Jekyll] and hosted on [GitHub Pages].

If you don't already have Ruby installed, refer to the [Ruby documentation] for installation instructions. You can then install Jekyll and Bundler with `gem install bundler jekyll`.

## 🕹️ Usage
ID to target URL mappings are defined using Markdown files in the `_links` directory. Each file represents a single link, where the filename is the ID of the link, and the target URL is defined using the `to` key in the YAML front matter.

In the following example, the link `/github` will redirect to `https://github.com/jerboa88`:

```yml
# _links/github.md
---
to: https://github.com/jerboa88
---
```

You can build the site using `bundle exec jekyll build` and serve it locally using `bundle exec jekyll serve`. When the site is built, [Jekyll] generates a page for each mapping, which redirects to the target URL using meta refresh redirects.

Refer to the [GitHub Pages with Jekyll] documentation for more information about hosting Jekyll sites on GitHub Pages.

## 🧾 License
This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.

The project logo is based on the `ruler-solid.svg` by [FontAwesome] and is licensed under [CC BY-SA 4.0].

## 💕 Funding

Find this project useful? [Sponsoring me](https://johng.io/funding) will help me cover costs and **_commit_** more time to open-source.

If you can't donate but still want to contribute, don't worry. There are many other ways to help out, like:

- 📢 reporting (submitting feature requests & bug reports)
- 👨‍💻 coding (implementing features & fixing bugs)
- 📝 writing (documenting & translating)
- 💬 spreading the word
- ⭐ starring the project

I appreciate the support!

[FontAwesome]: https://fontawesome.com/
[CC BY-SA 4.0]: https://creativecommons.org/licenses/by-sa/4.0/
[Jekyll]: https://jekyllrb.com/
[GitHub Pages]: https://pages.github.com/
[Ruby documentation]: https://www.ruby-lang.org/en/documentation/installation/
[GitHub Pages with Jekyll]: https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll