Hatred's Log Place

DON'T PANIC!

Apr 6, 2009 - 1 minute read -

DokuWiki переименовать страницу

Если встрает задача переименования страницы, так что бы не удалять старую, не хранить её историю, тут средвами DokuWiki не обойтись.

Вот пример того как это мойжно сделать shell командой, в случае когда была переименована главная страница области видимости (задана в параметрах DokuWiki):

find . -name "glavnaja*" | while read fn; do nn=`echo $fn | sed "s|glavnaja|start|"`; echo "$fn -> $(basename $nn)"; sudo mv $fn $nn; done

страница была “glavnaja”, стала “start”

для отдельной страницы подойдет такой наборк команд, указывать нужно полный путь со всеми namespace:

pn="$1" # like: wiki:help
nw=$2  # новое имя, help1
fn=$(echo $pn | sed 's|:|/|')
for d in attic media meta pages
do
   ls -1 $d/$fn.* | while read line
   do
      nn=$(basename $fn)
      dn=$(dirname $fn)
      new=$(echo $line | sed "s|$nn|$nw|")
      mv $line $new
   done
done