From a87eebfa7ba2e56fdf45280df8360ba4b8a93d56 Mon Sep 17 00:00:00 2001 From: Demis Bellot Date: Tue, 10 Dec 2024 13:31:24 +0800 Subject: [PATCH] fix links --- MyApp/_pages/auth/admin-apikeys.md | 2 +- MyApp/_pages/creatorkit/about.md | 4 ++-- MyApp/_pages/npx-get-dtos.md | 2 +- MyApp/_pages/releases/v8_01.md | 2 +- MyApp/_pages/releases/v8_02.md | 8 ++++---- MyApp/_pages/releases/v8_05.md | 8 ++++---- MyApp/_pages/ssh-docker-compose-deploment.md | 2 +- MyApp/_videos/vue-projects/blazor-vue.md | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/MyApp/_pages/auth/admin-apikeys.md b/MyApp/_pages/auth/admin-apikeys.md index 42590c2cfc..cbafe01929 100644 --- a/MyApp/_pages/auth/admin-apikeys.md +++ b/MyApp/_pages/auth/admin-apikeys.md @@ -239,7 +239,7 @@ but instead of maintaining an Authenticated User Session it saves the API Key in ### Secure .NET Microservices and Docker Appliances -This is an ideal Auth Configuration for .NET Docker Appliances and Microservices like [AI Server](/posts/ai-server) that don't need the complexity of ASP .NET Core's Identity Auth machinery and just want to restrict access to their APIs with API Keys and restrict Admin functionality to Administrator's with an Auth Secret. +This is an ideal Auth Configuration for .NET Docker Appliances and Microservices like [AI Server](/ai-server/) that don't need the complexity of ASP .NET Core's Identity Auth machinery and just want to restrict access to their APIs with API Keys and restrict Admin functionality to Administrator's with an Auth Secret. The benefit of `ApiKeyCredentialsProvider` is that it maintains a persistent Session so that end users only need to enter their API Key a single time and they'll be able to navigate to all of AI Server's protected pages using their API Key maintained in their Server User Session without needing to re-enter it for each UI and every request. diff --git a/MyApp/_pages/creatorkit/about.md b/MyApp/_pages/creatorkit/about.md index b5103c3600..965752e851 100644 --- a/MyApp/_pages/creatorkit/about.md +++ b/MyApp/_pages/creatorkit/about.md @@ -89,9 +89,9 @@ or Join our CreatorKit-powered Monthly Newsletter to follow and keep up to date As a design goal [CreatorKit's components](/creatorkit/components) will be easily embeddable into any external website, -where it will be integrated into the [Razor SSG](/posts/razor-ssg) project template to serve as a working demonstration +where it will be integrated into the [Razor SSG](https://servicestack.net/posts/razor-ssg) project template to serve as a working demonstration and reference implementation. As such it's a great option if you're looking to create a Fast, FREE, CDN hostable, -[simple, modern](/posts/javascript) statically generated website created with Razor & Markdown +[simple, modern](https://servicestack.net/posts/javascript) statically generated website created with Razor & Markdown like [ServiceStack/servicestack.net](https://github.com/ServiceStack/servicestack.net). ### Feedback welcome diff --git a/MyApp/_pages/npx-get-dtos.md b/MyApp/_pages/npx-get-dtos.md index 0c390d0414..493a1a7499 100644 --- a/MyApp/_pages/npx-get-dtos.md +++ b/MyApp/_pages/npx-get-dtos.md @@ -43,7 +43,7 @@ any self-hosted AI Server instance, likewise the same generic client can also be ### TypeScript Example -For example you can get the TypeScript DTOs for the just released [AI Server](/posts/ai-server) with: +For example you can get the TypeScript DTOs for the just released [AI Server](/ai-server/) with: :::sh `npx get-dtos typescript https://openai.servicestack.net` diff --git a/MyApp/_pages/releases/v8_01.md b/MyApp/_pages/releases/v8_01.md index 309716c24a..55ee29da0c 100644 --- a/MyApp/_pages/releases/v8_01.md +++ b/MyApp/_pages/releases/v8_01.md @@ -839,7 +839,7 @@ customizing the generated specification, as well as touch on other related chang ## AppHost Initialization To use ServiceStack APIs as mapped Endpoints, the way ServiceStack is initialized in . -To convert your App to use [Endpoint Routing and ASP.NET Core IOC](/posts/servicestack-endpoint-routing) your ASPNET Core +To convert your App to use [Endpoint Routing and ASP.NET Core IOC](https://servicestack.net/posts/servicestack-endpoint-routing) your ASPNET Core application needs to be updated to replace any usage of `Funq` IoC container to use ASP.NET Core's IOC. Previously, the following was used to initialize your ServiceStack `AppHost`: diff --git a/MyApp/_pages/releases/v8_02.md b/MyApp/_pages/releases/v8_02.md index aa8880c94f..85963f3122 100644 --- a/MyApp/_pages/releases/v8_02.md +++ b/MyApp/_pages/releases/v8_02.md @@ -696,10 +696,10 @@ Supporting all Blog features requires several different pages to render each of | - | - | - | - | | Main Blog layout | [/blog](/blog) | [blog.vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/blog.vue) | [blog.tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/blog.tsx) | | Navigable Archive of Posts | [/posts](/posts) | [index.vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/index.vue) | [index.tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/index.tsx) | -| Individual Blog Post (like this!) | [/posts/vite-press-plugin](/posts/vite-press-plugin) | [\[slug\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/%5Bslug%5D.vue) | [\[slug\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/%5Bslug%5D.tsx) | -| Display Posts by Author | [/posts/author/lucy-bates](/posts/author/lucy-bates) | [\[name\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/author/%5Bname%5D.vue) | [\[name\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/author/%5Bname%5D.tsx) | -| Display Posts by Tag | [/posts/tagged/markdown](/posts/tagged/markdown) | [\[tag\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/tagged/%5Btag%5D.vue) | [\[tag\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/tagged/%5Btag%5D.tsx) | -| Display Posts by Year | [/posts/year/2024](/posts/year/2024) | [\[year\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/year/%5Byear%5D.vue) | [\[year\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/year/%5Byear%5D.tsx) | +| Individual Blog Post (like this!) | [/posts/vite-press-plugin](https://servicestack.net/posts/vite-press-plugin) | [\[slug\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/%5Bslug%5D.vue) | [\[slug\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/%5Bslug%5D.tsx) | +| Display Posts by Author | [/posts/author/lucy-bates](https://servicestack.net/posts/author/lucy-bates) | [\[name\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/author/%5Bname%5D.vue) | [\[name\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/author/%5Bname%5D.tsx) | +| Display Posts by Tag | [/posts/tagged/markdown](https://servicestack.net/posts/tagged/markdown) | [\[tag\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/tagged/%5Btag%5D.vue) | [\[tag\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/tagged/%5Btag%5D.tsx) | +| Display Posts by Year | [/posts/year/2024](https://servicestack.net/posts/year/2024) | [\[year\].vue](https://github.com/NetCoreTemplates/vue-spa/blob/main/MyApp.Client/src/pages/posts/year/%5Byear%5D.vue) | [\[year\].tsx](https://github.com/NetCoreTemplates/react-spa/blob/main/MyApp.Client/src/pages/posts/year/%5Byear%5D.tsx) | #### Configuration diff --git a/MyApp/_pages/releases/v8_05.md b/MyApp/_pages/releases/v8_05.md index d539cd82b1..e20d3cf026 100644 --- a/MyApp/_pages/releases/v8_05.md +++ b/MyApp/_pages/releases/v8_05.md @@ -534,7 +534,7 @@ but instead of maintaining an Authenticated User Session it saves the API Key in ### Secure .NET Microservices and Docker Appliances -This is an ideal Auth Configuration for .NET Docker Appliances and Microservices like [AI Server](/posts/ai-server) that don't need the complexity of ASP .NET Core's Identity Auth machinery and just want to restrict access to their APIs with API Keys and restrict Admin functionality to Administrator's with an Auth Secret. +This is an ideal Auth Configuration for .NET Docker Appliances and Microservices like [AI Server](/ai-server/) that don't need the complexity of ASP .NET Core's Identity Auth machinery and just want to restrict access to their APIs with API Keys and restrict Admin functionality to Administrator's with an Auth Secret. The benefit of `ApiKeyCredentialsProvider` is that it maintains a persistent Session so that end users only need to enter their API Key a single time and they'll be able to navigate to all of AI Server's protected pages using their API Key maintained in their Server User Session without needing to re-enter it for each UI and every request. @@ -626,7 +626,7 @@ identified with a **key** icon: [![](/img/pages/servicestack-reference/swift-logo-banner.jpg)](/swift-add-servicestack-reference) -As part of the release of [AI Server](/posts/ai-server) we've upgraded all generic service client libraries +As part of the release of [AI Server](/ai-server/) we've upgraded all generic service client libraries to support multiple file uploads with API requests to take advantage of AI Server APIs that accept file uploads like [Image to Image](/ai-server/image-to-image), [Speech to Text](/ai-server/speech-to-text) or its @@ -740,7 +740,7 @@ let result:OpenAiChatResponse = try await client.postAsync( ## Typed Open AI Chat & Ollama APIs in 11 Languages -A happy consequence of the release of [AI Server](/posts/ai-server) is that its +A happy consequence of the release of [AI Server](/ai-server/) is that its [OpenAiChatCompletion](https://openai.servicestack.net/ui/OpenAiChatCompletion?tab=details) API is an **Open AI Chat compatible API** that can be used to access other LLM API Gateways, like Open AI's Chat GPT, Open Router, Mistral AI, GroqCloud as well as self-hosted Ollama instances directly in 11 of the most popular Web, Mobile & Desktop languages. @@ -1185,7 +1185,7 @@ any self-hosted AI Server instance, likewise the same generic client can also be ### TypeScript Example -For example you can get the TypeScript DTOs for the just released [AI Server](/posts/ai-server) with: +For example you can get the TypeScript DTOs for the just released [AI Server](/ai-server/) with: :::sh `npx get-dtos typescript https://openai.servicestack.net` diff --git a/MyApp/_pages/ssh-docker-compose-deploment.md b/MyApp/_pages/ssh-docker-compose-deploment.md index 6e14162cfe..801bae77ae 100644 --- a/MyApp/_pages/ssh-docker-compose-deploment.md +++ b/MyApp/_pages/ssh-docker-compose-deploment.md @@ -648,7 +648,7 @@ And since every GitHub Repository in the organization is unique, there is no con ### Cost Optimization: Using a Single Server -In our previous post,[In pursuit of the best value US cloud provider](/posts/hetzner-cloud), we looked for the most cost-effective cloud provider. We found that Hetzner Cloud offers the best value for money, with a powerful server costing around $10 USD per month. This means you can deploy multiple applications on a single server, saving you money and resources. +In our previous post,[In pursuit of the best value US cloud provider](https://servicestack.net/posts/hetzner-cloud), we looked for the most cost-effective cloud provider. We found that Hetzner Cloud offers the best value for money, with a powerful server costing around $10 USD per month. This means you can deploy multiple applications on a single server, saving you money and resources. To host lots of our demo applications, we are doing exactly this, meaning we have a per container of less than $0.50 USD per month. diff --git a/MyApp/_videos/vue-projects/blazor-vue.md b/MyApp/_videos/vue-projects/blazor-vue.md index 9f71c21fea..34bcb853d6 100644 --- a/MyApp/_videos/vue-projects/blazor-vue.md +++ b/MyApp/_videos/vue-projects/blazor-vue.md @@ -10,7 +10,7 @@ The new **Blazor Vue** template is ideal for building Fast, SEO-friendly, 100% s all its dynamic functionally uses Vue.js to progressively enhance Blazor's statically rendered content - eliminating Blazor's current limitations of being able to use Blazor SSR to develop an entire App without any of Blazor Interactivity downsides. -The new [blazor-vue](/posts/net8-best-blazor) template implements all the features of the [blazor](/posts/net8-blazor-template) +The new [blazor-vue](https://servicestack.net/posts/net8-best-blazor) template implements all the features of the [blazor](https://servicestack.net/posts/net8-blazor-template) template but reimplements all its interactive features with **Vue.js** to and the [Vue Components library](https://docs.servicestack.net/vue/), with both templates combining the latest advancements in Blazor .NET 8 with **Tailwind CSS** styling for creating beautiful Responsive Websites with support for Dark Mode.