Open klembot opened 9 months ago
Okay, so, I've done lots of work on this and it's not an easy fix, it turns out. I can escape Twee special characters easy enough, but trying to un-escape them is much harder.
I've come up with a particularly cursed -- literally called "Cursed" -- example output from Twine's export into Twee:
:: StoryTitle
Cursed
:: StoryData
{
"ifid": "22F25A58-7062-4927-95B6-F424DDB2EC65",
"format": "Harlowe",
"format-version": "3.3.8",
"start": "[Hello] {world} \\\\",
"zoom": 1
}
:: \[Hello\] \{world\} \\\\ {"position":"400,200","size":"100,100"}
\:: Extra header
Would be happy to talk this one through together!
I still haven't solved this, @klembot, but here is another cursed example generated by Twine that will not currently re-import correctly in either Extwee or Twine.
:: StoryTitle
Round-trip Twine Crash
:: StoryData
{
"ifid": "B1470EDA-E62A-43EF-8BAC-6FCD4D2A4D55",
"format": "Harlowe",
"format-version": "3.3.8",
"start": "{\"position\":\"400,200\",\"size\":\"100,100\"}",
"zoom": 1
}
:: \{"position":"400,200","size":"100,100"\} {"position":"700,325","size":"100,100"}
This isn't covered by the spec, but FWIW Twine escapes them like so: