site
This commit is contained in:
parent
5e70585afc
commit
03bf7b7658
@ -72,6 +72,8 @@ public class HtmlGeneratorController {
|
|||||||
@PostMapping("/generate")
|
@PostMapping("/generate")
|
||||||
public ResponseEntity<?> generateHtml(@RequestBody Map<String, Object> jsonInput) {
|
public ResponseEntity<?> generateHtml(@RequestBody Map<String, Object> jsonInput) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
System.out.println(" generate html for json.." + jsonInput);
|
||||||
StringBuilder html = new StringBuilder();
|
StringBuilder html = new StringBuilder();
|
||||||
|
|
||||||
for (Map.Entry<String, Object> entry : jsonInput.entrySet()) {
|
for (Map.Entry<String, Object> entry : jsonInput.entrySet()) {
|
||||||
|
|||||||
@ -25,8 +25,25 @@ public class HtmlBuilder5 {
|
|||||||
// Standard tag name (from 'element' key)
|
// Standard tag name (from 'element' key)
|
||||||
String tag = getString(node, "element", "div");
|
String tag = getString(node, "element", "div");
|
||||||
|
|
||||||
|
// Standard tag name (from 'element' key)
|
||||||
|
|
||||||
|
// ✅ CUSTOM: Render <img> using keywords and Unsplash image
|
||||||
|
if ("img".equals(tag) && node.containsKey("keywords")) {
|
||||||
|
String keywords = getString(node, "keywords", "");
|
||||||
|
String imageUrl = getImageFromKeyword(keywords);
|
||||||
|
html.append("<img");
|
||||||
|
|
||||||
|
// Set attributes like class, alt, etc.
|
||||||
|
appendAttribute(html, node, "class");
|
||||||
|
html.append(" src=\"").append(imageUrl).append("\"");
|
||||||
|
|
||||||
|
html.append(" />");
|
||||||
|
return html.toString(); // Done
|
||||||
|
}
|
||||||
|
|
||||||
// Start tag
|
// Start tag
|
||||||
html.append("<").append(tag);
|
html.append("<").append(tag);
|
||||||
|
|
||||||
// String clazz = getString(node, "class", "");
|
// String clazz = getString(node, "class", "");
|
||||||
// if (!clazz.isEmpty()) {
|
// if (!clazz.isEmpty()) {
|
||||||
// html.append(" class=\"").append(clazz).append("\"");
|
// html.append(" class=\"").append(clazz).append("\"");
|
||||||
@ -215,4 +232,16 @@ public class HtmlBuilder5 {
|
|||||||
return html.toString();
|
return html.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getImageFromKeyword(String keywords) {
|
||||||
|
// Convert space-separated keywords to Unsplash format
|
||||||
|
String query = keywords.trim().replace(" ", ",");
|
||||||
|
// Return Unsplash proxy image URL (free to use)
|
||||||
|
// "https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=800&q=80"
|
||||||
|
|
||||||
|
// return "https://source.unsplash.com/800x400/?" + query;
|
||||||
|
|
||||||
|
return "https://images.unsplash.com/" + query + "?auto=format&fit=crop&w=800&q=80";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,6 @@ package com.realnet.vpspack.Controllers;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@ -29,6 +28,13 @@ import com.realnet.fnd.response.EntityResponse;
|
|||||||
import com.realnet.vpspack.Entity.SiteBuilder;
|
import com.realnet.vpspack.Entity.SiteBuilder;
|
||||||
import com.realnet.vpspack.Entity.SiteBuilderDto;
|
import com.realnet.vpspack.Entity.SiteBuilderDto;
|
||||||
import com.realnet.vpspack.Services.SiteBuilderService;
|
import com.realnet.vpspack.Services.SiteBuilderService;
|
||||||
|
import org.eclipse.jgit.api.Git;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.apache.commons.io.FileUtils;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
@RequestMapping(value = "/SiteTree")
|
@RequestMapping(value = "/SiteTree")
|
||||||
@CrossOrigin("*")
|
@CrossOrigin("*")
|
||||||
@ -111,6 +117,35 @@ public class SiteBuilderController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static final String BASE_CLONE_PATH = "C:/cloned-repos"; // Change as needed
|
||||||
|
|
||||||
|
@PostMapping("/clone")
|
||||||
|
public ResponseEntity<String> cloneRepo(@RequestParam String gitUrl, @RequestParam String branch) {
|
||||||
|
try {
|
||||||
|
String repoName = gitUrl.substring(gitUrl.lastIndexOf("/") + 1).replace(".git", "");
|
||||||
|
File localPath = new File(BASE_CLONE_PATH + File.separator + repoName);
|
||||||
|
|
||||||
|
// Clean if already exists
|
||||||
|
if (localPath.exists()) {
|
||||||
|
FileUtils.deleteDirectory(localPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clone the specific branch
|
||||||
|
Git.cloneRepository()
|
||||||
|
.setURI(gitUrl)
|
||||||
|
.setBranch(branch)
|
||||||
|
.setDirectory(localPath)
|
||||||
|
.call();
|
||||||
|
|
||||||
|
return ResponseEntity.ok("Repository cloned successfully to: " + localPath.getAbsolutePath());
|
||||||
|
} catch (Exception e) {
|
||||||
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
|
||||||
|
.body("Failed to clone repository: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// it created all file of pages
|
// it created all file of pages
|
||||||
@PostMapping("/SiteTree/createFile")
|
@PostMapping("/SiteTree/createFile")
|
||||||
public ResponseEntity<?> createHtmlFiles(@RequestParam Integer siteId, @RequestParam String siteBuilderName,
|
public ResponseEntity<?> createHtmlFiles(@RequestParam Integer siteId, @RequestParam String siteBuilderName,
|
||||||
@ -124,6 +159,11 @@ public class SiteBuilderController {
|
|||||||
|
|
||||||
String filepath = projectPath + File.separator + "Files" + File.separator + siteBuilderName;
|
String filepath = projectPath + File.separator + "Files" + File.separator + siteBuilderName;
|
||||||
|
|
||||||
|
if (filename.equalsIgnoreCase("home")) {
|
||||||
|
|
||||||
|
filename = "index";
|
||||||
|
|
||||||
|
}
|
||||||
ResponseEntity<?> file = fileHelper.readFile(filepath, filename);
|
ResponseEntity<?> file = fileHelper.readFile(filepath, filename);
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -162,7 +162,7 @@ public class SiteBuilderService {
|
|||||||
if (get.getStatusCodeValue() < 209) {
|
if (get.getStatusCodeValue() < 209) {
|
||||||
System.out.println(" deplpoyed also...");
|
System.out.println(" deplpoyed also...");
|
||||||
|
|
||||||
String deployedUrl = PortConstant.DOMAIN + "/" + serverPortNo;
|
String deployedUrl = PortConstant.DOMAIN + ":" + serverPortNo;
|
||||||
SiteBuilder siteBuilder = getdetailsbyId(siteId);
|
SiteBuilder siteBuilder = getdetailsbyId(siteId);
|
||||||
siteBuilder.setDeployedUrl(deployedUrl);
|
siteBuilder.setDeployedUrl(deployedUrl);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user