1y: taking the 1t out of 11ty
What is this?
This is not a URL "shortener", as it doesn't process anything. Short and long versions of URLs are managed manually, so that short URLs can be "beautiful".
How does it work?
1y generates redirection rules from your set of data, each URL being stored in a Markdown file:
fileSlugof the Markdown file (the filename without the extension in 11ty language) is the short URL. For example, the Markdown file
nho.mdyou'll find in this template repository is used to create the https://<your-short-domain>/nho short URL.
- the long URL is stored in the file's Front Matter, for example here the
nho.mdfile only contains these 3 lines:
--- url: https://nicolas-hoizey.com/ ---
If you don't want to manage many Markdown files for your short URLs, you can try Suri, another Eleventy based short URL manager, which uses one single JSON file.
Redirection rules are generated in 4 formats to ease usage on different environments:
- Apache HTTP server with Alias module in a
- Apache HTTP server with Rewrite module (less efficient) in the same
- Netlify hosting with redirects in a
- HTML pages with both HTML redirect (
You don't have to deal with any settings to chose which one to use, all 4 formats are generated at once.
What do I have to do to use it?
This repository is intended to be used as a template for creating your own repository.
The easiest: use Netlify Deploy Button
Clicking the button above will:
- create a new repository in your own GitHub account with 1y code
- and deploy a copy of this new repository to your Netlify account (you can create an account during this process if you don't have one).
Each time you push changes to your Github repository (or add files directly with Github's Web interface), Netlify will build the new redirection files.
If you want to use another hosting service: use the Github template
- Click the Use this template green button in Github interface to create your own 1y repository in your Github account
- Clone or download the new repository to your local computer
- (optional) If you don't have
npmyet, install npm
- Install 1y dependencies with
- Add new short URLs as Markdown files in the
- Generate the redirection files with this command:
npm run build
Generated files to deploy are in the
You are welcome and encouraged to make changes to this website by submitting pull requests!
Copyright (c) 2020-present, Nicolas Hoizey