bdarcus / csln

Reimagining CSL
Mozilla Public License 2.0
12 stars 0 forks source link

Contributor modeling #51

Closed bdarcus closed 1 year ago

bdarcus commented 1 year ago

I'm playing with this on the #50 branch, but it's tricky.

We need to support:

  1. people and orgs
  2. sorting and display
  3. localized differences, including of 2, and of things like participles
  4. independent formatting of people name parts
  5. for it all ideally to be easy-to-use in the input format

Right now it's just:

author: ["Doe, Jane"]
parse: true, # default

One idea that just occurred to me, that I need think on more, is something like this:

pub enum Contributor {
    SimpleName(Vec<String>),
    StructuredName(Vec<Vec<String>>),
}

So then the first option would be as now, and assume sort and display are the same.

author: ["Mao Zedong"]

The second would add more structure; at minimum:

author: [ ["Doe", "Jane", "de"] ]

So there, the sort string would be derived by joining the items in the list, for example, and display would reorder them.

bdarcus commented 1 year ago

Closed via #50.