1 # Plain text with lines
3 An editor for plain text where you can also seamlessly insert line drawings.
4 Designed above all to be easy to modify and give you early warning if your
5 modifications break something.
7 http://akkartik.name/lines.html
11 Install [LÖVE](https://love2d.org). It's just a 5MB download, open-source and
12 extremely well-behaved. I'll assume below that you can invoke it using the
13 `love` command, but that might vary depending on your OS.
15 To run from the terminal, [pass this directory to LÖVE](https://love2d.org/wiki/Getting_Started#Running_Games),
16 optionally with a file path to edit.
18 Alternatively, turn it into a .love file you can double-click on:
20 $ zip -r /tmp/lines.love *.lua
23 By default, lines.love reads/writes the file `lines.txt` in
24 [a directory relative to this app](https://love2d.org/wiki/love.filesystem.getSourceBaseDirectory).
26 To open a different file, drop it on the lines.love window.
31 * `ctrl+f` to find patterns within a file
32 * `ctrl+c` to copy, `ctrl+x` to cut, `ctrl+v` to paste
33 * `ctrl+z` to undo, `ctrl+y` to redo
34 * `ctrl+=` to zoom in, `ctrl+-` to zoom out, `ctrl+0` to reset zoom
35 * `alt+right`/`alt+left` to jump to the next/previous word, respectively
36 * mouse drag or `shift` + movement to select text, `ctrl+a` to select all
37 * `ctrl+e` to modify the sources
39 For shortcuts while editing drawings, consult the online help. Either:
40 * hover on a drawing and hit `ctrl+h`, or
41 * click on a drawing to start a stroke and then press and hold `h` to see your
42 options at any point during a stroke.
44 lines.love has been exclusively tested so far with a US keyboard layout. If
45 you use a different layout, please let me know if things worked, or if you
46 found anything amiss: http://akkartik.name/contact
50 * No support yet for Unicode graphemes spanning multiple codepoints.
52 * No support yet for right-to-left languages.
54 * Undo/redo may be sluggish in large files. Large files may grow sluggish in
55 other ways. lines.love works well in all circumstances with files under
58 * If you kill the process, say by force-quitting because things things get
59 sluggish, you can lose data.
61 * The text cursor will always stay on the screen. This can have some strange
64 * A long series of drawings will get silently skipped when you hit
65 page-down, until a line of text can be showed on screen.
66 * If there's no line of text at the top of the file, you may not be able
67 to scroll back up to the top with page-up.
69 So far this app isn't really designed for drawing-heavy files. For now I'm
70 targeting mostly-text files with a few drawings mixed in.
72 * No clipping yet for drawings. In particular, circles/squares/rectangles and
73 point labels can overflow a drawing.
75 * If you ever see a crash when clicking on the mouse, it might be because a
76 mouse press and release need to happen in separate frames. Try pressing and
77 releasing more slowly and let me know if that helps or not. This is klunky,
80 * Touchpads can drag the mouse pointer using a light touch or a heavy click.
81 On Linux, drags using the light touch get interrupted when a key is pressed.
82 You'll have to press down to drag.
84 * Can't scroll while selecting text with mouse.
86 * No scrollbars yet. That stuff is hard.
90 Updates to lines.love can be downloaded from the following mirrors in addition
92 * https://git.sr.ht/~akkartik/lines.love
93 * https://repo.or.cz/lines.love.git
94 * https://tildegit.org/akkartik/lines.love
95 * https://git.merveilles.town/akkartik/lines.love
96 * https://git.tilde.institute/akkartik/lines.love
97 * https://codeberg.org/akkartik/lines.love
98 * https://github.com/akkartik/lines.love
99 * https://notabug.org/akkartik/lines.love
100 * https://pagure.io/lines.love
101 * https://nest.pijul.com/akkartik/lines.love (using the Pijul version control system)
103 Forks of lines.love are encouraged. If you show me your fork, I'll link to it
106 * https://github.com/akkartik/lines-polygon-experiment -- an experiment that
107 uses separate shortcuts for regular polygons. `ctrl+3` for triangles,
108 `ctrl+4` for squares, etc.
109 * https://git.sr.ht/~akkartik/text.love -- a stripped down version without
110 drawings; useful starting point for some forks
111 * https://git.sr.ht/~akkartik/pensieve.love -- a note-taking app on an
112 infinite 2D surface. Still in development.
113 * https://git.sr.ht/~akkartik/capture.love -- a blank-slate mode for the
114 note-taking app, so all the stuff pensieve.love puts on screen doesn't cause
115 you to forget what you came to write down.
116 * https://git.sr.ht/~akkartik/lines2.love -- an entirely new implementation of
117 some foundations that seems more elegant.
121 * https://codeberg.org/akkartik/lines2md exports lines.love files to Markdown
122 and (non-editable) SVG.
123 * https://git.sr.ht/~akkartik/lines2html.love exports lines.love files to html
125 * https://codeberg.org/eril/lines2html.love provides the option to export
126 just the drawings to a directory. Also provides a CLI, which should be more
127 natural for many people.
131 [Most appreciated.](http://akkartik.name/contact) Messages, PRs, patches,
132 forks, it's all good.