From 23bc2b6f47710ec3056addf4880c0f28162fe378 Mon Sep 17 00:00:00 2001 From: Kevin Saliou Date: Thu, 5 Sep 2013 19:04:17 +0200 Subject: [PATCH] make api method headers anchor links so a speicif method can be refered to through its unique id --- Formatter/AbstractFormatter.php | 2 + Resources/public/css/screen.css | 82 ++++++++++++++++---------------- Resources/views/layout.html.twig | 9 ++++ Resources/views/method.html.twig | 62 ++++++++++++------------ 4 files changed, 83 insertions(+), 72 deletions(-) diff --git a/Formatter/AbstractFormatter.php b/Formatter/AbstractFormatter.php index ca52fdd..cd203c8 100644 --- a/Formatter/AbstractFormatter.php +++ b/Formatter/AbstractFormatter.php @@ -119,6 +119,8 @@ abstract class AbstractFormatter implements FormatterInterface $annotation['response'] = $this->compressNestedParameters($annotation['response']); } + $annotation['id'] = strtolower($annotation['method']).'-'.str_replace('/', '-', $annotation['uri']); + return $annotation; } diff --git a/Resources/public/css/screen.css b/Resources/public/css/screen.css index fc27959..5ef8389 100644 --- a/Resources/public/css/screen.css +++ b/Resources/public/css/screen.css @@ -188,14 +188,14 @@ li.resource:last-child { } /* heading */ -div.heading { +a.heading { border: 1px solid transparent; float: none; clear: both; overflow: hidden; display: block; } -div.heading h2 { +a.heading h2 { color: #999999; padding-left: 0; display: block; @@ -204,7 +204,7 @@ div.heading h2 { font-family: "Droid Sans", sans-serif; font-weight: bold; } -div.heading ul.options { +a.heading ul.options { overflow: hidden; padding: 0; display: block; @@ -212,7 +212,7 @@ div.heading ul.options { float: right; margin: 6px 10px 0 0; } -div.heading ul.options li { +a.heading ul.options li { float: left; clear: none; margin: 0; @@ -221,12 +221,12 @@ div.heading ul.options li { color: #666666; font-size: 0.9em; } -div.heading ul.options li:first-child, -div.heading ul.options li.first { +a.heading ul.options li:first-child, +a.heading ul.options li.first { padding-left: 0; } -div.heading ul.options li:last-child, -div.heading ul.options li.last { +a.heading ul.options li:last-child, +a.heading ul.options li.last { padding-right: 0; border-right: none; } @@ -240,13 +240,13 @@ li.operation { margin: 0 0 10px; padding: 0 0 0 0; } -li.operation div.heading { +li.operation a.heading { margin: 0 0 0 0; padding: 0; background-color: #f0f0f0; border: 1px solid #ddd; } -li.operation div.heading h3 { +li.operation a.heading h3 { display: block; clear: none; float: left; @@ -256,25 +256,25 @@ li.operation div.heading h3 { line-height: 1.1em; color: black; } -li.operation div.heading h3 span { +li.operation a.heading h3 span { margin: 0; padding: 0; } -li.operation div.heading h3 span.icon { +li.operation a.heading h3 span.icon { display: inline-block; height: 12px; width: 12px; margin-left: 3px; background: no-repeat center center; } -li.operation div.heading h3 span.lock { +li.operation a.heading h3 span.lock { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAMCAYAAABbayygAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUHEisepJ6ljAAAAJ5JREFUGNNt0LEOAUEUheEPuwkFtSg0old4Eo/imbQKiULpBZQSCtFoaIjSktXMxpjsSW5xzvnnZmb4aYMymg9WEq1Decc1zCNkyxisoFGUTXDGEZpR8cIp8jccKiaLigwDdMP9hughr8ptALtYoB18C+Pgd5KXlrhgX5P/mSfmmKVgM/mmDP1qQ1rEyjFFkYKNmtMF3uikYFGzOdXnC5FWMZNd2GfvAAAAAElFTkSuQmCC"); } -li.operation div.heading h3 span.keys { +li.operation a.heading h3 span.keys { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAMCAYAAAC0qUeeAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUHEisb1PRRAwAAAN9JREFUKM9lz71KQ0EQhuEnJ7EIKhZWaRULu4htLLwDvYRgZWmTWoI3kAuIlVik0U5Io4USRMFOUGwU7cQ/kAQMajMHDpuBZWd235lvPtjHDT4xxhuu0ZJEhhXU8YAG7rCKBWyn8EnkVSxjOuoPbKTT1/GXnCd0YqWt4uQrk3GLGcxiswgPcRgG4QsDzKMSKtUc/kUbFwEf4BlrUdeCk8WOj3jBO+5xhGOMwmQzh6Ec9zemwtgOLuN9D4tZYqwUSvnuu3jFHLpZASqHUqXQfIZe5PX8Y4RTLKGfqLVwjp9/HR4zOkGnnAoAAAAASUVORK5CYII="); } -li.operation div.heading h3 span.http_method a, li.operation div.heading h3 span.deprecated a { +li.operation a.heading h3 span.http_method i, li.operation a.heading h3 span.deprecated i { text-transform: uppercase; text-decoration: none; color: white; @@ -288,11 +288,11 @@ li.operation div.heading h3 span.http_method a, li.operation div.heading h3 span border-radius: 2px; background-color: #ccc; } -li.operation div.heading h3 span.deprecated a { +li.operation a.heading h3 span.deprecated i { width: 75px; background-color: #F00; } -li.operation div.heading h3 span.path { +li.operation a.heading h3 span.path { padding-left: 5px; } @@ -321,14 +321,14 @@ li.operation div.content form input[type='text'].error { } /* GET operations */ -li.operation.get div.heading { +li.operation.get a.heading { border-color: #c3d9ec; background-color: #e7f0f7; } -li.operation.get div.heading h3 span.http_method a { +li.operation.get a.heading h3 span.http_method i { background-color: #0f6ab4; } -li.operation.get div.heading ul.options li { +li.operation.get a.heading ul.options li { border-right-color: #c3d9ec; color: #0f6ab4; } @@ -342,14 +342,14 @@ li.operation.get div.content h4 { } /* POST operations */ -li.operation.post div.heading { +li.operation.post a.heading { border-color: #a7e1a1; background-color: #d4f7cd; } -li.operation.post div.heading h3 span.http_method a{ +li.operation.post a.heading h3 span.http_method i{ background-color: #10a54a; } -li.operation.post div.heading ul.options li { +li.operation.post a.heading ul.options li { border-right-color: #c3e8d1; color: #10a54a; } @@ -363,14 +363,14 @@ li.operation.post div.content h4 { } /* ANY operations */ -li.operation.any div.heading { +li.operation.any a.heading { background-color: lightgray; border-color: gray; } -li.operation.any div.heading h3 span.http_method a { +li.operation.any a.heading h3 span.http_method i { background-color: #000; } -li.operation.any div.heading ul.options li { +li.operation.any a.heading ul.options li { color: #000; border-right-color: gray; } @@ -384,14 +384,14 @@ li.operation.any div.content h4 { } /* PUT operations */ -li.operation.put div.heading { +li.operation.put a.heading { background-color: #f9f2e9; border-color: #f0e0ca; } -li.operation.put div.heading h3 span.http_method a { +li.operation.put a.heading h3 span.http_method i { background-color: #c5862b; } -li.operation.put div.heading ul.options li { +li.operation.put a.heading ul.options li { border-right-color: #f0e0ca; color: #c5862b; } @@ -405,14 +405,14 @@ li.operation.put div.content h4 { } /* DELETE operations */ -li.operation.delete div.heading { +li.operation.delete a.heading { background-color: #f5e8e8; border-color: #e8c6c7; } -li.operation.delete div.heading h3 span.http_method a { +li.operation.delete a.heading h3 span.http_method i { background-color: #a41e22; } -li.operation.delete div.heading ul.options li { +li.operation.delete a.heading ul.options li { border-right-color: #e8c6c7; color: #a41e22; } @@ -426,14 +426,14 @@ li.operation.delete div.content h4 { } /* PATCH operations */ -li.operation.patch div.heading { +li.operation.patch a.heading { background-color: #f5e8e8; border-color: #e8c6e7; } -li.operation.patch div.heading h3 span.http_method a { +li.operation.patch a.heading h3 span.http_method i { background-color: #a41ee2; } -li.operation.patch div.heading ul.options li { +li.operation.patch a.heading ul.options li { border-right-color: #e8c6c7; color: #a41ee2; } @@ -447,13 +447,13 @@ li.operation.patch div.content h4 { } /* LINK operations */ -li.operation.link div.heading { +li.operation.link a.heading { background-color: #F7F7D5; } -li.operation.link div.heading h3 span.http_method a { +li.operation.link a.heading h3 span.http_method i { background-color: #C3D448; } -li.operation.link div.heading ul.options li { +li.operation.link a.heading ul.options li { color: #C3D448; } @@ -465,13 +465,13 @@ li.operation.link div.content h4 { } /* UNLINK operations */ -li.operation.unlink div.heading { +li.operation.unlink a.heading { background-color: #FFEBDE; } -li.operation.unlink div.heading h3 span.http_method a { +li.operation.unlink a.heading h3 span.http_method i { background-color: #FF8438; } -li.operation.unlink div.heading ul.options li { +li.operation.unlink a.heading ul.options li { color: #FF8438; } diff --git a/Resources/views/layout.html.twig b/Resources/views/layout.html.twig index 15297df..821f415 100644 --- a/Resources/views/layout.html.twig +++ b/Resources/views/layout.html.twig @@ -48,6 +48,15 @@ Documentation auto-generated on {{ date }}