summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2011-06-19 15:43:41 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2011-06-19 15:43:41 +0000
commite9e0cf59085cb3b3d77c8a2962fd8b80ac4d0c9d (patch)
tree33f3f6ac491d86fdef94b9a1cd9d6bbda9bfabf5
parent8d9b9d247b7415f002fcc4253b4d0818e7f5fbaf (diff)
downloadrockbox-e9e0cf59085cb3b3d77c8a2962fd8b80ac4d0c9d.tar.gz
rockbox-e9e0cf59085cb3b3d77c8a2962fd8b80ac4d0c9d.tar.bz2
rockbox-e9e0cf59085cb3b3d77c8a2962fd8b80ac4d0c9d.zip
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
-rw-r--r--manual/Makefile.pdflatex1
-rw-r--r--manual/gsearch.js11
-rw-r--r--manual/rockbox-html.cfg11
3 files changed, 21 insertions, 2 deletions
diff --git a/manual/Makefile.pdflatex b/manual/Makefile.pdflatex
index b5e30dedf6..c351f82fb5 100644
--- a/manual/Makefile.pdflatex
+++ b/manual/Makefile.pdflatex
@@ -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)/../
diff --git a/manual/gsearch.js b/manual/gsearch.js
new file mode 100644
index 0000000000..9b5e3f7aa1
--- /dev/null
+++ b/manual/gsearch.js
@@ -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>';
+}
diff --git a/manual/rockbox-html.cfg b/manual/rockbox-html.cfg
index 284bcb36e4..2572125887 100644
--- a/manual/rockbox-html.cfg
+++ b/manual/rockbox-html.cfg
@@ -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>}}