aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sdp/ao_emitter.d
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sdp/ao_emitter.d')
-rw-r--r--lib/sdp/ao_emitter.d11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/sdp/ao_emitter.d b/lib/sdp/ao_emitter.d
index dd7103d..c9b1a7e 100644
--- a/lib/sdp/ao_emitter.d
+++ b/lib/sdp/ao_emitter.d
@@ -1,6 +1,6 @@
/*
-#+OPTIONS: ^:nil _:nil#+OPTIONS: ^:nil _:nil
-* sisu_emitter.d
+ emitters
+ ao_emitters.d
*/
mixin template Emitters() {
mixin InternalMarkup;
@@ -420,7 +420,6 @@ mixin template Emitters() {
}
}
class ObjAttrib : AssertObjAttrib {
-// auto sink = appender!(char[])();
auto attrib = new ObjAttributes();
string[string] obj_attrib;
string obj_attributes(string obj_is_, string obj_raw, string node)
@@ -1027,6 +1026,9 @@ mixin template Emitters() {
int counter
)
in {
+ // endnotes/ footnotes for
+ // doc objects other than paragraphs & headings
+ // various forms of grouped text
assert((contents_arbitrary_max_length_set[counter]["is"] == "para")
|| (contents_arbitrary_max_length_set[counter]["is"] == "heading"));
assert(counter > previous_count);
@@ -1150,6 +1152,9 @@ mixin template Emitters() {
int count_biblio_entry;
count_biblio_entry=0;
foreach (bibent; biblio_unordered) {
+ // update bib to include deemed_author, needed for:
+ // sort_bibliography_array_by_deemed_author_year_title
+ // either: sort on multiple fields, or; create such sort field
JSONValue j = parseJSON(bibent);
if (!empty(j["fulltitle"].str)) {
if (!empty(j["author_raw"].str)) {