Skip to content

Commit d9caa47

Browse files
committed
Support multiple categories per feature
1 parent 8230459 commit d9caa47

File tree

1 file changed

+29
-18
lines changed

1 file changed

+29
-18
lines changed

.github/scripts/generate-navigation.sh

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,38 @@ for page in $(ls ${FEATURES})
1414
do
1515
echo "➡️ Processing ${page}"
1616
cp "${FEATURES}/${page}" "${PWD}/docs/modules/features/partials/${page}"
17-
DATABASE_CATEGORY=$(grep ":database-category:" "${FEATURES}/${page}" | awk '{print $2}')
17+
DATABASE_CATEGORIES=$(grep ":database-category:" "${FEATURES}/${page}")
1818
DATABASE_VERSION=$(grep ":database-version:" "${FEATURES}/${page}" | awk '{print $2}')
1919

20-
# create category page if it does not exist
21-
if [ ! -d "${CATEGORIES}/pages/${DATABASE_CATEGORY}" ];
22-
then
23-
mkdir "${CATEGORIES}/pages/${DATABASE_CATEGORY}"
24-
echo "= ${DATABASE_CATEGORY}\n" > "${CATEGORIES}/pages/${DATABASE_CATEGORY}/index.adoc"
25-
echo "* xref:${DATABASE_CATEGORY}/index.adoc[]" >> "${CATEGORIES}/pages/index.adoc"
26-
git add "${CATEGORIES}/pages/${DATABASE_CATEGORY}/index.adoc"
27-
GIT_COMMIT="true"
28-
fi
20+
IFS=\ read -a CATEGORIES_ARRAY <<<"$DATABASE_CATEGORIES"
21+
for DATABASE_CATEGORY in "${CATEGORIES_ARRAY[@]:1}"; do
22+
DATABASE_CATEGORY=$(echo "$DATABASE_CATEGORY" | xargs echo -n )
23+
echo "DATABASE_CATEGORY = $DATABASE_CATEGORY"
24+
25+
# create category page if it does not exist
26+
if [ ! -d "${CATEGORIES}/pages/${DATABASE_CATEGORY}" ];
27+
then
28+
mkdir "${CATEGORIES}/pages/${DATABASE_CATEGORY}"
29+
echo "= ${DATABASE_CATEGORY}\n" > "${CATEGORIES}/pages/${DATABASE_CATEGORY}/index.adoc"
30+
echo "* xref:${DATABASE_CATEGORY}/index.adoc[]" >> "${CATEGORIES}/pages/index.adoc"
31+
git add "${CATEGORIES}/pages/${DATABASE_CATEGORY}/index.adoc"
32+
GIT_COMMIT="true"
33+
fi
34+
35+
# create pages
36+
echo "include::features:partial\$${page}[]" > "${CATEGORIES}/pages/${DATABASE_CATEGORY}/${page}"
2937

38+
# update navs
39+
CATEGORY_EXISTS=$(grep "${DATABASE_CATEGORY}/index.adoc" "${CATEGORIES}/nav.adoc")
40+
41+
if [ -z "${CATEGORY_EXISTS}" ];
42+
then
43+
echo "** xref:${DATABASE_CATEGORY}/index.adoc[]" >> "${CATEGORIES}/nav.adoc"
44+
fi
45+
echo "*** xref:${DATABASE_CATEGORY}/${page}[]" >> "${CATEGORIES}/nav.adoc"
46+
done
47+
48+
echo "DATABASE_VERSION = $DATABASE_VERSION"
3049
# create version page if it does not exist
3150
if [ ! -d "${VERSIONS}/pages/${DATABASE_VERSION}" ];
3251
then
@@ -38,19 +57,11 @@ do
3857
fi
3958

4059
# create pages
41-
echo "include::features:partial\$${page}[]" > "${CATEGORIES}/pages/${DATABASE_CATEGORY}/${page}"
4260
echo "include::features:partial\$${page}[]" > "${VERSIONS}/pages/${DATABASE_VERSION}/${page}"
4361

4462
# update navs
45-
CATEGORY_EXISTS=$(grep "${DATABASE_CATEGORY}/index.adoc" "${CATEGORIES}/nav.adoc")
4663
VERSION_EXISTS=$(grep "${DATABASE_VERSION}/index.adoc" "${VERSIONS}/nav.adoc")
4764

48-
if [ -z "${CATEGORY_EXISTS}" ];
49-
then
50-
echo "** xref:${DATABASE_CATEGORY}/index.adoc[]" >> "${CATEGORIES}/nav.adoc"
51-
fi
52-
echo "*** xref:${DATABASE_CATEGORY}/${page}[]" >> "${CATEGORIES}/nav.adoc"
53-
5465
if [ -z "${VERSION_EXISTS}" ];
5566
then
5667
echo "** xref:${DATABASE_VERSION}/index.adoc[]" >> "${VERSIONS}/nav.adoc"

0 commit comments

Comments
 (0)