module KramdownRFC
def self.handle_ins(aups, ins_k, initials_k, surname_k)
def self.handle_ins(aups, ins_k, initials_k, surname_k) if ins = aups[ins_k] parts = ins.split('.').map(&:strip) # split on dots first if parts == [] warn "*** an empty '#{ins_k}:' value is not useful, try leaving it out" return end # Coalesce H.-P. i = 1; while i < parts.size if parts[i][0] == "-" parts[i-1..i] = [parts[i-1] + "." + parts[i]] else i += 1 end end # Multiple surnames in ins? parts[-1..-1] = parts[-1].split s = if surname = aups.rest[surname_k] surname.split else parts.reverse.take_while{|x| !looks_like_initial(x)}.reverse end aups.rest[initials_k] = initials_from_parts_and_surname(aups, parts, s) aups.rest[surname_k] = s.join(" ") end end