4 ms·
My open-source plain text editor, KeenWrite, is strikingly similar: https://github.com/DaveJarvis/keenwrite/blob/master/docs/screenshots.md https://github.com/
by thangalin 5y ago
My open-source plain text editor, KeenWrite, is strikingly similar:
https://github.com/DaveJarvis/keenwrite/blob/master/docs/screenshots.md https://github.com/DaveJarvis/keenwrite/blob/master/docs/scr...
I've taken a slightly different approach for novel outlines. Rather than use the `@` syntax, KeenWrite includes support for pandoc's ::: div syntax, which is quite flexible. Here's a screenshot showing an exported PDF generated from a Markdown document:
https://i.ibb.co/gTytTs1/novel-outline.png https://i.ibb.co/gTytTs1/novel-outline.png
On the left, variables are shown. Those variables can be fed into R statements. In the screen shot, the R code performs date calculations so that the dates are guaranteed to be consistent and correct, which is useful to keep complex timelines straight.
- actuallyalys 5y agoThat looks like a really nice tool. I really like the "bunch of markdown/reStructuredText/Org-mode files" approach both KeenWrite and NovelWriter use. Are you using the variables just for outlines or also for the novels themselves? It seems like it would be more complex to do in the middle of a scene or line of dialogue because there's multiple ways to refer to things. It's an interesting problem to think about, though.
- thangalin 5y agoThe variables are for use in the novels themselves. Mostly for aspects that won't change often: names, places, invented nouns, nick-names, character tics, vehicle velocities, dates (relative or otherwise), and so on. One of my favourite uses of R and variables is this piece of dialogue: > Plus, we'll be about `r#cms(round.up(travel.time( v$location$protagonist$latitude$value, v$location$protagonist$longitude$value, v$location$proximal$latitude$value, v$location$proximal$longitude$value, v$location$proximal$travel$speed$value )))` minutes to the `r#x( v$location$proximal$name$short )` by `r#x( v$location$proximal$travel$mode )` The preview panel shows: > Plus, we'll be about thirty-five minutes to the redwoods by maglev. This allows me to change the locations' latitude and longitude and not have to remember where that particular blurb was written: the travel time will be recomputed and the resulting number rewritten according to the Chicago Manual of Style (cms) rules. (What's more, the travel time is first computed by a REST call to a map API to get the distance by vehicle; failing that, it performs a Haversine distance calculation.)