roast-api 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roast-api",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "A static JSON API for delivering developer roasts.",
5
5
  "main": "api/client.js",
6
6
  "scripts": {
@@ -1,37 +0,0 @@
1
- name: Deploy to GitHub Pages
2
-
3
- on:
4
- push:
5
- branches: ["main"]
6
- workflow_dispatch:
7
-
8
- permissions:
9
- contents: read
10
- pages: write
11
- id-token: write
12
-
13
- concurrency:
14
- group: "pages"
15
- cancel-in-progress: false
16
-
17
- jobs:
18
- deploy:
19
- environment:
20
- name: github-pages
21
- url: ${{ steps.deployment.outputs.page_url }}
22
- runs-on: ubuntu-latest
23
- steps:
24
- - name: Checkout
25
- uses: actions/checkout@v4
26
-
27
- - name: Setup Pages
28
- uses: actions/configure-pages@v5
29
-
30
- - name: Upload artifact
31
- uses: actions/upload-pages-artifact@v3
32
- with:
33
- path: '.'
34
-
35
- - name: Deploy to GitHub Pages
36
- id: deployment
37
- uses: actions/deploy-pages@v4
@@ -1,51 +0,0 @@
1
- name: Publish Package and Release
2
-
3
- on:
4
- push:
5
- tags:
6
- - 'v*.*.*'
7
-
8
- jobs:
9
- publish-npm:
10
- runs-on: ubuntu-latest
11
- permissions:
12
- contents: write
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - uses: actions/setup-node@v4
17
- with:
18
- node-version: '20.x'
19
- registry-url: 'https://registry.npmjs.org'
20
-
21
- - run: npm publish --access public
22
- env:
23
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
24
-
25
- - name: Create Release
26
- uses: softprops/action-gh-release@v1
27
- with:
28
- files: |
29
- api/client.js
30
- postman/roast-as-a-service.postman_collection.json
31
-
32
- publish-pypi:
33
- runs-on: ubuntu-latest
34
- steps:
35
- - uses: actions/checkout@v4
36
-
37
- - uses: actions/setup-python@v5
38
- with:
39
- python-version: '3.x'
40
-
41
- - name: Install build tools
42
- run: pip install build twine
43
-
44
- - name: Build package
45
- run: python -m build
46
-
47
- - name: Publish to PyPI
48
- run: twine upload dist/*
49
- env:
50
- TWINE_USERNAME: __token__
51
- TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
package/api/index.html DELETED
@@ -1,52 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <meta charset="UTF-8">
6
- <title>RaaS API</title>
7
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
- <style>
9
- body {
10
- background-color: #0d1117;
11
- color: #c9d1d9;
12
- font-family: monospace;
13
- display: flex;
14
- justify-content: center;
15
- align-items: center;
16
- height: 100vh;
17
- margin: 0;
18
- }
19
-
20
- pre {
21
- background: #161b22;
22
- padding: 20px;
23
- border-radius: 6px;
24
- border: 1px solid #30363d;
25
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
26
- }
27
-
28
- a {
29
- color: #58a6ff;
30
- text-decoration: none;
31
- }
32
-
33
- a:hover {
34
- text-decoration: underline;
35
- }
36
- </style>
37
- </head>
38
-
39
- <body>
40
- <pre>{
41
- "service": "Roast as a Service (RaaS)",
42
- "status": "operational",
43
- "version": 1,
44
- "message": "This is the base path. Please use specific endpoints.",
45
- "links": {
46
- "documentation": "<a href="../">../ (Website)</a>",
47
- "manifest": "<a href="./manifest.json">./manifest.json</a>"
48
- }
49
- }</pre>
50
- </body>
51
-
52
- </html>
package/assets/logo.png DELETED
Binary file
package/assets/style.css DELETED
@@ -1,421 +0,0 @@
1
- :root {
2
- --bg: #020617;
3
- --bg-elevated: #020617;
4
- --card: #020617;
5
- --border-subtle: #1e293b;
6
- --accent: #f97316;
7
- --accent-soft: rgba(249, 115, 22, 0.18);
8
- --accent-2: #ec4899;
9
- --text-main: #e5e7eb;
10
- --text-muted: #9ca3af;
11
- --text-soft: #6b7280;
12
- --terminal-bg: #020617;
13
- --terminal-border: #1f2933;
14
- --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text",
15
- "Segoe UI", sans-serif;
16
- }
17
-
18
- *,
19
- *::before,
20
- *::after {
21
- box-sizing: border-box;
22
- }
23
-
24
- body {
25
- margin: 0;
26
- font-family: var(--font-sans);
27
- background: radial-gradient(circle at top, #0f172a 0, #020617 52%);
28
- color: var(--text-main);
29
- }
30
-
31
- .shell {
32
- max-width: 1120px;
33
- margin: 0 auto;
34
- padding: 24px 16px 40px;
35
- }
36
-
37
- .hero {
38
- display: flex;
39
- flex-wrap: wrap;
40
- gap: 24px;
41
- align-items: stretch;
42
- justify-content: space-between;
43
- margin-top: 12px;
44
- margin-bottom: 32px;
45
- }
46
-
47
- .hero-text {
48
- flex: 1 1 320px;
49
- min-width: 0;
50
- }
51
-
52
- .hero-card {
53
- flex: 1 1 320px;
54
- max-width: 460px;
55
- background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(15, 23, 42, 0.7));
56
- border-radius: 18px;
57
- border: 1px solid rgba(148, 163, 184, 0.18);
58
- box-shadow:
59
- 0 20px 40px rgba(15, 23, 42, 0.8),
60
- 0 0 0 1px rgba(15, 23, 42, 0.8);
61
- overflow: hidden;
62
- }
63
-
64
- h1 {
65
- display: flex;
66
- align-items: center;
67
- gap: 12px;
68
- font-size: clamp(2.1rem, 3vw, 2.6rem);
69
- letter-spacing: -0.04em;
70
- margin: 8px 0;
71
- }
72
-
73
- .logo-md {
74
- width: 48px;
75
- height: 48px;
76
- object-fit: contain;
77
- filter: drop-shadow(0 0 10px rgba(249, 115, 22, 0.5));
78
- }
79
-
80
- .brand-pill {
81
- display: inline-flex;
82
- font-size: 0.8rem;
83
- font-weight: 600;
84
- color: var(--accent-2);
85
- margin-bottom: 4px;
86
- }
87
-
88
- .brand-pill a {
89
- color: var(--accent-2);
90
- text-decoration: none;
91
- margin-left: 4px;
92
- }
93
-
94
- .brand-pill a:hover {
95
- text-decoration: underline;
96
- }
97
-
98
- .subtitle {
99
- margin: 0 0 18px;
100
- color: var(--text-muted);
101
- max-width: 480px;
102
- }
103
-
104
- .badge {
105
- display: inline-flex;
106
- align-items: center;
107
- justify-content: center;
108
- font-size: 0.8rem;
109
- text-transform: uppercase;
110
- letter-spacing: 0.12em;
111
- padding: 2px 10px;
112
- border-radius: 999px;
113
- background: rgba(249, 115, 22, 0.15);
114
- color: #fed7aa;
115
- border: 1px solid rgba(249, 115, 22, 0.5);
116
- margin-left: 8px;
117
- }
118
-
119
- .hero-actions {
120
- display: flex;
121
- flex-wrap: wrap;
122
- gap: 10px;
123
- margin-bottom: 10px;
124
- }
125
-
126
- .btn {
127
- border-radius: 999px;
128
- padding: 0.7rem 1.6rem;
129
- font-size: 0.95rem;
130
- font-weight: 600;
131
- border: none;
132
- cursor: pointer;
133
- transition: transform 0.12s ease-out, box-shadow 0.12s ease-out, opacity 0.12s;
134
- }
135
-
136
- .btn.primary {
137
- background: linear-gradient(135deg, var(--accent), var(--accent-2));
138
- color: white;
139
- box-shadow:
140
- 0 10px 25px rgba(249, 115, 22, 0.35),
141
- 0 0 0 1px rgba(248, 250, 252, 0.04);
142
- }
143
-
144
- .btn.primary:hover {
145
- transform: translateY(-1px);
146
- opacity: 0.94;
147
- }
148
-
149
- .btn.ghost {
150
- background: rgba(15, 23, 42, 0.7);
151
- color: var(--text-main);
152
- border: 1px solid rgba(148, 163, 184, 0.5);
153
- }
154
-
155
- .btn.ghost:hover {
156
- background: rgba(15, 23, 42, 0.9);
157
- }
158
-
159
- .meta {
160
- margin-top: 4px;
161
- font-size: 0.85rem;
162
- color: var(--text-soft);
163
- }
164
-
165
- .card-header {
166
- display: flex;
167
- align-items: center;
168
- gap: 8px;
169
- padding: 10px 14px;
170
- border-bottom: 1px solid var(--terminal-border);
171
- background: radial-gradient(circle at top left, #111827, #020617);
172
- }
173
-
174
- .dot {
175
- width: 10px;
176
- height: 10px;
177
- border-radius: 50%;
178
- }
179
-
180
- .dot.red {
181
- background: #f97373;
182
- }
183
-
184
- .dot.amber {
185
- background: #fbbf24;
186
- }
187
-
188
- .dot.green {
189
- background: #34d399;
190
- }
191
-
192
- .card-title {
193
- margin-left: auto;
194
- font-size: 0.78rem;
195
- text-transform: uppercase;
196
- letter-spacing: 0.16em;
197
- color: var(--text-soft);
198
- }
199
-
200
- .terminal {
201
- margin: 0;
202
- font-family: "SF Mono", ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
203
- font-size: 0.85rem;
204
- background: var(--terminal-bg);
205
- padding: 16px;
206
- min-height: 140px;
207
- white-space: pre-wrap;
208
- border-radius: 0 0 18px 18px;
209
- border-top: 1px solid rgba(15, 23, 42, 0.4);
210
- }
211
-
212
- main {
213
- margin-top: 8px;
214
- }
215
-
216
- .section {
217
- margin-bottom: 32px;
218
- }
219
-
220
- .section h2 {
221
- margin: 0 0 6px;
222
- font-size: 1.25rem;
223
- }
224
-
225
- .section p {
226
- margin: 0 0 14px;
227
- color: var(--text-muted);
228
- }
229
-
230
- .grid {
231
- display: grid;
232
- grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
233
- gap: 14px;
234
- }
235
-
236
- .card {
237
- background: rgba(15, 23, 42, 0.85);
238
- border-radius: 16px;
239
- border: 1px solid var(--border-subtle);
240
- padding: 14px 14px 16px;
241
- }
242
-
243
- .card h3 {
244
- margin: 0 0 6px;
245
- font-size: 1rem;
246
- }
247
-
248
- .card p {
249
- margin: 0;
250
- font-size: 0.92rem;
251
- }
252
-
253
- .section-accent {
254
- border-radius: 18px;
255
- padding: 18px 16px 20px;
256
- background: radial-gradient(circle at top left, rgba(249, 115, 22, 0.09), rgba(15, 23, 42, 0.96));
257
- border: 1px solid rgba(249, 115, 22, 0.25);
258
- box-shadow: 0 18px 40px rgba(15, 23, 42, 0.8);
259
- }
260
-
261
- .section-accent h2 {
262
- font-size: 1.3rem;
263
- }
264
-
265
- .arch-grid {
266
- margin-top: 10px;
267
- }
268
-
269
- .arch-card {
270
- background: rgba(15, 23, 42, 0.96);
271
- border-radius: 14px;
272
- border: 1px solid rgba(148, 163, 184, 0.4);
273
- }
274
-
275
- .arch-card h3 {
276
- font-size: 0.98rem;
277
- }
278
-
279
- .arch-card p {
280
- font-size: 0.9rem;
281
- }
282
-
283
- .code-grid {
284
- display: grid;
285
- grid-template-columns: minmax(0, 1fr);
286
- gap: 14px;
287
- }
288
-
289
- @media (min-width: 840px) {
290
- .code-grid {
291
- grid-template-columns: repeat(2, minmax(0, 1fr));
292
- }
293
- }
294
-
295
- .code-card {
296
- background: rgba(15, 23, 42, 0.9);
297
- border-radius: 14px;
298
- border: 1px solid var(--border-subtle);
299
- overflow: hidden;
300
- }
301
-
302
- .code-card h3 {
303
- margin: 10px 12px;
304
- font-size: 0.96rem;
305
- }
306
-
307
- .code-card pre {
308
- margin: 0;
309
- padding: 10px 12px 12px;
310
- background: #020617;
311
- font-family: "SF Mono", ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
312
- font-size: 0.8rem;
313
- overflow-x: auto;
314
- }
315
-
316
- .share-buttons {
317
- display: flex;
318
- flex-wrap: wrap;
319
- gap: 8px;
320
- margin-top: 6px;
321
- }
322
-
323
- .share-btn {
324
- display: inline-flex;
325
- align-items: center;
326
- justify-content: center;
327
- padding: 0.4rem 0.9rem;
328
- border-radius: 999px;
329
- font-size: 0.8rem;
330
- text-decoration: none;
331
- background: rgba(15, 23, 42, 0.9);
332
- color: var(--text-main);
333
- border: 1px solid rgba(148, 163, 184, 0.6);
334
- }
335
-
336
- .share-btn:hover {
337
- background: rgba(15, 23, 42, 1);
338
- }
339
-
340
- .footer {
341
- margin-top: 32px;
342
- padding-top: 16px;
343
- border-top: 1px solid rgba(15, 23, 42, 0.9);
344
- font-size: 0.8rem;
345
- color: var(--text-soft);
346
- }
347
-
348
- .footer a {
349
- color: #93c5fd;
350
- text-decoration: none;
351
- }
352
-
353
- .footer a:hover {
354
- text-decoration: underline;
355
- }
356
-
357
- code {
358
- font-family: "SF Mono", ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
359
- font-size: 0.85em;
360
- }
361
-
362
- @media (max-width: 600px) {
363
- .shell {
364
- padding: 16px 12px 32px;
365
- }
366
-
367
- .hero {
368
- margin-top: 4px;
369
- gap: 20px;
370
- }
371
-
372
- h1 {
373
- font-size: 1.8rem;
374
- flex-wrap: wrap;
375
- /* Allow logo to wrap if needed, though unlikely */
376
- }
377
-
378
- .logo-md {
379
- width: 36px;
380
- height: 36px;
381
- }
382
-
383
- .subtitle {
384
- font-size: 0.95rem;
385
- }
386
-
387
- .hero-actions {
388
- width: 100%;
389
- }
390
-
391
- .btn {
392
- width: 100%;
393
- /* Full width buttons on mobile */
394
- text-align: center;
395
- padding: 0.8rem 1rem;
396
- }
397
-
398
- .hero-actions .btn {
399
- flex: 1 1 100%;
400
- }
401
-
402
- .terminal {
403
- font-size: 0.8rem;
404
- /* Slightly smaller code font */
405
- min-height: 120px;
406
- }
407
-
408
- .section h2 {
409
- font-size: 1.15rem;
410
- }
411
-
412
- .share-buttons {
413
- justify-content: stretch;
414
- }
415
-
416
- .share-btn {
417
- flex: 1 1 40%;
418
- /* 2 per row roughly */
419
- text-align: center;
420
- }
421
- }
package/composer.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "name": "maizied/roast-api",
3
- "description": "A PHP client for RaaS — Roast as a Service. CDN-served static JSON API for developer roasts.",
4
- "type": "library",
5
- "license": "MIT",
6
- "authors": [
7
- {
8
- "name": "Maizied",
9
- "email": "mdshuvo40@gmail.com"
10
- }
11
- ],
12
- "homepage": "https://maijied.github.io/roast-as-a-service/",
13
- "keywords": [
14
- "roast",
15
- "api",
16
- "developer",
17
- "humor",
18
- "fun",
19
- "cdn"
20
- ],
21
- "require": {
22
- "php": ">=7.4"
23
- },
24
- "autoload": {
25
- "psr-4": {
26
- "Maizied\\RoastApi\\": "src/"
27
- }
28
- },
29
- "minimum-stability": "stable"
30
- }