aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/ao_object_setter.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdp/ao_object_setter.d')
-rw-r--r--src/sdp/ao_object_setter.d34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/sdp/ao_object_setter.d b/src/sdp/ao_object_setter.d
index bb7a17e..0d8107c 100644
--- a/src/sdp/ao_object_setter.d
+++ b/src/sdp/ao_object_setter.d
@@ -15,6 +15,7 @@ template ObjectSetter() {
bool bullet = false;
}
struct BlockAttrib {
+ string syntax = "";
}
struct Comment {
// no .attrib and no .obj_cite_number
@@ -89,6 +90,23 @@ template ObjectSetter() {
// object_set.node_structure.node = node;
return object_set;
}
+ auto contents_endnote(
+ in string object,
+ ) {
+ auto m = (matchFirst(object, rgx.note_ref));
+ string notenumber = to!string(m.captures[1]);
+ string anchor_tag = "note_" ~ notenumber;
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "para";
+ object_set.is_a = "endnote";
+ object_set.object = object.strip;
+ object_set.obj_cite_number = "";
+ object_set.para_attrib.indent_start = 0;
+ object_set.para_attrib.indent_rest = 0;
+ object_set.para_attrib.bullet = false;
+ return object_set;
+ }
auto contents_block(
in string type,
in string object,
@@ -104,6 +122,22 @@ template ObjectSetter() {
// object_set.node_structure.node = node;
return object_set;
}
+ auto contents_block_code(
+ in string type,
+ in string object,
+ in string attrib_language_syntax,
+ in int obj_cite_number
+ ) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "block";
+ object_set.is_a = type;
+ object_set.block_attrib.syntax = attrib_language_syntax;
+ object_set.object = object;
+ object_set.obj_cite_number = (obj_cite_number==0) ? "" : to!string(obj_cite_number);
+ // object_set.node_structure.node = node;
+ return object_set;
+ }
auto contents_block_obj_cite_number_string(
in string type,
in string object,