diff --git a/.gitignore b/.gitignore index d9c47b42b8..0debffff2a 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,8 @@ bin cypress/e2e/1-getting-started cypress/e2e/2-advanced-examples venv/* + +# dynamic file pulled during hooks.build +# from the sites/[upsun|platform] +# curl -s https://devcenter.upsun.com/posts/all/index.md -o static/files/fetch/all_devcenter_posts.md +static/files/fetch/all_devcenter_posts.md diff --git a/.platform/applications.yaml b/.platform/applications.yaml index 817fa770a7..a4513e88e3 100644 --- a/.platform/applications.yaml +++ b/.platform/applications.yaml @@ -36,6 +36,7 @@ fi cd $SITE_DIR + curl -s https://devcenter.upsun.com/posts/all/index.md -o static/files/fetch/all_devcenter_posts.md cp ../../themes/psh-docs/postcss.config.js . npm install npm run build @@ -122,6 +123,7 @@ echo "

Currently under maintenance. Please check back later.

" >> "${PLATFORM_APP_DIR}/${SITE_DIR}/public/api/index.html" fi cd $SITE_DIR + curl -s https://devcenter.upsun.com/posts/all/index.md -o static/files/fetch/all_devcenter_posts.md cp ../../themes/psh-docs/postcss.config.js . npm install npm run build diff --git a/themes/psh-docs/layouts/_default/home.llms-full.txt b/themes/psh-docs/layouts/_default/home.llms-full.txt index b6d6368e2f..aa3fdc3683 100644 --- a/themes/psh-docs/layouts/_default/home.llms-full.txt +++ b/themes/psh-docs/layouts/_default/home.llms-full.txt @@ -1,28 +1,30 @@ +llms-txt-version: 1.0 + # {{ .Site.Params.vendor.name }} > {{ .Site.Params.vendor.name }} is a PaaS to host all of your web applications. - -Things to remember when deploying applications on {{ .Site.Params.vendor.name }}: +> +> Things to remember when deploying applications on {{ .Site.Params.vendor.name }}: {{- if eq .Site.Params.vendor.config.version 2 }} -- *Ultimate developer flexibility*: Self-service. Usage-based pricing. Customize your resources, runtimes, users, frontends, backends, APIs. All the choices are yours. Welcome to the {{ .Site.Params.vendor.name }} PaaS. -- *Application development your way*, 4 options to get started sync your GitHub repo with {{ .Site.Params.vendor.name }}, Deploy an existing local Git repository, Kickstart a new repository, Explore {{ .Site.Params.vendor.name }} with our Demo app -- *Agnostic freedom*: Tight integration with external systems, stacks, and tools you already use. Choice of IaaS platform(by geo or cloud provider) and services. Choose the road you want to travel. -- *Self-service*: All the control and customization you want to experiment. Flexible resources. Sensible, transparent, usage-based pricing. Choose self-empowerment. -- *Composable infrastructure*: Dozens of runtimes and backend services to mix and match, Managed routing, with built-in, multiregional edge-caching, automated TLS, and WAF, Full infrastructure preview environments, isolated, but identical to production, Full abstraction from underlying cloud provider; runs precisely the same way on every major cloud -- *Collaboration-oriented*: The ability to collaborate on the infrastructure just like you collaborate on code, Git-driven infrastructure with support for multiple repositories, Bi-directional Git integrations, activity scripts, and webhooks to plug into any external service, Instantly created preview environments—per branch, per PR, per team, per developer, per anything -- *Scalable on every dimension*: Vertical scaling of every component, horizontal scaling of applications and workers, Fully managed, multicloud edge-caching, From a single monolith to an automated service mesh, with microservices, workers' message queues, and multiple data backends, Built-in observability tools, with infrastructure metrics, built-in APM, profiling, and tracing -- *Stability, security, responsibility*: Automated high availability and failover of every infrastructure component, with automated and transparent security-patching, Fine-grained team permissions, with MFA everywhere—even on SSH, Short-lived SSH certificates, with MFA and external identity provider support, PCI DSS, SOC 2, GDPR compliance, -- *Polyglot? Hyperglot? We glot you*: {{ .Site.Params.vendor.name }} supports an array of cool languages and frameworks. Monoliths. Microservices. Multistack. So you can keep your options open. Flexible. And future-proof. +> - *Ultimate developer flexibility*: Self-service. Usage-based pricing. Customize your resources, runtimes, users, frontends, backends, APIs. All the choices are yours. Welcome to the {{ .Site.Params.vendor.name }} PaaS. +> - *Application development your way*, 4 options to get started sync your GitHub repo with {{ .Site.Params.vendor.name }}, Deploy an existing local Git repository, Kickstart a new repository, Explore {{ .Site.Params.vendor.name }} with our Demo app +> - *Agnostic freedom*: Tight integration with external systems, stacks, and tools you already use. Choice of IaaS platform(by geo or cloud provider) and services. Choose the road you want to travel. +> - *Self-service*: All the control and customization you want to experiment. Flexible resources. Sensible, transparent, usage-based pricing. Choose self-empowerment. +> - *Composable infrastructure*: Dozens of runtimes and backend services to mix and match, Managed routing, with built-in, multiregional edge-caching, automated TLS, and WAF, Full infrastructure preview environments, isolated, but identical to production, Full abstraction from underlying cloud provider; runs precisely the same way on every major cloud +> - *Collaboration-oriented*: The ability to collaborate on the infrastructure just like you collaborate on code, Git-driven infrastructure with support for multiple repositories, Bi-directional Git integrations, activity scripts, and webhooks to plug into any external service, Instantly created preview environments—per branch, per PR, per team, per developer, per anything +> - *Scalable on every dimension*: Vertical scaling of every component, horizontal scaling of applications and workers, Fully managed, multicloud edge-caching, From a single monolith to an automated service mesh, with microservices, workers' message queues, and multiple data backends, Built-in observability tools, with infrastructure metrics, built-in APM, profiling, and tracing +> - *Stability, security, responsibility*: Automated high availability and failover of every infrastructure component, with automated and transparent security-patching, Fine-grained team permissions, with MFA everywhere—even on SSH, Short-lived SSH certificates, with MFA and external identity provider support, PCI DSS, SOC 2, GDPR compliance, +> - *Polyglot? Hyperglot? We glot you*: {{ .Site.Params.vendor.name }} supports an array of cool languages and frameworks. Monoliths. Microservices. Multistack. So you can keep your options open. Flexible. And future-proof. {{- else }} -- **Deliver your applications faster, at scale**: Built for developers, by developers. The efficient, reliable, and secure Platform-as-a-Service (PaaS) that gives development teams control and peace of mind while accelerating the time it takes to build and deploy applications. -- **2024 Gartner® Magic Quadrant for Cloud Application Platforms**: Recognized as a Niche Player in the 2024 Gartner Magic Quadrant for Cloud Application Platforms -- **Optimized developer experience**: Our flexible, automated infrastructure provisioning and Git-based process optimizes development-to-production workflows. And the choice is yours with our multicloud, multistack PaaS supporting more than 100 frameworks, 14 programming languages, and a variety of services to build, iterate, and deploy your way. -- **Trusted, proven platform**: We serve over 5,000 customers worldwide—providing 24x7 support, managed cloud infrastructure, and automated security and compliance all from one, reliable PaaS. Keeping your applications safe, secure, and available around the clock with full control over your data. -- **Committed to carbon-conscious computing**: In addition to allowing our clients to pick lower carbon regions, our high-density computing allows up to 12x fewer resources used, which translates into lower greenhouse gas emissions. -- **Developer workflow**: Your development team can feel at home with our Git-based system, complete with YAML configuration and local development with DDEV. Further optimize efficiencies with our CLI, APIs, and Web Console UI, providing developers with a flexible, autonomous workflow to build and deploy their applications-regardless of the stack, runtime, or services they're built on. -- **Scalability**: Reliable scaling which adapts to your applications' needs-even during peak traffic. Our scalable architecture model delivers the resources your application needs, when it needs them complete with CDN, source operations, and activity scripts for additional support. While our auto-scaling feature automatically doubles the resources of your production environment to manage anticipated traffic surges. -- **Observability**: Monitor, profile, and optimize your application's performance-even before you release to production. Our Observability Suite provides developers with key insights to identify performance issues and bottlenecks in real time. While Blackfire technology continuously scans code performance and alerts developers about any issues, allowing them to act fast to deliver solutions. Ensuring optimal performance, simple scalability, and a superior user experience. -- **Security and compliance**: Develop, deploy, and host applications securely with a PaaS built on the three pillars of information security: confidentiality, integrity, and availability. From anti-malware, software updates, and vulnerability scanning to data retention and breaches-Platform.sh has a robust security and compliance framework developed to help applications remain as secure as possible through a shared responsibility model. +> - **Deliver your applications faster, at scale**: Built for developers, by developers. The efficient, reliable, and secure Platform-as-a-Service (PaaS) that gives development teams control and peace of mind while accelerating the time it takes to build and deploy applications. +> - **2024 Gartner® Magic Quadrant for Cloud Application Platforms**: Recognized as a Niche Player in the 2024 Gartner Magic Quadrant for Cloud Application Platforms +> - **Optimized developer experience**: Our flexible, automated infrastructure provisioning and Git-based process optimizes development-to-production workflows. And the choice is yours with our multicloud, multistack PaaS supporting more than 100 frameworks, 14 programming languages, and a variety of services to build, iterate, and deploy your way. +> - **Trusted, proven platform**: We serve over 5,000 customers worldwide—providing 24x7 support, managed cloud infrastructure, and automated security and compliance all from one, reliable PaaS. Keeping your applications safe, secure, and available around the clock with full control over your data. +> - **Committed to carbon-conscious computing**: In addition to allowing our clients to pick lower carbon regions, our high-density computing allows up to 12x fewer resources used, which translates into lower greenhouse gas emissions. +> - **Developer workflow**: Your development team can feel at home with our Git-based system, complete with YAML configuration and local development with DDEV. Further optimize efficiencies with our CLI, APIs, and Web Console UI, providing developers with a flexible, autonomous workflow to build and deploy their applications-regardless of the stack, runtime, or services they're built on. +> - **Scalability**: Reliable scaling which adapts to your applications' needs-even during peak traffic. Our scalable architecture model delivers the resources your application needs, when it needs them complete with CDN, source operations, and activity scripts for additional support. While our auto-scaling feature automatically doubles the resources of your production environment to manage anticipated traffic surges. +> - **Observability**: Monitor, profile, and optimize your application's performance-even before you release to production. Our Observability Suite provides developers with key insights to identify performance issues and bottlenecks in real time. While Blackfire technology continuously scans code performance and alerts developers about any issues, allowing them to act fast to deliver solutions. Ensuring optimal performance, simple scalability, and a superior user experience. +> - **Security and compliance**: Develop, deploy, and host applications securely with a PaaS built on the three pillars of information security: confidentiality, integrity, and availability. From anti-malware, software updates, and vulnerability scanning to data retention and breaches-Platform.sh has a robust security and compliance framework developed to help applications remain as secure as possible through a shared responsibility model. {{- end }} {{ $sections := .Site.Params.navSections -}} {{- $vendor_config := .Site.Params.vendor -}} diff --git a/themes/psh-docs/layouts/_default/home.llms.txt b/themes/psh-docs/layouts/_default/home.llms.txt index 22fb537e78..0b64b65f4d 100644 --- a/themes/psh-docs/layouts/_default/home.llms.txt +++ b/themes/psh-docs/layouts/_default/home.llms.txt @@ -1,17 +1,19 @@ +llms-txt-version: 1.0 + # {{ .Site.Params.vendor.name }} > {{ .Site.Params.vendor.name }} is a Cloud Application Platform to host all of your web applications. - -Things to remember when deploying applications on the {{ .Site.Params.vendor.name }} Cloud Application Platform: -- *Ultimate developer flexibility*: Self-service. Usage-based pricing. Customize your resources, runtimes, users, frontends, backends, APIs. All the choices are yours. Welcome to the {{ .Site.Params.vendor.name }} PaaS. -- *Application development your way*, 4 options to get started sync your GitHub repo with {{ .Site.Params.vendor.name }}, Deploy an existing local Git repository, Kickstart a new repository, Explore {{ .Site.Params.vendor.name }} with our Demo app -- *Agnostic freedom*: Tight integration with external systems, stacks, and tools you already use. Choice of IaaS platform(by geo or cloud provider) and services. Choose the road you want to travel. -- *Self-service*: All the control and customization you want to experiment. Flexible resources. Sensible, transparent, usage-based pricing. Choose self-empowerment. -- *Composable infrastructure*: Dozens of runtimes and backend services to mix and match, Managed routing, with built-in, multiregional edge-caching, automated TLS, and WAF, Full infrastructure preview environments, isolated, but identical to production, Full abstraction from underlying cloud provider; runs precisely the same way on every major cloud -- *Collaboration-oriented*: The ability to collaborate on the infrastructure just like you collaborate on code, Git-driven infrastructure with support for multiple repositories, Bi-directional Git integrations, activity scripts, and webhooks to plug into any external service, Instantly created preview environments—per branch, per PR, per team, per developer, per anything -- *Scalable on every dimension*: Vertical scaling of every component, horizontal scaling of applications and workers, Fully managed, multicloud edge-caching, From a single monolith to an automated service mesh, with microservices, workers' message queues, and multiple data backends, Built-in observability tools, with infrastructure metrics, built-in APM, profiling, and tracing -- *Stability, security, responsibility*: Automated high availability and failover of every infrastructure component, with automated and transparent security-patching, Fine-grained team permissions, with MFA everywhere—even on SSH, Short-lived SSH certificates, with MFA and external identity provider support, PCI DSS, SOC 2, GDPR compliance, -- *Polyglot? Hyperglot? We glot you*: {{ .Site.Params.vendor.name }} supports an array of cool languages and frameworks. Monoliths. Microservices. Multistack. So you can keep your options open. Flexible. And future-proof. +> +> Things to remember when deploying applications on the {{ .Site.Params.vendor.name }} Cloud Application Platform: +> - *Ultimate developer flexibility*: Self-service. Usage-based pricing. Customize your resources, runtimes, users, frontends, backends, APIs. All the choices are yours. Welcome to the {{ .Site.Params.vendor.name }} PaaS. +> - *Application development your way*, 4 options to get started sync your GitHub repo with {{ .Site.Params.vendor.name }}, Deploy an existing local Git repository, Kickstart a new repository, Explore {{ .Site.Params.vendor.name }} with our Demo app +> - *Agnostic freedom*: Tight integration with external systems, stacks, and tools you already use. Choice of IaaS platform(by geo or cloud provider) and services. Choose the road you want to travel. +> - *Self-service*: All the control and customization you want to experiment. Flexible resources. Sensible, transparent, usage-based pricing. Choose self-empowerment. +> - *Composable infrastructure*: Dozens of runtimes and backend services to mix and match, Managed routing, with built-in, multiregional edge-caching, automated TLS, and WAF, Full infrastructure preview environments, isolated, but identical to production, Full abstraction from underlying cloud provider; runs precisely the same way on every major cloud +> - *Collaboration-oriented*: The ability to collaborate on the infrastructure just like you collaborate on code, Git-driven infrastructure with support for multiple repositories, Bi-directional Git integrations, activity scripts, and webhooks to plug into any external service, Instantly created preview environments—per branch, per PR, per team, per developer, per anything +> - *Scalable on every dimension*: Vertical scaling of every component, horizontal scaling of applications and workers, Fully managed, multicloud edge-caching, From a single monolith to an automated service mesh, with microservices, workers' message queues, and multiple data backends, Built-in observability tools, with infrastructure metrics, built-in APM, profiling, and tracing +> - *Stability, security, responsibility*: Automated high availability and failover of every infrastructure component, with automated and transparent security-patching, Fine-grained team permissions, with MFA everywhere—even on SSH, Short-lived SSH certificates, with MFA and external identity provider support, PCI DSS, SOC 2, GDPR compliance, +> - *Polyglot? Hyperglot? We glot you*: {{ .Site.Params.vendor.name }} supports an array of cool languages and frameworks. Monoliths. Microservices. Multistack. So you can keep your options open. Flexible. And future-proof. ## Docs {{- $sections := .Site.Params.navSections -}} @@ -40,11 +42,14 @@ Things to remember when deploying applications on the {{ .Site.Params.vendor.nam {{- if $isHome -}} {{- $inCurrentSection = false -}} {{- end }} -- {{ .title }} +### {{ .title | replaceRE "’" "'" | replaceRE "'" "'" | replaceRE ">" ">" | replaceRE "&" "&" | replaceRE "<" "<" }} {{ partial "llms/section" ( dict "context" $currentContext "currentSection" .section "Active" $inCurrentSection "sections" $sectionKeys ) }} {{- end }} ## API -- [API Doc]({{ .Site.Params.vendor.urls.api }}): documentation of the {{ .Site.Params.vendor.name }} API. +- [API Doc]({{ .Site.Params.vendor.urls.api }}): documentation of the {{ .Site.Params.vendor.name }} API. +## [Devcenter resources](https://devcenter.upsun.com) +{{ $content := readFile "static/files/fetch/all_devcenter_posts.md" }} +{{ $content | safeHTML }} diff --git a/themes/psh-docs/layouts/partials/llms/list.html b/themes/psh-docs/layouts/partials/llms/list.html index eb6b7320d5..44e805e7f8 100644 --- a/themes/psh-docs/layouts/partials/llms/list.html +++ b/themes/psh-docs/layouts/partials/llms/list.html @@ -15,20 +15,21 @@ {{- .Page -}} {{- $itemTitle := .Context.Title | .Context.Page.RenderString }} {{- if ne $itemTitle "" }} -- [{{ $itemTitle }}]({{ $upsunDocUrl }}{{ .Context.RelPermalink | replaceRE `.html` `.md` }}) + +#### [{{ $itemTitle }}]({{ $upsunDocUrl }}{{ .Context.RelPermalink | replaceRE `.html` `.md` }}) {{- range .Context.Pages -}} {{- $itemTitle = .Title | .Page.RenderString -}} {{- $itemId := printf "%s-sidebar-id" ( replace ($itemTitle | urlize) "." "" ) -}} {{- $levelTwoPages := .Pages -}} {{- if not ( .Params.sidebarIgnore ) -}} {{- with .Params.sectionBefore }} -- {{ . -}} - {{- end }} -- [{{ $itemTitle }}]({{ $upsunDocUrl }}{{ .RelPermalink | replaceRE `.html` `.md` }}){{- if ne .Description "" }}: {{ .Description | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" -}}{{- end -}} +##### {{ . }} + {{ end }} +- [{{ $itemTitle | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" | replaceRE `\{\{[%\|\<]?\ *vendor\/psh_ref\ *[\%|\>]?\}\}` "Platform.sh" | replaceRE "’" "'" | replaceRE "'" "'" | replaceRE ">" ">" | replaceRE "&" "&" | replaceRE "<" "<" | replaceRE "\n" " " | safeHTML }}]({{ $upsunDocUrl }}{{ .RelPermalink | replaceRE `.html` `.md` }}){{- if ne .Description "" }}: {{ .Description | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" | replaceRE `\{\{[%\|\<]?\ *vendor\/psh_ref\ *[\%|\>]?\}\}` "Platform.sh" | replaceRE "’" "'" | replaceRE "'" "'" | replaceRE ">" ">" | replaceRE "&" "&" | replaceRE "<" "<" | replaceRE "\n" " " | safeHTML -}}{{- end -}} {{- if eq .Kind "section" -}} {{- range $levelTwoPages -}} - {{ if not ( .Params.sidebarIgnore ) }} -- [{{- if isset .Params "sidebartitle" -}}{{ .Params.sidebarTitle | .RenderString -}}{{- else -}}{{ .Title | .RenderString -}}{{- end -}}]({{ $upsunDocUrl }}{{ .RelPermalink | replaceRE `.html` `.md` }}){{- if ne .Description "" }}: {{ .Description | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" -}}{{- end -}} + {{- if not ( .Params.sidebarIgnore ) }} +- [{{- if isset .Params "sidebartitle" -}}{{ .Params.sidebarTitle | .RenderString | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" | replaceRE `\{\{[%\|\<]?\ *vendor\/psh_ref\ *[\%|\>]?\}\}` "Platform.sh" | replaceRE "’" "'" | replaceRE "'" "'" | replaceRE ">" ">" | replaceRE "&" "&" | replaceRE "<" "<" | replaceRE "\n" " " | safeHTML -}}{{- else -}}{{ .Title | .RenderString | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" | replaceRE `\{\{[%\|\<]?\ *vendor\/psh_ref\ *[\%|\>]?\}\}` "Platform.sh" | replaceRE "’" "'" | replaceRE "'" "'" | replaceRE ">" ">" | replaceRE "&" "&" | replaceRE "<" "<" | replaceRE "\n" " " | safeHTML -}}{{- end -}}]({{ $upsunDocUrl }}{{ .RelPermalink | replaceRE `.html` `.md` }}){{- if ne .Description "" }}: {{ .Description | replaceRE `\{\{[%\|\<]?\ *vendor\/name\ *[\%|\>]?\}\}` "Upsun" | replaceRE `\{\{[%\|\<]?\ *vendor\/psh_ref\ *[\%|\>]?\}\}` "Platform.sh" | replaceRE "’" "'" | replaceRE "'" "'" | replaceRE ">" ">" | replaceRE "&" "&" | replaceRE "<" "<" | replaceRE "\n" " " | safeHTML -}}{{- end -}} {{- end -}} {{- end -}} {{- end -}} diff --git a/themes/psh-docs/layouts/partials/llms/replace-html.md b/themes/psh-docs/layouts/partials/llms/replace-html.md index 191cff2402..d9e9fe4648 100644 --- a/themes/psh-docs/layouts/partials/llms/replace-html.md +++ b/themes/psh-docs/layouts/partials/llms/replace-html.md @@ -96,6 +96,10 @@ {{- $content = $content | replaceRE "(?m)^(#{2,6})(\\s|$)" (printf "${1}%s " $hashes) -}} {{- end -}} +{{- $content = $content +| replaceRE `\{\{\s*now\.Year\s*\}\}` (printf "%d" now.Year) +-}} + {{- $content = $content | replaceRE ` ([a-zA-Z0-9\@:-]){2,}="([][a-zA-Z0-9\.\_\!\+:='\''\;,\/\{\}\(\)\&><↗\ -]{0,})"` `` | replaceRE `<([A-Z0-9_]+)>` "##PLACEHOLDER_START##${1}##PLACEHOLDER_END##"