diff --git a/WsNovelParser/htmlprint.cpp b/WsNovelParser/htmlprint.cpp
index 7c574c6..5b3eff4 100644
--- a/WsNovelParser/htmlprint.cpp
+++ b/WsNovelParser/htmlprint.cpp
@@ -564,11 +564,13 @@ VisitMode printer::AstGenerate::mode() const {
return VisitMode::FirstParent;
}
+#include
bool printer::AstGenerate::visit(std::shared_ptr syntax_element) {
switch ((NovelNode)syntax_element->element()->typeMark()) {
case NovelNode::GlobalElement:{
auto body = doc.createElement(u8"ast");
doc.appendChild(body);
+ body.setAttribute(u8"time", QDateTime::currentDateTime().toString(u8"yyyyMMdd_hhmmss"));
element_stack.append(body);
}break;
case NovelNode::Document: break;
@@ -665,6 +667,17 @@ bool printer::AstGenerate::visit(std::shared_ptr s
append_tokens(dom_article, article_node);
}break;
+ case NovelNode::RankDeclaration:{
+ auto ast_element = element_stack.first();
+ auto rank_node = std::dynamic_pointer_cast(syntax_element->element());
+ auto dom_rank = doc.createElement(u8"rank");
+ ast_element.appendChild(dom_rank);
+
+ dom_rank.setAttribute(u8"rank", rank_node->rankNumber());
+ dom_rank.setAttribute(u8"doc-path", rank_node->filePath());
+
+ append_tokens(dom_rank, rank_node);
+ }break;
default:
break;
}