diff --git a/.github/workflows/scripts/generate_index.php b/.github/workflows/scripts/generate_index.php index 12bf010..3d81873 100755 --- a/.github/workflows/scripts/generate_index.php +++ b/.github/workflows/scripts/generate_index.php @@ -35,6 +35,7 @@ function update_readme($categories) { function main() { + $rootDirectory = "."; $categories = []; @@ -95,6 +96,10 @@ function initializeTemplateStructure() "icon" => "", "card-background" => "", "slides" => [], + "launchpad" => [ + "process-card-background" => "", + "slides" => [], + ] ], "connected_accounts" => [] ]; @@ -136,20 +141,42 @@ function handleAssetFile($assetFileInfo, &$categories, $currentCategory, $templa } if ($assetFileInfo->isDir()) { - handleSlidesDirectory($assetFileInfo, $categories, $currentCategory, $templateName); + handleSubDirectoryAssets($assetFileInfo, $categories, $currentCategory, $templateName); } } -function handleSlidesDirectory($slidesDirectory, &$categories, $currentCategory, $templateName) +function handleSubDirectoryAssets($directory, &$categories, $currentCategory, $templateName) { - $slides = new DirectoryIterator($slidesDirectory->getPathname()); + $path = explode('/', $directory->getPathname()); + $directoryName = end($path); + $parentName = prev($path); - foreach ($slides as $slideInfo) { - if ($slides->isDot() || strpos($slides->getBasename(), '.') === 0) { + foreach (new DirectoryIterator($directory->getPathname()) as $fileInfo) { + if ($fileInfo->isDot() || strpos($fileInfo->getBasename(), '.') === 0) { continue; } + + if ($fileInfo->isDir()) { + handleSubDirectoryAssets($fileInfo, $categories, $currentCategory, $templateName); + } else { + handleAssetSubDirectoryFile($fileInfo, $categories, $currentCategory, $templateName, $parentName, $directoryName); + } + } +} - array_push($categories[$currentCategory][$templateName]['assets']['slides'], $slideInfo->getPathname()); +function handleAssetSubDirectoryFile($fileInfo, &$categories, $currentCategory, $templateName, $parentName, $directoryName) +{ + $assetName = $fileInfo->getFilename(); + $assetName = substr($assetName, 0, strrpos($assetName, ".")); + + if ($parentName === 'assets') { + if ($assetName === 'process-card-background') { + $categories[$currentCategory][$templateName]['assets']['launchpad']['process-card-background'] = $fileInfo->getPathname(); + } else { + array_push($categories[$currentCategory][$templateName][$parentName][$directoryName], $fileInfo->getPathname()); + } + } else { + array_push($categories[$currentCategory][$templateName]['assets'][$parentName][$directoryName], $fileInfo->getPathname()); } } diff --git a/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide1.jpg b/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide1.jpg new file mode 100644 index 0000000..bc4a1a1 Binary files /dev/null and b/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide1.jpg differ diff --git a/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide2.jpg b/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide2.jpg new file mode 100644 index 0000000..5ba0b41 Binary files /dev/null and b/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide2.jpg differ diff --git a/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide3.jpg b/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide3.jpg new file mode 100644 index 0000000..76eacb3 Binary files /dev/null and b/accounting-and-finance/invoice_approval/assets/launchpad/slides/launchpad-slide3.jpg differ diff --git a/index.json b/index.json index 536366a..69868f8 100644 --- a/index.json +++ b/index.json @@ -20,7 +20,15 @@ ".\/accounting-and-finance\/invoice_approval\/assets\/slides\/slide3.png", ".\/accounting-and-finance\/invoice_approval\/assets\/slides\/slide4.png", ".\/accounting-and-finance\/invoice_approval\/assets\/slides\/slide1.png" - ] + ], + "launchpad": { + "process-card-background": "", + "slides": [ + ".\/accounting-and-finance\/invoice_approval\/assets\/launchpad\/slides\/launchpad-slide1.jpg", + ".\/accounting-and-finance\/invoice_approval\/assets\/launchpad\/slides\/launchpad-slide3.jpg", + ".\/accounting-and-finance\/invoice_approval\/assets\/launchpad\/slides\/launchpad-slide2.jpg" + ] + } }, "connected_accounts": [] }