我们正在写一个grails(Grails 2.1.1)项目,对于我们的一些观点,我们想要使用markdown而不是gsp文件。
目前我们可以使用特殊布局中的markdown plugin来完成此操作。这允许我们像这样渲染降价视图:
render(layout: 'docs', view: 'markdown')
但是,这需要降价页面具有.gsp扩展名,当出于实际原因,我们需要它具有.md扩展名。
有没有人知道将markdown用作grails视图的更好方法?如果我们可以避免使用.gsp扩展名,那就太好了。
答案 0 :(得分:2)
如果不进行一些重大改动,你将无法做到。分布式GrailsViewResolver与.gsp和.jsp扩展名紧密相连。
请参阅grails-core on github进行验证。
您可以设置自己的Ant任务,将其挂钩到Grails应用程序的Compile循环中,这样至少可以通过GroovyPageCompiler编译* .md文件。
该过程可能看起来像this(虽然不完全正确,因为我依赖插件的taglib在这种情况下进行渲染,为简单起见)。
但这并不能解决你所有的问题。您还需要注册一个新的视图解析器,为此,您将不可避免地重写GrailsDispatcherServlet。
听起来你在conf目录中存储文件的解决方案现在可能是你最好的(虽然很脏)。也许有人会花时间在将来允许可配置的GSP文件扩展名,这可能会解决您的问题。
我希望您能找到一些有用的信息。
答案 1 :(得分:0)
我做了几乎相同的事情,但今天采用了另一种方法。我想提供项目的自述文件,所以我无法将它移动到任何地方。我最终将其从readme.md
软链接到grails-app/views/readme/readme.gsp
。我posted关于整个事情。
是的 - 如果您和您的所有同事都在* -nix上,则软链接会起作用 - 因此它不是一种平台安全的方式。