aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/SuckItFos
blob: 54fc376c842c854feb23c7abcf31c86c3d9b29da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/bash

URL="https://fos.wiki.devuan.org"

filter="
 -name _default -prune -o \
 -name _empty -prune -o \
 -name System -prune -o \
 -name Trash -prune -o \
 -name TWiki -prune -o \
"

pushd /opt/merged

find /opt/Foswiki/data  ${filter} \
-name "*.txt" -type f,l -printf "%P\n" | while read line
do
    base=`echo "${line}" | cut -d '/' -f 1`
    file=`echo "${line}" | cut -d '/' -f 2- | rev | cut -b 5- | rev`
    mkdir -p Foswiki/$base
    mkdir -p Foswiki/${base}/`dirname ${file}`
    mkdir -p combined/$base
    mkdir -p combined/${base}/`dirname ${file}`
    echo "Converting ${URL}/${base}/${file} -> Foswiki/${base}/${file}.md"
#    pandoc -f html -t markdown --self-contained ${URL}/${base}/${file} >Foswiki/${base}/${file}.md
    # TODO - try curl, to see what is actually downloaded, and maybe not download unchanged pages.  curl to .HTM
    # Doesn't help with redownloads, coz natch a dynamic site isn't cached.  But I can at least comment out the curl command during testing to save time.
    curl --silent --no-progress-meter ${URL}/${base}/${file} -o Foswiki/${base}/${file}.HTM
    pandoc -f html -t commonmark_x --self-contained Foswiki//${base}/${file}.HTM >Foswiki/${base}/${file}.md
    ln -frs Foswiki/${base}/${file}.md combined/${base}/${file}.md
    cp Foswiki/${base}/${file}.md Foswiki/${base}/${file}.md_ORIGINAL

    csplit -ks Foswiki/${base}/${file}.md '%::: {.foswikiTopic}%' '/::: {.foswikiContentFooter}/'
    if [ -f xx00 ]; then
	rm Foswiki/${base}/${file}.md
	mv xx00 Foswiki/${base}/${file}.md
    fi

    # Attempt to clean things up, badly.
    sed -i -E Foswiki/${base}/${file}.md \
	-e 's/\$/\$dlr\$/g' \
	-e 's/\{#.*\}//g' \
	-e 's/\{\.foswiki.*\}//g' \
	-e 's/\{\.foswiki.*//g' \
	-e 's/\{\.foswikiNewLink rel=“nofollow”\}//g' \
	-e 's/\{\.foswikiNewLink$//g' \
	-e 's/^\.foswiki.*\}//g' \
	-e 's/\{\.pattern.*\}//g' \
	-e 's/\{\.pattern.*//g' \
	-e 's/\{rel="nofollow"\}//g' \
	-e 's/^rel="nofollow"\}//g' \
	-e 's/rel=“nofollow”\}$//g' \
	-e '/^:::/d'
    echo -e "****\n[Original page](${URL}/${base}/${file}) where you can edit it." >> Foswiki/${base}/${file}.md

#    pandoc -t html -f commonmark_x --self-contained		Foswiki/${base}/${file}.md > Foswiki//${base}/${file}.htm
    cmark-gfm -t html -e footnotes -e table -e strikethrough	Foswiki/${base}/${file}.md > Foswiki//${base}/${file}.body
done

notYetAnotherWiki.lua

popd