54 lines
		
	
	
	
		
			1,016 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1,016 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/env zsh
 | |
| 
 | |
| function get_children(){
 | |
| 	local parentid=${1:-0}
 | |
| 	local depth=${2:-0}
 | |
| 	wp --url="$domain" --post_type="$post_type" --post_parent="$parentid" --format="csv" post list | tail -n +2 | sort | while read line; do
 | |
| 		newid=$(echo "$line" | awk -F ',' '{print $1}')
 | |
| 		pagename=$(echo "$line" | awk -F ',' '{print $2}')
 | |
| 		slug=$(echo "$line" | awk -F ',' '{print $3}')
 | |
| 
 | |
| 		echo -n "$pagename$seperator" | tr -d '"'
 | |
| 		for i in $(seq 0 $depth); do
 | |
| 			echo -n "$seperator"
 | |
| 		done
 | |
| 		echo "$slug/"
 | |
| 		get_children "$newid" "$((depth+1))"
 | |
| 
 | |
| 	done
 | |
| }
 | |
| 
 | |
| seperator="§"
 | |
| public_html="${${PWD%/public_html*}%/wiki*}/public_html"
 | |
| if [ -d $public_html ]
 | |
| then
 | |
| 	if [ -d $public_html/wp ]
 | |
| 	then
 | |
| 		wpPath=$public_html/wp
 | |
| 	else
 | |
| 		wpPath=$public_html
 | |
| 	fi
 | |
| 
 | |
| 	domain="$(basename $(dirname $public_html ) ).local.jh"
 | |
| 	post_type="post"
 | |
| 
 | |
| 	while [[ $# -gt 0 ]]; do
 | |
| 		case "$1" in
 | |
| 			"--domain")
 | |
| 				domain="$2"
 | |
| 				shift
 | |
| 				shift
 | |
| 				;;
 | |
| 			"--post_type")
 | |
| 				post_type="$2"
 | |
| 				shift
 | |
| 				shift
 | |
| 				;;
 | |
| 		esac
 | |
| 	done
 | |
| 
 | |
| 	get_children
 | |
| 
 | |
| 
 | |
| fi
 | |
| 
 |