I've had this function/alias in my {bash,zsh}rc files file years:

  function rm {
    for file in $@; do
      mv -t ~/.local/share/Trash/files/ -- "${file}"
      cat < ~/.local/share/Trash/info/"$(basename ${file})".trashinfo
  [Trash Info]
  Path=$(realpath "${file}")
  DeletionDate=$(date "+%FT%T")
  FROG
  done
  }