XSweet issueshttps://gitlab.coko.foundation/groups/XSweet/-/issues2018-08-07T13:01:26Zhttps://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/9Don't promote ornamental breaks to headers2018-08-07T13:01:26ZAlex ThegDon't promote ornamental breaks to headersThe most common ornamental divider authors use is a series of asterisks, which may or may not be separated by spaces or tabs.
* "***"
* "*****"
* "* * *"
* `*<span class="tab"></span>*`
Paragraphs containing only such a a pattern (with...The most common ornamental divider authors use is a series of asterisks, which may or may not be separated by spaces or tabs.
* "***"
* "*****"
* "* * *"
* `*<span class="tab"></span>*`
Paragraphs containing only such a a pattern (with any number of spaces or tabs between asterisks) should be excluded from consideration for promotion to headings.https://gitlab.coko.foundation/XSweet/XSweet/-/issues/142CSS for hanging paragraphs2018-08-07T14:24:43ZAlex ThegCSS for hanging paragraphsXSweet extracts regular paragraph indentation from Word into CSS correctly, but it needs a tweak to how it handles hanging paragraphs.
Indentation without hanging works great:
One indent no hanging: `<w:ind w:left="720"/>` -> `<p style...XSweet extracts regular paragraph indentation from Word into CSS correctly, but it needs a tweak to how it handles hanging paragraphs.
Indentation without hanging works great:
One indent no hanging: `<w:ind w:left="720"/>` -> `<p style="margin-left: 36pt">`
Two indent no hanging: `<w:ind w:left="1440"/>` -> `<p style="margin-left: 72pt">`
But the indentation with hanging needs another CSS property to be correct:
One indent hanging:
`<w:ind w:left="1440" w:hanging="720"/>` -> `<p style="padding-left: 36pt; text-indent: -36pt">`
It needs a `margin-left: 36pt;` added in addition to what's already there to be correct.
Two indent hanging:
`<w:ind w:left="2160" w:hanging="720"/>` -> `<p style="padding-left: 36pt; text-indent: -36pt">`
It needs a `margin-left: 72pt;` added in addition to what's already there and then it's correct.
Here's an test docx: [hanging.docx](/uploads/459ecfb10d4e6c42caf16f4983c52142/hanging.docx)1.0.0https://gitlab.coko.foundation/XSweet/XSweet/-/issues/141Extract a default font from Word docs2018-04-24T06:41:30ZAlex ThegExtract a default font from Word docsI believe Word applies the "Normal" style to text by default, when no other Style is specified. We could extract and apply the default font specified for text upon which no other font is specified. Currently, this text displays in the br...I believe Word applies the "Normal" style to text by default, when no other Style is specified. We could extract and apply the default font specified for text upon which no other font is specified. Currently, this text displays in the browser's default font.
Putting this on hold as a future development.https://gitlab.coko.foundation/XSweet/editoria_typescript/-/issues/34Remove paragraphs containing only nbsps2018-04-27T16:38:35ZAlex ThegRemove paragraphs containing only nbspsIn the Editoria Typescript reduce step, we remove paragraphs that contain only whitespace elements. For example, a paragraph with only spaces will be removed: `<p> </p>`.
We should extend this to include nbsps in the definition of ws-o...In the Editoria Typescript reduce step, we remove paragraphs that contain only whitespace elements. For example, a paragraph with only spaces will be removed: `<p> </p>`.
We should extend this to include nbsps in the definition of ws-only elements: U+00A0, NO-BREAK SPACE [NBSP].
The end result should be that a paragraph containing only nbsp(s) should be removed by typescript reduce1.0.0https://gitlab.coko.foundation/XSweet/XSweet/-/issues/140Formatting issues with nested spans and Word styles2018-05-01T13:52:44ZAlex ThegFormatting issues with nested spans and Word stylesThis is somewhat related to #131
[small_caps_example.docx](/uploads/c5e9961e5f3248e8d6ace6c892d97048/small_caps_example.docx)
In the attached example, "Acknowledgements" comes through in bold and small caps but it should not - it use...This is somewhat related to #131
[small_caps_example.docx](/uploads/c5e9961e5f3248e8d6ace6c892d97048/small_caps_example.docx)
In the attached example, "Acknowledgements" comes through in bold and small caps but it should not - it uses the Word style "BookTitle + Not Bold, Not Small caps". It looks like this is a question of nested spans, the priority in which the formatting is resolved, and how Word style modifiers are extracted into the html.
Here's the html after the join step:
```html
<p style="margin-bottom: 0pt">
<span style="font-variant: normal; font-weight: bold">
<span class="BookTitle">
<span style="font-weight: normal">Acknowledgements</span>
</span>
</span>
<a class="bookmarkStart" id="docx-bookmark_0">
<!-- bookmark ='_GoBack'-->
</a>
<a href="#docx-bookmark_0">
<!-- bookmark end -->
</a>
</p>
```
Here it is after the the collapse step. At this point, I believe the innermost span's `font-weight: normal` should have been passed to the outer `class="BookTitle` span, but it is not:
```html
<p style="margin-bottom: 0pt">
<span style="font-variant: normal; font-weight: bold">
<span class="BookTitle">Acknowledgements</span>
</span>
<a class="bookmarkStart" id="docx-bookmark_0">
<!-- bookmark ='_GoBack'-->
</a>
<a href="#docx-bookmark_0">
<!-- bookmark end -->
</a>
</p>
```
And here is the final rinsed html:
```html
<h2 style="margin-bottom: 0pt">
<span style="font-variant: normal; font-weight: bold">
<span class="BookTitle">Acknowledgements</span>
</span>
<a class="bookmarkStart" id="docx-bookmark_0"><!-- bookmark ='_GoBack'--></a>
<a href="#docx-bookmark_0"><!-- bookmark end --></a>
</h2>
```
And, the `font-variant: normal` needs to be passed down to the innermost span, or else it's clobbered by the `BookTitle` styling on the innermost span.1.0.0https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/8Hyperlinker should catch trailing slash if present.2018-05-29T01:32:03ZAlex ThegHyperlinker should catch trailing slash if present.Although the link isn't broken without it, it looks nicer if the hyperlink includes the trailing slash. Example:
This: `http://www.arsdisputandi.org/`
Is tagged as: [http://www.arsdisputandi.org](http://www.arsdisputandi.org)/
But it ...Although the link isn't broken without it, it looks nicer if the hyperlink includes the trailing slash. Example:
This: `http://www.arsdisputandi.org/`
Is tagged as: [http://www.arsdisputandi.org](http://www.arsdisputandi.org)/
But it really should be: [http://www.arsdisputandi.org/](http://www.arsdisputandi.org/)https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/7Hyperlink inferrer tags some file names as links that shouldn't be2018-05-29T01:38:51ZAlex ThegHyperlink inferrer tags some file names as links that shouldn't beIn an author docx that lists captions for images to be included in the book, these strings get linked as hyperlinks:
* 04_IntroTodosSantos.jpg
* 13_ClinicScale_20R06.jpg
They shouldn't be, since they don't point to anything. Could we a...In an author docx that lists captions for images to be included in the book, these strings get linked as hyperlinks:
* 04_IntroTodosSantos.jpg
* 13_ClinicScale_20R06.jpg
They shouldn't be, since they don't point to anything. Could we add a small adjustment to be sure things like this don't get linked? Perhaps a validation like "must have at least one slash if it ends in a file extension" or something similar?https://gitlab.coko.foundation/XSweet/XSweet/-/issues/139Enable upload of larger docx files2019-07-07T23:20:08ZAlex ThegEnable upload of larger docx filesThis is twofold:
1. It looks like there's a maximum docx size limit of 1MB. We should determine where this is coming from (INK? Editoria?) and increase it a bit.
2. If a docx is very long, even if it's not particularly large, can cause a...This is twofold:
1. It looks like there's a maximum docx size limit of 1MB. We should determine where this is coming from (INK? Editoria?) and increase it a bit.
2. If a docx is very long, even if it's not particularly large, can cause a timeout. Example: Gabbard Pt 1.https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/6Some closing tags dropped and blocks of text repeated in the macro text clean...2018-05-03T22:42:18ZAlex ThegSome closing tags dropped and blocks of text repeated in the macro text cleanup stepPicking up an issue from an existing ticket (the seastar part of https://gitlab.coko.foundation/XSweet/HTMLevator/issues/3). Upon further review, it does not appear to have anything to do with the "force punctuation formatting to match p...Picking up an issue from an existing ticket (the seastar part of https://gitlab.coko.foundation/XSweet/HTMLevator/issues/3). Upon further review, it does not appear to have anything to do with the "force punctuation formatting to match preceding word formatting" rule.
This is a widespread issue, and I will post examples below as I encounter them.
In some instances (maybe all, will investigate), the close format tag is dropped, then a certain amount of text gets duplicated until another open format tag, so some text then appears twice. In one of the repeated chunks, sentences are separated by 2 spaces, while in the other chunk, the double spaces have been replaced by single spaces.
I can also confirm that this issue happens in exactly the same way for inline bold, underline, and italic tags.
# Example 1
Rinsed html:
```html
<p class="Default" style="font-family: Helvetica; font-size: 12pt; margin-bottom: 6pt">
One of the central promises of change that former Mexican president Vicente Fox made in the run-up to his victorious election in 2000 was that he would govern on behalf of 118 million Mexicans – a number that included both the 100 million people residing within the territorial confines of the Mexican nation-state as well as the 18 million
<i>mexicanos en el exterior</i>
, the imagined community of Mexican migrants and their descendents living abroad. In recognition of their economic contributions to Mexico, and their continued commitment to the nation, Fox often referred to those
<i>mexicanos en el exterior</i>
as heroes. In this, president Fox was part of an expanding chorus of leaders from major migrant-sending states, from Ireland to the Philippines, who have celebrated the heroic contributions of migrants to their homelands over recent decades. For Fox, this heroic imagery took perhaps its grandest form on December 3, 2000, just three days into the presidency. That day Fox held his first public event and opened the official presidential residence, Los Pinos, for a meeting with migrant leaders. In his official address, the newly inaugurated president waxed eloquently about the spirit and tenacity of the migrant, about the set of characteristics that migrants shared with a curious amalgam of historical figures:
</p>
```
Macro text cleanups applied:
```html
<p class="Default" style="font-family: Helvetica; font-size: 12pt; margin-bottom: 6pt">
One of the central promises of change that former Mexican president Vicente Fox made in the run-up to his victorious election in 2000 was that he would govern on behalf of 118 million Mexicans—a number that included both the 100 million people residing within the territorial confines of the Mexican nation-state as well as the 18 million
<i>mexicanos en el exterior,</i>
the imagined community of Mexican migrants and their descendents living abroad. In recognition of their economic contributions to Mexico, and their continued commitment to the nation, Fox often referred to those
<i>mexicanos en el exterior as heroes. In this, president Fox was part of an expanding chorus of leaders from major migrant-sending states, from Ireland to the Philippines, who have celebrated the heroic contributions of migrants to their homelands over recent decades. For Fox, this heroic imagery took perhaps its grandest form on December 3, 2000, just three days into the presidency. That day Fox held his first public event and opened the official presidential residence, Los Pinos, for a meeting with migrant leaders. In his official address, the newly inaugurated president waxed eloquently about the spirit and tenacity of the migrant, about the set of characteristics that migrants shared with a curious amalgam of historical figures:
</i> as heroes. In this, president Fox was part of an expanding chorus of leaders from major migrant-sending states, from Ireland to the Philippines, who have celebrated the heroic contributions of migrants to their homelands over recent decades. For Fox, this heroic imagery took perhaps its grandest form on December 3, 2000, just three days into the presidency. That day Fox held his first public event and opened the official presidential residence, Los Pinos, for a meeting with migrant leaders. In his official address, the newly inaugurated president waxed eloquently about the spirit and tenacity of the migrant, about the set of characteristics that migrants shared with a curious amalgam of historical figures:
</p>
```1.0.0https://gitlab.coko.foundation/XSweet/editoria_typescript/-/issues/33Some closing tags dropped and blocks of text repeated in the macro text clean...2018-04-21T02:43:58ZAlex ThegSome closing tags dropped and blocks of text repeated in the macro text cleanup stepPicking up an issue from an existing ticket (the seastar part of https://gitlab.coko.foundation/XSweet/HTMLevator/issues/3). Upon further review, it does not appear to have anything to do with the "force punctuation formatting to match p...Picking up an issue from an existing ticket (the seastar part of https://gitlab.coko.foundation/XSweet/HTMLevator/issues/3). Upon further review, it does not appear to have anything to do with the "force punctuation formatting to match preceding word formatting" rule.
This is a widespread issue, and I will post examples below as I encounter them.
In some instances (maybe all, will investigate), the close format tag is dropped, then a certain amount of text gets duplicated until another open format tag, so some text then appears twice. In one of the repeated chunks, sentences are separated by 2 spaces, while in the other chunk, the double spaces have been replaced by single spaces.
I can also confirm that this issue happens in exactly the same way for inline bold, underline, and italic tags.
# Example 1
Rinsed html:
```html
<p class="Default" style="font-family: Helvetica; font-size: 12pt; margin-bottom: 6pt">
One of the central promises of change that former Mexican president Vicente Fox made in the run-up to his victorious election in 2000 was that he would govern on behalf of 118 million Mexicans – a number that included both the 100 million people residing within the territorial confines of the Mexican nation-state as well as the 18 million
<i>mexicanos en el exterior</i>
, the imagined community of Mexican migrants and their descendents living abroad. In recognition of their economic contributions to Mexico, and their continued commitment to the nation, Fox often referred to those
<i>mexicanos en el exterior</i>
as heroes. In this, president Fox was part of an expanding chorus of leaders from major migrant-sending states, from Ireland to the Philippines, who have celebrated the heroic contributions of migrants to their homelands over recent decades. For Fox, this heroic imagery took perhaps its grandest form on December 3, 2000, just three days into the presidency. That day Fox held his first public event and opened the official presidential residence, Los Pinos, for a meeting with migrant leaders. In his official address, the newly inaugurated president waxed eloquently about the spirit and tenacity of the migrant, about the set of characteristics that migrants shared with a curious amalgam of historical figures:
</p>
```
Macro text cleanups applied:
```html
<p class="Default" style="font-family: Helvetica; font-size: 12pt; margin-bottom: 6pt">
One of the central promises of change that former Mexican president Vicente Fox made in the run-up to his victorious election in 2000 was that he would govern on behalf of 118 million Mexicans—a number that included both the 100 million people residing within the territorial confines of the Mexican nation-state as well as the 18 million
<i>mexicanos en el exterior,</i>
the imagined community of Mexican migrants and their descendents living abroad. In recognition of their economic contributions to Mexico, and their continued commitment to the nation, Fox often referred to those
<i>mexicanos en el exterior as heroes. In this, president Fox was part of an expanding chorus of leaders from major migrant-sending states, from Ireland to the Philippines, who have celebrated the heroic contributions of migrants to their homelands over recent decades. For Fox, this heroic imagery took perhaps its grandest form on December 3, 2000, just three days into the presidency. That day Fox held his first public event and opened the official presidential residence, Los Pinos, for a meeting with migrant leaders. In his official address, the newly inaugurated president waxed eloquently about the spirit and tenacity of the migrant, about the set of characteristics that migrants shared with a curious amalgam of historical figures:
</i> as heroes. In this, president Fox was part of an expanding chorus of leaders from major migrant-sending states, from Ireland to the Philippines, who have celebrated the heroic contributions of migrants to their homelands over recent decades. For Fox, this heroic imagery took perhaps its grandest form on December 3, 2000, just three days into the presidency. That day Fox held his first public event and opened the official presidential residence, Los Pinos, for a meeting with migrant leaders. In his official address, the newly inaugurated president waxed eloquently about the spirit and tenacity of the migrant, about the set of characteristics that migrants shared with a curious amalgam of historical figures:
</p>
```1.0.0https://gitlab.coko.foundation/XSweet/editoria_typescript/-/issues/32Closing note tag dropped by typescript reduce step2018-04-21T05:00:17ZAlex ThegClosing note tag dropped by typescript reduce stepThe closing note tag is dropped by the very last Typescript step (reduce). The result is that everything in a paragraph appear the first note isn't visible in Wax (optionally, see https://gitlab.coko.foundation/wax/wax/issues/149 for a d...The closing note tag is dropped by the very last Typescript step (reduce). The result is that everything in a paragraph appear the first note isn't visible in Wax (optionally, see https://gitlab.coko.foundation/wax/wax/issues/149 for a description of that behavior).
The fix is to ensure that the `</note>` remains where it is after the reduce step.
Here's an example:
typescript reduce input
```html
...ends of development.<sup><note data-id="en2"><!-- implicit --></note></sup> </p>
```
typescript reduce output
```html
...<note data-id="en2"/> </p>
```
but it should be
```html
...<note data-id="en2"></note> </p>
```1.0.0https://gitlab.coko.foundation/XSweet/editoria_typescript/-/issues/31Alex: confirm superscripts working properly after updating `master` to `staging`2018-04-21T02:49:02ZAlex ThegAlex: confirm superscripts working properly after updating `master` to `staging`Testing for Alex:
* current INK recipe drops `<sup>` tags in typescript reduce step
* `staging` works correctly
Confirm resolved after updating live INK recipeTesting for Alex:
* current INK recipe drops `<sup>` tags in typescript reduce step
* `staging` works correctly
Confirm resolved after updating live INK recipehttps://gitlab.coko.foundation/XSweet/XSweet/-/issues/138Spaces between superscripts dropped in join step2019-07-09T19:02:41ZAlex ThegSpaces between superscripts dropped in join stepThis may or may not be related to https://gitlab.coko.foundation/XSweet/XSweet/issues/44
When superscripts are separated by regular spaces, in the join step, they are collapsed into one superscript and the separating spaces are dropped ...This may or may not be related to https://gitlab.coko.foundation/XSweet/XSweet/issues/44
When superscripts are separated by regular spaces, in the join step, they are collapsed into one superscript and the separating spaces are dropped entirely. Example:
Join input:
```html
<p>...impact-related injury.<sup>6</sup> <sup>7</sup> <sup>8</sup> Then, there...</p>
```
Join output:
```html
<p>...linear impact-related injury.<sup>678</sup> Then, there...</p>
```
Instead, the non-superscript spaces should stay where they are.1.0.0https://gitlab.coko.foundation/XSweet/editoria_typescript/-/issues/30Remove both open and close formatting tags when removing tabs2018-04-21T02:54:24ZAlex ThegRemove both open and close formatting tags when removing tabsIn the last typescript xslt (reduce), tabs are removed.
When there's formatting wrapping a single tab span, the opening formatting tag is removed with the tab, but not the closing one. This happens at least with `<em>` tags, but I would...In the last typescript xslt (reduce), tabs are removed.
When there's formatting wrapping a single tab span, the opening formatting tag is removed with the tab, but not the closing one. This happens at least with `<em>` tags, but I wouldn't be surprised if it happens with other tabs.
Here's an example:
Output of editoria basic step:
```html
<p style="font-family: Times New Roman; margin-bottom: 12pt">
<em><span class="tab"><!-- tab --></span></em>Hermeneutical Innovations in Advaita Vedānta Intellectual History.” Unpublished
</p>
```
Then after editoria reduce:
```html
<p>
<em/>Hermeneutical Innovations in Advaita Vedānta Intellectual History.” Unpublished
</p>
```
This mismatched closing tag doesn't stop the page from showing properly in the browser, but it does prevent it from loading at all in Wax.https://gitlab.coko.foundation/XSweet/XSweet/-/issues/137After note callout, rest of block doesn't display in Wax2018-04-19T20:03:58ZAlex ThegAfter note callout, rest of block doesn't display in WaxAfter uploading content from a docx into Wax (via Editoria), the existing note callouts display properly, and are clickable linked to their corresponding notes in the note pane. However, after each note callout, the rest of the paragraph...After uploading content from a docx into Wax (via Editoria), the existing note callouts display properly, and are clickable linked to their corresponding notes in the note pane. However, after each note callout, the rest of the paragraph is cut off and not visible in the Wax editor.
To reproduce:
1. Upload docx with endnotes into editoria-testing.coko.foundation
2. Open in Wax
3. In the docx, find a note callout in the middle of a paragraph, then find that in Wax.
Expected: the note callout appears, then the paragraph continues.
Actual: the paragraph ends and nothing displays after the note callout.https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/5After cleanup, some words duplicated2018-04-09T15:27:38ZAlex ThegAfter cleanup, some words duplicatedAs of a commit today (I think one of the HTMLevator ones), something weird is happening with this chunk of text:
This:
```html
<p style="font-family: Helvetica">
<b>Outstanding </b>
<u>Underline</u>
<b> issues:</b>
</p>
```
Becom...As of a commit today (I think one of the HTMLevator ones), something weird is happening with this chunk of text:
This:
```html
<p style="font-family: Helvetica">
<b>Outstanding </b>
<u>Underline</u>
<b> issues:</b>
</p>
```
Becomes
```html
<p style="font-family: Helvetica">
<b>Outstanding Underline</b>
<u>Underline</u>
<b> issues:</b>
</p>
```
Any ideas what's causing this?1.0.0https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/4Insert hair space (u200a) btwn pairs of single/double quotes2018-04-06T18:42:23ZAlex ThegInsert hair space (u200a) btwn pairs of single/double quotesAs part of the macro cleanups, we should insert hair space (u200a) btwn pairs of single/double quotes. Note that order of operations matters; this assumes that straight quotes and apostrophes have been replaced with their directional cou...As part of the macro cleanups, we should insert hair space (u200a) btwn pairs of single/double quotes. Note that order of operations matters; this assumes that straight quotes and apostrophes have been replaced with their directional counterparts.
* left single quote+left double quote (u2018+u201c)
* left double quote+left single quote (u201c+u2018)
* right single quote+right double quote (u2019+u201d)
* right double quote+right single quote (u201d+u2019)
This currently partially works. See the following example inputs and outputs: the characters in Word on the left and the final Typescript output on the right.
* `"'quote'"` -> `<p style="font-family: Helvetica">“ ‘quote’ ”</p>`
* works properly; hs between both pairs of quotes
* `'"quote"'` -> `<p style="font-family: Helvetica">‘“quote” ’</p>`
* hs between the 2nd quotes but not the 1st
* `'”quote"‘` -> `<p style="font-family: Helvetica">‘“quote” ’</p>
* hs between the 2nd quotes but not the 1st
* `‘"quote"’` -> `<p style="font-family: Helvetica">‘“quote” ’</p>`
* hs between the 2nd quotes but not the 1st
* `""quote""` -> `<p style="font-family: Helvetica">“ “quote””</p>`
* hs between the 1st quotes but not the 2nd1.0.0https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/3Force punctuation to match formatting of preceding word2018-04-21T02:43:19ZAlex ThegForce punctuation to match formatting of preceding wordAs part of the macro cleanups, we should force punctuation to match formatting of preceding word. Let's do that for the following:
* ,
* .
* :
* ;
* ?
* !
Current example:
```xml
<w:p w14:paraId="369F0F7E" w14:textId="2A1BB479" w:rsidR=...As part of the macro cleanups, we should force punctuation to match formatting of preceding word. Let's do that for the following:
* ,
* .
* :
* ;
* ?
* !
Current example:
```xml
<w:p w14:paraId="369F0F7E" w14:textId="2A1BB479" w:rsidR="00733D7F" w:rsidRDefault="00733D7F">
<w:pPr>
<w:rPr><w:rFonts w:ascii="Helvetica" w:eastAsia="Helvetica" w:hAnsi="Helvetica" w:cs="Helvetica"/></w:rPr>
</w:pPr>
<w:r>
<w:rPr><w:rFonts w:ascii="Helvetica" w:eastAsia="Helvetica" w:hAnsi="Helvetica" w:cs="Helvetica"/><w:b/></w:rPr>
<w:t>this is all bold except for the period</w:t>
</w:r>
<w:r>
<w:rPr><w:rFonts w:ascii="Helvetica" w:eastAsia="Helvetica" w:hAnsi="Helvetica" w:cs="Helvetica"/></w:rPr>
<w:t>.</w:t>
</w:r>
</w:p>
```
...results in...
```html
<p style="font-family: Helvetica"><b>this is all bold except for the period</b>.</p>
```1.0.0https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/2Handling paragraph-level formatting?2018-04-26T20:51:18ZAlex ThegHandling paragraph-level formatting?With #1 finished, the mappings of in-line formatting tags is working properly: (`<b>` and `<u>` become `<i>`).
However, when an entire paragraph is formatted with bold, underlining, or italics, that property is promoted to the paragraph...With #1 finished, the mappings of in-line formatting tags is working properly: (`<b>` and `<u>` become `<i>`).
However, when an entire paragraph is formatted with bold, underlining, or italics, that property is promoted to the paragraph level. Consequently, bolding and underlining aren't mapped to italics, and even if they were, paragraph-level bolding, italics, and underlining is all dropped by Typescript.
Here's an example
Initial extraction
```html
<p><span style="font-family: Helvetica"><b>Bold</b></span></p>
<p><span style="font-family: Helvetica"><i>italics</i></span></p>
<p><span style="font-family: Helvetica"><u>Underline</u></span></p>
```
After the `rinse` step, properties are on the paragraph:
```
<p style="font-family: Helvetica; font-weight: bold">Bold</p>
<p style="font-family: Helvetica; font-style: italic">Italics</p>
<p style="font-family: Helvetica; text-decoration: underline">Underlined</p>
```
Finally, in the last Editoria reduce step, the `style` properties are dropped and the above becomes the following:
```html
<p>Bold</p>
<p>Italics</p>
<p>Underlined</p>
```
One solution might be to add a step in Typescript before the UCP cleanups that looks for one of these:
* `font-weight: bold`
* `font-style: italic`
* `text-decoration: underline`
And handles them by adding an opening `<b>`, `<u>`, or `<i>` right after the opening `<p>`, and the related closing tag just before the `</p>`. What do you think?1.0.0https://gitlab.coko.foundation/XSweet/HTMLevator/-/issues/1`ucp-mappings.xsl` sheet throws "Content is not allowed in prolog" error2018-03-30T23:17:27ZAlex Theg`ucp-mappings.xsl` sheet throws "Content is not allowed in prolog" errorThe new `ucp-mappings.xsl` throws an error each time it is run. It thus doesn't produce an output and subsequent steps in the pipeline cannot execute.
```bash
Error on line 2 column 1 of bGreen_pt3-11UCPMAPPED.xhtml:
SXXP0003: Error r...The new `ucp-mappings.xsl` throws an error each time it is run. It thus doesn't produce an output and subsequent steps in the pipeline cannot execute.
```bash
Error on line 2 column 1 of bGreen_pt3-11UCPMAPPED.xhtml:
SXXP0003: Error reported by XML parser: Content is not allowed in prolog.
org.xml.sax.SAXParseException; systemId: file:/Users/atheg/Desktop/crawler/header_promotion_strategies/XSweet-staging-5d67cce275b7f65a0345e2ad500c29a8da146b6a/scripts/../outputs/Green/bGreen_pt3-11UCPMAPPED.xhtml; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog.
```
Sometimes this occurs on line 2 column 1; other times it occurs on line 4 column 1:
```bash
Error on line 4 column 1 of bGreen05-11UCPMAPPED.xhtml:
```
Attached is the bash output for a whole book.[prolog_content_error.log](/uploads/789d4e71d23df72d56b19b88088da27d/prolog_content_error.log)