Initial Commot
This commit is contained in:
100
SETUP.md
Normal file
100
SETUP.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# Spring Boot Banner Generator — Setup & Usage
|
||||
|
||||
## Running the App
|
||||
|
||||
```bash
|
||||
mvn spring-boot:run
|
||||
```
|
||||
|
||||
The app starts on `http://localhost:8080`.
|
||||
|
||||
---
|
||||
|
||||
## Web UI
|
||||
|
||||
Open your browser and go to:
|
||||
|
||||
```
|
||||
http://localhost:8080/banner
|
||||
```
|
||||
|
||||
Upload an image, choose light or dark mode, and the colored HTML banner is rendered in the page.
|
||||
|
||||
---
|
||||
|
||||
## REST API
|
||||
|
||||
### Generate a Banner
|
||||
|
||||
**Endpoint:** `POST /api/banner`
|
||||
**Content-Type:** `multipart/form-data`
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|---------|---------|----------|------------------------------------|
|
||||
| `image` | file | yes | Image to convert (PNG, JPG, etc.) |
|
||||
| `dark` | boolean | no | Use dark color scheme (default: false) |
|
||||
|
||||
**Curl example:**
|
||||
|
||||
```bash
|
||||
curl -X POST http://localhost:8080/api/banner \
|
||||
-F "image=@./logo.png" \
|
||||
-F "dark=false"
|
||||
```
|
||||
|
||||
**Response (JSON):**
|
||||
|
||||
```json
|
||||
{
|
||||
"ansi": "${AnsiColor.RED}@@@@...",
|
||||
"html": "<span style='color:#ff0000'>@</span>..."
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Which Output to Use
|
||||
|
||||
### `ansi` — Colored terminal banner for Spring Boot apps
|
||||
|
||||
The `ansi` field contains Spring Boot's `${AnsiColor.X}` syntax. Paste it into `src/main/resources/banner.txt` in **any Spring Boot project** and it will print in color when the app starts.
|
||||
|
||||
**Extract and save directly:**
|
||||
|
||||
```bash
|
||||
curl -s -X POST http://localhost:8080/api/banner \
|
||||
-F "image=@./logo.png" \
|
||||
-F "dark=false" \
|
||||
| python -c "import sys,json; print(json.load(sys.stdin)['ansi'])" \
|
||||
> /path/to/your-spring-app/src/main/resources/banner.txt
|
||||
```
|
||||
|
||||
Then start your Spring Boot app — the banner prints in color in the terminal.
|
||||
|
||||
### `html` — Colored banner for web pages
|
||||
|
||||
The `html` field contains inline `<span style='color:#rrggbb'>` tags. Drop it inside a `<pre>` tag in any HTML page:
|
||||
|
||||
```html
|
||||
<pre style="font-family: monospace; background: #000;">
|
||||
<!-- paste html field value here -->
|
||||
</pre>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Swagger UI
|
||||
|
||||
Interactive API docs are available at:
|
||||
|
||||
```
|
||||
http://localhost:8080/swagger-ui.html
|
||||
```
|
||||
|
||||
Use it to explore and test the `/api/banner` endpoint directly from the browser — upload a file, toggle dark mode, and see the live JSON response.
|
||||
|
||||
The raw OpenAPI spec (JSON) is at:
|
||||
|
||||
```
|
||||
http://localhost:8080/v2/api-docs
|
||||
```
|
||||
Reference in New Issue
Block a user