Use html output of pydoc in api-python-client-doc application. Also generate a static linked set of documents for all apis that we know about.
diff --git a/samples/api-python-client-doc/main.py b/samples/api-python-client-doc/main.py
index afce74d..bb0dc04 100755
--- a/samples/api-python-client-doc/main.py
+++ b/samples/api-python-client-doc/main.py
@@ -79,12 +79,16 @@
     """)
 
 
+def render(resource):
+  obj, name = pydoc.resolve(type(resource))
+  return pydoc.html.page(
+      pydoc.describe(obj), pydoc.html.document(obj, name))
+
 class ServiceHandler(webapp.RequestHandler):
 
   def get(self, service_name, version):
     service = build(service_name, version)
-    page = "<p><a href='/'>Home</a></p><pre>%s</pre>" % (
-        pydoc.plain(render_doc(service)),)
+    page = render(service)
 
     collections = []
     for name in dir(service):
@@ -93,7 +97,7 @@
         collections.append(name)
 
     for name in collections:
-      page = re.sub('(%s) =' % name, r'<a href="/%s/%s/%s">\1</a> =' % (
+      page = re.sub('strong>(%s)<' % name, r'strong><a href="/%s/%s/%s">\1</a><' % (
           service_name, version, name), page)
 
     self.response.out.write(page)
@@ -110,8 +114,7 @@
         service = getattr(service, method)()
     method = getattr(service, path[-1])
     obj = method()
-    page = "<p><a href='/'>Home</a></p><pre>%s</pre>" % (
-        pydoc.plain(render_doc(obj)),)
+    page = render(obj)
 
     if hasattr(method, '__is_resource__'):
       collections = []
@@ -121,7 +124,7 @@
           collections.append(name)
 
       for name in collections:
-        page = re.sub('(%s) =' % name, r'<a href="/%s/%s/%s">\1</a> =' % (
+        page = re.sub('strong>(%s)<' % name, r'strong><a href="/%s/%s/%s">\1</a><' % (
             service_name, version, collection + "/" + name), page)
 
     self.response.out.write(page)