about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCase Duckworth2024-02-06 22:12:47 -0600
committerCase Duckworth2024-02-06 22:12:47 -0600
commit3ca15b7de0d147c400199c5040a7f87ea92b0c32 (patch)
treee3d272e459f4dfcbd2f7e0f62ea20580895abe8a
parentAdd nl() function (diff)
downloadsubtext-3ca15b7de0d147c400199c5040a7f87ea92b0c32.tar.gz
subtext-3ca15b7de0d147c400199c5040a7f87ea92b0c32.zip
Update readme
-rw-r--r--readme.html69
-rw-r--r--readme.st88
2 files changed, 152 insertions, 5 deletions
diff --git a/readme.html b/readme.html index b6e2ec2..a42f9a9 100644 --- a/readme.html +++ b/readme.html
@@ -18,7 +18,7 @@ without having to remember all the arcane two-letter requests and macros.</p>
18 18
19<h2>Quickstart</h2> 19<h2>Quickstart</h2>
20<p>An easy and quick way to start with <code>subtext</code> is to build this 20<p>An easy and quick way to start with <code>subtext</code> is to build this
21<a href="/subtext/tree/readme.st">README</a>: 21<a href=/subtext/tree/readme.st>README</a>:
22<pre><code>make readme</code></pre> 22<pre><code>make readme</code></pre>
23Of course, I'd recommend reading readme.st in this repo 23Of course, I'd recommend reading readme.st in this repo
24to get a feel for the syntax as well. 24to get a feel for the syntax as well.
@@ -61,10 +61,73 @@ which by default is the current directory.</dd></dl>
61that need to be done at awk-time.</p> 61that need to be done at awk-time.</p>
62 62
63<h3>Shell layer: <code>#</code></h3> 63<h3>Shell layer: <code>#</code></h3>
64 64<p>So what does <code>subtext</code> do?
65<i>todo</i> 65It takes an input file or stream and converts it to a shell script
66which you can then pipe through <code>sh(1)</code>.
67But it doesn't
68<i>just</i>
69do that.
70<code>subtext</code>
71also outputs various functions and variables and what-not
72to set up the environment in which the source document is expanded.
73Starting a line with <code>#</code> puts the rest of the line in the code part,
74enabling you to set a title, say, with <code #title='Some title'></code> or
75define a function for a commonly-used thing in your file.
76For this README, I've written
77<code>#subtext()(code subtext)</code>
78so I save about five characters every time.</p>
66 79
67<h3>Text layer: <code>.</code></h3> 80<h3>Text layer: <code>.</code></h3>
81<p>The "text layer" of subtext is actually expanded to a shell here-doc
82so that you can use stuff like
83<code>$(...)</code>
84to call shell functions.
85But don't worry &ndash; I've made it easier to not shoot yourself in the foot.
86One $ is changed to \$ in the expansion,
87and more than one $ is changed to one less.
88So $$$ becomes $$, etc.
89if you really want to put the process number in your output.
90Oh, and ` are all escaped.
91Those were a bad idea from go.</p>
92<p>In addition, lines beginning with
93<code>.</code>
94expand to
95<code>$(...)</code>,
96and lines beginning with
97<code>..COMMAND&nbsp;[ARGS]</code>
98expand to
99<code>$(COMMAND&nbsp;ARGS&nbsp;<<&nbsp;..</code>
100and close the here-doc with
101<code>..</code>
102on a line by itself.</p>
103<p>You can add the
104<code><<&nbsp;END-MARKER</code>
105yourself if you want to specify your own end-marker.</p>
106<p>Basically, this means you can write
107<pre><code>.h1 My cool article
108
109Here is a cool article.
110It is
111.i really
112cool.
113
114Here's what someone said about it:
115
116..blockquote cite="A fan"
117Wow, what a cool article!
118..</code></pre></p>
119<p>The above translates to</p>
120<section style="border:1px solid;padding:0.5em"><h1>My cool article</h1>
121<p>Here is a cool article.
122It is
123<i>really</i>
124cool.</p>
125<p>Here's what someone said about it:</p>
126<blockquote cite=A fan>Wow, what a cool article!</blockquote></section>
127<p>Since this README was generated from subtext source,
128look at readme.st to get a better feel for the syntax.</p>
129
130<h2>Using <code>subtext</code></h2>
68 131
69<i>todo</i> 132<i>todo</i>
70 133
diff --git a/readme.st b/readme.st index 1344818..2315ad3 100644 --- a/readme.st +++ b/readme.st
@@ -25,7 +25,8 @@ without having to remember all the arcane two-letter requests and macros.
25 25
26.h2 Quickstart 26.h2 Quickstart
27 27
28An easy and quick way to start with $$(code subtext) is to build this README: 28An easy and quick way to start with $$(code subtext) is to build this
29.a href="/subtext/tree/readme.st" README :
29..code 30..code
30make readme 31make readme
31.. 32..
@@ -91,10 +92,93 @@ that need to be done at awk-time.
91% filter, and making it parse shell syntax does not seem like a good time. 92% filter, and making it parse shell syntax does not seem like a good time.
92.h3 Shell layer: $$(code \#) 93.h3 Shell layer: $$(code \#)
93 94
94.i todo 95So what does $$(subtext) do?
96It takes an input file or stream and converts it to a shell script
97which you can then pipe through $$(code "sh(1)").
98But it doesn't
99.i just
100do that.
101.subtext
102also outputs various functions and variables and what-not
103to set up the environment in which the source document is expanded.
104Starting a line with $$(code \#) puts the rest of the line in the code part,
105enabling you to set a title, say, with $$(code "#title='Some title'") or
106define a function for a commonly-used thing in your file.
107For this README, I've written
108.code #subtext()(code subtext)
109so I save about five characters every time.
95 110
96.h3 Text layer: $$(code .) 111.h3 Text layer: $$(code .)
97 112
113The "text layer" of subtext is actually expanded to a shell here-doc
114so that you can use stuff like
115.code \$(...)
116to call shell functions.
117But don't worry &ndash; I've made it easier to not shoot yourself in the foot.
118One $ is changed to \\$ in the expansion,
119and more than one $ is changed to one less.
120So \$\$$ becomes \$$, etc.
121if you really want to put the process number in your output.
122Oh, and ` are all escaped.
123Those were a bad idea from go.
124
125In addition, lines beginning with
126.code .
127expand to
128.code \$(...) ,
129and lines beginning with
130.code ..COMMAND&nbsp;[ARGS]
131expand to
132.code \$(COMMAND&nbsp;ARGS&nbsp;<<&nbsp;..
133and close the here-doc with
134.code ..
135on a line by itself.
136
137You can add the
138.code <<&nbsp;END-MARKER
139yourself if you want to specify your own end-marker.
140
141Basically, this means you can write
142..code << /code
143\.h1 My cool article
144.nl
145Here is a cool article.
146It is
147\.i really
148cool.
149.nl
150Here's what someone said about it:
151.nl
152\..blockquote cite="A fan"
153Wow, what a cool article!
154\..
155/code
156
157The above translates to
158
159% NB: I don't have `section' written in html.st.sh, and I don't really
160% want to bother here ... but I made @ an alias for html_el,
161% so it all works ^_^
162..@ section 'style="border:1px solid;padding:0.5em"' << //bq
163.h1 My cool article
164
165Here is a cool article.
166It is
167.i really
168cool.
169
170Here's what someone said about it:
171
172..blockquote cite="A fan"
173Wow, what a cool article!
174..
175//bq
176
177Since this README was generated from subtext source,
178look at readme.st to get a better feel for the syntax.
179
180.h2 Using $$(subtext)
181
98.i todo 182.i todo
99 183
100.h2 Contributing 184.h2 Contributing