2014-10-22 20:44:47 +00:00
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
import datetime
|
2014-01-27 01:16:23 +00:00
|
|
|
import countershape
|
2014-10-22 20:44:47 +00:00
|
|
|
from countershape import Page, Directory, markup, model
|
2014-01-27 01:16:23 +00:00
|
|
|
import countershape.template
|
|
|
|
sys.path.insert(0, "..")
|
|
|
|
from libmproxy import filt, version
|
|
|
|
|
|
|
|
MITMPROXY_SRC = os.environ.get("MITMPROXY_SRC", os.path.abspath(".."))
|
|
|
|
ns.VERSION = version.VERSION
|
|
|
|
|
|
|
|
if ns.options.website:
|
|
|
|
ns.idxpath = "doc/index.html"
|
|
|
|
this.layout = countershape.Layout("_websitelayout.html")
|
|
|
|
else:
|
|
|
|
ns.idxpath = "index.html"
|
|
|
|
this.layout = countershape.Layout("_layout.html")
|
|
|
|
|
|
|
|
ns.title = countershape.template.Template(None, "<h1>@!this.title!@</h1>")
|
|
|
|
this.titlePrefix = "%s - " % version.NAMEVERSION
|
|
|
|
this.markup = markup.Markdown(extras=["footnotes"])
|
|
|
|
|
|
|
|
ns.docMaintainer = "Aldo Cortesi"
|
|
|
|
ns.docMaintainerEmail = "aldo@corte.si"
|
|
|
|
ns.copyright = u"\u00a9 mitmproxy project, %s" % datetime.date.today().year
|
|
|
|
|
2014-10-22 20:44:47 +00:00
|
|
|
|
2014-01-27 01:16:23 +00:00
|
|
|
def mpath(p):
|
|
|
|
p = os.path.join(MITMPROXY_SRC, p)
|
|
|
|
return os.path.expanduser(p)
|
|
|
|
|
|
|
|
|
|
|
|
def example(s):
|
|
|
|
d = file(mpath(s)).read().rstrip()
|
|
|
|
extemp = """<div class="example">%s<div class="example_legend">(%s)</div></div>"""
|
|
|
|
return extemp%(countershape.template.Syntax("py")(d), s)
|
2014-10-22 20:44:47 +00:00
|
|
|
|
|
|
|
|
2014-01-27 01:16:23 +00:00
|
|
|
ns.example = example
|
|
|
|
|
|
|
|
|
|
|
|
filt_help = []
|
|
|
|
for i in filt.filt_unary:
|
|
|
|
filt_help.append(
|
|
|
|
("~%s"%i.code, i.help)
|
|
|
|
)
|
|
|
|
for i in filt.filt_rex:
|
|
|
|
filt_help.append(
|
|
|
|
("~%s regex"%i.code, i.help)
|
|
|
|
)
|
|
|
|
for i in filt.filt_int:
|
|
|
|
filt_help.append(
|
|
|
|
("~%s int"%i.code, i.help)
|
|
|
|
)
|
|
|
|
filt_help.sort()
|
|
|
|
filt_help.extend(
|
|
|
|
[
|
|
|
|
("!", "unary not"),
|
|
|
|
("&", "and"),
|
|
|
|
("|", "or"),
|
|
|
|
("(...)", "grouping"),
|
|
|
|
]
|
|
|
|
)
|
|
|
|
ns.filt_help = filt_help
|
|
|
|
|
|
|
|
|
|
|
|
def nav(page, current, state):
|
|
|
|
if current.match(page, False):
|
|
|
|
pre = '<li class="active">'
|
|
|
|
else:
|
|
|
|
pre = "<li>"
|
|
|
|
p = state.application.getPage(page)
|
|
|
|
return pre + '<a href="%s">%s</a></li>'%(model.UrlTo(page), p.title)
|
|
|
|
ns.nav = nav
|
|
|
|
ns.navbar = countershape.template.File(None, "_nav.html")
|
|
|
|
|
2014-10-22 20:44:47 +00:00
|
|
|
|
2014-01-27 01:16:23 +00:00
|
|
|
pages = [
|
|
|
|
Page("index.html", "Introduction"),
|
|
|
|
Page("install.html", "Installation"),
|
|
|
|
Page("mitmproxy.html", "mitmproxy"),
|
|
|
|
Page("mitmdump.html", "mitmdump"),
|
|
|
|
Page("howmitmproxy.html", "How mitmproxy works"),
|
2014-09-06 22:42:25 +00:00
|
|
|
Page("modes.html", "Modes of Operation"),
|
2014-01-27 01:16:23 +00:00
|
|
|
|
|
|
|
Page("ssl.html", "Overview"),
|
|
|
|
Directory("certinstall"),
|
|
|
|
Directory("scripting"),
|
|
|
|
Directory("tutorials"),
|
|
|
|
Page("transparent.html", "Overview"),
|
|
|
|
Directory("transparent"),
|
|
|
|
]
|