nhoizey / 1y

A template project to build a short URL manager with Eleventy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1y: taking the 1t out of 11ty 😅

1y logo

GitHub stars Follow @nhoizey@mamot.fr

What is this?

1y is a short URL manager built with Eleventy (a.k.a. 11ty), the great JavaScript/Node based Static Site Generator.

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:

  • the fileSlug of the Markdown file (the filename without the extension in 11ty language) is the short URL. For example, the Markdown file nho.md you'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.md file only contains these 3 lines:
    ---
    url: https://nicolas-hoizey.com/
    ---

So for this example, when you go to https://<your-short-domain>/nho, it redirects you to 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:

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

Deploy to Netlify

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

  1. Click the Use this template green button in Github interface to create your own 1y repository in your Github account
  2. Clone or download the new repository to your local computer
  3. (optional) If you don't have npm yet, install npm
  4. Install 1y dependencies with npm install
  5. Add new short URLs as Markdown files in the urls/ folder
  6. Generate the redirection files with this command: npm run build

Generated files to deploy are in the _site folder.

Contribution

You are welcome and encouraged to make changes to this website by submitting pull requests!

License

MIT

Copyright (c) 2020-present, Nicolas Hoizey

About

A template project to build a short URL manager with Eleventy

License:MIT License


Languages

Language:Nunjucks 89.1%Language:JavaScript 10.9%