diff --git a/app/config/sdks.php b/app/config/sdks.php index aca85036d0..bada949903 100644 --- a/app/config/sdks.php +++ b/app/config/sdks.php @@ -250,6 +250,26 @@ return [ ], ], ], + [ + 'key' => 'markdown', + 'name' => 'Markdown', + 'version' => '0.1.0', + 'url' => 'https://github.com/appwrite/sdk-for-md.git', + 'package' => 'https://www.npmjs.com/package/@appwrite.io/docs', + 'enabled' => true, + 'beta' => false, + 'dev' => false, + 'hidden' => false, + 'family' => APP_SDK_PLATFORM_CONSOLE, + 'prism' => 'markdown', + 'source' => \realpath(__DIR__ . '/../sdks/console-md'), + 'gitUrl' => 'git@github.com:appwrite/sdk-for-md.git', + 'gitRepoName' => 'sdk-for-md', + 'gitUserName' => 'appwrite', + 'gitBranch' => 'dev', + 'repoBranch' => 'main', + 'changelog' => \realpath(__DIR__ . '/../../docs/sdks/md/CHANGELOG.md'), + ], ], ], diff --git a/docs/sdks/markdown/CHANGELOG.md b/docs/sdks/markdown/CHANGELOG.md new file mode 100644 index 0000000000..bbfc68354e --- /dev/null +++ b/docs/sdks/markdown/CHANGELOG.md @@ -0,0 +1,5 @@ +# Change Log + +## 0.1.0 + +* Initial release diff --git a/src/Appwrite/Platform/Tasks/SDKs.php b/src/Appwrite/Platform/Tasks/SDKs.php index 8a3eef2d34..013fae1193 100644 --- a/src/Appwrite/Platform/Tasks/SDKs.php +++ b/src/Appwrite/Platform/Tasks/SDKs.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Language\Flutter; use Appwrite\SDK\Language\Go; use Appwrite\SDK\Language\GraphQL; use Appwrite\SDK\Language\Kotlin; +use Appwrite\SDK\Language\Markdown; use Appwrite\SDK\Language\Node; use Appwrite\SDK\Language\PHP; use Appwrite\SDK\Language\Python; @@ -31,6 +32,27 @@ use Utopia\Validator\WhiteList; class SDKs extends Action { + protected array $supportedSDKS = [ + 'web', + 'cli', + 'php', + 'nodejs', + 'deno', + 'python', + 'ruby', + 'flutter', + 'react-native', + 'dart', + 'go', + 'swift', + 'apple', + 'dotnet', + 'android', + 'graphql', + 'rest', + 'markdown', + ]; + public static function getName(): string { return 'sdks'; @@ -61,6 +83,9 @@ class SDKs extends Action if (!$sdks) { $selectedPlatform ??= Console::confirm('Choose Platform ("' . implode('", "', static::getPlatforms()) . '" or "*" for all):'); $selectedSDK ??= \strtolower(Console::confirm('Choose SDK ("*" for all):')); + if ($selectedSDK !== '*' && !\in_array($selectedSDK, $this->supportedSDKS)) { + throw new \Exception('Unknown SDK "' . $selectedSDK . '" given. Options are: ' . implode(', ', $this->supportedSDKS)); + } } else { $sdks = explode(',', $sdks); } @@ -252,6 +277,10 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND case 'rest': $config = new REST(); break; + case 'markdown': + $config = new Markdown(); + $config->setNPMPackage('@appwrite.io/docs'); + break; default: throw new \Exception('Language "' . $language['key'] . '" not supported'); }