diff --git a/package.json b/package.json index 991b1be..65d8848 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@astrojs/tailwind": "^6.0.2", "astro": "^5.12.2", "astro-seo-meta": "^4.2.0", + "astro-seo-schema": "^5.0.0", "tailwindcss": "^3.4.17", "typescript": "^5.8.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff7358f..5da557a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,6 +22,9 @@ importers: astro-seo-meta: specifier: ^4.2.0 version: 4.2.0(astro@5.12.2(@types/node@24.1.0)(jiti@1.21.7)(rollup@4.45.1)(typescript@5.8.3)(yaml@2.8.0)) + astro-seo-schema: + specifier: ^5.0.0 + version: 5.0.0(astro@5.12.2(@types/node@24.1.0)(jiti@1.21.7)(rollup@4.45.1)(typescript@5.8.3)(yaml@2.8.0))(schema-dts@1.1.5) tailwindcss: specifier: ^3.4.17 version: 3.4.17 @@ -1102,6 +1105,15 @@ packages: peerDependencies: astro: ^4.0.0 + astro-seo-schema@5.0.0: + resolution: + { + integrity: sha512-rbP9BUxvqH4tdgG5VEYDcoAxUhVKv93TdHRQ5zbYUxee1TKAWsNcAG3nqavX83QTTGqU5anvikMcJZXWhGN9wg==, + } + peerDependencies: + astro: ^5.0.0 + schema-dts: ^1.1.0 + astro@5.12.2: resolution: { @@ -2837,6 +2849,12 @@ packages: integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==, } + schema-dts@1.1.5: + resolution: + { + integrity: sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg==, + } + semver@7.7.2: resolution: { @@ -4267,6 +4285,11 @@ snapshots: dependencies: astro: 5.12.2(@types/node@24.1.0)(jiti@1.21.7)(rollup@4.45.1)(typescript@5.8.3)(yaml@2.8.0) + astro-seo-schema@5.0.0(astro@5.12.2(@types/node@24.1.0)(jiti@1.21.7)(rollup@4.45.1)(typescript@5.8.3)(yaml@2.8.0))(schema-dts@1.1.5): + dependencies: + astro: 5.12.2(@types/node@24.1.0)(jiti@1.21.7)(rollup@4.45.1)(typescript@5.8.3)(yaml@2.8.0) + schema-dts: 1.1.5 + astro@5.12.2(@types/node@24.1.0)(jiti@1.21.7)(rollup@4.45.1)(typescript@5.8.3)(yaml@2.8.0): dependencies: "@astrojs/compiler": 2.12.2 @@ -5549,6 +5572,8 @@ snapshots: sax@1.4.1: {} + schema-dts@1.1.5: {} + semver@7.7.2: {} sharp@0.33.5: diff --git a/public/.well-known/ai-plugin.json b/public/.well-known/ai-plugin.json new file mode 100644 index 0000000..4301c97 --- /dev/null +++ b/public/.well-known/ai-plugin.json @@ -0,0 +1,31 @@ +{ + "schema_version": "v1", + "name_for_human": "TryPHP", + "name_for_model": "TryPHP", + "description_for_human": "Effortlessly set up PHP on Linux with a simple curl command. Install and switch between multiple PHP versions, with automatic Composer and PHP extensions installation.", + "description_for_model": "TryPHP is a tool that helps users easily install PHP on Linux systems. It provides simple curl commands to install different PHP versions (7.4, 8.1, 8.2, 8.3, 8.4) and presets for frameworks like Laravel and FrankenPHP. The tool automatically installs Composer and required PHP extensions, and configures the development environment.", + "auth": { + "type": "none" + }, + "api": { + "type": "openapi", + "url": "https://tryphp.dev/.well-known/openapi.yaml" + }, + "logo_url": "https://tryphp.dev/cover.png", + "contact_email": "security@tryphp.dev", + "legal_info_url": "https://tryphp.dev/legal", + "examples": [ + { + "input": "How do I install PHP on Linux?", + "output": "You can easily install the latest version of PHP on Linux with this simple command:\n```sh curl -fsSL https://tryphp.dev/install.sh | bash```\nThis will automatically download and install the latest stable version of PHP along with Composer and common extensions." + }, + { + "input": "How can I install PHP 8.2 specifically?", + "output": "To install PHP 8.2 specifically, you can use this command:\n```sh curl -fsSL https://tryphp.dev/8.2/install.sh | bash```\nThis will install PHP 8.2 along with Composer and common extensions." + }, + { + "input": "How do I set up PHP for Laravel?", + "output": "To install PHP with all the extensions required for Laravel, you can use the Laravel preset:\n```sh curl -fsSL https://tryphp.dev/presets/laravel | bash```\nThis will install PHP with all the extensions needed to run a Laravel application." + } + ] +} diff --git a/public/.well-known/openapi.yaml b/public/.well-known/openapi.yaml new file mode 100644 index 0000000..56f3a3e --- /dev/null +++ b/public/.well-known/openapi.yaml @@ -0,0 +1,59 @@ +openapi: 3.0.1 +info: + title: TryPHP API + description: TryPHP is a tool that helps users easily install PHP on Linux systems with simple curl commands. + version: "1.0" +servers: + - url: https://tryphp.dev +paths: + /info: + get: + operationId: getInfo + summary: Get information about TryPHP + description: Returns information about TryPHP, including available PHP versions and presets. + responses: + "200": + description: Information about TryPHP + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the tool + example: TryPHP + description: + type: string + description: A brief description of the tool + example: Effortlessly set up PHP on Linux with a simple curl command + versions: + type: array + description: Available PHP versions + items: + type: object + properties: + version: + type: string + description: PHP version + example: PHP 8.2 + command: + type: string + description: Installation command + example: curl -fsSL https://tryphp.dev/8.2/install.sh | bash + presets: + type: array + description: Available presets + items: + type: object + properties: + name: + type: string + description: Preset name + example: Laravel + command: + type: string + description: Installation command + example: curl -fsSL https://tryphp.dev/presets/laravel | bash +components: + schemas: {} diff --git a/public/robots.txt b/public/robots.txt index 9ba67e1..48a4dab 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,3 +1,4 @@ User-agent: * -Disallow: +Allow: / + Sitemap: https://tryphp.dev/sitemap-index.xml diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index aa13b58..6d560ab 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,5 +1,6 @@ --- import { Seo } from "astro-seo-meta"; +import { Schema } from "astro-seo-schema"; import { site } from "../config"; --- @@ -12,6 +13,7 @@ import { site } from "../config"; + + + +