|
22 | 22 | set -euo pipefail |
23 | 23 |
|
24 | 24 | SOURCE_REPO="https://github.com/cloudnative-pg/cloudnative-pg.git" |
| 25 | +ROOT_DIR=$(cd "$(dirname "$0")/../"; pwd) |
| 26 | +WEBSITE_DIR=${ROOT_DIR}/website |
25 | 27 | SOURCE_DOCS_PATH="docs/src" |
26 | 28 | TMP_BASE="$(mktemp -d)" |
27 | 29 | trap 'rm -rf "$TMP_BASE"' EXIT |
|
106 | 108 | # ===== MAIN BRANCH ===== |
107 | 109 | if [[ "$IS_MAIN" == true ]]; then |
108 | 110 | echo "Copying imported docs -> ./website/docs" |
109 | | - mkdir -p ./website/docs |
110 | | - rsync -av --delete "$SOURCE_PATH/" --exclude "css" ./website/docs/ |
| 111 | + mkdir -p ${WEBSITE_DIR}/docs |
| 112 | + rsync -av --delete "$SOURCE_PATH/" --exclude "css" ${WEBSITE_DIR}/docs/ |
| 113 | + |
111 | 114 | echo "Updated ./docs from main — import completed." |
112 | 115 | exit 0 |
113 | 116 | fi |
114 | 117 | # ===== VERSION TAG ===== |
115 | | -VERSIONS_JSON="./website/versions.json" |
116 | | -VERSIONS_CONFIG="./website/versions_config.json" |
117 | | -DOCUSAURUS_CONFIG="./website/docusaurus.config.ts" |
118 | | -TARGET_DIRECTORY="./website/versioned_docs/version-${VERSION_DIR}" |
| 118 | +VERSIONS_JSON="${WEBSITE_DIR}/versions.json" |
| 119 | +VERSIONS_CONFIG="${WEBSITE_DIR}/versions_config.json" |
| 120 | +DOCUSAURUS_CONFIG="${WEBSITE_DIR}/docusaurus.config.ts" |
| 121 | +TARGET_DIRECTORY="${WEBSITE_DIR}/versioned_docs/version-${VERSION_DIR}" |
119 | 122 |
|
120 | 123 | echo "Copying imported docs -> ${TARGET_DIRECTORY}" |
121 | 124 | rsync -av --delete "$SOURCE_PATH/" --exclude "css" "${TARGET_DIRECTORY}" |
122 | 125 |
|
| 126 | +# Create autogenerated sidebar configuration for this version if it doesn't exist |
| 127 | +SIDEBAR_TARGET_DIR="${WEBSITE_DIR}/versioned_sidebars" |
| 128 | +SIDEBAR_TARGET_FILE="$SIDEBAR_TARGET_DIR/version-${VERSION_DIR}-sidebars.json" |
| 129 | + |
| 130 | +if [[ ! -f "$SIDEBAR_TARGET_FILE" ]]; then |
| 131 | + echo "Creating autogenerated sidebar config for version ${VERSION_DIR}" |
| 132 | + mkdir -p "$SIDEBAR_TARGET_DIR" |
| 133 | + cat > "$SIDEBAR_TARGET_FILE" <<'SIDEBAR_EOF' |
| 134 | +{ |
| 135 | + "docs": [ |
| 136 | + { |
| 137 | + "type": "autogenerated", |
| 138 | + "dirName": "." |
| 139 | + } |
| 140 | + ] |
| 141 | +} |
| 142 | +SIDEBAR_EOF |
| 143 | +else |
| 144 | + echo "Sidebar config for version ${VERSION_DIR} already exists, keeping it" |
| 145 | +fi |
| 146 | + |
123 | 147 | # Add the new version to versions.json if not already present |
124 | | -if ! grep -q "\"${VERSION_DIR}\"" versions.json 2>/dev/null; then |
125 | | - # Import the new version in the correct folder |
126 | | - cp "./website/sidebar_config.json" "./website/versioned_sidebars/version-${VERSION_DIR}-sidebars.json" |
| 148 | +if ! grep -q "\"${VERSION_DIR}\"" "$VERSIONS_JSON" 2>/dev/null; then |
127 | 149 | jq --arg version "$VERSION_DIR" \ |
128 | 150 | '. = [$version] + . | unique' \ |
129 | 151 | "$VERSIONS_JSON" > "${VERSIONS_JSON}.tmp" && \ |
|
0 commit comments