<?php

use Appwrite\Utopia\View;

?>

<p>
    Appwrite Functions unlock limitless potential for developers to extend Appwrite with code snippets.
    Appwrite Functions are user-defined functions that can start small and scale big, deploying automatically from source control. 
    These Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
    Each function will have its own URL, execute in its own isolated container, and have its own configurable environment variables and permissions.
</p>

<h2><a href="#gettingStarted" id="gettingStarted">Getting Started</a></h2>
<p>
    Appwrite Functions let you build anything you can imagine, but this flexibility makes it difficult to know where to start.
    Start exploring by cloning one of the quick start templates or using a template with pre-built integration to quickly implement features.
</p>

<?php
$image = new View(__DIR__.'/../general/image.phtml');
    echo $image
        ->setParam('srcLight', '/images-ee/docs/functions-starter-light.png')
        ->setParam('srcDark', '/images-ee/docs/functions-starter-dark.png')
        ->setParam('alt', '"Create Function" page.')
        ->setParam('description', '"Create Function" page.')
        ->render();
?>

<h2><a href="#exploreFeatures" id="exploreFeatures">Explore Features</a></h2>
<p>
    Appwrite Functions use familiar HTTP concepts, so you can learn quickly and gain transferable skills.
</p>
<p>
<a href="/docs/functions-develop"><i class="icon-angle-circled-right"></i>Learn more about developing functions</a>
</p>

<p>
    Appwrite Functions can be deployed automatically from Git, through the Appwrite CLI, or be uploaded manually.
    Develop and deploy with the workflow you're already comfortable with.
</p>
<p>
<a href="/docs/functions-deploy"><i class="icon-angle-circled-right"></i>Learn more about deploying functions</a>
</p>

<p>
    Appwrite Functions can be triggered by HTTP requests, SDK methods, server events, webhooks, and scheduled executions.
    Explore how Appwrite Functions can be invoked.
</p>
<p>
<a href="/docs/functions-execute"><i class="icon-angle-circled-right"></i>Learn more about executing functions</a>
</p>

<p>
    Appwrite supports a growing list of 10+ runtimes. 
    Avoid adding additional complexity to your codebase by coding in languages you already use and love.
</p>
<p>
<a href="/docs/functions-runtimes"><i class="icon-angle-circled-right"></i>Learn more about using function runtimes</a>
</p>

<p>
    Like to learn from examples?
    Here's a curated list of examples that showcase Appwrite Functions' capabilities.
</p>
<p>
<a href="/docs/functions-examples"><i class="icon-angle-circled-right"></i>Learn more about using function examples</a>
</p>