From f0868f383ba6ebf7ef1ebd5b444b4804b47df8f5 Mon Sep 17 00:00:00 2001
From: Liyas Thomas
Date: Fri, 20 Dec 2019 14:40:16 +0530
Subject: [PATCH 1/7] :tada: API documentation page
---
layouts/default.vue | 3 ++
pages/doc.vue | 106 ++++++++++++++++++++++++++++++++++++++++++++
pages/index.vue | 33 --------------
3 files changed, 109 insertions(+), 33 deletions(-)
create mode 100644 pages/doc.vue
diff --git a/layouts/default.vue b/layouts/default.vue
index add992d05..56c24d1b5 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -582,6 +582,9 @@ export default {
}
});
});
+
+ console.log("%cWe ❤︎ open source!", "background-color:white;padding:8px 16px;border-radius:8px;font-size:32px;color:red;")
+ console.log("%cContribute: https://github.com/liyasthomas/postwoman", "background-color:black;padding:4px 8px;border-radius:8px;font-size:16px;color:white;text-decoration:none;")
},
watch: {
diff --git a/pages/doc.vue b/pages/doc.vue
new file mode 100644
index 000000000..a9fd0ab1e
--- /dev/null
+++ b/pages/doc.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+ {{ $t("raw_request_body") }}
+
+
+
+
+
+
+ book
+ Generate Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index.vue b/pages/index.vue
index 361623b24..44efd9307 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -227,7 +227,6 @@
- (event.target.selectionStart = event.target.selectionEnd =
- oldSelectionStart + rightPadding.length + 1),
- 1
- );
- } else if (event.which === 9) {
- event.preventDefault();
- const oldSelectionStart = event.target.selectionStart;
- event.target.value = textBeforeCursor + "\xa0\xa0" + textAfterCursor;
- event.target.selectionStart = event.target.selectionEnd =
- oldSelectionStart + 2;
- return false;
- }
- },
copyRequest() {
if (navigator.share) {
let time = new Date().toLocaleTimeString();
From d4819bcd0a5cebb62b7d6104b9495cf97986d682 Mon Sep 17 00:00:00 2001
From: Liyas Thomas
Date: Sat, 21 Dec 2019 08:44:10 +0530
Subject: [PATCH 2/7] :tada: Added navigation link to Documentation page in
default layour
---
.all-contributorsrc | 9 ---------
README.md | 5 ++---
layouts/default.vue | 26 +++++++++++++++++++++++++-
pages/doc.vue | 4 ++--
4 files changed, 29 insertions(+), 15 deletions(-)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index 6ecfa8b21..ca0269c27 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -52,15 +52,6 @@
"code"
]
},
- {
- "login": "terranblake",
- "name": "Terran Blake",
- "avatar_url": "https://avatars3.githubusercontent.com/u/8795767?v=4",
- "profile": "https://www.lumahealth.io/",
- "contributions": [
- "code"
- ]
- },
{
"login": "AndrewBastin",
"name": "Andrew Bastin",
diff --git a/README.md b/README.md
index 3cce2d1e4..44b70b869 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
- [](https://travis-ci.com/liyasthomas/postwoman) [](https://github.com/liyasthomas/postwoman/releases/latest) [](https://postwoman.io) [](CONTRIBUTING.md) [](#contributors) [](https://opencollective.com/postwoman) [](https://www.paypal.me/liyascthomas) [](https://t.me/postwoman_app) [](https://discord.gg/GAMWxmR) [](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpostwoman.io&text=%F0%9F%91%BD%20Postwoman%20%E2%80%A2%20API%20request%20builder%20-%20Helps%20you%20create%20your%20requests%20faster%2C%20saving%20you%20precious%20time%20on%20your%20development&original_referer=https%3A%2F%2Ftwitter.com%2Fshare%3Ftext%3D%25F0%259F%2591%25BD%2520Postwoman%2520%25E2%2580%25A2%2520API%2520request%2520builder%2520-%2520Helps%2520you%2520create%2520your%2520requests%2520faster%2C%2520saving%2520you%2520precious%2520time%2520on%2520your%2520development%26url%3Dhttps%3A%2F%2Fpostwoman.io%26hashtags%3Dpostwoman%26via%3Dliyasthomas&via=liyasthomas&hashtags=postwoman)
+ [](https://travis-ci.com/liyasthomas/postwoman) [](https://github.com/liyasthomas/postwoman/releases/latest) [](https://postwoman.io) [](CONTRIBUTING.md) [](https://opencollective.com/postwoman) [](https://www.paypal.me/liyascthomas) [](https://t.me/postwoman_app) [](https://discord.gg/GAMWxmR) [](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpostwoman.io&text=%F0%9F%91%BD%20Postwoman%20%E2%80%A2%20API%20request%20builder%20-%20Helps%20you%20create%20your%20requests%20faster%2C%20saving%20you%20precious%20time%20on%20your%20development&original_referer=https%3A%2F%2Ftwitter.com%2Fshare%3Ftext%3D%25F0%259F%2591%25BD%2520Postwoman%2520%25E2%2580%25A2%2520API%2520request%2520builder%2520-%2520Helps%2520you%2520create%2520your%2520requests%2520faster%2C%2520saving%2520you%2520precious%2520time%2520on%2520your%2520development%26url%3Dhttps%3A%2F%2Fpostwoman.io%26hashtags%3Dpostwoman%26via%3Dliyasthomas&via=liyasthomas&hashtags=postwoman)
@@ -315,11 +315,10 @@ See the [CHANGELOG](CHANGELOG.md) file for details.
Nicholas La Roux 💻
Thomas Yuba 💻
Nick Palenchar 💻
- Terran Blake 💻
Andrew Bastin 💻
+ Vladislav 💻
- Vladislav 💻
izerozlu 💻
Jacob Anavisca 💻
Nityananda Gohain 💻
diff --git a/layouts/default.vue b/layouts/default.vue
index 56c24d1b5..62bee0068 100644
--- a/layouts/default.vue
+++ b/layouts/default.vue
@@ -138,6 +138,14 @@
+
+ books
+
+
@@ -584,7 +608,7 @@ export default {
});
console.log("%cWe ❤︎ open source!", "background-color:white;padding:8px 16px;border-radius:8px;font-size:32px;color:red;")
- console.log("%cContribute: https://github.com/liyasthomas/postwoman", "background-color:black;padding:4px 8px;border-radius:8px;font-size:16px;color:white;text-decoration:none;")
+ console.log("%cContribute: https://github.com/liyasthomas/postwoman", "background-color:black;padding:4px 8px;border-radius:8px;font-size:16px;color:white;")
},
watch: {
diff --git a/pages/doc.vue b/pages/doc.vue
index a9fd0ab1e..73562914b 100644
--- a/pages/doc.vue
+++ b/pages/doc.vue
@@ -1,6 +1,6 @@
-
+
- {{ $t("raw_request_body") }}
+ {{ $t("collections") }}
Date: Sun, 22 Dec 2019 09:20:38 +0530
Subject: [PATCH 3/7] Initial iteration on Collection
---
assets/css/styles.scss | 1 +
pages/doc.vue | 20 ++++++++++++++++++--
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/assets/css/styles.scss b/assets/css/styles.scss
index d19cb85ea..ac82b6b4c 100644
--- a/assets/css/styles.scss
+++ b/assets/css/styles.scss
@@ -663,6 +663,7 @@ ol li {
display: inline-flex;
flex-direction: column;
flex-grow: 1;
+ justify-content: center;
}
.flex-wrap {
diff --git a/pages/doc.vue b/pages/doc.vue
index 73562914b..7537c9e1f 100644
--- a/pages/doc.vue
+++ b/pages/doc.vue
@@ -98,8 +98,24 @@ export default {
getDoc() {
let json = this.collectionJSON;
- let html;
- this.items = html;
+ let collections = JSON.parse(json);
+ for (let i = 0; i < collections.length; i++) {
+ console.log("Collection", i + 1, collections[i].name);
+ let folders = collections[i].folders;
+ for (let i = 0; i < folders.length; i++) {
+ console.log("Folder", i + 1, folders[i].name);
+ let requests = collections[i].requests;
+ for (let i = 0; i < requests.length; i++) {
+ console.log("Request", i + 1, requests[i].name);
+ }
+ }
+ let requests = collections[i].requests;
+ for (let i = 0; i < requests.length; i++) {
+ console.log("Request", i + 1, requests[i].name);
+ }
+ }
+ // let html = this.obj2htmltable(json);
+ // this.items = html;
}
}
};
From 5589c6142381057086e9105f1740c974df78b9af Mon Sep 17 00:00:00 2001
From: Liyas Thomas
Date: Sun, 22 Dec 2019 15:26:13 +0530
Subject: [PATCH 4/7] :tada: Display actual Documentation
---
pages/doc.vue | 64 ++++++++++++++++++++++++++++++++-------------------
1 file changed, 40 insertions(+), 24 deletions(-)
diff --git a/pages/doc.vue b/pages/doc.vue
index 7537c9e1f..6a68099b6 100644
--- a/pages/doc.vue
+++ b/pages/doc.vue
@@ -49,11 +49,45 @@
-
+
+
+
+
+ Collection #{{ index + 1 }}: {{ collection.name || "None" }}
+
+
+
+ Folder #{{ index + 1 }}: {{ folder.name || "None" }}
+
+ Request #{{ index + 1 }}: {{ request.name || "None" }}
+ path: {{ request.path || "None" }}
+ method: {{ request.method || "None" }}
+ auth: {{ request.auth || "None" }}
+ httpUser: {{ request.httpUser || "None" }}
+ httpPassword: {{ request.httpPassword || "None" }}
+ bearerToken: {{ request.bearerToken || "None" }}
+ Headers
+
+ Key: {{ header.key || "None" }}
+ Value: {{ header.value || "None" }}
+
+ Parameters
+
+ Key: {{ parameter.key || "None" }}
+ Value: {{ parameter.value || "None" }}
+
+ Payload
+
+ Key: {{ payload.key || "None" }}
+ Value: {{ payload.value || "None" }}
+
+ rawParams: {{ request.rawParams || "None" }}
+ contentType: {{ request.contentType || "None" }}
+ requestType: {{ request.requestType || "None" }}
+
+
+
+
@@ -97,25 +131,7 @@ export default {
},
getDoc() {
- let json = this.collectionJSON;
- let collections = JSON.parse(json);
- for (let i = 0; i < collections.length; i++) {
- console.log("Collection", i + 1, collections[i].name);
- let folders = collections[i].folders;
- for (let i = 0; i < folders.length; i++) {
- console.log("Folder", i + 1, folders[i].name);
- let requests = collections[i].requests;
- for (let i = 0; i < requests.length; i++) {
- console.log("Request", i + 1, requests[i].name);
- }
- }
- let requests = collections[i].requests;
- for (let i = 0; i < requests.length; i++) {
- console.log("Request", i + 1, requests[i].name);
- }
- }
- // let html = this.obj2htmltable(json);
- // this.items = html;
+ this.items = JSON.parse(this.collectionJSON);
}
}
};
From 10f6bb9cc628433aea9c4e220e50a0aceacc8054 Mon Sep 17 00:00:00 2001
From: Liyas Thomas
Date: Sun, 22 Dec 2019 15:49:26 +0530
Subject: [PATCH 5/7] :bug: Added error handler
---
pages/doc.vue | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/pages/doc.vue b/pages/doc.vue
index 6a68099b6..c91216409 100644
--- a/pages/doc.vue
+++ b/pages/doc.vue
@@ -131,7 +131,16 @@ export default {
},
getDoc() {
- this.items = JSON.parse(this.collectionJSON);
+ try {
+ this.items = JSON.parse(this.collectionJSON);
+ this.$toast.info("Documentation generated", {
+ icon: "book"
+ });
+ } catch (e) {
+ this.$toast.error(e, {
+ icon: "code"
+ });
+ }
}
}
};
From c3a6cc133fe119707afd144217dada00085045c2 Mon Sep 17 00:00:00 2001
From: Liyas Thomas
Date: Sun, 22 Dec 2019 23:28:36 +0530
Subject: [PATCH 6/7] :sparkles: Introducing API Documentation
---
assets/css/styles.scss | 16 ++-
pages/doc.vue | 249 ++++++++++++++++++++++++++++++++++++-----
2 files changed, 231 insertions(+), 34 deletions(-)
diff --git a/assets/css/styles.scss b/assets/css/styles.scss
index ac82b6b4c..79e6c1d4a 100644
--- a/assets/css/styles.scss
+++ b/assets/css/styles.scss
@@ -251,7 +251,10 @@ nav.secondary-nav {
h1,
h2,
-h3 {
+h3,
+h4 {
+ display: flex;
+ align-items: center;
margin: 0;
font-weight: 700;
}
@@ -526,7 +529,9 @@ kbd,
select,
input,
textarea,
-pre {
+pre,
+code {
+ display: inline-flex;
margin: 4px;
padding: 8px;
border-radius: 8px;
@@ -560,9 +565,10 @@ pre.ace_editor {
z-index: 0;
}
-code {
- height: 336px;
- border-radius: 8px;
+kbd,
+code,
+pre {
+ width: auto;
}
.select-wrapper {
diff --git a/pages/doc.vue b/pages/doc.vue
index c91216409..17685daf2 100644
--- a/pages/doc.vue
+++ b/pages/doc.vue
@@ -1,6 +1,6 @@
-
+
@@ -10,7 +10,7 @@
v-tooltip="'JSON'"
>
folder
- Import Collection
+ Import Collections
- {{ $t("collections") }}
-
-
-
- Collection #{{ index + 1 }}: {{ collection.name || "None" }}
-
-
-
- Folder #{{ index + 1 }}: {{ folder.name || "None" }}
-
- Request #{{ index + 1 }}: {{ request.name || "None" }}
- path: {{ request.path || "None" }}
- method: {{ request.method || "None" }}
- auth: {{ request.auth || "None" }}
- httpUser: {{ request.httpUser || "None" }}
- httpPassword: {{ request.httpPassword || "None" }}
- bearerToken: {{ request.bearerToken || "None" }}
+
+
+ folder
+ {{ collection.name || "None" }}
+
+
+
+ folder_open
+ {{ folder.name || "None" }}
+
+
+
+ insert_drive_file
+ {{ request.name || "None" }}
+
+
+
+ Path: {{ request.path || "None" }}
+
+
+
+
+ Method: {{ request.method || "None" }}
+
+
+
+
+ Authentication:
+ {{ request.auth || "None" }}
+
+
+
+
+ Uername: {{ request.httpUser || "None" }}
+
+
+
+
+ Password: {{ request.httpPassword || "None" }}
+
+
+
+
+ Token: {{ request.bearerToken || "None" }}
+
+
Headers
- Key: {{ header.key || "None" }}
- Value: {{ header.value || "None" }}
+
+
+ {{ header.key || "None" }}:
+ {{ header.value || "None" }}
+
+
Parameters
- Key: {{ parameter.key || "None" }}
- Value: {{ parameter.value || "None" }}
+
+
+ {{ parameter.key || "None" }}:
+ {{ parameter.value || "None" }}
+
+
Payload
- Key: {{ payload.key || "None" }}
- Value: {{ payload.value || "None" }}
+
+
+ {{ payload.key || "None" }}:
+ {{ payload.value || "None" }}
+
+
- rawParams: {{ request.rawParams || "None" }}
- contentType: {{ request.contentType || "None" }}
- requestType: {{ request.requestType || "None" }}
+
+
+ Parameters: {{ request.rawParams || "None" }}
+
+
+
+
+ Content Type: {{ request.contentType || "None" }}
+
+
+
+
+ Request Type: {{ request.requestType || "None" }}
+
+
+
+
+ insert_drive_file
+ {{ request.name || "None" }}
+
+
+
+ Path: {{ request.path || "None" }}
+
+
+
+
+ Method: {{ request.method || "None" }}
+
+
+
+
+ Authentication:
+ {{ request.auth || "None" }}
+
+
+
+
+ Uername: {{ request.httpUser || "None" }}
+
+
+
+
+ Password: {{ request.httpPassword || "None" }}
+
+
+
+
+ Token: {{ request.bearerToken || "None" }}
+
+
+ Headers
+
+
+
+ {{ header.key || "None" }}:
+ {{ header.value || "None" }}
+
+
+
+ Parameters
+
+
+
+ {{ parameter.key || "None" }}:
+ {{ parameter.value || "None" }}
+
+
+
+ Payload
+
+
+
+ {{ payload.key || "None" }}:
+ {{ payload.value || "None" }}
+
+
+
+
+
+ Parameters: {{ request.rawParams || "None" }}
+
+
+
+
+ Content Type: {{ request.contentType || "None" }}
+
+
+
+
+ Request Type: {{ request.requestType || "None" }}
+
+
+
-
+