about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--COPYING26
-rw-r--r--README.gmi63
-rw-r--r--jimmy.egg1
3 files changed, 89 insertions, 1 deletions
diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..ea00250 --- /dev/null +++ b/COPYING
@@ -0,0 +1,26 @@
1Copyright Case Duckworth <acdw@acdw.net>
2
3Redistribution and use in source and binary forms, with or without modification,
4are permitted provided that the following conditions are met:
5
61. Redistributions of source code must retain the above copyright notice, this
7 list of conditions and the following disclaimer.
8
92. Redistributions in binary form must reproduce the above copyright notice,
10 this list of conditions and the following disclaimer in the documentation
11 and/or other materials provided with the distribution.
12
133. Neither the name of the copyright holder nor the names of its contributors
14 may be used to endorse or promote products derived from this software without
15 specific prior written permission.
16
17THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
18ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
21ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/README.gmi b/README.gmi index 734ec08..a3e10fd 100644 --- a/README.gmi +++ b/README.gmi
@@ -1,5 +1,66 @@
1# jimmy --- convert .gmi to .html and other formats 1# jimmy --- convert .gmi to .html and other formats
2 2
3[to be documented] 3`jimmy` is a tool that I wrote to allow me to write
4=> https://geminiprotocol.net/docs/gemtext-specification.gmi gemtext
5and output various other formats.
6It differs somewhat (I assume; I haven't checked) from other such tools in that
7it allows the author to write *lightly modified* gemtext source that can then be
8normalized by the tool as well as converted to other formats like HTML.
4 9
10The main goals for this project are as follows:
5 11
12* jimmy text should be easy to write and easy to read using the bare minimum of
13 tools
14* jimmy text should be *as close as possible* to canonical gemtext while
15 providing some QOL and expressivity extensions
16
17Jimmy text should not differ *enough* from gemtext so that special editor
18plugins are needed, for example, or so that dumb gemini clients will render the
19output differently than plain text. Smart ones, that do autoformatting of lines
20on display, might display jimmy text differently---which is why the tool also
21offers a normalization function.
22
23## How jimmy text differs from gemtext
24
25### Compatible changes
26
27* Paragraphs "auto-wrap", that is, they can be on multiple contiguous lines and
28 will be automatically merged into one line on normalization.
29* Links can be "inline" in paragraphs. If links are surrounded by paragraph
30 lines, they'll render as regular `<a>` tags in html. If they appear in a list
31 apart from other paragraphs, they'll render as an unordered list of links.
32* Metadata lines for templating: lines of the form `: key value...` are not
33 rendered but are saved to be referenced in templates and the like.
34 Recommended: put these lines at the end of documents so that normal gemtext
35 readers will show them, but they won't be distracting.
36* Inline syntax is allowed: *strong*, _em_, and `code` tags are generated for
37 html in the default configuration, and you can add others if you like. These
38 tags do not stretch over source line breaks, and there is no check as to
39 whether they're properly nested.
40
41### Incompatible changes
42
43This section should be as short as possible, of course. They're incompatible in
44that a complying gemtext reader will interpret their meanings as different from
45what jimmy text outputs. These changes are behind a flag (TODO!) and can be
46disabled at run-time.
47
48* Lines beginning with two or more spaces are automatically joined with the
49 previous line on output.
50
51## Installing jimmy
52
53Jimmy requires CHICKEN 5.3+ as well as the following eggs:
54
55* module-declarations
56* utf8
57
58To install, simply run `make install`. You can uninstall with `make uninstall`.
59
60## Using jimmy
61
62TODO
63
64## License
65
66Jimmy is free software licensed under the BSD 3-Clause license. See COPYING for details.
diff --git a/jimmy.egg b/jimmy.egg index 84fe949..84bf83c 100644 --- a/jimmy.egg +++ b/jimmy.egg
@@ -1,5 +1,6 @@
1((author "Case Duckworth") 1((author "Case Duckworth")
2 (synopsis "The ssg king") 2 (synopsis "The ssg king")
3 (license "BSD-3-clause")
3 (dependencies (chicken "5.3.0") 4 (dependencies (chicken "5.3.0")
4 module-declarations 5 module-declarations
5 utf8) 6 utf8)