Collection of themes/skins for the Fossil SCM

⌈⌋ ⎇ branch:  Fossil Skins Extra


Hex Artifact Content

Artifact 801306272895b0208142c9c99547c959c6c44cc5:

  • Executable file tools/fossilwikiedit — part of check-in [5f780148f7] at 2021-10-12 10:01:57 on branch trunk — fox errlevel handling (user: mario size: 1084)

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 65  ageName.  exit.e
0120: 6c 69 66 20 5b 20 22 24 50 41 47 45 22 20 3d 20  lif [ "$PAGE" = 
0130: 22 6c 73 22 20 5d 0a 74 68 65 6e 0a 20 20 66 6f  "ls" ].then.  fo
0140: 73 73 69 6c 20 77 69 6b 69 20 6c 73 0a 20 20 65  ssil wiki ls.  e
0150: 78 69 74 0a 66 69 0a 0a 23 20 74 65 73 74 0a 45  xit.fi..# test.E
0160: 58 49 53 54 53 3d 24 28 66 6f 73 73 69 6c 20 77  XISTS=$(fossil w
0170: 69 6b 69 20 6c 73 20 7c 20 65 67 72 65 70 20 22  iki ls | egrep "
0180: 5e 24 50 41 47 45 24 22 29 0a 69 66 20 5b 20 21  ^$PAGE$").if [ !
0190: 20 24 45 58 49 53 54 53 20 5d 0a 74 68 65 6e 0a   $EXISTS ].then.
01a0: 20 20 50 41 47 45 3d 24 28 66 6f 73 73 69 6c 20    PAGE=$(fossil 
01b0: 77 69 6b 69 20 6c 73 7c 65 67 72 65 70 20 2d 6d  wiki ls|egrep -m
01c0: 31 20 2d 69 20 22 5e 24 50 41 47 45 24 22 20 7c  1 -i "^$PAGE$" |
01d0: 7c 20 66 6f 73 73 69 6c 20 77 69 6b 69 20 6c 73  | fossil wiki ls
01e0: 7c 67 72 65 70 20 2d 6d 31 20 2d 69 20 22 24 50  |grep -m1 -i "$P
01f0: 41 47 45 22 29 0a 20 20 69 66 20 5b 20 2d 6e 20  AGE").  if [ -n 
0200: 22 24 50 41 47 45 22 20 5d 0a 20 20 74 68 65 6e  "$PAGE" ].  then
0210: 0a 20 20 20 20 65 63 68 6f 20 22 46 6f 75 6e 64  .    echo "Found
0220: 20 73 69 6d 69 6c 61 72 20 70 61 67 65 20 6e 61   similar page na
0230: 6d 65 3a 20 27 24 50 41 47 45 27 22 0a 20 20 20  me: '$PAGE'".   
0240: 20 45 58 49 53 54 53 3d 31 0a 20 20 65 6c 73 65   EXISTS=1.  else
0250: 0a 20 20 20 20 50 41 47 45 3d 24 31 0a 20 20 20  .    PAGE=$1.   
0260: 20 65 63 68 6f 20 22 4e 65 77 20 70 61 67 65 3a   echo "New page:
0270: 20 27 24 50 41 47 45 27 22 0a 20 20 20 20 41 44   '$PAGE'".    AD
0280: 44 46 4e 3d 22 2e 6e 65 77 22 0a 20 20 66 69 0a  DFN=".new".  fi.
0290: 66 69 0a 0a 23 20 65 78 70 6f 72 74 0a 46 49 4c  fi..# export.FIL
02a0: 45 3d 22 2f 74 6d 70 2f 66 6f 73 73 69 6c 77 69  E="/tmp/fossilwi
02b0: 6b 69 65 64 69 74 24 41 44 44 46 4e 2e 24 50 41  kiedit$ADDFN.$PA
02c0: 47 45 22 0a 66 6f 73 73 69 6c 20 73 79 6e 63 0a  GE".fossil sync.
02d0: 66 6f 73 73 69 6c 20 77 69 6b 69 20 65 78 70 6f  fossil wiki expo
02e0: 72 74 20 22 24 50 41 47 45 22 20 22 24 46 49 4c  rt "$PAGE" "$FIL
02f0: 45 22 0a 0a 23 20 65 64 69 74 0a 4d 44 35 3d 24  E"..# edit.MD5=$
0300: 28 6d 64 35 73 75 6d 20 22 24 46 49 4c 45 22 29  (md5sum "$FILE")
0310: 0a 24 45 44 49 54 4f 52 20 22 24 46 49 4c 45 22  .$EDITOR "$FILE"
0320: 0a 4d 44 35 4e 45 57 3d 24 28 6d 64 35 73 75 6d  .MD5NEW=$(md5sum
0330: 20 22 24 46 49 4c 45 22 29 0a 0a 23 20 73 61 76   "$FILE")..# sav
0340: 65 3f 0a 69 66 20 5b 20 22 24 4d 44 35 4e 45 57  e?.if [ "$MD5NEW
0350: 22 20 21 3d 20 22 24 4d 44 35 22 20 5d 0a 74 68  " != "$MD5" ].th
0360: 65 6e 0a 20 20 69 66 20 5b 20 24 45 58 49 53 54  en.  if [ $EXIST
0370: 53 20 5d 0a 20 20 74 68 65 6e 0a 20 20 20 20 66  S ].  then.    f
0380: 6f 73 73 69 6c 20 77 69 6b 69 20 63 6f 6d 6d 69  ossil wiki commi
0390: 74 20 22 24 50 41 47 45 22 20 22 24 46 49 4c 45  t "$PAGE" "$FILE
03a0: 22 0a 20 20 65 6c 73 65 0a 20 20 20 20 66 6f 73  ".  else.    fos
03b0: 73 69 6c 20 77 69 6b 69 20 63 72 65 61 74 65 20  sil wiki create 
03c0: 22 24 50 41 47 45 22 20 22 24 46 49 4c 45 22 20  "$PAGE" "$FILE" 
03d0: 2d 2d 6d 69 6d 65 74 79 70 65 20 74 65 78 74 2f  --mimetype text/
03e0: 78 2d 6d 61 72 6b 64 6f 77 6e 0a 20 20 66 69 0a  x-markdown.  fi.
03f0: 20 20 69 66 20 5b 20 24 3f 20 5d 0a 20 20 74 68    if [ $? ].  th
0400: 65 6e 0a 20 20 20 20 66 6f 73 73 69 6c 20 73 79  en.    fossil sy
0410: 6e 63 0a 20 20 20 20 72 6d 20 22 24 46 49 4c 45  nc.    rm "$FILE
0420: 22 0a 20 20 66 69 0a 65 6c 73 65 0a 20 20 72 6d  ".  fi.else.  rm
0430: 20 22 24 46 49 4c 45 22 0a 66 69 0a               "$FILE".fi.