From 22008c5c624b465bd2f612dddd0060d829e2d211 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Sat, 26 Nov 2005 01:14:08 +0100 Subject: [PATCH] Improve the ruby hook example file Add preformat hook by Thomas Adam (as can be seen on his ELinks page at http://edulinux.homeunix.org/elinks/) and spice up the hook descriptions a bit. --- contrib/ruby/hooks.rb | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/contrib/ruby/hooks.rb b/contrib/ruby/hooks.rb index bbf8e7962..cc4ad77b8 100644 --- a/contrib/ruby/hooks.rb +++ b/contrib/ruby/hooks.rb @@ -23,6 +23,13 @@ # Called when the user enters something into the goto URL dialog. +# +# Arguments: +# @url the URL entered in the goto URL dialog. +# @current_url the URL currently being viewed in ELinks. +# +# Returns the URL to go to. Return nil to use the @url argument as is +# (leave it untouched). def ELinks::goto_url_hook(url, current_url) case url @@ -42,6 +49,11 @@ end # Called when the user decides to load some document by following a link, # entering an URL in the goto URL dialog, loading frames from a frameset (?) # etc. +# +# Arguments: +# @url the URL being followed. +# +# Returns the URL to be followed. Return nil to use the @url argument as is. def ELinks::follow_url_hook(url) return url @@ -50,25 +62,40 @@ end # Called when a HTML document has been loaded - before the document rendering # begins. Makes it possible to fix up bad HTML code, remove tags etc. +# +# Arguments: +# @url the URL of the document being loaded. +# @html the source of the document being loaded. def ELinks::pre_format_html_hook(url, html) + if url.grep("fvwm.lair.be\/(index|viewforum)*.\.php") + # I don't like the fact that the tags provide labels as + # well as span classes. So we'll remove them. + html.gsub!(/()/,"No New Posts") + html.gsub!(/()/,"New Posts") + html.gsub!(/([nN]o)|[Nn]ew posts\<\/span\>\<\/td\>/,"") + end return html end - + # Determining what proxy, if any, should be used to load a requested URL. -# The hook should return: # -# * "PROXY:PORT" - to use the specified proxy -# * "" - to not use any proxy -# * nil - to use the default proxies +# Arguments: +# @url the URL to be proxied. +# +# The hook should return one of the following: +# 1. ":" - to use the specified host and port +# 2. "" - to not use any proxy +# 3. nil - to use the default proxies def ELinks::proxy_hook(url) return nil end -# Called when ELinks quits and can be used to do required clean-ups +# Called when ELinks quits and can be used to do required clean-ups like +# removing any temporary files created by the hooks. def ELinks::quit_hook end