module Pagy::TrimExtra

def pagy_link_proc(pagy, link_extra: '')

Call the pagy_trim method if the trim_extra is enabled.
Override the original pagy_link_proc.
def pagy_link_proc(pagy, link_extra: '')
  link_proc = super(pagy, link_extra: link_extra)
  return link_proc unless pagy.vars[:trim_extra]
  lambda do |page, text = pagy.label_for(page), extra = ''|
    link = +link_proc.call(page, text, extra)
    return link unless page.to_s == '1'
    pagy_trim(pagy, link)
  end
end

def pagy_trim(pagy, link)

Remove the the :page_param param from the first page link
def pagy_trim(pagy, link)
  link.sub!(/(\?|&)#{pagy.vars[:page_param]}=1\b(?!&)|\b#{pagy.vars[:page_param]}=1&/, '')
end