# Returns `null` if no article can be found.
fun lookup_entry_by_name(context: WikiEntry, name: String): nullable WikiEntry do
var section: nullable WikiEntry = context.parent or else context
- var res = section.lookup_entry_by_name(name)
+ var res = section.as(not null).lookup_entry_by_name(name)
if res != null then return res
while section != null do
if section.name == name then return section
# Returns `null` if no article can be found.
fun lookup_entry_by_title(context: WikiEntry, title: String): nullable WikiEntry do
var section: nullable WikiEntry = context.parent or else context
- var res = section.lookup_entry_by_title(title)
+ var res = section.as(not null).lookup_entry_by_title(title)
if res != null then return res
while section != null do
if section.title.to_lower == title.to_lower then return section
var blocks = sidebar.blocks
for i in [0..blocks.length[ do
blocks[i] = md_proc.process(blocks[i].to_s).write_to_string
- md_proc.emitter.decorator.headlines.clear
+ md_proc.decorator.headlines.clear
end
end
end
fun is_index: Bool do return name == "index"
redef fun href do
+ var parent = self.parent
if parent == null then
return "{name}.html"
else
super
if not is_dirty and not wiki.force_render or not has_source then return
content = md_proc.process(md.as(not null))
- headlines.recover_with(md_proc.emitter.decorator.headlines)
+ headlines.add_all(md_proc.decorator.headlines)
end
end
var context: WikiEntry
init do
- emitter = new MarkdownEmitter(self)
- emitter.decorator = new NitiwikiDecorator(wiki, context)
+ decorator = new NitiwikiDecorator(wiki, context)
end
end
var context: WikiEntry
redef fun add_wikilink(v, token) do
- var wiki = v.processor.as(NitiwikiMdProcessor).wiki
+ var wiki = v.as(NitiwikiMdProcessor).wiki
var target: nullable WikiEntry = null
var anchor: nullable String = null
var link = token.link