Kohei Nozaki's blog 

markdown4jで遊ぶ


Posted on Wednesday Jan 22, 2014 at 01:28PM in Technology


環境

  • markdown4j 2.2
  • WildFly 8.0.0CR1
  • Oracle JDK7u51

何をするの?

markdown4jで遊びます。とりあえずサンプルとかありがちなのを動かしてみてどんな感じのhtmlが生成されるか見てみます。

実験用画面も置いておきます

準備

pom.xml

mavenで取ってこれるのでここにあるdependencyを追加します

実験用画面

JSFで画面を作ります

CDI管理Bean

import java.io.IOException;
import java.io.Serializable;

import javax.enterprise.context.SessionScoped;
import javax.inject.Named;

import org.markdown4j.Markdown4jProcessor;

@Named
@SessionScoped
public class MarkdownBean implements Serializable {

	String body;
	String md;

	public String getMd() {
		return md;
	}

	public void setMd(String md) {
		this.md = md;
	}

	public String getBody() {
		return body;
	}

	public void setBody(String body) {
		this.body = body;
	}

	public void process() throws IOException {
		md = new Markdown4jProcessor().process(body);
	}
}

Faceletsページ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets">

<h:head></h:head>
<body>
	<h:form>
		<h:inputTextarea value="#{markdownBean.body}" cols="80" rows="5"
			id="input" />
		<br />
		<h:commandButton action="#{markdownBean.process()}" value="process">
			<f:ajax execute="input" render="md md2" />
		</h:commandButton>
		<div>
			<h:outputText value="#{markdownBean.md}" id="md" />
		</div>
		<hr />
		<div>
			<h:outputText value="#{markdownBean.md}" id="md2" escape="false" />
		</div>
	</h:form>
</body>
</html>

動かしてみる

遊ぶ

markdown4jのページにあるサンプル






最後の方は外部サービス連携みたいですが便利ですね

さらに遊ぶ

# 見出し1
## 見出し2

段落1ああああああああああああああああああああああああああああああああああああああああああああああああああ

段落2

[リンク](http://www.google.com/)

![画像](/jboss_community.png)

``` java
class hoge{
  private int hoge;
  private int hoge2;
}
```

参考文献