Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Double colons in passage text at the start of a line aren't escaped in Twee output #447

Open
klembot opened this issue Jan 9, 2024 · 3 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@klembot
Copy link

klembot commented Jan 9, 2024

new Passage('test', ':: nefarious').toTwee()

This isn't covered by the spec, but FWIW Twine escapes them like so:

:: test
\:: nefarious
@videlais videlais self-assigned this Jan 9, 2024
@videlais videlais added the bug Something isn't working label Jan 9, 2024
@videlais videlais added this to the Extwee 2.2.2 milestone Jan 9, 2024
@videlais
Copy link
Owner

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

@klembot
Copy link
Author

klembot commented Jan 11, 2024

Would be happy to talk this one through together!

@videlais videlais modified the milestones: Extwee 2.2.2, Extwee 2.2.3 Mar 7, 2024
@videlais
Copy link
Owner

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"}

@videlais videlais modified the milestones: Extwee 2.2.3, Extwee 2.2.4 Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants