var spVersion = "3";
var host = "";
try {
host = config['state']['connection']['server'];
} catch (e){
host = "https://signpuddle.com/server"
}
var spLogo = '';
var data = {
"title": "SignPuddle 3 SWU API",
"lines": [
"> v3.0.0"
],
"html": "
\nv3.0.0
\n
",
"host": "https://signpuddle.com/server",
"meta": "Generated from ApiTxt format (output/swu.txt) using txt2json.py",
"groups": [
{
"routes": [
{
"route": "/swu{?text,style}",
"name": "SWU Word",
"parameters": [
{
"example": "\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a",
"type": "string",
"description": "The name of sign",
"name": "text"
},
{
"example": "1",
"type": "number",
"description": "Flag to include styling string",
"name": "style"
}
],
"methods": [
{
"code": [
"$timein = microtime(true);",
"$swu = SignWriting\\swu($text,$style);",
"$searchTime = searchtime($timein);",
"header(\"Search-Time: \" . $searchTime);",
"echo $swu;"
],
"method": "GET",
"dialog": [
{
"request": {
"name": "one Formal SignWriting in ASCII string"
},
"responses": [
{
"status": 200,
"body": [
"\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a"
],
"type": "text/plain;charset=utf-8"
}
]
}
],
"name": "first SWU string"
}
]
},
{
"route": "/swu/all{?text,style}",
"name": "SWU Text",
"parameters": [
{
"example": "\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a",
"type": "string",
"description": "The name of sign",
"name": "text"
},
{
"example": "1",
"type": "number",
"description": "Flag to include styling string",
"name": "style"
}
],
"methods": [
{
"code": [
"$timein = microtime(true);",
"$swu = SignWriting\\swuAll($text,$style);",
"$searchTime = searchtime($timein);",
"header(\"Search-Time: \" . $searchTime);",
"echo $swu;"
],
"method": "GET",
"dialog": [
{
"request": {
"name": "many Formal SignWriting in ASCII string"
},
"responses": [
{
"status": 200,
"body": [
"\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a"
],
"type": "text/plain;charset=utf-8"
}
]
}
],
"name": "all SWU strings"
}
]
},
{
"route": "/swu/fsw{?text}",
"name": "SWU to FSW",
"parameters": [
{
"example": "\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a",
"type": "string",
"description": "The name of sign",
"name": "text"
}
],
"methods": [
{
"code": [
"$timein = microtime(true);",
"$fsw = SignWriting\\swu2fsw($text);",
"$searchTime = searchtime($timein);",
"header(\"Search-Time: \" . $searchTime);",
"echo $fsw;"
],
"method": "GET",
"dialog": [
{
"request": {
"name": "original text with Formal SignWriting in ASCII inside"
},
"responses": [
{
"status": 200,
"body": [
"\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a"
],
"type": "text/plain;charset=utf-8"
}
]
}
],
"name": "text with SWU strings"
}
]
},
{
"name": "SVG image",
"parameters": [
{
"example": "\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a",
"type": "string",
"description": "The name of sign",
"name": "text"
}
],
"route": "/swu/svg/{text}",
"lines": [
"Create a stand-alone SVG image using Formal SignWriting in ASCII (SWU)"
],
"html": "Create a stand-alone SVG image using Formal SignWriting in ASCII (SWU)
",
"methods": [
{
"code": [
"$timein = microtime(true);",
"$req = $app->request();",
"if ($req->get('throwStatus')=='500') {haltNoDatabase();}",
"$svg = SignWriting\\svg($text);",
"$searchTime = searchtime($timein);",
"header(\"Search-Time: \" . $searchTime);",
"echo $svg;"
],
"method": "GET",
"dialog": [
{
"request": {
"name": "collection text"
},
"responses": [
{
"status": 200,
"body": [
""
],
"type": "image/svg+xml;charset=utf-8"
}
]
}
],
"name": "retrieve stand-alone SVG image"
}
]
},
{
"name": "SVG with font",
"parameters": [
{
"example": "\ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a",
"type": "string",
"description": "The name of sign",
"name": "text"
}
],
"route": "/swu/svg/font/{text}",
"lines": [
"Create an SVG with font using Formal SignWriting in ASCII (SWU)"
],
"html": "Create an SVG with font using Formal SignWriting in ASCII (SWU)
",
"methods": [
{
"code": [
"$timein = microtime(true);",
"$req = $app->request();",
"if ($req->get('throwStatus')=='500') {haltNoDatabase();}",
"$svg = SignWriting\\svg($text,true);",
"$searchTime = searchtime($timein);",
"header(\"Search-Time: \" . $searchTime);",
"echo $svg;"
],
"method": "GET",
"dialog": [
{
"request": {
"name": "collection text"
},
"responses": [
{
"status": 200,
"body": [
"",
" \ud836\udc00\ud8d8\udd31\ud8e2\udc23\ud8f4\ude61\ud836\udc03\ud836\udd1b\ud836\udd35\ud8f4\ude61\ud836\udcf4\ud836\udcf5\ud8d8\udd31\ud836\udd0c\ud836\udd06\ud8e2\udc23\ud836\udd09\ud836\udd1a",
" \udbed\udee9\udbad\udee9",
" \udbc0\udc12\udb80\udc12",
" \udbed\udea5\udbad\udea5",
" \udbc0\udc1a\udb80\udc1a",
""
],
"type": "image/svg+xml;charset=utf-8"
}
]
}
],
"name": "retrieve SVG with font"
}
]
}
],
"group": "swu",
"html": "",
"lines": [
"+ Source: [ApiTxt format](../src/swu.txt) and [JSON objects](../src/swu.json)",
"+ Documents: [API Blueprint](../doc/swu.md) and [Stand Alone HTML](../doc/swu.htm)",
"+ Live Page: [API Interface](../api/swu.html) and [JavaScript](../api/swu.js)"
],
"description": "Resources related to Formal SignWriting in ASCII (SWU)"
}
],
"root": "swu"
}
var mclass = {
"GET": "success",
"POST": "primary",
"PUT": "info",
"DELETE": "danger"
};
var Main = {
view: function(vnode) {
return [
m(Header),
m(Top),
data['groups'].map(function(group,iG){
return m(Group,{"group":group,"iG":iG});
})
];
}
}
var Header = {
view: function(vnode) {
return m("header.main",[
m("span"),
m("button", {class: "large brand pseudo"}, [
m.trust(spLogo),
m("span","SignPuddle 3")
]),
m("span")
])
}
}
var Top = {
view: function(vnode) {
return m("section.boxed",[
m("h1","SignPuddle 3 SWU API"),
m.trust(data["html"]),
m("p",[
m("label.large[for=host]","Server Host"),
m("input#host.medium[type=text][name=host]",{
"value":host,
onchange: function(e){host=e.target.value;}
})
])
,m("header.group",[
m("span]"),
m("h1","Group " + data["groups"][0]["group"]),
m("span")
]),
m("p",data["groups"][0]["description"]),
m.trust(data["groups"][0]["html"])
])
}
}
var Group = {
view: function(vnode) {
var iG = vnode.attrs["iG"];
return [
vnode.attrs["group"]["routes"].map(function(route,iR){
return m("section.boxed",[
m("header.route",[
m("span]"),
m("h2", route["name"]),
m("span")
]),
m.trust(route["html"]),
route["methods"].map(function (method, iM){
var id = method["name"].replace(/\s/g, '') + "_";
var headers = (((method["dialog"] || [])[0] || {})["request"] || {})["headers"] || [];
return [
m("form",
m("fieldset",[
m("h3",method["name"]),
m.trust(method["html"]),
m("input.large." + mclass[method["method"]], {"disabled": true, "value":route["route"]}),
Object.keys(headers).map(function(key){
if (key == "Location" || key == "Description" || key == "Content-type") return;
return m("p",[
m("label[for=" + id + key + "]", "HEADER " + key),
m("input#" + id + key + "[type=text][name="+ key + "]",{
"value":headers[key],
onchange: function(e){data["groups"][iG]["routes"][iR]["methods"][iM]["dialog"][0]["request"]["headers"][key]=e.target.value;}
})
]);
}),
(route["parameters"] || []).map(function(param,iP){
param["example"] = param["example"].replace(/`/g, "");
return m("p",[
m("label[for=" + id + param["name"] + "]",param["name"] + ": " + param["description"]+ " (" + param["type"] + ")"),
m("input#" + id + param["name"] + "[type=text][name="+ param["name"] + "]",{
"value":param["example"],
onchange: function(e){data["groups"][iG]["routes"][iR]["parameters"][iP]["example"]=e.target.value;}
})
]);
}),
method["method"][0]=="P"?m("p",[
m("label[for=" + id + "body","body: The main contents of the request (string)"),
m("textarea#" + id + "body[name=body]",
{onchange: function(e){ data["groups"][iG]["routes"][iR]["methods"][iM]["dialog"][0]["request"]["body"] = e.target.value.split("\n");}},
(data["groups"][iG]["routes"][iR]["methods"][iM]["dialog"][0]["request"]["body"]||[]).join("\n"))
]):"",
m("button." + mclass[method["method"]],{ onclick: function (e){
dataRequest(iG,iR,iM);
return false;
}},method["method"]),
m("hr"),
(method["dialog"].map(function(exchange){
return [
exchange["request"]?[
m("h4","request " + exchange["request"]["name"]),
m("div.indent",m.trust(exchange["request"]["html"])),
(exchange["request"]["headers"])?[
m("ul.tree",
m("li.collapse",{"onclick": function(e){e.target.classList.toggle("collapse");}},"headers",
m("ul",{"onclick":function(e){e.stopPropagation();}},Object.keys(exchange["request"]["headers"]).map(function (header){
return m("li.request",header + ": " + exchange["request"]["headers"][header]);
}))
)
)
]:"",
(exchange["request"]["body"])?
m("ul.tree",
m("li",{"onclick": function(e){e.target.classList.toggle("collapse");}},
"body (" + exchange["request"]["type"] + ")",
m("pre",{"onclick":function(e){e.stopPropagation();}},exchange["request"]["body"].join("\n"))
)
)
:""
]:"",
exchange["responses"]?exchange["responses"].map(function(response){
return [
m("h4","response " + response["status"]),
m("div.indent",m.trust(response["html"])),
m("ul.tree",
(response["headers"])?[
m("li.collapse",{"onclick": function(e){e.target.classList.toggle("collapse");}},
"headers",
m("ul",{"onclick":function(e){e.stopPropagation();}},Object.keys(response["headers"]).map(function (header){
return m("li.response",header + ": " + response["headers"][header]);
}))
)
]:"",
(response["body"])?
m("li",{"onclick": function(e){e.target.classList.toggle("collapse");}},
"body (" + response["type"] + ")",
m("pre",{"onclick":function(e){e.stopPropagation();}},response["body"].join("\n"))
)
:""
)
]
}):""
];
}))
])
)
];
}),
m("br"),m("br"),
])
})
]
}
}
m.mount(document.body, Main);