If you have a Jekyll static site, this plugin may help you automatically generate short links for every page. I'm using this plugin for my blog.
Install it first (you need Ruby 3+ and Jekyll 3+):
$ gem install jekyll-shorts
Then, add this to _config.yml
:
plugins:
- ... your other plugins here ...
- jekyll-shorts
shorts:
permalink: :year:month:day:letter.html
Here, every page in the site will get a sibling with the name
:year:month:day.html
, which will redirect to the page itself. You can use:
:year
- the short form of the year of the post, like 23
or 76
:month
- the month of the post, like 01
or 12
:day
- the day of the post, like 07
or 29
:letter
- a unique English letter for a short URL, like a
, b
, etc.If you don't use the :letter
, you may end up with duplicated URLs. For example,
you have two pages written in 2023-11-23. Their URLs will be the same, if the
permalink
is :year:month:day.html
, as in the example above. With the help of the :letter
,
two URLs become different.
Inside the Jekyll page, you can use {{ page.short-url }}
for the value of the short URL.
Make a fork and then test it locally like this:
$ bundle update
$ bundle exec rake
If it works, make changes, test again, and then submit a pull request.