Expand all leading tabs in markdown files

Given how problematic leading tabs in markdown files can be,
we have expanded all leading tabs in markdown files by:

```sh
find * -type f -name '*.md' -print |
  while read -r file; do
    rm -f "$file.tmp" ;
    expand < "$file" > "$file.tmp" ;
    mv -f -v "$file.tmp" "$file" ;
  done
```

Given the previous changes to `bin/pandoc-wrapper.sh` and other recent
commits and recent pull requests, the were were **NO** changes to
any HTML files.  This is a **good thing** as the expression goes.

No there are no leading tabs in any markdown files.
A check to catch any re-introduction of leading tabs
into any markdown file is on the way.

BTW: We do not have anything against leading tabs in files,
even though we have had to deal with their impact on forming
HTML from markdown files (as well as the calc source code).
It is just that this is one of those cases where tabs conflict
(sometimes caused by people wanting to change the classic
8-space tab model) with a desired outcome.

Perform `make www` to perform the above and test under macOS.
This commit is contained in:
Landon Curt Noll committed 2024-06-24 11:57:35 -07:00
1 parent bf28cac593
commit 7712db4a17
117 files changed
+1758 -1758

No files matched your search

+24 -24
View File
@@ -88,23 +88,23 @@ results depending on the implementation of `curses`.
### Commands
```
h j k l left, down, up, right cursor movement
H J K L word left, page down, page up, word right
[ ] beginning and end of line
t b top and bottom of file
i enter insert mode, form-feed to quit
x delete character under the cursor
W write buffer to file
R refresh the screen
Q quit
h j k l left, down, up, right cursor movement
H J K L word left, page down, page up, word right
[ ] beginning and end of line
t b top and bottom of file
i enter insert mode, form-feed to quit
x delete character under the cursor
W write buffer to file
R refresh the screen
Q quit
```
### Exit status
```
0 success
2 missing edit filename
0 success
2 missing edit filename
```
@@ -142,24 +142,24 @@ screen with long lines. Paging up and down should work correctly, however.
### References:
[Fin80] Craig A. Finseth, "Theory and Practice of Text Editors or<br>
A Cookbook For An EMACS", TM-165, MIT Lab. for Computer<br>
Science
[Fin80] Craig A. Finseth, "Theory and Practice of Text Editors or<br>
A Cookbook For An EMACS", TM-165, MIT Lab. for Computer<br>
Science
[KeP81] Kernighan & Plauger, "Software Tools in Pascal",<br>
Addison-Wesley, 81, chapter 6
[KeP81] Kernighan & Plauger, "Software Tools in Pascal",<br>
Addison-Wesley, 81, chapter 6
[Mil86] Eugene W. Myers & Webb Miller, "Row-replacement Algorithms
for Screen Editors", TR 86-19, Dept. of Computer Science,<br>
U. of Arizona
[Mil86] Eugene W. Myers & Webb Miller, "Row-replacement Algorithms
for Screen Editors", TR 86-19, Dept. of Computer Science,<br>
U. of Arizona
[MyM86] Eugene W. Myers & Webb Miller, "A simple row-replacement<br>
method", TR 86-28, Dept. of Computer Science, U. of Arizona
[MyM86] Eugene W. Myers & Webb Miller, "A simple row-replacement<br>
method", TR 86-28, Dept. of Computer Science, U. of Arizona
[Mil87] Webb Miller, "A Software Tools Sampler", Prentice Hall, 87
ISBN 0-13-822305-X, chapter 5
[Mil87] Webb Miller, "A Software Tools Sampler", Prentice Hall, 87
ISBN 0-13-822305-X, chapter 5
[net90] "Editor 101/102" articles from comp.editors
[net90] "Editor 101/102" articles from comp.editors
<!--
+5 -5
View File
@@ -77,9 +77,9 @@ delimiters.
- `D`: dup (duplicate) top of `i` stack
- `'`: dup top of `s` stack
- `s`: pop top of `i` stack. If it is `n`, swap `(n+1)`th-top of `i` stack with top.
`1s`, for example, swaps the top two elements; `2s` swaps the top with the
third down; etc. This always pops the top of the `i` stack, even upon
failure.
`1s`, for example, swaps the top two elements; `2s` swaps the top with the
third down; etc. This always pops the top of the `i` stack, even upon
failure.
- `S`: pop top of `i` stack, then act just like `s` but upon `s` stack
- `l`: pop top of `s` stack, push its length onto `i` stack
- `a`: push argc onto `i` stack
@@ -91,8 +91,8 @@ delimiters.
- `/`: pop top two elements of `i` stack, divide, push back quotient
- `>`: pop top two elements of `i` stack, compare, push back 1 or 0 as in C
- `&`: pop top two elements of `i` stack, NAND, push back bitwise result
Note that NAND is sufficient to construct all bitwise operations, as
demonstrated by `icalc` in [sorta.README.html](sorta.README.html).
Note that NAND is sufficient to construct all bitwise operations, as
demonstrated by `icalc` in [sorta.README.html](sorta.README.html).
### System operations
+4 -4
View File
@@ -35,12 +35,12 @@ This is self-explanatory.
[1D=d2/1=1ddd1 ]:!ld
["0"Td]:0ld
[DD=!1_+=0]:@ld [ input m, m assumed nonnegative, append
binary representation of m to top of s stack ]ld
binary representation of m to top of s stack ]ld
["-"T_]:+ld
[D0 1s>=+1=@]:2ld [ input m, append - to top of s stack if m is negative,
then append binary representation of abs(m) to
top of s stack ]ld
then append binary representation of abs(m) to
top of s stack ]ld
[d1A:A2=A]:A 27182 a1>=A
[d2A:A1=A]:A 3145 a2>=A
@@ -152,7 +152,7 @@ Notice that `"2 2+"` is a literal string inside the program.
["rot13: fatal: cannot open "1ST`q]:hld
a2_+=g
1A 0 [ that 0 is for RDONLY ]ld
0 'o D0 1s>=hld
0 'o D0 1s>=hld
0Ou1=x [ in a more complex spawner, this would be done under a fork ]ld
```
+8 -8
View File
@@ -83,23 +83,23 @@ enjoyment high.
Key to map:
```
|
|
###### | | | /\ /--\ ==| /\ | | Directonal keys
###### Solid Wall | ----|| \/ /\ ||---- (unlock doors of
###### | \/ ==| \--/ \/ the same direction)
|
| << >> Doors. Unlocked by
Blank space | << vvvvvv ^^^^^^ >> the above keys.
| << >>
|
|
| << >> Doors. Unlocked by
Blank space | << vvvvvv ^^^^^^ >> the above keys.
| << >>
|
___ | o__O\ O__O ^__^ /O__o\
/ \ 'Crushable' | \___/ /----\ /----\ \___/ The four sprites for
\___/ boulder | _/_\ _/ \_ _/ \_ /_\_ your character :-)
|
|
___ uncrushable | /\ Diamonds. They can either be found lying
/@@@\ boulder | < > around (if only!) or manufacture by pushing
\@@@/ | \/ two 'crushable' rocks together.
|
|
```
The general idea of the game is to collect all the diamonds. This must
+12 -12
View File
@@ -56,7 +56,7 @@ game:
``` <!---sh-->
make ttt
./ttt [first_move] # <- omit first arg to have it move first
./ttt [first_move] # <- omit first arg to have it move first
./ttt next_move
```
@@ -65,8 +65,8 @@ The shell script determines when the game is over, and automatically replaces
loss). The [ttt](%%REPO_URL%%/1991/westley/ttt.sh) script has two other modes:
``` <!---sh-->
./ttt quitgame # cancel any game in progress, revert to merlyn.c
./ttt clobber # remove all game files, revert to original source
./ttt quitgame # cancel any game in progress, revert to merlyn.c
./ttt clobber # remove all game files, revert to original source
```
For example here is a potentially losing game:
@@ -81,9 +81,9 @@ The final might look like:
``` <!---c-->
a(X){/*/X=- a(X){/*/X=-
X -1;F;X=- -1;F;X=-
-1;F;}/*/ -1;F;}/*/
a(X){/*/X=- a(X){/*/X=-
X -1;F;X=- -1;F;X=-
-1;F;}/*/ -1;F;}/*/
char z[][100]={"char z[][100]={","a(X){/*/X=-","-1;F;X=-","-1;F;}/*/","1999999999 :-) ",
"int q,i,j,k,X,O=0,H;S(x)int*x;{X+=X;O+=O;*x+1?*x+2||X++:O++;*x=1;}L(n){for(*",
"z[i=1]=n+97;i<4;i++)M(256),s(i),M(128),s(i),M(64),N;X*=8;O*=8;}s(R){char*r=z",
@@ -93,9 +93,9 @@ The final might look like:
"c(1);*J=--u?O?*J:*v[1]:53;X|=u<<57-*v[u];y(X);K=40+q;q?e(O,X),q&&(K='|'),e(X",
",O),R(),O|=1<<--i:J[*J-48+(X=O=0)]--;L(q=0);for(s(i=0);q=i<12;)s(i++),i>4&&N",
";s(q=12);P(48);P('}');P(59);N;q=0;L(1);for(i=5;i<13;)s(i++),N;L(2);}",0};
b(X){/*/X=- b(X){/*/X=-
X -1;F;X=- -1;F;X=- X
-1;F;}/*/ -1;F;}/*/
b(X){/*/X=- b(X){/*/X=-
X -1;F;X=- -1;F;X=- X
-1;F;}/*/ -1;F;}/*/
int q,i,j,k,X,O=0,H;S(x)int*x;{X+=X;O+=O;*x+1?*x+2||X++:O++;*x=1;}L(n){for(*
z[i=1]=n+97;i<4;i++)M(256),s(i),M(128),s(i),M(64),N;X*=8;O*=8;}s(R){char*r=z
[R];for(q&&Q;*r;)P(*r++);q&&(Q,P(44));}M(m){P(9);i-2||P(X&m?88:O&m?48:32);P(
@@ -104,9 +104,9 @@ The final might look like:
c(1);*J=--u?O?*J:*v[1]:53;X|=u<<57-*v[u];y(X);K=40+q;q?e(O,X),q&&(K='|'),e(X
,O),R(),O|=1<<--i:J[*J-48+(X=O=0)]--;L(q=0);for(s(i=0);q=i<12;)s(i++),i>4&&N
;s(q=12);P(48);P('}');P(59);N;q=0;L(1);for(i=5;i<13;)s(i++),N;L(2);}
c(X){/*/X=- c(X){/*/X=-
0 -1;F;X=- 0 -1;F;X=- 0
-1;F;}/*/ -1;F;}/*/
c(X){/*/X=- c(X){/*/X=-
0 -1;F;X=- 0 -1;F;X=- 0
-1;F;}/*/ -1;F;}/*/
ttt: I win!
```