livetext 0.8.74 → 0.8.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.lt3 +8 -8
- data/README.md +103 -128
- data/lib/livetext.rb +1 -1
- data/test/data/basic_formatting/expected-output.txt +1 -1
- data/test/data/basic_formatting/source.lt3 +1 -1
- data/test/data/example_alpha/expected-output.txt +1 -1
- data/test/data/example_alpha/source.lt3 +1 -1
- data/test/data/example_alpha2/expected-output.txt +1 -1
- data/test/data/example_alpha2/source.lt3 +1 -1
- data/test/data/raw_text_block/expected-output.txt +4 -4
- data/test/data/raw_text_block/source.lt3 +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 21186686015782cd79ffd6656825499efe541b7657354c9aafd6b5685ef35199
|
|
4
|
+
data.tar.gz: 6ae3afae0bef8ef24aad162ab188faab26e94c78f8b447d47f050d307ca9b12d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 93775d5b327bc89ffe1803b4969865dc697da73d1671cac2a96a654cb0fbda8402c19429f9038d0883e8b053ac95fae7297a5280c8bbd9c6598962c28cfbc158
|
|
7
|
+
data.tar.gz: 0f2b1e2653bede2aa72a7c1b624fda390cb4e2570b4c430595393557a58c2b819f584008c97808bc62971671a7e0cf1779019eb292d972d9e7cd646c628a21f8
|
data/README.lt3
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.mixin tutorial
|
|
2
2
|
.mixin markdown
|
|
3
3
|
|
|
4
|
-
.copy basic.css
|
|
4
|
+
. copy basic.css
|
|
5
5
|
|
|
6
6
|
.title Livetext: A smart processor for text
|
|
7
7
|
|
|
@@ -231,13 +231,13 @@ Here is the HTML output of the previous example:
|
|
|
231
231
|
What are some other helper methods? Here's a list.
|
|
232
232
|
|
|
233
233
|
.dlist
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
234
|
+
`\_args %% Returns an array of arguments for the method (or an enumerator for that array)
|
|
235
|
+
`\_data %% A single "unsplit" string of all arguments in raw form
|
|
236
|
+
`\_body %% Returns a string (or enumerator) giving access to the text block (preceding ``.end)
|
|
237
|
+
`\_puts %% Write a line to output (STDOUT or wherever)
|
|
238
|
+
`\_print %% Write a line to output (STDOUT or wherever) without a newline
|
|
239
|
+
`\_formatting %% A function transforming boldface, italics, and monospace (Livetext conventions)
|
|
240
|
+
`\_passthru %% Feed a line directly into output after transforming and substituting
|
|
241
241
|
.end
|
|
242
242
|
|
|
243
243
|
Note that the last three methods are typically _not called in your own code. They could be,
|
data/README.md
CHANGED
|
@@ -50,7 +50,7 @@ simply a period followed by a name and optional parameters (at the beginning of
|
|
|
50
50
|
<p>
|
|
51
51
|
|
|
52
52
|
The period will be configurable later if you want to use another character. The names are (for now)
|
|
53
|
-
actual Ruby method names, so names such as <tt>to_s</tt> and <tt>inspect</tt> are currently not allowed.
|
|
53
|
+
actual Ruby method names, so names such as <font size=+1><tt>to_s</tt></font> and <font size=+1><tt>inspect</tt></font> are currently not allowed.
|
|
54
54
|
<p>
|
|
55
55
|
|
|
56
56
|
At present, I am mostly emitting "dumb HTML" or Markdown as output. In theory, you can write
|
|
@@ -64,19 +64,19 @@ It's possible to embed comments in the text. Later it will be possible to pass
|
|
|
64
64
|
them through to the output in commented form.
|
|
65
65
|
<p>
|
|
66
66
|
|
|
67
|
-
The command <tt>.end</tt> is special, marking the end of a body of text. Some commands may operate on
|
|
67
|
+
The command <font size=+1><tt>.end</tt></font> is special, marking the end of a body of text. Some commands may operate on
|
|
68
68
|
a block of lines rather than just a few parameters. (A text block is like a here-document.)
|
|
69
|
-
There is no method name corresponding to the <tt>.end</tt> command.
|
|
69
|
+
There is no method name corresponding to the <font size=+1><tt>.end</tt></font> command.
|
|
70
70
|
<p>
|
|
71
71
|
|
|
72
|
-
The file extension I've chosen is <tt>.lt3</tt> (though this may change). <b>Note:</b> The source for this
|
|
73
|
-
README is a <tt>.lt3</tt> file which uses its own little <i>ad hoc</i> library (called <tt>tutorial</tt>.rb). Refer to
|
|
72
|
+
The file extension I've chosen is <font size=+1><tt>.lt3</tt></font> (though this may change). <b>Note:</b> The source for this
|
|
73
|
+
README is a <font size=+1><tt>.lt3</tt></font> file which uses its own little <i>ad hoc</i> library (called <font size=+1><tt>tutorial</tt></font>.rb). Refer to
|
|
74
74
|
the repo to see these.
|
|
75
75
|
<p>
|
|
76
76
|
|
|
77
77
|
### Syntax, comments, and more
|
|
78
78
|
At first, my idea was to provide predefined commands and allow user-defined commands (to be
|
|
79
|
-
distinguished by a leading <tt>.</tt> or <tt>..</tt> marker). So the single and double dots were both legal.
|
|
79
|
+
distinguished by a leading <font size=+1><tt>.</tt></font> or <font size=+1><tt>..</tt></font> marker). So the single and double dots were both legal.
|
|
80
80
|
<p>
|
|
81
81
|
|
|
82
82
|
However, my concept at present is that the double dots (currently unused) may be used for
|
|
@@ -92,7 +92,7 @@ When a leading period is followed by a space, that line is a comment. When it is
|
|
|
92
92
|
follwed by a name, that name is typically understood to be a method name. Any
|
|
93
93
|
remaining text on the line is treated as a parameter list to be accessed by that
|
|
94
94
|
method. Some methods accept a text block (multiple lines of text terminated by
|
|
95
|
-
a <tt>.end</tt> tag).
|
|
95
|
+
a <font size=+1><tt>.end</tt></font> tag).
|
|
96
96
|
<p>
|
|
97
97
|
|
|
98
98
|
### Boldface and italics
|
|
@@ -151,15 +151,15 @@ Most of this is summarized in this example (taken from one of the testcases):
|
|
|
151
151
|
and `[code font].
|
|
152
152
|
|
|
153
153
|
Here are some random punctuation marks:
|
|
154
|
-
|
|
154
|
+
# . @ * \_ ` : ; % ^ & $
|
|
155
155
|
|
|
156
156
|
No need to escape these: * \_ `
|
|
157
157
|
</pre>
|
|
158
158
|
</td>
|
|
159
159
|
<td width=50% bgcolor=#eeeeee valign=top>
|
|
160
|
-
<pre> Here are examples of <b>boldface</b> and <i>italics</i> and <tt>code</tt>
|
|
160
|
+
<pre> Here are examples of <b>boldface</b> and <i>italics</i> and <font size=+1><tt>code</tt></font>
|
|
161
161
|
as well as <b>more complex</b> examples of <i>italicized text</i>
|
|
162
|
-
and <tt>code font</tt>.
|
|
162
|
+
and <font size=+1><tt>code font</tt></font>.
|
|
163
163
|
<p>
|
|
164
164
|
|
|
165
165
|
Here are some random punctuation marks:
|
|
@@ -176,68 +176,50 @@ Most of this is summarized in this example (taken from one of the testcases):
|
|
|
176
176
|
<p>
|
|
177
177
|
|
|
178
178
|
### Standard methods
|
|
179
|
-
The module <tt>Livetext::Standard</tt> contains the set of standard or predefined methods. Their
|
|
179
|
+
The module <font size=+1><tt>Livetext::Standard</tt></font> contains the set of standard or predefined methods. Their
|
|
180
180
|
names are essentially the same as the names of the dot-commands, with occasional exceptions.
|
|
181
|
-
(For example, it is impractical to use the name <tt>def</tt> as a method name, so the module has a
|
|
182
|
-
<tt>_def</tt> method instead.) Here is the current list:
|
|
183
|
-
<p>
|
|
184
|
-
|
|
185
|
-
<
|
|
186
|
-
<
|
|
187
|
-
<
|
|
188
|
-
</
|
|
189
|
-
<
|
|
190
|
-
<
|
|
191
|
-
</
|
|
192
|
-
<
|
|
193
|
-
<
|
|
194
|
-
</
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
</
|
|
198
|
-
<
|
|
199
|
-
<
|
|
200
|
-
</
|
|
201
|
-
<
|
|
202
|
-
<
|
|
203
|
-
</
|
|
204
|
-
<
|
|
205
|
-
<
|
|
206
|
-
</
|
|
207
|
-
<
|
|
208
|
-
<
|
|
209
|
-
</
|
|
210
|
-
<
|
|
211
|
-
<
|
|
212
|
-
</
|
|
213
|
-
<
|
|
214
|
-
<
|
|
215
|
-
</
|
|
216
|
-
<
|
|
217
|
-
<
|
|
218
|
-
</
|
|
219
|
-
<
|
|
220
|
-
<
|
|
221
|
-
</
|
|
222
|
-
|
|
223
|
-
<td width=3%><td width=10%> <tt>quit</tt> </td><td> End processing and exit</td>
|
|
224
|
-
</tr>
|
|
225
|
-
<tr>
|
|
226
|
-
<td width=3%><td width=10%> <tt>nopass</tt> </td><td> Don't pass lines through (just honor commands)</td>
|
|
227
|
-
</tr>
|
|
228
|
-
<tr>
|
|
229
|
-
<td width=3%><td width=10%> <tt>include</tt> </td><td> Read and process another file (typically a <tt>.lt3</tt> file)</td>
|
|
230
|
-
</tr>
|
|
231
|
-
<tr>
|
|
232
|
-
<td width=3%><td width=10%> <tt>debug</tt> </td><td> Turn on debugging</td>
|
|
233
|
-
</tr>
|
|
234
|
-
<tr>
|
|
235
|
-
<td width=3%><td width=10%> <tt>nopara</tt> </td><td> Turn off the "blank line implies new paragraph" switch</td>
|
|
236
|
-
</tr>
|
|
237
|
-
<tr>
|
|
238
|
-
<td width=3%><td width=10%> <tt>newpage</tt> </td><td> Start a new output page</td>
|
|
239
|
-
</tr>
|
|
240
|
-
</table>
|
|
181
|
+
(For example, it is impractical to use the name <font size=+1><tt>def</tt></font> as a method name, so the module has a
|
|
182
|
+
<font size=+1><tt>_def</tt></font> method instead.) Here is the current list:
|
|
183
|
+
<p>
|
|
184
|
+
|
|
185
|
+
<dl>
|
|
186
|
+
<dt> <font size=+1><tt>comment</tt></font> </dt>
|
|
187
|
+
<dd> Start a comment block</dd>
|
|
188
|
+
<dt> <font size=+1><tt>errout</tt></font> </dt>
|
|
189
|
+
<dd> Write an error message to STDERR</dd>
|
|
190
|
+
<dt> <font size=+1><tt>def</tt></font> </dt>
|
|
191
|
+
<dd> Define a new method inline</dd>
|
|
192
|
+
<dt> <font size=+1><tt>set</tt></font> </dt>
|
|
193
|
+
<dd> Assign values to variables for later interpolation</dd>
|
|
194
|
+
<dt> <font size=+1><tt>include</tt></font> </dt>
|
|
195
|
+
<dd> Include an outside text file (to be interpreted as Livetext)</dd>
|
|
196
|
+
<dt> <font size=+1><tt>mixin</tt></font> </dt>
|
|
197
|
+
<dd> Mix this file of Ruby methods into the standard namespace</dd>
|
|
198
|
+
<dt> <font size=+1><tt>copy</tt></font> </dt>
|
|
199
|
+
<dd> Copy this input file verbatim (no interpretation)</dd>
|
|
200
|
+
<dt> <font size=+1><tt>r</tt></font> </dt>
|
|
201
|
+
<dd> Pass a single line through without processing</dd>
|
|
202
|
+
<dt> <font size=+1><tt>raw</tt></font> </dt>
|
|
203
|
+
<dd> Pass this special text block (terminated with <font size=+1><tt><i>EOF__</tt></font></i>) directly into output without processing </dd>
|
|
204
|
+
<dt> <font size=+1><tt>func</tt></font> </dt>
|
|
205
|
+
<dd> Define a function to be invoked inline</dd>
|
|
206
|
+
<dt> <font size=+1><tt>say</tt></font> </dt>
|
|
207
|
+
<dd> Print a message to the screen</dd>
|
|
208
|
+
<dt> <font size=+1><tt>banner</tt></font> </dt>
|
|
209
|
+
<dd> Print a "noticeable" message to the screen</dd>
|
|
210
|
+
<dt> <font size=+1><tt>quit</tt></font> </dt>
|
|
211
|
+
<dd> End processing and exit</dd>
|
|
212
|
+
<dt> <font size=+1><tt>nopass</tt></font> </dt>
|
|
213
|
+
<dd> Don't pass lines through (just honor commands)</dd>
|
|
214
|
+
<dt> <font size=+1><tt>include</tt></font> </dt>
|
|
215
|
+
<dd> Read and process another file (typically a <font size=+1><tt>.lt3</tt></font> file)</dd>
|
|
216
|
+
<dt> <font size=+1><tt>debug</tt></font> </dt>
|
|
217
|
+
<dd> Turn on debugging</dd>
|
|
218
|
+
<dt> <font size=+1><tt>nopara</tt></font> </dt>
|
|
219
|
+
<dd> Turn off the "blank line implies new paragraph" switch</dd>
|
|
220
|
+
<dt> <font size=+1><tt>newpage</tt></font> </dt>
|
|
221
|
+
<dd> Start a new output page</dd>
|
|
222
|
+
</dl>
|
|
241
223
|
### Examples from the tests
|
|
242
224
|
Here are some tests from the suite. The file name reflects the general purpose of the test.
|
|
243
225
|
<p>
|
|
@@ -582,7 +564,7 @@ Here are some tests from the suite. The file name reflects the general purpose o
|
|
|
582
564
|
<p>
|
|
583
565
|
|
|
584
566
|
### Writing custom methods
|
|
585
|
-
Suppose you wanted to write a method called <tt>chapter</tt> that would simply
|
|
567
|
+
Suppose you wanted to write a method called <font size=+1><tt>chapter</tt></font> that would simply
|
|
586
568
|
output a chapter number and title with certain heading tags and a
|
|
587
569
|
horizontal rule following. There is more than one way to do this.
|
|
588
570
|
<p>
|
|
@@ -616,24 +598,24 @@ the text. Here's an example.
|
|
|
616
598
|
were striking thirteen.
|
|
617
599
|
</pre>
|
|
618
600
|
What can we see from this example? First of all, notice that the part
|
|
619
|
-
between <tt>.def</tt> and <tt>.end</tt> (the body of the method) really is just Ruby
|
|
601
|
+
between <font size=+1><tt>.def</tt></font> and <font size=+1><tt>.end</tt></font> (the body of the method) really is just Ruby
|
|
620
602
|
code. The method takes no parameters because parameter passing is
|
|
621
|
-
handled inside the Livetext engine and the instance variable <tt>@_args</tt> is
|
|
603
|
+
handled inside the Livetext engine and the instance variable <font size=+1><tt>@_args</tt></font> is
|
|
622
604
|
initialized to the contents of this array. We usually refer to the
|
|
623
|
-
<tt>@_args</tt> array only through the method <tt>_args</tt> which returns it.
|
|
605
|
+
<font size=+1><tt>@_args</tt></font> array only through the method <font size=+1><tt>_args</tt></font> which returns it.
|
|
624
606
|
<p>
|
|
625
607
|
|
|
626
|
-
The <tt>_args</tt> method is also an iterator. If a block is attached, that block
|
|
608
|
+
The <font size=+1><tt>_args</tt></font> method is also an iterator. If a block is attached, that block
|
|
627
609
|
will be called for every argument.
|
|
628
610
|
<p>
|
|
629
611
|
|
|
630
612
|
We then create a string using these parameters and call it using the
|
|
631
|
-
<tt>_puts</tt> method. This really does do a <tt>puts</tt> call, but it applies it to
|
|
613
|
+
<font size=+1><tt>_puts</tt></font> method. This really does do a <font size=+1><tt>puts</tt></font> call, but it applies it to
|
|
632
614
|
wherever the output is currently being sent (defaulting to STDOUT).
|
|
633
615
|
<p>
|
|
634
616
|
|
|
635
617
|
All the "helper" methods start with an underscore so as to avoid name
|
|
636
|
-
collisions. These are all stored in the <tt>Livetext::UserAPI</tt> module
|
|
618
|
+
collisions. These are all stored in the <font size=+1><tt>Livetext::UserAPI</tt></font> module
|
|
637
619
|
(which also has some methods you will never use).
|
|
638
620
|
<p>
|
|
639
621
|
|
|
@@ -650,36 +632,29 @@ Here is the HTML output of the previous example:
|
|
|
650
632
|
What are some other helper methods? Here's a list.
|
|
651
633
|
<p>
|
|
652
634
|
|
|
653
|
-
<
|
|
654
|
-
<
|
|
655
|
-
<
|
|
656
|
-
</
|
|
657
|
-
<
|
|
658
|
-
<
|
|
659
|
-
</
|
|
660
|
-
<
|
|
661
|
-
<
|
|
662
|
-
</
|
|
663
|
-
<
|
|
664
|
-
<
|
|
665
|
-
</
|
|
666
|
-
<
|
|
667
|
-
<
|
|
668
|
-
</
|
|
669
|
-
<tr>
|
|
670
|
-
<td width=3%><td width=10%><tt><i>formatting</tt></i></td><td>%%</td>
|
|
671
|
-
</tr>
|
|
672
|
-
<tr>
|
|
673
|
-
<td width=3%><td width=10%><tt><i>passthru</tt></i></td><td>%%</td>
|
|
674
|
-
</tr>
|
|
675
|
-
</table>
|
|
635
|
+
<dl>
|
|
636
|
+
<dt><font</dt>
|
|
637
|
+
<dd>size=+1><tt><i>args</tt></font></i></dd>
|
|
638
|
+
<dt><font</dt>
|
|
639
|
+
<dd>size=+1><tt><i>data</tt></font></i></dd>
|
|
640
|
+
<dt><font</dt>
|
|
641
|
+
<dd>size=+1><tt><i>body</tt></font></i></dd>
|
|
642
|
+
<dt><font</dt>
|
|
643
|
+
<dd>size=+1><tt><i>puts</tt></font></i></dd>
|
|
644
|
+
<dt><font</dt>
|
|
645
|
+
<dd>size=+1><tt><i>print</tt></font></i></dd>
|
|
646
|
+
<dt><font</dt>
|
|
647
|
+
<dd>size=+1><tt><i>formatting</tt></font></i></dd>
|
|
648
|
+
<dt><font</dt>
|
|
649
|
+
<dd>size=+1><tt><i>passthru</tt></font></i></dd>
|
|
650
|
+
</dl>
|
|
676
651
|
Note that the last three methods are typically <i>not</i> called in your own code. They could be,
|
|
677
652
|
but it remains to be seen whether something that advanced is useful.
|
|
678
653
|
<p>
|
|
679
654
|
|
|
680
655
|
### More examples
|
|
681
656
|
Suppose you wanted to take a list of words, more than one per line, and alphabetize them.
|
|
682
|
-
Let's write a method called <tt>alpha</tt> for that. This exercise and the next one are implemented
|
|
657
|
+
Let's write a method called <font size=+1><tt>alpha</tt></font> for that. This exercise and the next one are implemented
|
|
683
658
|
in the test suite.
|
|
684
659
|
<p>
|
|
685
660
|
|
|
@@ -808,7 +783,7 @@ What if we wanted to store the code outside the text file? There is more than on
|
|
|
808
783
|
do this.
|
|
809
784
|
<p>
|
|
810
785
|
|
|
811
|
-
Let's assume we have a file called <tt>mylib.rb</tt> in the same directory as the file we're processing.
|
|
786
|
+
Let's assume we have a file called <font size=+1><tt>mylib.rb</tt></font> in the same directory as the file we're processing.
|
|
812
787
|
(Issues such as paths and security have not been addressed yet.) We'll stick the actual Ruby code
|
|
813
788
|
in here (and nothing else).
|
|
814
789
|
<p>
|
|
@@ -830,7 +805,7 @@ in here (and nothing else).
|
|
|
830
805
|
end
|
|
831
806
|
end
|
|
832
807
|
</pre>
|
|
833
|
-
Now the <tt>.lt3</tt> file can be written this way:
|
|
808
|
+
Now the <font size=+1><tt>.lt3</tt></font> file can be written this way:
|
|
834
809
|
<p>
|
|
835
810
|
|
|
836
811
|
<pre>
|
|
@@ -850,12 +825,12 @@ The output, of course, is the same.
|
|
|
850
825
|
<p>
|
|
851
826
|
|
|
852
827
|
There is an important feature that has not yet been implemented (the
|
|
853
|
-
<tt>require</tt> method). Like Ruby's <tt>require</tt>, it will grab Ruby code and
|
|
854
|
-
load it; however, unlike <tt>mixin</tt>, it will load it into a customized
|
|
828
|
+
<font size=+1><tt>require</tt></font> method). Like Ruby's <font size=+1><tt>require</tt></font>, it will grab Ruby code and
|
|
829
|
+
load it; however, unlike <font size=+1><tt>mixin</tt></font>, it will load it into a customized
|
|
855
830
|
object and associate a new sigil with it. So for example, the command
|
|
856
|
-
<tt>.foobar</tt> would refer to a method in the <tt>Livetext::Standard</tt> class
|
|
857
|
-
(whether predefined or user-defined). If we did a <tt>require</tt> on a file
|
|
858
|
-
and associated the sigil <tt>#</tt> with it, then <tt>#foobar</tt> would be a method
|
|
831
|
+
<font size=+1><tt>.foobar</tt></font> would refer to a method in the <font size=+1><tt>Livetext::Standard</tt></font> class
|
|
832
|
+
(whether predefined or user-defined). If we did a <font size=+1><tt>require</tt></font> on a file
|
|
833
|
+
and associated the sigil <font size=+1><tt>#</tt></font> with it, then <font size=+1><tt>#foobar</tt></font> would be a method
|
|
859
834
|
on that new custom object. I plan to implement this later.
|
|
860
835
|
<p>
|
|
861
836
|
|
|
@@ -869,32 +844,32 @@ This list is not prioritized yet.
|
|
|
869
844
|
4. <strike>Think about command line executable</strike>
|
|
870
845
|
5. <strike>Write as pure library in addition to executable</strike>
|
|
871
846
|
6. <strike>Package as gem</strike>
|
|
872
|
-
7. Document: <tt>require</tt> <tt>include</tt> <tt>copy</tt> <tt>mixin</tt> <tt>errout</tt> and others
|
|
847
|
+
7. Document: <font size=+1><tt>require</tt></font> <font size=+1><tt>include</tt></font> <font size=+1><tt>copy</tt></font> <font size=+1><tt>mixin</tt></font> <font size=+1><tt>errout</tt></font> and others
|
|
873
848
|
8. Need <strike>much</strike> better error checking and corresponding tests
|
|
874
849
|
9. Worry about nesting of elements (probably mostly disallow)
|
|
875
850
|
10. Think about UTF-8
|
|
876
851
|
11. Document API fully
|
|
877
|
-
12. Add <tt><i>raw_args</tt></i> and let <tt><i>args</tt></i> honor quotes
|
|
878
|
-
13. Support quotes in <tt>.set</tt> values
|
|
879
|
-
14. Support "namespaced" variables (<tt>.set code.font="whatever"</tt>)
|
|
880
|
-
15. <strike>Support functions (<tt>$$func</tt>) </strike>
|
|
852
|
+
12. Add <font size=+1><tt><i>raw_args</tt></font></i> and let <font size=+1><tt><i>args</tt></font></i> honor quotes
|
|
853
|
+
13. Support quotes in <font size=+1><tt>.set</tt></font> values
|
|
854
|
+
14. Support "namespaced" variables (<font size=+1><tt>.set code.font="whatever"</tt></font>)
|
|
855
|
+
15. <strike>Support functions (<font size=+1><tt>$$func</tt></font>) </strike>
|
|
881
856
|
16. Support function namespacing
|
|
882
|
-
17. Create predefined variables (e.g., <tt>$<i>source_file</tt>,</i> <tt>$[<i>line])</tt></i>
|
|
883
|
-
18. Create predefined functions (e.g., <tt>$$<i>date</tt>)</i>
|
|
857
|
+
17. Create predefined variables (e.g., <font size=+1><tt>$<i>source_file</tt></font>,</i> <font size=+1><tt>$[<i>line])</tt></font></i>
|
|
858
|
+
18. Create predefined functions (e.g., <font size=+1><tt>$$<i>date</tt></font>)</i>
|
|
884
859
|
19. More support for markdown
|
|
885
860
|
20. Allow turning on/off: formatting, variable interpolation, function interpolation?
|
|
886
|
-
21. <tt>.require</tt> with file and sigil parameters
|
|
861
|
+
21. <font size=+1><tt>.require</tt></font> with file and sigil parameters
|
|
887
862
|
22. Investigate "common intermediate format" - output renderers all read it
|
|
888
863
|
23. Comments passed through (e.g. as HTML comments)
|
|
889
|
-
24. <tt>.run</tt> to execute arbitrary Ruby code inline?
|
|
890
|
-
25. Concept of <tt>.proc</tt> (guaranteed to return no value, produce no output)?
|
|
864
|
+
24. <font size=+1><tt>.run</tt></font> to execute arbitrary Ruby code inline?
|
|
865
|
+
25. Concept of <font size=+1><tt>.proc</tt></font> (guaranteed to return no value, produce no output)?
|
|
891
866
|
26. Exceptions??
|
|
892
|
-
27. Ruby <tt>$SAFE</tt> levels?
|
|
867
|
+
27. Ruby <font size=+1><tt>$SAFE</tt></font> levels?
|
|
893
868
|
28. Warn when overriding existing names?
|
|
894
869
|
29. Think about passing data in (erb replacement)
|
|
895
|
-
30. <strike>]Allow</strike> custom ending tag on <tt>raw</tt> method
|
|
896
|
-
31. <strike>Ignore first blank line after <tt>.end</strike>? (and after raw-tag?)</tt>
|
|
897
|
-
32. Allow/encourage custom <tt>passthru</tt> method?
|
|
870
|
+
30. <strike>]Allow</strike> custom ending tag on <font size=+1><tt>raw</tt></font> method
|
|
871
|
+
31. <strike>Ignore first blank line after <font size=+1><tt>.end</strike>? (and after raw-tag?)</tt></font>
|
|
872
|
+
32. Allow/encourage custom <font size=+1><tt>passthru</tt></font> method?
|
|
898
873
|
33. Must have sane support for CSS
|
|
899
874
|
34. Support for Pygments and/or other code processors
|
|
900
875
|
35. Support for gists? arbitrary links? other remote resouces?
|
|
@@ -903,12 +878,12 @@ This list is not prioritized yet.
|
|
|
903
878
|
38. Imagining a lib that can run/test code fragments as part of document generation
|
|
904
879
|
39. Create vim (emacs?) syntax files
|
|
905
880
|
40. Someday: Support other languages (Elixir, Python, ...)
|
|
906
|
-
41. <tt>.pry</tt> method?
|
|
907
|
-
42. <tt>.irb</tt> method?
|
|
881
|
+
41. <font size=+1><tt>.pry</tt></font> method?
|
|
882
|
+
42. <font size=+1><tt>.irb</tt></font> method?
|
|
908
883
|
43. Other debugging features
|
|
909
884
|
44. Feature to "break" to EOF?
|
|
910
|
-
45. <tt>.meth?</tt> method ending in <tt>?</tt> takes a block that may be processed or thrown away (<tt>.else</tt> perhaps?)
|
|
911
|
-
46. <tt>.dump</tt> to dump all variables and their values
|
|
912
|
-
47. <tt>.if</tt> and <tt>.else</tt>?
|
|
885
|
+
45. <font size=+1><tt>.meth?</tt></font> method ending in <font size=+1><tt>?</tt></font> takes a block that may be processed or thrown away (<font size=+1><tt>.else</tt></font> perhaps?)
|
|
886
|
+
46. <font size=+1><tt>.dump</tt></font> to dump all variables and their values
|
|
887
|
+
47. <font size=+1><tt>.if</tt></font> and <font size=+1><tt>.else</tt></font>?
|
|
913
888
|
48. Make any/all delimiters configurable
|
|
914
889
|
49. HTML helper? (in their own library?)
|
data/lib/livetext.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: livetext
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.75
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hal Fulton
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-04-
|
|
11
|
+
date: 2019-04-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: A smart text processor extensible in Ruby
|
|
14
14
|
email: rubyhacker@gmail.com
|