pegdown が Google App Engine で使えるか試したのでその過程と結果をシェアします。 ごく簡単な markdown テキストがパースできることを確認した段階です。
5分でできる Hello, World! https://cloud.google.com/appengine/docs/java/ に沿って作業を進めます。 java-docs-samples の helloworld プロジェクトを一部修正して pegdown が使えるか試しました。
このページの説明にそって http://localhost:8080/ で Hello, World! と表示されるところまで進めます。
これについては、このページに書いてある通りなのでこれ以上の説明は省略します。
markdown パーサーとして pegdown を使うので、pom.xml を編集します。 dependencies 要素に pegdown を追加するだけです。
pom.xml
<dependency>
<groupId>org.pegdown</groupId>
<artifactId>pegdown</artifactId>
<version>1.6.0</version>
</dependency>
HelloServlet.java に markdown から HTML へ変換する簡単なコードを以下を追加.
String html = new PegDownProcessor().markdownToHtml("# Hello, World!");
out.println( html );
ソース全体 (HelloServlet.java)
package com.example.appengine.helloworld;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.pegdown.PegDownProcessor;
// [START example]
@SuppressWarnings("serial")
public class HelloServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
PrintWriter out = resp.getWriter();
//out.println("Hello, world");
String html = new PegDownProcessor().markdownToHtml("# Hello, world");
out.println(html);
}
}
ごく簡単な変換をためしただけですが、少なくともこの範囲では問題ないようです。 markdown を Google App Engine で使う場合の検討をしている方の参考になれば幸いです。