# Manage indexing of Nit model for Nitdoc QuickSearch.
module doc_indexing
-import doc_extract
+import doc_base
import html_templates::html_model # FIXME maybe this phase should depend on `html_render`
private import json::static
+private import json
# Generate the index for then Nitdoc QuickSearch field.
#
if not doc.mpropdefs.has(mpropdef) then continue
var full_name = mpropdef.mclassdef.mclass.full_name
var cls_url = mpropdef.mclassdef.mclass.nitdoc_url
- var def_url = "{cls_url}#article:{mpropdef.nitdoc_id}.definition"
+ var def_url = "{cls_url}#{mpropdef.nitdoc_id}.definition"
add_result_for(mproperty.name, full_name, def_url)
end
end
# Render the index content.
fun render: Template do
var tpl = new Template
- var buffer = new RopeBuffer
+ var buffer = new Buffer
tpl.add buffer
buffer.append "var nitdocQuickSearchRawList="
- table.append_json buffer
+ buffer.append table.to_json
buffer.append ";"
return tpl
end
redef fun provide_default_value(key) do
var v = new QuickSearchResultList
+ assert key isa String
self[key] = v
return v
end
# A QuickSearch result.
private class QuickSearchResult
- super Jsonable
+ serialize
# The text of the link.
var txt: String
# The destination of the link.
var url: String
-
- redef fun to_json do
- return "\{\"txt\":{txt.to_json},\"url\":{url.to_json}\}"
- end
end