[TxMt] HTML: lookup element-reference on de.selfhtml.org
Niko Dittmann
ni-di at web.de
Wed Mar 22 17:21:17 UTC 2006
ok. so here's the final result... errm... result... thanks for the
help, allan.
niko.
#!/usr/bin/env ruby
#
# open element + attribute reference on de.selfhtml.org
#
# idea: niko dittmann
# credits for assisting a complete nube go to
# allan odgaard (as always) and stan (soryu)
#
# i guess, theres still some regex-magic to
# be improved (as always :)
require 'iconv'
require 'net/http'
line = ENV["TM_CURRENT_LINE"].to_s
pos = ENV["TM_LINE_INDEX"].to_i
# this regex gets the first tag left of the caret
if m = /\A.{0,#{pos}}<\s*(\w+)/.match(line) then
$tag_name = m[1]
end
# get the elemnte.htm and attribute.htm:
Net::HTTP.start( 'de.selfhtml.org', 80 ) do |http|
$html_elemente = http.get( "/html/referenz/elemente.htm" ).body
$html_attribute = http.get( "/html/referenz/attribute.htm" ).body
end
# strip the head and the current tag:
$html_elemente.gsub!(/(<!.*<body>).*(<h2><a class="an" name="#
{$tag_name}">#{$tag_name}<\/a><\/h2>.*?)<h2>.*/m,'\1\2')
# prepend "elemente.htm" to anchor-links:
$html_elemente.gsub!(/href="#(.*?")/,'href="elemente.htm#\1')
# the current tag:
$html_attribute.gsub!(/.*(<h2><a class="an" name="#{$tag_name}">#
{$tag_name}<\/a><\/h2>.*?)<h2>.*/m,'\1')
# prepend "elemente.htm" to anchor-links:
$html_attribute.gsub!(/href="#(.*?")/,'href="attribute.htm#\1')
# concat the two strings:
$html = $html_elemente + $html_attribute
# turn relative links into absolute links (for hrefs and imgs):
$html.gsub!(/href="(.*?")/,'href="http://de.selfhtml.org/html/
referenz/\1')
$html.gsub!(/src="(.*?")/,'src="http://de.selfhtml.org/html/referenz/
\1')
$html = Iconv.iconv("utf-8", "iso-8859-1", $html)
puts $html
--
____________________________
niko dittmann <ni-di at web.de>
____________________________
More information about the textmate
mailing list