101 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/bash
 | |
| 
 | |
| # set K8S_WEBSITE in your env to your docs website root
 | |
| # or rely on this script to determine it automatically
 | |
| # You must run the script inside the repository for that to work
 | |
| #
 | |
| # Note: website/content/<lang>/docs
 | |
| 
 | |
| find_content_dir() {
 | |
|   local self
 | |
|   local top
 | |
|   if command git rev-parse --is-inside-work-tree > /dev/null 2>&1 ; then
 | |
|     self="$0"
 | |
|     top="$(command git rev-parse --show-toplevel)"
 | |
|     while ( cd "${top}/.." && command git rev-parse --is-inside-work-tree> /dev/null 2>&1 ); do
 | |
|       top="$( cd "${top}/.." && "${self}" )"
 | |
|     done
 | |
|     printf "%s/content" "${top}"
 | |
|   else
 | |
|     printf "Could not autodetect CONTENT_DIR\n" 1>&2
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| if [ -z ${K8S_WEBSITE+x} ]; then
 | |
|     CONTENT_DIR="$( find_content_dir )"
 | |
| else
 | |
|     CONTENT_DIR=${K8S_WEBSITE}/content
 | |
| fi
 | |
| 
 | |
| if ! [ -d "${CONTENT_DIR}" ]; then
 | |
|     printf "Directory %s not found\n" "${CONTENT_DIR}" 1>&2
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # 16 langs
 | |
| # de en es fr hi id it ja ko no pl pt ru uk vi zh
 | |
| 
 | |
| declare -a DIRS=("concepts" "contribute" "home" "reference" "setup" "tasks" "tutorials")
 | |
| declare -a EMPTY_STMTS=("body" "discussion" "lessoncontent" "overview" "steps")
 | |
| declare -a REPLACE_STMTS=("cleanup" "objectives" "options" "prerequisites" "seealso" "synopsis" "whatsnext")
 | |
| declare -a CONTENT_TYPES=("concept" "task" "tutorial" "tool-reference")
 | |
| END_CAPTURE="{{% \/capture %}}"
 | |
| CONTENT_TEMPLATE="content_template:"
 | |
| 
 | |
| # replace or remove capture statements
 | |
| function replace_capture_stmts {
 | |
|   echo "i:""$i"
 | |
|   if [ -d "$1" ] ; then
 | |
|     for i in `ls $1`; do
 | |
|     replace_capture_stmts "${1}/${i}"
 | |
|     done
 | |
|   else
 | |
|     if [ -f "$1" ] ; then
 | |
|       ls -f $1 | while read -r file; do
 | |
|         for stmt in "${EMPTY_STMTS[@]}" ; do
 | |
|           CAPTURE_STMT="{{% capture ""$stmt"" %}}"
 | |
|           COMMENT_REPLACE="<!-- ""$stmt"" -->"
 | |
|           sed -i -e "s/${CAPTURE_STMT}/${COMMENT_REPLACE}/g" $1
 | |
|         done
 | |
| 
 | |
|         for stmt in "${REPLACE_STMTS[@]}" ; do
 | |
|           CAPTURE_STMT="{{% capture ""$stmt"" %}}"
 | |
|           HEADING_STMT="## {{% heading \"""$stmt""\" %}}\n"
 | |
|           echo "HEADING STMT TO ADD:""$HEADING_STMT"
 | |
|           sed -i -e "s/${CAPTURE_STMT}/${HEADING_STMT}/g" $1
 | |
|         done
 | |
| 
 | |
|         sed -i -e "s/${END_CAPTURE}//g" $1
 | |
| 
 | |
|         # replace content_template: templates/<template_type> with
 | |
|         # content_template: <type>
 | |
|         #sed -i -e "s/^${CONTENT_TEMPLATE}/# ${CONTENT_TEMPLATE}/g" $1
 | |
|         for t in "${CONTENT_TYPES[@]}" ; do
 | |
|           sed -i -e "s/content_template:[[:space:]]*templates\/$t/content_type: $t/g" $1
 | |
|         done
 | |
|       done
 | |
|     else
 | |
|       exit 1
 | |
|     fi
 | |
|   fi
 | |
| }
 | |
| 
 | |
| # change to docs content dir
 | |
| cd $CONTENT_DIR
 | |
| 
 | |
| for langdir in `ls $CONTENT_DIR`; do
 | |
|   # Testing with a couple of langs to start
 | |
|   if [ $langdir = "en" ] ; then
 | |
|   LANGDIR="$CONTENT_DIR""/""$langdir""/docs"
 | |
| 
 | |
|   for d in "${DIRS[@]}"; do
 | |
|     ROOTDIR="${LANGDIR}""/""$d"
 | |
|     cd ${ROOTDIR}
 | |
|     for i in `ls ${ROOTDIR}`; do
 | |
|       replace_capture_stmts "${ROOTDIR}""/""$i"
 | |
|     done
 | |
|   done
 | |
|   fi
 | |
| done
 |