Manual: add search box to HTML output.

To allow easy searching the HTML (multi page) output add a search box that
queries Google. The Google search will get restricted to the location the
manual is stored. Google seems to happily accept a subfolder when specifying a
domain to search. For this to work the search box has to be created dynamically
with the help of a bit JavaScript.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30017 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Riebeling 2011-06-19 15:43:41 +00:00
parent 8d9b9d247b
commit e9e0cf5908
3 changed files with 21 additions and 2 deletions

View file

@ -17,6 +17,7 @@ buildmanual: rockbox-build.tex pdf
buildhtml: rockbox-build.tex
@mkdir -p $(OBJDIR)/html
@$(HTLATEX) $(DOCUMENT) "$(HTOPTS1),$(SPLITHTML)" $(HTOPTS2) $(HTOPTS3)
@cp --parent `cat $(OBJDIR)/html/*.html | sed -e '/\.js/!d;s/.*\"\(.*\.js\)\".*/\1/g;/</d' | uniq` $(OBJDIR)/html
@cp --parent `cat $(OBJDIR)/html/*.html | sed -e '/[pj][np]g/!d;s/.*\"\(.*\.[pj][np]g\)\".*/\1/g;/</d'` $(OBJDIR)/html
@cp -r $(OBJDIR)/html $(OBJDIR)/../

11
manual/gsearch.js Normal file
View file

@ -0,0 +1,11 @@
function gsearch() {
var expr=/(.*)\/([^/]+)$/;
var loc = expr.exec(window.location)[1];
document.getElementById("gsearch").innerHTML = ''
+ '<form action="http://www.google.com/search">'
+ 'Search this manual '
+ '<input name="as_q" size="30">'
+ '<input value="Google it" type="submit">'
+ '<input type="hidden" name="as_sitesearch" value="' + loc + '">'
+ '</form>';
}

View file

@ -12,9 +12,16 @@ div.center { margin-left:auto; margin-right:auto; }
.fancyvrb { background-color:\#c6d6f5; }
table.multicols { width:95\%; margin-left:auto; margin-right:auto; text-align:justify; }
.crosslinks { color:\#ffffff; text-align:center; background-color:\#6887bb; padding:8px; }
div.crosslinks>p>a { color:\#ffffff; }
div.crosslinks>a { color:\#ffffff; }
hr { display:none; }
}
\EndPreamble
\Configure{Link}{a}{href=}{name=}{}
\Configure{@HEAD}{\HCode{<script type="text/javascript" src="gsearch.js"></script>}}
\Configure{BODY}{\HCode{<body onload="gsearch();">}}{\HCode{</body>}}
\Configure{crosslinks*}{next}{up}{prev}{}
\Configure{crosslinks+}%
{\HCode{<div style='float:left;'><a href='http://www.rockbox.org'><img src='http://www.rockbox.org/rockbox100.png'/></a></div><div id='gsearch' style='float:right;'>Enable JavaScript to show search field.</div><div style='clear:both;' class='crosslinks'>}}%
{\HCode{</div>}}%
{\HCode{<div class='crosslinks'>}}%
{\HCode{</div>}}