mirror of
https://github.com/by-jp/www.byjp.me.git
synced 2025-08-09 18:06:07 +01:00
No auto generated shortlinks :(
Can't autogenerate shortlinks, as there are too many for byjp.fyi to handle! The file can't be larger than 64kb in the one file. Keep the process for manually shortlinked files — even if it's now a little complex!
This commit is contained in:
parent
b4586a52d8
commit
92a6169419
2 changed files with 5 additions and 33 deletions
|
@ -1,5 +1,6 @@
|
|||
{{ range .Site.RegularPages }}
|
||||
{{- if .Permalink -}}
|
||||
{{- printf "/%s %s 301\n" (partial "shortlink.txt" .) .Permalink -}}
|
||||
{{- range .Site.RegularPages -}}
|
||||
{{- $shortlink := partial "shortlink.txt" . -}}
|
||||
{{- if and .Permalink $shortlink -}}
|
||||
{{- printf "/%s %s 301\n" $shortlink .Permalink -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
|
|
@ -1,30 +1 @@
|
|||
{{- $shortlink := .Params.shortlink -}}
|
||||
{{- $chars := split "123456789bcdfghjkmnpqrstuvwxyz" "" -}}{{/* Omit vowels and confusing characters to prevent accidental spelling of words */}}
|
||||
{{- $base := len $chars -}}
|
||||
{{- $size := 8 -}}{{/* 8 chars with 30 possibilities means 0.0091% chance of collision with 10k posts; I currently have 3,213 */}}
|
||||
{{- if and (not $shortlink) .IsPage -}}{{/* Don't make dynamic shortlinks for list taxonomy/list/non-regular pages */}}
|
||||
{{- $hex := .RelPermalink | crypto.MD5 -}}
|
||||
|
||||
{{- $idx := 0 -}}
|
||||
{{- $n := 0 -}}
|
||||
{{- $enc := slice -}}
|
||||
|
||||
{{- range (split $hex "") | collections.Reverse -}}
|
||||
{{- $dec := int (printf "0x%s" .) -}}
|
||||
{{- $n = add $dec (mul $n 16) -}}
|
||||
|
||||
{{- range seq 2 -}}
|
||||
{{- if le $n $base -}}{{ break }}{{- end -}}
|
||||
|
||||
{{- $amt := (mod $n $base) -}}
|
||||
{{- $char := index $chars $amt }}
|
||||
{{- $enc = $enc | append $char -}}
|
||||
{{- $n = div $n $base -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if ge (len $enc) $size -}}{{- break -}}{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $shortlink = printf "b/%s" (delimit ($enc | collections.Reverse) "") -}}
|
||||
{{- end -}}
|
||||
{{- $shortlink -}}
|
||||
{{- .Params.shortlink | default "" -}}
|
||||
|
|
Loading…
Reference in a new issue