mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-23 08:11:00 +00:00
Documentation skeleton.
This commit is contained in:
parent
e236d7746a
commit
3bc7f4e1cd
25
README.mkd
25
README.mkd
@ -3,9 +3,12 @@ __pathod__ is a collection of pathological tools for testing and torturing HTTP
|
||||
clients and servers. The project has three components:
|
||||
|
||||
- __pathod__, an pathological HTTP daemon.
|
||||
- __pathoc__, a fiendishly perverse HTTP client.
|
||||
- __pathoc__, a perverse HTTP client.
|
||||
- __libpathod.test__, an API for easily using __pathod__ and __pathoc__ in unit tests.
|
||||
|
||||
|
||||
# pathod
|
||||
|
||||
At __pathod__'s heart is a tiny, terse language for crafting HTTP responses.
|
||||
The simplest way to use __pathod__ is to fire up the daemon, and specify the
|
||||
response behaviour you want using this language in the request URL. Here's a
|
||||
@ -31,8 +34,7 @@ various other goodies. Try it by visiting the server root:
|
||||
|
||||
|
||||
|
||||
Specifying Responses
|
||||
====================
|
||||
## Specifying Responses
|
||||
|
||||
The general form of a response is as follows:
|
||||
|
||||
@ -117,8 +119,8 @@ once at 10 bytes and once at 20, then disconnects at 5000:
|
||||
200:b@1m:p10,10:p20,10:d5000
|
||||
|
||||
|
||||
Features
|
||||
========
|
||||
## Features
|
||||
|
||||
|
||||
#### hKEY=VALUE
|
||||
|
||||
@ -158,8 +160,9 @@ forever. OFFSET can also be "r" to generate a random offset, or "a" for an
|
||||
offset just after all data has been sent.
|
||||
|
||||
|
||||
Value Specifiers
|
||||
================
|
||||
|
||||
|
||||
## Value Specifiers
|
||||
|
||||
There are three different flavours of value specification.
|
||||
|
||||
@ -240,7 +243,7 @@ Supported data types are:
|
||||
bytes
|
||||
|
||||
|
||||
# API
|
||||
## API
|
||||
|
||||
__pathod__ exposes a simple API, intended to make it possible to drive and
|
||||
inspect the daemon remotely for use in unit testing and the like.
|
||||
@ -299,6 +302,9 @@ interface.
|
||||
A POST to this URL clears the log buffer.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Installing
|
||||
|
||||
If you already have __pip__ on your system, installing __pathod__ and its
|
||||
@ -307,5 +313,6 @@ dependencies is dead simple:
|
||||
pip install pathod
|
||||
|
||||
The project uses the __nose__ unit testing framework, which you can get here:
|
||||
|
||||
|
||||
FIXME
|
||||
|
||||
|
9
doc-src/01-bootstrap.min.css
vendored
Normal file
9
doc-src/01-bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4
doc-src/01-jquery-1.7.2.min.js
vendored
Normal file
4
doc-src/01-jquery-1.7.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
doc-src/02-bootstrap.min.js
vendored
Normal file
6
doc-src/02-bootstrap.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
343
doc-src/03-blogstyle.css
Normal file
343
doc-src/03-blogstyle.css
Normal file
@ -0,0 +1,343 @@
|
||||
|
||||
#rsstable {
|
||||
margin-top: 15px;
|
||||
padding: 0px;
|
||||
}
|
||||
#rsstable td {
|
||||
border: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: 11px;
|
||||
color: #000000;
|
||||
padding-right: 4px;
|
||||
}
|
||||
|
||||
.post {
|
||||
padding: 0px;
|
||||
}
|
||||
.posthead {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
/* title */
|
||||
.posthead h1 {
|
||||
font-size: 2.4em !important;
|
||||
margin: 0 0 0.2em 0;
|
||||
}
|
||||
/* date */
|
||||
.posthead h2 {
|
||||
font-size: 1.0em;
|
||||
color: #999;
|
||||
margin: 0 0 -0.25em 0;
|
||||
font-weight: normal;
|
||||
margin-bottom 5px;
|
||||
}
|
||||
.posthead a {
|
||||
color: #3F8ED8;
|
||||
text-decoration: none;
|
||||
}
|
||||
.posthead a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
sup {
|
||||
vertical-align: text-top;
|
||||
padding: 2px;
|
||||
|
||||
}
|
||||
|
||||
.postbody p {
|
||||
line-height: 1.4em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
.postbody a {
|
||||
color: #3F8ED8;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.postbody {
|
||||
margin-bottom: 10px;
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
}
|
||||
.postbody pre {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.footnotes {
|
||||
font-size: 0.9em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.footnotes hr {
|
||||
color: #ffffff;
|
||||
background-color: #ffffff;
|
||||
border: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
#twitter_div {
|
||||
margin-left: 0px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#twitter_update_list {
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
#twitter_update_list li {
|
||||
list-style-image:none;
|
||||
list-style-position:outside;
|
||||
list-style-type:none;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
|
||||
.archive a {
|
||||
color: #437095;
|
||||
text-decoration: none;
|
||||
}
|
||||
.archive a:hover {
|
||||
color: #000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.archive li {
|
||||
list-style-image:none;
|
||||
list-style-position:outside;
|
||||
list-style-type:none;
|
||||
}
|
||||
|
||||
.archive h1 {
|
||||
font-size: 1.8em;
|
||||
}
|
||||
|
||||
.archive .archive-post {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
.archive .archive-date {
|
||||
font-size: 1.0em;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.highlight pre {
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
border-top: 1px solid #CCCCCC;
|
||||
padding: 10px;
|
||||
background: #F8F8F8 none repeat scroll 0% 0%;
|
||||
margin-bottom: 10px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.output {
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
border-top: 1px solid #CCCCCC;
|
||||
padding: 10px;
|
||||
background: #F8F8F8 none repeat scroll 0% 0%;
|
||||
margin-bottom: 10px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#ft {
|
||||
color: #aaa;
|
||||
border-top: 1px solid #aaa;
|
||||
clear: both;
|
||||
margin: 0 0 2em 0;
|
||||
font-size: 0.8em;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
|
||||
.imggrid td {
|
||||
border: 0px;
|
||||
padding: 1px;
|
||||
margin: 0px;
|
||||
line-height: 0%;
|
||||
}
|
||||
|
||||
.postimage img {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
.spacertable {
|
||||
width: 100%;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.spacertable td {
|
||||
border: 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.layouttable {
|
||||
width: 100%;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.layouttable td {
|
||||
border: 0px;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
|
||||
|
||||
blockquote {
|
||||
background: url(start_quote.png) top left no-repeat;
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
width: 60%;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.equation {
|
||||
margin-left: 30px;
|
||||
font-weight: bold;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
|
||||
.recent a {
|
||||
color: #437095;
|
||||
text-decoration: none;
|
||||
}
|
||||
.recent a:hover {
|
||||
color: #000;
|
||||
text-decoration: underline;
|
||||
}
|
||||
#yui-main .recent ul li {
|
||||
list-style-image:none;
|
||||
list-style-position:outside;
|
||||
list-style-type:none;
|
||||
margin: 5px;
|
||||
}
|
||||
#yui-main .recent h1 {
|
||||
font-size: 1.4em;
|
||||
margin-top: 20px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.recent .recent-post {
|
||||
font-size: 1.0em;
|
||||
}
|
||||
.recent .recent-date {
|
||||
font-size: 0.8em;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
|
||||
.links_block {
|
||||
margin-left: 35px;
|
||||
}
|
||||
|
||||
.links_block li {
|
||||
list-style-type:none;
|
||||
|
||||
}
|
||||
|
||||
.links_title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.links_title a p {
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
.links_body {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-left: 20px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.links_body p {
|
||||
margin: 5px !important;
|
||||
}
|
||||
|
||||
.terminal {
|
||||
color: #fff;
|
||||
background: #000;
|
||||
padding: 20px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.frontpage h2 {
|
||||
margin: 0.2em 0;
|
||||
}
|
||||
|
||||
.frontpage h3 {
|
||||
margin: 0.2em 0;
|
||||
}
|
||||
|
||||
.frontpage p {
|
||||
margin: 0.2em 0 !important;
|
||||
}
|
||||
|
||||
.postlist {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.postlist li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.postlist a {
|
||||
color: #303030;
|
||||
border-bottom: 1px dotted #303030;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.postlist img {
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 5px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.postlist a:hover {
|
||||
color: #3F8ED8;
|
||||
border-bottom: 1px dotted #3F8ED8;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.postlist td {
|
||||
border: 0px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#contact {
|
||||
margin-left: 0px;
|
||||
|
||||
}
|
||||
#contact li {
|
||||
list-style: none;
|
||||
margin: 5px 0 !important;
|
||||
}
|
||||
|
||||
.projtable {
|
||||
width: 100%;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
.projtable td {
|
||||
padding-left: 0px;
|
||||
vertical-align: top;
|
||||
border: 0px;
|
||||
padding-top: 0px;
|
||||
}
|
||||
.projtable th {
|
||||
padding-left: 0px;
|
||||
vertical-align: top;
|
||||
border: 0px;
|
||||
text-align: left;
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
120
doc-src/04-syntax.css
Normal file
120
doc-src/04-syntax.css
Normal file
@ -0,0 +1,120 @@
|
||||
.highlight { background: #f8f8f8; }
|
||||
.highlight .c { color: #408080; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #808080 } /* Generic.Output */
|
||||
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
|
||||
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #B00040 } /* Keyword.Type */
|
||||
.highlight .m { color: #666666 } /* Literal.Number */
|
||||
.highlight .s { color: #BA2121 } /* Literal.String */
|
||||
.highlight .na { color: #7D9029 } /* Name.Attribute */
|
||||
.highlight .nb { color: #008000 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #880000 } /* Name.Constant */
|
||||
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
||||
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #0000FF } /* Name.Function */
|
||||
.highlight .nl { color: #A0A000 } /* Name.Label */
|
||||
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #19177C } /* Name.Variable */
|
||||
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mf { color: #666666 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
|
||||
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
|
||||
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
.highlight .vc { color: #19177C } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #19177C } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
|
||||
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||
.grokdoc { background: #f8f8f8; }
|
||||
.grokdoc .c { color: #408080; font-style: italic } /* Comment */
|
||||
.grokdoc .err { border: 1px solid #FF0000 } /* Error */
|
||||
.grokdoc .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.grokdoc .o { color: #666666 } /* Operator */
|
||||
.grokdoc .cm { color: #408080; font-style: italic } /* Comment.Multiline */
|
||||
.grokdoc .cp { color: #BC7A00 } /* Comment.Preproc */
|
||||
.grokdoc .c1 { color: #408080; font-style: italic } /* Comment.Single */
|
||||
.grokdoc .cs { color: #408080; font-style: italic } /* Comment.Special */
|
||||
.grokdoc .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.grokdoc .ge { font-style: italic } /* Generic.Emph */
|
||||
.grokdoc .gr { color: #FF0000 } /* Generic.Error */
|
||||
.grokdoc .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.grokdoc .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.grokdoc .go { color: #808080 } /* Generic.Output */
|
||||
.grokdoc .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.grokdoc .gs { font-weight: bold } /* Generic.Strong */
|
||||
.grokdoc .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.grokdoc .gt { color: #0040D0 } /* Generic.Traceback */
|
||||
.grokdoc .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||
.grokdoc .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||
.grokdoc .kp { color: #008000 } /* Keyword.Pseudo */
|
||||
.grokdoc .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||
.grokdoc .kt { color: #B00040 } /* Keyword.Type */
|
||||
.grokdoc .m { color: #666666 } /* Literal.Number */
|
||||
.grokdoc .s { color: #BA2121 } /* Literal.String */
|
||||
.grokdoc .na { color: #7D9029 } /* Name.Attribute */
|
||||
.grokdoc .nb { color: #008000 } /* Name.Builtin */
|
||||
.grokdoc .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
.grokdoc .no { color: #880000 } /* Name.Constant */
|
||||
.grokdoc .nd { color: #AA22FF } /* Name.Decorator */
|
||||
.grokdoc .ni { color: #999999; font-weight: bold } /* Name.Entity */
|
||||
.grokdoc .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
|
||||
.grokdoc .nf { color: #0000FF } /* Name.Function */
|
||||
.grokdoc .nl { color: #A0A000 } /* Name.Label */
|
||||
.grokdoc .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.grokdoc .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.grokdoc .nv { color: #19177C } /* Name.Variable */
|
||||
.grokdoc .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
.grokdoc .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.grokdoc .mf { color: #666666 } /* Literal.Number.Float */
|
||||
.grokdoc .mh { color: #666666 } /* Literal.Number.Hex */
|
||||
.grokdoc .mi { color: #666666 } /* Literal.Number.Integer */
|
||||
.grokdoc .mo { color: #666666 } /* Literal.Number.Oct */
|
||||
.grokdoc .sb { color: #BA2121 } /* Literal.String.Backtick */
|
||||
.grokdoc .sc { color: #BA2121 } /* Literal.String.Char */
|
||||
.grokdoc .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
.grokdoc .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
.grokdoc .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
|
||||
.grokdoc .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
.grokdoc .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
|
||||
.grokdoc .sx { color: #008000 } /* Literal.String.Other */
|
||||
.grokdoc .sr { color: #BB6688 } /* Literal.String.Regex */
|
||||
.grokdoc .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
.grokdoc .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
.grokdoc .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
.grokdoc .vc { color: #19177C } /* Name.Variable.Class */
|
||||
.grokdoc .vg { color: #19177C } /* Name.Variable.Global */
|
||||
.grokdoc .vi { color: #19177C } /* Name.Variable.Instance */
|
||||
.grokdoc .il { color: #666666 } /* Literal.Number.Integer.Long */
|
66
doc-src/_layout_full.html
Normal file
66
doc-src/_layout_full.html
Normal file
@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>@!pageTitle!@</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
$!header!$
|
||||
<style type="text/css">
|
||||
body {
|
||||
padding-top: 60px;
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
</style>
|
||||
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</a>
|
||||
<a class="brand" href="@!top!@/index.html">pathod</a>
|
||||
<div class="nav-collapse">
|
||||
<ul class="nav">
|
||||
<li $!'class=active' if section=="index" else ""!$><a href="@!top!@/index.html">overview</a></li>
|
||||
<li
|
||||
$!'class="dropdown active"' if section=="docs" else 'class="dropdown"'!$>
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="@!top!@/docs.html">
|
||||
docs
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="@!top!@/index.html">pathod</a></li>
|
||||
<li><a href="@!top!@/index.html">pathoc</a></li>
|
||||
<li><a href="@!top!@/index.html">libpathod.test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="span12">
|
||||
$!body!$
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<footer>
|
||||
<p>© Aldo Cortesi 2012</p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
5
doc-src/docs.html
Normal file
5
doc-src/docs.html
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
Test.
|
||||
|
||||
|
||||
|
31
doc-src/index.html
Normal file
31
doc-src/index.html
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
<div class="hero-unit">
|
||||
<h1>Tools for testing and torturing HTTP clients, servers and proxies.</h1>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<div class="well">
|
||||
<h1> pathod </h1>
|
||||
|
||||
A pathological web daemon.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="well">
|
||||
<h1> pathoc </h1>
|
||||
|
||||
A perverse HTTP client.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="well">
|
||||
<h1> libpathod.test </h1>
|
||||
|
||||
Use pathod and pathoc in your unit tests.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
18
doc-src/index.py
Normal file
18
doc-src/index.py
Normal file
@ -0,0 +1,18 @@
|
||||
from countershape import widgets, layout, html, blog, markup, sitemap
|
||||
from countershape.doc import *
|
||||
|
||||
ns.foot = "Copyright 2012 Aldo Cortesi"
|
||||
this.markup = markup.Markdown(extras=dict(footnotes=True))
|
||||
this.layout = layout.FileLayout("_layout_full.html")
|
||||
this.titlePrefix = ""
|
||||
this.site_url = "http://corte.si"
|
||||
pages = [
|
||||
Page("index.html", "overview", namespace=dict(section="index")),
|
||||
Page("docs.html", "docs", namespace=dict(section="docs")),
|
||||
sitemap.Sitemap("sitemap.xml")
|
||||
]
|
||||
ns.sidebar = widgets.SiblingPageIndex(
|
||||
pages[0],
|
||||
depth=1,
|
||||
divclass="sidebarmenu"
|
||||
)
|
BIN
doc-src/start_quote.png
Normal file
BIN
doc-src/start_quote.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 376 B |
Loading…
Reference in New Issue
Block a user