| Index: tools/md_browser/md_browser.py
|
| diff --git a/tools/md_browser/md_browser.py b/tools/md_browser/md_browser.py
|
| index d423c66c1ca5c28b82d00de7517b52d202093420..5118b30b245a26c8d18555b656aaa0ecfdff96fc 100755
|
| --- a/tools/md_browser/md_browser.py
|
| +++ b/tools/md_browser/md_browser.py
|
| @@ -139,7 +139,7 @@ class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
| elif os.path.exists(full_path + '/README.md'):
|
| self._DoMD(path + '/README.md')
|
| else:
|
| - self._DoUnknown()
|
| + self._DoDirListing(full_path)
|
|
|
| def _DoMD(self, path):
|
| extensions = [
|
| @@ -186,10 +186,41 @@ class Handler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
| self.wfile.write('<html><body>%s not found</body></html>' % self.path)
|
|
|
| def _DoUnknown(self):
|
| - self._WriteHeader('text/html')
|
| + self._WriteHeader('text/html', status_code=501)
|
| self.wfile.write('<html><body>I do not know how to serve %s.</body>'
|
| '</html>' % self.path)
|
|
|
| + def _DoDirListing(self, full_path):
|
| + self._WriteHeader('text/html')
|
| + self._WriteTemplate('header.html')
|
| +
|
| + self.wfile.write('<div class="Breadcrumbs">\n')
|
| + self.wfile.write('<a class="Breadcrumbs-crumb">%s</a>\n' % self.path)
|
| + self.wfile.write('</div>\n')
|
| +
|
| + for _, dirs, files in os.walk(full_path):
|
| + for f in sorted(files):
|
| + if f.startswith('.'):
|
| + continue
|
| + if f.endswith('.md'):
|
| + bold = ('<b>', '</b>')
|
| + else:
|
| + bold = ('', '')
|
| + self.wfile.write('<a href="%s/%s">%s%s%s</a><br/>\n' %
|
| + (self.path.rstrip('/'), f, bold[0], f, bold[1]))
|
| +
|
| + self.wfile.write('<br/>\n')
|
| +
|
| + for d in sorted(dirs):
|
| + if d.startswith('.'):
|
| + continue
|
| + self.wfile.write('<a href="%s/%s">%s/</a><br/>\n' %
|
| + (self.path.rstrip('/'), d, d))
|
| +
|
| + break
|
| +
|
| + self._WriteTemplate('footer.html')
|
| +
|
| def _Read(self, relpath, relative_to=None):
|
| if relative_to is None:
|
| relative_to = self.server.top_level
|
|
|