Skip to content
This repository was archived by the owner on Jul 23, 2024. It is now read-only.

Interlinear Text Layout (Table?) and User Interaction #83

Open
creative-resort opened this issue Apr 7, 2022 · 0 comments
Open

Interlinear Text Layout (Table?) and User Interaction #83

creative-resort opened this issue Apr 7, 2022 · 0 comments

Comments

@creative-resort
Copy link

Hello everyone :) I hope this is a good place to discuss
a Use Case I'm scratching my head about, wondering how to best implement it:

  • It is interlinear text — basically multi-line text where each line is made of multiple rows
    with connected versions (e.g. languages) of words sitting in it, that are aligned with the words they belong to.
  • One could also describe it as "tabular" multiline text,
    the line being a long table with wrapping capability at the end of the line.

capture_2022-04-08_00-53-52

Rendering it as multiple adjacent tables
while internally keeping the data in a contiguous datastructure may work

One would also need to consider: How would selection of text work?
Users may want to:

  • select only particular rows across multiple interlinear lines
  • select only a certain span of columns/words of all rows
  • ... or of a selection of rows

"Export to clipboard" would need to be possible in:

  • tabular form, representing the layout on screen in plain text
  • as one long table (see the above example, where only one column is wrapped and would better go to the same "line" with the rest)

For responsive design, the resulting tables' HTML would need to be recalculated upon resizing, to simulate true multiline wrap behaviour.

To my knowledge, such an editor feature / widget doesn't yet exist anywhere.
Using CKEditor 5, how would you approach this challenge?
Do you see further aspects, that would need to be covered, which I haven't yet been able to think of?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant