Artifact
67884e5da2971551176f592222e92911de6debf6 :
Executable file
tools/fossilwikiedit
— part of check-in
[62d3073b30]
at
2021-09-06 03:02:29
on branch trunk
— Fix change detection
(user:
mario
size: 1003)
0000: 23 21 2f 62 69 6e 2f 73 68 0a 23 20 74 69 74 6c #!/bin/sh.# titl
0010: 65 3a 20 65 64 69 74 20 77 69 6b 69 20 70 61 67 e: edit wiki pag
0020: 65 0a 23 20 64 65 73 63 72 69 70 74 69 6f 6e 3a e.# description:
0030: 20 63 68 65 63 6b 6f 75 74 2f 63 68 65 63 6b 69 checkout/checki
0040: 6e 20 64 6f 63 20 70 61 67 65 20 66 72 6f 6d 20 n doc page from
0050: 66 6f 73 73 69 6c 20 72 65 70 6f 2c 20 65 64 69 fossil repo, edi
0060: 74 20 76 69 61 20 24 45 44 49 54 4f 52 0a 23 20 t via $EDITOR.#
0070: 76 65 72 73 69 6f 6e 3a 20 30 2e 32 0a 23 0a 23 version: 0.2.#.#
0080: 20 45 64 69 74 73 20 6f 72 20 63 72 65 61 74 65 Edits or create
0090: 73 20 6e 65 77 20 77 69 6b 69 20 70 61 67 65 20 s new wiki page
00a0: 75 73 69 6e 67 20 6c 6f 63 61 6c 20 65 64 69 74 using local edit
00b0: 6f 72 2e 0a 23 0a 50 41 47 45 3d 22 24 31 22 0a or..#.PAGE="$1".
00c0: 46 49 4c 45 3d 22 22 0a 41 44 44 46 4e 3d 22 22 FILE="".ADDFN=""
00d0: 0a 45 58 49 53 54 53 3d 30 0a 0a 23 20 70 61 67 .EXISTS=0..# pag
00e0: 65 6e 61 6d 65 0a 69 66 20 5b 20 2d 7a 20 22 24 ename.if [ -z "$
00f0: 50 41 47 45 22 20 5d 0a 74 68 65 6e 0a 20 20 65 PAGE" ].then. e
0100: 63 68 6f 20 53 79 6e 74 61 78 3a 20 24 30 20 50 cho Syntax: $0 P
0110: 61 67 65 4e 61 6d 65 0a 20 20 65 78 69 74 0a 66 ageName. exit.f
0120: 69 0a 0a 23 20 74 65 73 74 0a 45 58 49 53 54 53 i..# test.EXISTS
0130: 3d 24 28 66 6f 73 73 69 6c 20 77 69 6b 69 20 6c =$(fossil wiki l
0140: 73 20 7c 20 65 67 72 65 70 20 22 5e 24 50 41 47 s | egrep "^$PAG
0150: 45 24 22 29 0a 69 66 20 5b 20 21 20 24 45 58 49 E$").if [ ! $EXI
0160: 53 54 53 20 5d 0a 74 68 65 6e 0a 20 20 50 41 47 STS ].then. PAG
0170: 45 3d 24 28 66 6f 73 73 69 6c 20 77 69 6b 69 20 E=$(fossil wiki
0180: 6c 73 7c 65 67 72 65 70 20 2d 6d 31 20 2d 69 20 ls|egrep -m1 -i
0190: 22 5e 24 50 41 47 45 24 22 20 7c 7c 20 66 6f 73 "^$PAGE$" || fos
01a0: 73 69 6c 20 77 69 6b 69 20 6c 73 7c 67 72 65 70 sil wiki ls|grep
01b0: 20 2d 6d 31 20 2d 69 20 22 24 50 41 47 45 22 29 -m1 -i "$PAGE")
01c0: 0a 20 20 69 66 20 5b 20 2d 6e 20 22 24 50 41 47 . if [ -n "$PAG
01d0: 45 22 20 5d 0a 20 20 74 68 65 6e 0a 20 20 20 20 E" ]. then.
01e0: 65 63 68 6f 20 22 46 6f 75 6e 64 20 73 69 6d 69 echo "Found simi
01f0: 6c 61 72 20 70 61 67 65 20 6e 61 6d 65 3a 20 27 lar page name: '
0200: 24 50 41 47 45 27 22 0a 20 20 20 20 45 58 49 53 $PAGE'". EXIS
0210: 54 53 3d 31 0a 20 20 65 6c 73 65 0a 20 20 20 20 TS=1. else.
0220: 50 41 47 45 3d 24 31 0a 20 20 20 20 65 63 68 6f PAGE=$1. echo
0230: 20 22 4e 65 77 20 70 61 67 65 3a 20 27 24 50 41 "New page: '$PA
0240: 47 45 27 22 0a 20 20 20 20 41 44 44 46 4e 3d 22 GE'". ADDFN="
0250: 2e 6e 65 77 22 0a 20 20 66 69 0a 66 69 0a 0a 23 .new". fi.fi..#
0260: 20 65 78 70 6f 72 74 0a 46 49 4c 45 3d 22 2f 74 export.FILE="/t
0270: 6d 70 2f 66 6f 73 73 69 6c 65 64 69 74 77 69 6b mp/fossileditwik
0280: 69 24 41 44 44 46 4e 2e 24 50 41 47 45 22 0a 66 i$ADDFN.$PAGE".f
0290: 6f 73 73 69 6c 20 77 69 6b 69 20 65 78 70 6f 72 ossil wiki expor
02a0: 74 20 22 24 50 41 47 45 22 20 22 24 46 49 4c 45 t "$PAGE" "$FILE
02b0: 22 0a 0a 23 20 65 64 69 74 0a 4d 44 35 3d 24 28 "..# edit.MD5=$(
02c0: 6d 64 35 73 75 6d 20 22 24 46 49 4c 45 22 29 0a md5sum "$FILE").
02d0: 24 45 44 49 54 4f 52 20 24 46 49 4c 45 0a 4d 44 $EDITOR $FILE.MD
02e0: 35 4e 45 57 3d 24 28 6d 64 35 73 75 6d 20 22 24 5NEW=$(md5sum "$
02f0: 46 49 4c 45 22 29 0a 0a 23 20 73 61 76 65 3f 0a FILE")..# save?.
0300: 69 66 20 5b 20 22 24 4d 44 35 4e 45 57 22 20 21 if [ "$MD5NEW" !
0310: 3d 20 22 24 4d 44 35 22 20 5d 0a 74 68 65 6e 0a = "$MD5" ].then.
0320: 20 20 69 66 20 5b 20 24 45 58 49 53 54 53 20 5d if [ $EXISTS ]
0330: 0a 20 20 74 68 65 6e 0a 20 20 20 20 66 6f 73 73 . then. foss
0340: 69 6c 20 77 69 6b 69 20 63 6f 6d 6d 69 74 20 22 il wiki commit "
0350: 24 50 41 47 45 22 20 22 24 46 49 4c 45 22 0a 20 $PAGE" "$FILE".
0360: 20 65 6c 73 65 0a 20 20 20 20 66 6f 73 73 69 6c else. fossil
0370: 20 77 69 6b 69 20 63 72 65 61 74 65 20 22 24 50 wiki create "$P
0380: 41 47 45 22 20 22 24 46 49 4c 45 22 20 2d 2d 6d AGE" "$FILE" --m
0390: 69 6d 65 74 79 70 65 20 74 65 78 74 2f 78 2d 6d imetype text/x-m
03a0: 61 72 6b 64 6f 77 6e 0a 20 20 66 69 0a 20 20 69 arkdown. fi. i
03b0: 66 20 5b 20 21 20 24 3f 20 5d 0a 20 20 74 68 65 f [ ! $? ]. the
03c0: 6e 0a 20 20 20 20 72 6d 20 22 24 46 49 4c 45 22 n. rm "$FILE"
03d0: 0a 20 20 66 69 0a 65 6c 73 65 0a 20 20 72 6d 20 . fi.else. rm
03e0: 22 24 46 49 4c 45 22 0a 66 69 0a "$FILE".fi.