if arguments.length < 1 then
print "usage: nitdoc [options] file..."
toolcontext.option_context.usage
- exit(1)
+ exit(0)
end
self.process_options
if opt_shareurl.value == null then
sys.system("cp -r {share_dir.to_s}/* {output_dir.to_s}/")
else
- sys.system("cp -r {share_dir.to_s}/ZeroClipboard.swf {output_dir.to_s}/")
sys.system("cp -r {share_dir.to_s}/resources/ {output_dir.to_s}/resources/")
end
self.dot_dir = null
end
private fun overview do
- var overviewpage = new NitdocOverview(self, dot_dir)
+ var overviewpage = new NitdocOverview(self)
overviewpage.save("{output_dir.to_s}/index.html")
end
private fun modules do
for mmodule in model.mmodules do
if mmodule.name == "<main>" then continue
- var modulepage = new NitdocModule(mmodule, self, dot_dir)
+ var modulepage = new NitdocModule(mmodule, self)
modulepage.save("{output_dir.to_s}/{mmodule.url}")
end
end
private fun classes do
for mclass in mbuilder.model.mclasses do
- var classpage = new NitdocClass(mclass, self, dot_dir, source)
+ var classpage = new NitdocClass(mclass, self)
classpage.save("{output_dir.to_s}/{mclass.url}")
end
end
# Nitdoc base page
abstract class NitdocPage
- var dot_dir: nullable String
- var source: nullable String
var ctx: NitdocContext
var shareurl = "."
# Generate a clickable graphviz image using a dot content
protected fun generate_dot(dot: String, name: String, alt: String) do
- var output_dir = dot_dir
+ var output_dir = ctx.dot_dir
if output_dir == null then return
var file = new OFStream.open("{output_dir}/{name}.dot")
file.write(dot)
# Add a (source) link for a given location
protected fun show_source(l: Location): String
do
+ var source = ctx.source
if source == null then
return "({l.file.filename.simplify_path})"
else
source = x.join(l.line_start.to_s)
x = source.split_with("%L")
source = x.join(l.line_end.to_s)
+ source = source.simplify_path
return " (<a target='_blank' title='Show source' href=\"{source.to_s}\">source</a>)"
end
end
private var mbuilder: ModelBuilder
private var mmodules = new Array[MModule]
- init(ctx: NitdocContext, dot_dir: nullable String) do
+ init(ctx: NitdocContext) do
super(ctx)
self.mbuilder = ctx.mbuilder
- self.dot_dir = dot_dir
# get modules
var mmodules = new HashSet[MModule]
for mmodule in mbuilder.model.mmodule_importation_hierarchy do
init(ctx: NitdocContext) do
super(ctx)
- self.dot_dir = null
end
redef fun title do return "Search"
private var intro_mclasses = new HashSet[MClass]
private var redef_mclasses = new HashSet[MClass]
- init(mmodule: MModule, ctx: NitdocContext, dot_dir: nullable String) do
+ init(mmodule: MModule, ctx: NitdocContext) do
super(ctx)
self.mmodule = mmodule
self.mbuilder = ctx.mbuilder
- self.dot_dir = dot_dir
# get local mclasses
for m in mmodule.in_nesting.greaters do
for mclassdef in m.mclassdefs do
private var meths = new HashSet[MMethodDef]
private var inherited = new HashSet[MPropDef]
- init(mclass: MClass, ctx: NitdocContext, dot_dir: nullable String, source: nullable String) do
+ init(mclass: MClass, ctx: NitdocContext) do
super(ctx)
self.mclass = mclass
- self.dot_dir = dot_dir
- self.source = source
# load properties
var locals = new HashSet[MProperty]
for mclassdef in mclass.mclassdefs do