99 lines
3.6 KiB
Markdown
99 lines
3.6 KiB
Markdown
# A slate to write and draw on, then export to html
|
|
|
|
Write or draw as much as you like, but only to a single scratch space.
|
|
Designed for a tablet device, but usable anywhere.
|
|
|
|
Screenshot:
|
|
|
|
![screenshot](assets/etch.jpg)
|
|
|
|
When you're done, export to html and clear the slate.
|
|
|
|
Feel free to quit any time. The scratch space is preserved across restarts.
|
|
|
|
etch.love is a compatible fork of [lines.love](http://akkartik.name/lines.html),
|
|
an editor for plain text where you can also seamlessly insert line drawings.
|
|
Designed above all to be easy to modify and give you early warning if your
|
|
modifications break something.
|
|
|
|
## Getting started
|
|
|
|
Install [LÖVE](https://love2d.org). It's just a 5MB download, open-source and
|
|
extremely well-behaved. I'll assume below that you can invoke it using the
|
|
`love` command, but that might vary depending on your OS.
|
|
|
|
To run from the terminal, [pass this directory to LÖVE](https://love2d.org/wiki/Getting_Started#Running_Games).
|
|
|
|
Alternatively, turn it into a .love file you can double-click on:
|
|
```
|
|
$ zip -r /tmp/lines.love *.lua
|
|
```
|
|
|
|
Html files are saved in [the directory containing this app](https://love2d.org/wiki/love.filesystem.getSourceBaseDirectory).
|
|
|
|
## Keyboard shortcuts
|
|
|
|
While editing text:
|
|
* `ctrl+f` to find patterns within a file
|
|
* `ctrl+c` to copy, `ctrl+x` to cut, `ctrl+v` to paste
|
|
* `ctrl+z` to undo, `ctrl+y` to redo
|
|
* `ctrl+=` to zoom in, `ctrl+-` to zoom out, `ctrl+0` to reset zoom
|
|
* `alt+right`/`alt+left` to jump to the next/previous word, respectively
|
|
* mouse drag or `shift` + movement to select text, `ctrl+a` to select all
|
|
* `ctrl+e` to modify the sources
|
|
|
|
For shortcuts while editing drawings, consult the online help. Either:
|
|
* hover on a drawing and hit `ctrl+h`, or
|
|
* click on a drawing to start a stroke and then press and hold `h` to see your
|
|
options at any point during a stroke.
|
|
|
|
etch.love has been exclusively tested so far with a US keyboard layout. If
|
|
you use a different layout, please let me know if things worked, or if you
|
|
found anything amiss: http://akkartik.name/contact
|
|
|
|
## Known issues
|
|
|
|
* Drawing doesn't work yet on some (anecdotally Android) mobile devices.
|
|
|
|
* No support yet for Unicode graphemes spanning multiple codepoints.
|
|
|
|
* No support yet for right-to-left languages.
|
|
|
|
* If you kill the process, say by force-quitting because things things get
|
|
sluggish, you can lose data.
|
|
|
|
* The text cursor will always stay on the screen. This can have some strange
|
|
implications:
|
|
|
|
* A long series of drawings will get silently skipped when you hit
|
|
page-down, until a line of text can be showed on screen.
|
|
* If there's no line of text at the top of the file, you may not be able
|
|
to scroll back up to the top with page-up.
|
|
|
|
So far this app isn't really designed for drawing-heavy files. For now I'm
|
|
targeting mostly-text files with a few drawings mixed in.
|
|
|
|
* No clipping yet for drawings. In particular, circles/squares/rectangles and
|
|
point labels can overflow a drawing.
|
|
|
|
* Can't scroll while selecting text with mouse.
|
|
|
|
## Mirrors and Forks
|
|
|
|
This repo is a fork of [lines.love](http://akkartik.name/lines.html), an
|
|
editor for plain text where you can also seamlessly insert line drawings.
|
|
Its immediate upstream is [lines-mobile.love](https://git.sr.ht/~akkartik/lines-mobile.love),
|
|
a version for Android and iOS devices.
|
|
Updates to it can be downloaded from:
|
|
|
|
* https://git.sr.ht/~akkartik/etch.love
|
|
* https://tildegit.org/akkartik/etch.love
|
|
* https://git.merveilles.town/akkartik/etch.love
|
|
* https://nest.pijul.com/akkartik/etch.love (using the Pijul version control system)
|
|
|
|
Further forks are encouraged. If you show me your fork, I'll link to it here.
|
|
|
|
## Feedback
|
|
|
|
[Most appreciated.](http://akkartik.name/contact)
|