JavaやGroovyのソースコードをHTMLに変換するスクリプトを作りました

2022-05-20Groovy,Java

昔書いていたブログ(Blogger)に Groovy や Java のソースコードを掲載する際に使用している Groovy スクリプトです。
ソースを HTML に変換しているだけですが、意外と便利でした。

前提条件

Java2Html という、 Ant タスクを使用しています。

  • こちらのサイトで、Java2Html の Ant タスク用 jar ファイルをダウンロードする必要があります。
  • フォルダ構成は適宜変更してください。

準備

ブラウザからダウンロードしてきてもいいですが、ターミナルからコマンドを叩けるなら以下の手順が楽です。

# 作業用ディレクトリを作成し、移動
$ mkdir -p /tmp/work && cd /tmp/work

# ダウンロード
$ curl -O http://www.java2html.de/java2html_50.zip

# 展開
$ unzip java2html_50.zip

# jarファイルが配置されていることを確認
$ ls
design/  docs/  java2html.jar  java2html_50.zip  java2html_src.zip

スクリプト作成

main.groovy というファイルを作成

// =====設定内容=====
// ソースコード配置ディレクトリ
def srcdir = "c:/groovy/src"
// HTML出力ディレクトリ
def destdir = "c:/groovy/out"

if (!new File(destdir).exists()) {
    new File(destdir).mkdir()
}

def ant = new AntBuilder()

ant.taskdef(
    name: "java2html",
    classname: "de.java2html.anttasks.Java2HtmlTask"
)

ant.delete() {
    fileset(dir: "${destdir}") {
        include(name: "**/*")
    }
}

ant.java2html(
    srcdir: "${srcdir}",
    destdir: "${destdir}",
    includes: "*.groovy",
    outputFormat: "xhtml11",
    tabs: "2",
    style: "eclipse",
    showLineNumbers: "true",
    showFileName: "true",
    useShortFileName: "true",
    showTableBorder: "true",
    includeDocumentHeader: "true",
    includeDocumentFooter: "true"
)

実行

HTML 化したい Groovy スクリプトファイル(Java ファイルでももちろん OK)を src/ ディレクトリに配置し、 groovy コマンドで実行すると、 HTML ファイルが out/ ディレクトリに作成されます。

実行時に -cp オプションを付与すればクラスパスを設定できるので、ダウンロードした jar ファイルを読み込めるようにしてやります。

# ディレクトリを作成
$ mkdir -p src/

# JavaかGroovyのソースコードを配置
$ cp main.groovy src/

# 実行
$ groovy -cp ./java2html.jar main.groovy
[java2html] Converting 1 file

$ ls out/
main.html

ソースコードが HTML でハイライトされています。

2022-05-20Groovy,Java