Injections

From Open Siddur Project Development Wiki

Jump to: navigation, search
The Contributors to the Open Siddur Project, the copyright holder of this work, has published or hereby publishes it under the following licenses:
GNU head This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See version 3 of the GNU General Public License for more details.

Deutsch | Deutsch (Sie-Form) | English | Français | +/−

Creative Commons license
Creative Commons Attribution Creative Commons Share Alike
This file is licensed under the Creative Commons Attribution ShareAlike 3.0 License. In short: you are free to share and make derivative works of the file under the conditions that you appropriately attribute it, and that you distribute it only under a license identical to this one. Official license

العربية | Български | Català | Česky | Dansk | Deutsch | Ελληνικά | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | עברית | Hrvatski | Magyar | Italiano | 日本語 | 한국어 | Македонски | Plattdüütsch | Nederlands | Polski | Português | Русский | Slovenčina | Svenska | తెలుగు | ไทย | Tiếng Việt | Українська | ‪中文(简体)‬ | ‪中文(繁體)‬ | +/−

You may select the license of your choice.

TODO: this system is outlined; it will likely be among the last implemented

Injections of out-of-line text, such as citations or instructions or notes, may be made using the techniques described in those sections. Parallel text may be added using the technique described for translations.

Injections into arbitrary text should ordinarily be done using the normal mechanisms -- edit the containing file's text repository and incorporate the new text into one or more of the concurrent views into the structure. Inline injection of text should only be done when the injected data is meant to remain outside the public archives. Once it enters the public archives, the inline injections must be converted to inline text using the normal methods.

TODO: turn section below into real English

How to do inline injections:

  • Injections are a series of commands to be run on an existing text repository+selection+set of views
  • Need primitive commands to:
    • safely remove part of the selection
    • insert text before a point
    • insert text after a point
  • Inserted text is a mini-concurrent hierarchy.
    • This hierarchy must be on-the-fly merged into the existing views
    • 4 possibilities on how to merge each view that exists in the new hierarchy
      1. Add to the selection only. Make entirely new views.
      2. Add to the selection and merge with an existing range from above
      3. Add to the selection and merge with an existing range from below
      4. Add to the selection and merge with an existing range from both above and below
Personal tools
NAVIGATION