Comments (3)
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"}
from extwee.
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
from extwee.
Would be happy to talk this one through together!
from extwee.
Related Issues (20)
- Add documentation on CLI
- Add documentation on API
- Add CLI support for de-compiling Twine 1 HTML into Twee 3
- Add browser testing of webpacked Extwee
- Fix: Add a Extwee 2.2.0 release
- Fix: Push Extwee 2.2 to NPM
- Output attributes aren't escaped in HTML or Twee HOT 3
- Consider TypeScript types HOT 4
- Allow publishing stories without a starting passage set HOT 2
- Parsing Twine 2 HTML doesn't unescape passage text HOT 1
- Allow direct access to story passages HOT 1
- Consider loose parsing modes HOT 6
- Stricter Twee output for required and optional StoryData properties
- Consider defaulting Story.zoom to 1, not 0 HOT 1
- Add: StoryFormat parsing should follow the "soft parsing" rule
- Add: Every parse and compile should reference spec or doc
- Add: All objects should be well-documented
- Add: Twine 2 Archive HTML parsing should follow the "soft parsing" rule
- Story types out of sync with changes HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from extwee.