package dev.fyloz.trial.colorrecipesexplorer.service.files;

import org.commonmark.node.Node;
import org.commonmark.parser.Parser;
import org.commonmark.renderer.html.HtmlRenderer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class MarkdownFilesService {

    private FilesService filesService;

    @Autowired
    public MarkdownFilesService(FilesService filesService) {
        this.filesService = filesService;
    }

    /**
     * Lit et fait le rendu en HTML d'un fichier MarkDown.
     *
     * @param path Le chemin vers la fichier (sans classpath:, depuis le dossier resources)
     * @return Le MarkDown rendu en HTML
     */
    public String render(String path) {
        String fileContent = filesService.readResource(path);

        Parser parser = Parser.builder().build();
        Node document = parser.parse(fileContent);
        HtmlRenderer renderer = HtmlRenderer.builder().build();

        return renderer.render(document);
    }

}
