From df58ac0c9854cc33606e7379f1e87a00b0ef8a2d Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 18 Aug 2017 16:22:05 +0300 Subject: www: render help from markdown --- .../main/java/com/juick/www/controllers/Help.java | 29 ++++++++++------------ 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'juick-www/src/main/java/com/juick/www/controllers/Help.java') diff --git a/juick-www/src/main/java/com/juick/www/controllers/Help.java b/juick-www/src/main/java/com/juick/www/controllers/Help.java index 4198b23a..335f4b7a 100644 --- a/juick-www/src/main/java/com/juick/www/controllers/Help.java +++ b/juick-www/src/main/java/com/juick/www/controllers/Help.java @@ -18,23 +18,22 @@ package com.juick.www.controllers; import com.juick.server.util.HttpNotFoundException; -import com.juick.service.MessagesService; import com.juick.server.util.UserUtils; +import com.juick.service.MessagesService; import com.juick.www.HelpService; import com.juick.www.WebApp; +import org.commonmark.parser.Parser; +import org.commonmark.renderer.html.HtmlRenderer; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import javax.inject.Inject; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URISyntaxException; import java.util.Locale; import java.util.Objects; -import java.util.Optional; /** * Created by aalexeev on 11/21/16. @@ -47,25 +46,23 @@ public class Help { private MessagesService messagesService; @Inject private WebApp webApp; + @Inject + private Parser cmParser; + @Inject + private HtmlRenderer helpRenderer; @GetMapping({"/help/", "/help", "/help/{langOrPage}", "/help/{lang}/{page}"}) public String showHelp( - HttpServletRequest request, - HttpServletResponse response, Locale locale, - @PathVariable("lang") Optional langParam, - @PathVariable("page") Optional pageParam, - @PathVariable("langOrPage") Optional langOrPageParam, + @PathVariable(required = false, name = "lang") String lang, + @PathVariable(required = false, name = "page") String page, + @PathVariable(required = false, name = "langOrPage") String langOrPage, Model model) throws IOException, URISyntaxException { com.juick.User visitor = UserUtils.getCurrentUser(); - String page = pageParam.orElse("index"); - String lang = langParam.orElse(locale.getLanguage()); String navigation = null; - if (langOrPageParam.isPresent()) { - String langOrPage = langOrPageParam.get(); - + if (langOrPage != null) { if (helpService.canBeLang(langOrPage)) { navigation = helpService.getHelp("navigation", langOrPage); if (navigation != null) @@ -86,8 +83,8 @@ public class Help { if (content == null || navigation == null) throw new HttpNotFoundException(); - model.addAttribute("navigation", navigation); - model.addAttribute("content", content); + model.addAttribute("navigation", helpRenderer.render(cmParser.parse(navigation))); + model.addAttribute("content", helpRenderer.render(cmParser.parse(content))); model.addAttribute("visitor", visitor); return "views/help"; -- cgit v1.2.3