From bcf74340a276aee6aaf0d0b2d6b07b29e50f0b25 Mon Sep 17 00:00:00 2001
From: dvs1
Date: Wed, 26 Feb 2025 20:08:29 +1000
Subject: YAR - mostly theming and link conversion.
Includes the new "hide all but content" icon.
---
SuckIt | 67 ++++++++++++++++++++++++++++++++++++++++--------------------------
1 file changed, 41 insertions(+), 26 deletions(-)
(limited to 'SuckIt')
diff --git a/SuckIt b/SuckIt
index d67844b..8950850 100755
--- a/SuckIt
+++ b/SuckIt
@@ -13,6 +13,10 @@ mkdir -p unsorted
rm -fr users
mkdir -p users
+# Copy across things like images that where uploaded.
+mkdir -p /opt/nyaw/Foswiki/pub/
+# TODO - Should rsync this instead.
+cp -r /opt/Foswiki/pub/Main /opt/nyaw/Foswiki/pub/
filter="
-name _default -prune -o \
-name _empty -prune -o \
@@ -20,40 +24,46 @@ filter="
-name Trash -prune -o \
-name TWiki -prune -o \
"
-URL="https://fos.wiki.devuan.org"
+ogURL="https://fos.wiki.devuan.org"
+ogWiki="Foswiki"
time 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`
- if [[ ! $file =~ (AdminGroup|AdminUser|AdminUserLeftBar|EditorGroup|GroupTemplate|GroupViewTemplate|NobodyGroup|PatternSkinUserViewTemplate|ProjectContributor|RegistrationAgent|SitePreferences|UnprocessedRegistrations|UnprocessedRegistrationsLog|UserHomepageHeader|UserList|UserListByDateJoined|UserListByLocation|UserList|UserListHeader|WebAtom|WebChanges|WebCreateNewTopic|WebHome|WebIndex|WebLeftBar|WebLeftBarExample|WebNotify|WebPreferences|WebRss|WebSearch|WebSearchAdvanced|WebTopicList|WikiGroups|WikiUsers)$ ]]; then
+ if [[ ! ${file} =~ (AdminGroup|AdminUser|AdminUserLeftBar|CommentPluginExamples|EditorGroup|GroupTemplate|GroupViewTemplate|NobodyGroup|PatternSkinUserViewTemplate|ProjectContributor|RegistrationAgent|SitePreferences|UnprocessedRegistrations|UnprocessedRegistrationsLog|UserHomepageHeader|UserList|UserListByDateJoined|UserListByLocation|UserList|UserListHeader|WebAtom|WebChanges|WebCreateNewTopic|WebHome|WebIndex|WebLeftBar|WebLeftBarExample|WebNotify|WebPreferences|WebRss|WebSearch|WebSearchAdvanced|WebTopicList|WikiGroups|WikiUsers)$ ]]; then
+ realURL=${ogWiki}/${base}/${file}
time=`date --rfc-3339=seconds -ur /opt/Foswiki/data/${base}/${file}.txt | cut -d '+' -f 1`
- mkdir -p Foswiki/$base
- mkdir -p Foswiki/${base}/`dirname ${file}`
- echo -e "ogWiki=Foswiki\nogURL=${URL}\nogBase=${base}\nogFile=${file}\ntimestamp=${time}\n" > Foswiki/${base}/${file}.md.md
- echo "downloading ${URL}/${base}/${file}?cover=print"
+ mkdir -p ${ogWiki}/${base}
+ mkdir -p ${ogWiki}/${base}/`dirname ${file}`
+ echo -e "ogWiki=${ogWiki}\nogURL=${ogURL}\nrealURL=${realURL}\nogBase=${base}\nogFile=${file}\ntimestamp=${time}\n" > ${ogWiki}/${base}/${file}.md.md
+ echo "downloading ${ogURL}/${base}/${file}?cover=print"
# 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}?cover=print -o Foswiki/${base}/${file}.HTM
+ curl --silent --no-progress-meter ${ogURL}/${base}/${file}?cover=print -o ${ogWiki}/${base}/${file}.HTM
# Attempt to separate user profiles from user content. Doesn't work when people turn their profiles into content.
if [[ "${base}" == "Main" ]]; then
dest="unsorted"
mkdir -p `dirname users/${file}`
- sed -i -E Foswiki/${base}/${file}.HTM -e "s%UserForm%%w users/${file}_fos.SED"
+ sed -i -E ${ogWiki}/${base}/${file}.HTM -e "s%UserForm%%w users/${file}_fos.SED"
if [ -s users/${file}_fos.SED ]; then
dest="users"
fi
rm users/${file}_fos.SED
rm -d `dirname users/${file}` >/dev/null 2>&1
mkdir -p `dirname ${dest}/${file}`
- touch Foswiki/${base}/${file}.md
- ln -sfr Foswiki/${base}/${file}.md ${dest}/${file}_fos.md
- ln -sfr Foswiki/${base}/${file}.md.md ${dest}/${file}_fos.md.md
- rm Foswiki/${base}/${file}.md
+ realURL=${dest}/${file}
+ echo -e "ogWiki=${ogWiki}\nogURL=${ogURL}\nrealURL=${realURL}_fos\nogBase=${base}\nogFile=${file}\ntimestamp=${time}\n" > ${ogWiki}/${base}/${file}.md.md
+ touch ${ogWiki}/${base}/${file}.md
+ ln -sfr ${ogWiki}/${base}/${file}.md ${dest}/${file}_fos.md
+ ln -sfr ${ogWiki}/${base}/${file}.md.md ${dest}/${file}_fos.md.md
+ rm ${ogWiki}/${base}/${file}.md
fi
fi
done
+# Copy across things like images that where uploaded.
+cp -r /opt/pmwiki/uploads /opt/nyaw/PmWiki/
filter="
-not -name "*~" -a \
-not -name ".flock" -a \
@@ -61,32 +71,37 @@ filter="
-not -name ".lastmod" -a \
-not -name ".pageindex" -a \
"
-URL="https://wiki.devuan.org"
+ogURL="https://wiki.devuan.org"
+ogWiki="PmWiki"
time find /opt/pmwiki/wiki.d ${filter} \
-name "*.*" -type f,l -printf "%P\n" | while read line
do
base=`echo "${line}" | cut -d '.' -f 1`
+ file=`echo "${line}" | cut -d '.' -f 2`
if [[ "${base}" != "Site" ]]; then
- file=`echo "${line}" | cut -d '.' -f 2`
+ realURL=${ogWiki}/${base}/${file}
time=`date --rfc-3339=seconds -ur /opt/pmwiki/wiki.d/${base}.${file} | cut -d '+' -f 1`
- mkdir -p PmWiki/$base
- echo -e "ogWiki=PmWiki\nogURL=${URL}\nogBase=${base}\nogFile=${file}\ntimestamp=${time}\n" > PmWiki/${base}/${file}.md.md
-# echo "downloading ${URL}/?n=${base}.${file}?action=markdown"
-# curl --no-progress-meter ${URL}/?n=${base}.${file}?action=markdown -o PmWiki/${base}/${file}.MARKDOWN
- echo "downloading ${URL}/?n=${base}.${file}?action=print"
- curl --no-progress-meter ${URL}/?n=${base}.${file}?action=print -o PmWiki/${base}/${file}.HTM
+ mkdir -p ${ogWiki}/${base}
+ echo -e "ogWiki=${ogWiki}\nogURL=${ogURL}\nrealURL=${realURL}\nogBase=${base}\nogFile=${file}\ntimestamp=${time}\n" > ${ogWiki}/${base}/${file}.md.md
+# echo "downloading ${ogURL}/?n=${base}.${file}?action=markdown"
+# curl --no-progress-meter ${ogURL}/?n=${base}.${file}?action=markdown -o ${ogWiki}/${base}/${file}.MARKDOWN
+ echo "downloading ${ogURL}/?n=${base}.${file}?action=print"
+ curl --no-progress-meter ${ogURL}/?n=${base}.${file}?action=print -o ${ogWiki}/${base}/${file}.HTM
# Seems there's no way to tell user profiles apart from user content. Unless I can find a list of users somewhere. Don't think there is one.
if [[ "${base}" == "Profiles" ]]; then
- touch PmWiki/${base}/${file}.md
- ln -sfr PmWiki/${base}/${file}.md unsorted/${file}_pm.md
- ln -sfr PmWiki/${base}/${file}.md.md unsorted/${file}_pm.md.md
- rm PmWiki/${base}/${file}.md
+ dest="unsorted"
+ realURL=${dest}/${file}
+ echo -e "ogWiki=${ogWiki}\nogURL=${ogURL}\nrealURL=${realURL}_pm\nogBase=${base}\nogFile=${file}\ntimestamp=${time}\n" > ${ogWiki}/${base}/${file}.md.md
+ touch ${ogWiki}/${base}/${file}.md
+ ln -sfr ${ogWiki}/${base}/${file}.md ${dest}/${file}_pm.md
+ ln -sfr ${ogWiki}/${base}/${file}.md.md ${dest}/${file}_pm.md.md
+ rm ${ogWiki}/${base}/${file}.md
fi
# TODO - groups are PmWiki/Onefang and PmWiki/Tiki
-# pandoc -f markdown -t commonmark_x --self-contained PmWiki//${base}/${file}.MD >PmWiki/${base}/${file}.md
-# pandoc -f html -t commonmark_x --self-contained PmWiki//${base}/${file}.HTM >PmWiki/${base}/${file}.md
+# pandoc -f markdown -t commonmark_x --self-contained ${ogWiki}//${base}/${file}.MD >${ogWiki}/${base}/${file}.md
+# pandoc -f html -t commonmark_x --self-contained ${ogWiki}//${base}/${file}.HTM >${ogWiki}/${base}/${file}.md
fi
done
--
cgit v1.1