我有文件夹(ResultsDir),其中包含html reseults文件(results1.html,results2.html...)。我想准备一个索引.html文件,其中包含指向 ResultsDir 中所有结果文件的链接。
对于结果目录中的列表文件,我正在使用:
<fileset id="myfileset" dir="ResultsDir">
<include name="*.html" />
</fileset>
<pathconvert pathsep="<BR>" property="htmls" refid="myfileset" targetos="windows"/>
<echo file="ResultsDir/index.html_temp" append="false" >${htmls} </echo>
<replace file="ResultsDir/index.html_temp" token="${basedir}" value="" />
结果,我有索引 html 的正文部分(索引.html_temp)和文件夹中的文件列表。但是我现在不热衷于复制每一行并为每行添加 html(href) 标签。
顶部和底部索引.html页面我只是通过连接添加。
<concat destfile = "ResultsDir/index.html" >
<filelist dir = "ResultsDir " >
<file name="top.html_temp" />
<file name="index.html_temp" />
<file name="bottom.html_temp" />
</filelist>
</concat>
问候克里斯
使用脚本语言来执行此操作。我推荐时髦:
例
├── build.xml
└── ResultsDir
├── data1.html
├── data2.html
├── data3.html
├── data4.html
├── data5.html
└── index.html
构建.xml
<project name="demo" default="build-index">
<target name="bootstrap">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.7/groovy-all-2.1.7.jar"/>
</target>
<target name="build-index">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>
<fileset id="myfileset" dir="ResultsDir" includes="*.html" excludes="index.html"/>
<groovy>
import groovy.xml.MarkupBuilder
new File("ResultsDir/index.html").withWriter { writer ->
new MarkupBuilder(writer).html {
head {
title("Results index")
}
body {
ul {
project.references.myfileset.each {
def file = new File(it.toString())
li {
a(href: file.toURI(), file.name)
}
}
}
}
}
}
</groovy>
</target>
</project>
索引.html
<html>
<head>
<title>Results index</title>
</head>
<body>
<ul>
<li>
<a href='file:/home/mark/ResultsDir/data1.html'>data1.html</a>
</li>
<li>
<a href='file:/home/mark/ResultsDir/data2.html'>data2.html</a>
</li>
<li>
<a href='file:/home/mark/ResultsDir/data3.html'>data3.html</a>
</li>
<li>
<a href='file:/home/mark/ResultsDir/data4.html'>data4.html</a>
</li>
<li>
<a href='file:/home/mark/ResultsDir/data5.html'>data5.html</a>
</li>
</ul>
</body>
</html>