From 56e58ae5bf104823973e4afec4b6502d654eb63b Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:09:27 +0200 Subject: [PATCH] site: rework guides filters and tags taxonomy - Rework the filtering system for guides to drop the use of the "products", "subjects", and "levels" taxonomies in favor of "tags" and "languages" - This change means that the existing taxonomy functionality integrates better with the guides filtering, and there are fewer parameters to keep in mind when adding metadata to a guide - Only two taxonomies instead of three - Only one of those taxonomies are guides-specific (languages) - The other taxonomy (tags) works for all content - Updates how tags and tag pages are rendered in general Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> --- content/guides/_index.md | 4 +- content/guides/admin-set-up/_index.md | 7 +- content/guides/bake/index.md | 3 +- content/guides/bun/_index.md | 1 - .../guides/container-supported-development.md | 4 +- content/guides/cpp/_index.md | 1 - content/guides/databases.md | 3 +- content/guides/docker-build-cloud/_index.md | 3 +- content/guides/docker-compose/_index.md | 3 +- content/guides/docker-scout/_index.md | 3 +- content/guides/dotnet/_index.md | 1 - content/guides/genai-pdf-bot/_index.md | 3 +- content/guides/genai-video-bot/index.md | 3 +- content/guides/golang/_index.md | 1 - content/guides/java/_index.md | 1 - content/guides/jupyter.md | 3 +- content/guides/kafka.md | 3 +- content/guides/kube-deploy.md | 3 +- content/guides/language-translation.md | 3 +- content/guides/localstack.md | 3 +- content/guides/named-entity-recognition.md | 3 +- content/guides/nodejs/_index.md | 1 - content/guides/orchestration.md | 3 +- content/guides/php/_index.md | 1 - content/guides/pre-seeding.md | 3 +- content/guides/python/_index.md | 1 - content/guides/r/_index.md | 1 - content/guides/rag-ollama/_index.md | 3 +- content/guides/ruby/_index.md | 1 - content/guides/rust/_index.md | 1 - content/guides/sentiment-analysis.md | 3 +- content/guides/swarm-deploy.md | 3 +- content/guides/tensorflowjs.md | 3 +- content/guides/testcontainers-cloud/_index.md | 3 +- content/guides/text-classification.md | 3 +- content/guides/text-summarization.md | 3 +- content/guides/traefik.md | 3 +- content/guides/wiremock.md | 4 +- content/languages/_index.md | 1 + content/languages/c-sharp/_index.md | 2 + content/languages/cpp/_index.md | 2 + content/languages/go/_index.md | 2 + content/languages/java/_index.md | 2 + content/languages/js/_index.md | 2 + content/languages/php/_index.md | 2 + content/languages/python/_index.md | 2 + content/languages/r/_index.md | 2 + content/languages/ruby/_index.md | 2 + content/languages/rust/_index.md | 2 + content/levels/_index.md | 5 - content/products/_index.md | 5 - content/products/compose/_index.md | 3 - content/products/dbc/_index.md | 3 - content/products/scout/_index.md | 3 - content/subjects/_index.md | 5 - content/tags/admin/_index.md | 3 + content/{subjects => tags}/ai/_index.md | 0 content/tags/app-dev/_index.md | 3 + content/tags/best-practices/_index.md | 1 - .../cloud-services/_index.md | 0 .../{subjects => tags}/data-science/_index.md | 0 .../{subjects => tags}/databases/_index.md | 0 content/{subjects => tags}/deploy/_index.md | 0 content/{subjects => tags}/devops/_index.md | 0 .../distributed-systems/_index.md | 0 content/tags/faq/_index.md | 1 - .../{subjects => tags}/networking/_index.md | 0 content/tags/product-demo/_index.md | 3 + content/tags/secrets/_index.md | 1 - content/tags/troubleshooting/_index.md | 1 - hugo.yaml | 4 - hugo_stats.json | 18 +- layouts/guides/landing.html | 282 +++++++++++------- layouts/partials/content-default.html | 7 + layouts/partials/icon.html | 4 +- layouts/partials/languages.html | 21 ++ layouts/partials/pagemeta.html | 23 +- layouts/partials/sidebar/guides.html | 21 +- layouts/partials/sidebar/mainnav.html | 9 +- layouts/partials/sidebar/tags.html | 3 +- layouts/partials/tags.html | 21 +- layouts/partials/utils/filter-terms.html | 11 - layouts/tag/taxonomy.html | 21 +- layouts/tag/term.html | 45 +-- 84 files changed, 329 insertions(+), 318 deletions(-) delete mode 100644 content/levels/_index.md delete mode 100644 content/products/_index.md delete mode 100644 content/products/compose/_index.md delete mode 100644 content/products/dbc/_index.md delete mode 100644 content/products/scout/_index.md delete mode 100644 content/subjects/_index.md create mode 100644 content/tags/admin/_index.md rename content/{subjects => tags}/ai/_index.md (100%) create mode 100644 content/tags/app-dev/_index.md rename content/{subjects => tags}/cloud-services/_index.md (100%) rename content/{subjects => tags}/data-science/_index.md (100%) rename content/{subjects => tags}/databases/_index.md (100%) rename content/{subjects => tags}/deploy/_index.md (100%) rename content/{subjects => tags}/devops/_index.md (100%) rename content/{subjects => tags}/distributed-systems/_index.md (100%) rename content/{subjects => tags}/networking/_index.md (100%) create mode 100644 content/tags/product-demo/_index.md create mode 100644 layouts/partials/languages.html delete mode 100644 layouts/partials/utils/filter-terms.html diff --git a/content/guides/_index.md b/content/guides/_index.md index c915ad2b99..87d92a1a39 100644 --- a/content/guides/_index.md +++ b/content/guides/_index.md @@ -1,6 +1,6 @@ --- -title: Guides -keywords: Docker guides +title: Docker guides +linkTitle: Guides description: Explore the Docker guides params: icon: developer_guide diff --git a/content/guides/admin-set-up/_index.md b/content/guides/admin-set-up/_index.md index 0a5bff1818..91e0e429b8 100644 --- a/content/guides/admin-set-up/_index.md +++ b/content/guides/admin-set-up/_index.md @@ -2,10 +2,11 @@ title: Set up your company for success with Docker linkTitle: Admin set up summary: Get the most out of Docker by streamlining workflows, standardizing development environments, and ensuring smooth deployments across your company. -description: Learn how to onboard your company and take advantage of all of the Docker products and features. -levels: [intermediate] +description: Learn how to onboard your company and take advantage of all of the Docker products and features. +tags: [admin] params: featured: true + time: 20 minutes image: resource_links: - title: Overview of Administration in Docker @@ -66,4 +67,4 @@ By configuring Docker products to suit your company’s needs, you can optimize ## Tools integration -Okta, Entra ID SAML 2.0, Azure Connect (OIDC), MDM solutions like Intune \ No newline at end of file +Okta, Entra ID SAML 2.0, Azure Connect (OIDC), MDM solutions like Intune diff --git a/content/guides/bake/index.md b/content/guides/bake/index.md index e6043434f9..ba42268f56 100644 --- a/content/guides/bake/index.md +++ b/content/guides/bake/index.md @@ -5,9 +5,8 @@ description: > Learn how to manage simple and complex build configurations with Buildx Bake. summary: > Learn to automate Docker builds and testing with declarative configurations using Buildx Bake. +tags: [devops] languages: [go] -subjects: [devops] -levels: [advanced] params: time: 30 minutes featured: true diff --git a/content/guides/bun/_index.md b/content/guides/bun/_index.md index bd015ea6f1..3c304a9cbf 100644 --- a/content/guides/bun/_index.md +++ b/content/guides/bun/_index.md @@ -5,7 +5,6 @@ title: Bun language-specific guide summary: | Learn how to containerize JavaScript applications with the Bun runtime. linkTitle: Bun -levels: [beginner] languages: [js] params: time: 10 minutes diff --git a/content/guides/container-supported-development.md b/content/guides/container-supported-development.md index 5287947830..b76918ebdc 100644 --- a/content/guides/container-supported-development.md +++ b/content/guides/container-supported-development.md @@ -5,7 +5,7 @@ summary: | Containers don't have to be just for your app. Learn how to run your app's dependent services and other debugging tools to enhance your development environment. description: | Use containers in your local development loop to develop and test faster… even if your main app isn't running in containers. -levels: [beginner] +tags: [app-dev] params: image: images/learning-paths/container-supported-development.png time: 20 minutes @@ -73,4 +73,4 @@ Once you start using containers in your development environment, it becomes much {{< youtube-embed TCZX15aKSu4 >}} -
\ No newline at end of file +
diff --git a/content/guides/cpp/_index.md b/content/guides/cpp/_index.md index d4608d0061..1bfc404dca 100644 --- a/content/guides/cpp/_index.md +++ b/content/guides/cpp/_index.md @@ -11,7 +11,6 @@ aliases: - /language/cpp/ - /guides/language/cpp/ languages: [cpp] -levels: [beginner] params: time: 10 minutes --- diff --git a/content/guides/databases.md b/content/guides/databases.md index a5f13f525a..8cdea6f6a3 100644 --- a/content/guides/databases.md +++ b/content/guides/databases.md @@ -4,8 +4,7 @@ keywords: database, mysql title: Use containerized databases summary: | Learn how to effectively run and manage databases as containers. -levels: [beginner] -subjects: [databases] +tags: [databases] aliases: - /guides/use-case/databases/ params: diff --git a/content/guides/docker-build-cloud/_index.md b/content/guides/docker-build-cloud/_index.md index 979f5e3a6a..ba8c398c44 100644 --- a/content/guides/docker-build-cloud/_index.md +++ b/content/guides/docker-build-cloud/_index.md @@ -7,8 +7,7 @@ description: | summary: | Build applications up to 39x faster using cloud-based resources, shared team cache, and native multi-architecture support. -levels: [beginner] -products: [dbc] +tags: [product-demo] aliases: - /learning-paths/docker-build-cloud/ params: diff --git a/content/guides/docker-compose/_index.md b/content/guides/docker-compose/_index.md index 0b0f4ddb88..68eeb129a3 100644 --- a/content/guides/docker-compose/_index.md +++ b/content/guides/docker-compose/_index.md @@ -5,8 +5,7 @@ summary: | Simplify the process of defining, configuring, and running multi-container Docker applications. description: Learn how to use Docker Compose to define and run multi-container Docker applications. -levels: [beginner] -products: [compose] +tags: [product-demo] aliases: - /learning-paths/docker-compose/ params: diff --git a/content/guides/docker-scout/_index.md b/content/guides/docker-scout/_index.md index 8fd53d1d5c..3134c8e85a 100644 --- a/content/guides/docker-scout/_index.md +++ b/content/guides/docker-scout/_index.md @@ -8,8 +8,7 @@ description: | Learn how to use Docker Scout to enhance container security by automating vulnerability detection and remediation, ensuring compliance, and protecting your development workflow. -levels: [Beginner] -products: [scout] +tags: [product-demo] aliases: - /learning-paths/docker-scout/ params: diff --git a/content/guides/dotnet/_index.md b/content/guides/dotnet/_index.md index 9b483994b6..849c17f2b6 100644 --- a/content/guides/dotnet/_index.md +++ b/content/guides/dotnet/_index.md @@ -9,7 +9,6 @@ aliases: - /language/dotnet/ - /guides/language/dotnet/ languages: [c-sharp] -levels: [beginner] params: time: 20 minutes toc_min: 1 diff --git a/content/guides/genai-pdf-bot/_index.md b/content/guides/genai-pdf-bot/_index.md index 2cb403e54d..e30ca5b853 100644 --- a/content/guides/genai-pdf-bot/_index.md +++ b/content/guides/genai-pdf-bot/_index.md @@ -5,8 +5,7 @@ keywords: python, generative ai, genai, llm, neo4j, ollama, langchain summary: | Learn how to build a PDF bot for parsing PDF documents and generating responses using Docker and generative AI. -levels: [beginner] -subjects: [ai] +tags: [ai] aliases: - /guides/use-case/genai-pdf-bot/ params: diff --git a/content/guides/genai-video-bot/index.md b/content/guides/genai-video-bot/index.md index e68e8f9546..a5d5b6497a 100644 --- a/content/guides/genai-video-bot/index.md +++ b/content/guides/genai-video-bot/index.md @@ -6,8 +6,7 @@ keywords: python, generative ai, genai, llm, whisper, pinecone, openai, whisper summary: | Learn how to build and deploy a generative AI video analysis and transcription bot using Docker. -subjects: [ai] -levels: [beginner] +tags: [ai] aliases: - /guides/use-case/genai-video-bot/ params: diff --git a/content/guides/golang/_index.md b/content/guides/golang/_index.md index 646bf7048d..7d63660706 100644 --- a/content/guides/golang/_index.md +++ b/content/guides/golang/_index.md @@ -11,7 +11,6 @@ aliases: - /language/golang/ - /guides/language/golang/ languages: [go] -levels: [beginner] params: time: 30 minutes --- diff --git a/content/guides/java/_index.md b/content/guides/java/_index.md index 87f065787e..b605ffd484 100644 --- a/content/guides/java/_index.md +++ b/content/guides/java/_index.md @@ -11,7 +11,6 @@ aliases: - /language/java/ - /guides/language/java/ languages: [java] -levels: [beginner] params: time: 20 minutes --- diff --git a/content/guides/jupyter.md b/content/guides/jupyter.md index ea027e16fd..67ea349f21 100644 --- a/content/guides/jupyter.md +++ b/content/guides/jupyter.md @@ -5,9 +5,8 @@ title: Data science with JupyterLab toc_max: 2 summary: | Use Docker to run Jupyter notebooks. +tags: [data-science] languages: [python] -levels: [beginner] -subjects: [data-science] aliases: - /guides/use-case/jupyter/ params: diff --git a/content/guides/kafka.md b/content/guides/kafka.md index 0d210b953a..9ce2940b19 100644 --- a/content/guides/kafka.md +++ b/content/guides/kafka.md @@ -5,9 +5,8 @@ title: Developing event-driven applications with Kafka and Docker linktitle: Event-driven apps with Kafka summary: | This guide explains how to run Apache Kafka in Docker containers. -subjects: [distributed-systems] +tags: [distributed-systems] languages: [js] -levels: [intermediate] aliases: - /guides/use-case/kafka/ params: diff --git a/content/guides/kube-deploy.md b/content/guides/kube-deploy.md index f6b738374c..c4b5353853 100644 --- a/content/guides/kube-deploy.md +++ b/content/guides/kube-deploy.md @@ -7,8 +7,7 @@ aliases: - /guides/deployment-orchestration/kube-deploy/ summary: | Learn how to deploy and orchestrate Docker containers using Kubernetes. -subjects: [deploy] -levels: [beginner] +tags: [deploy] params: time: 10 minutes --- diff --git a/content/guides/language-translation.md b/content/guides/language-translation.md index 7f562df39e..f71c46e7a2 100644 --- a/content/guides/language-translation.md +++ b/content/guides/language-translation.md @@ -6,8 +6,7 @@ description: Learn how to build and run a language translation application using summary: | This guide demonstrates how to use Docker to deploy language translation models for NLP tasks. -levels: [beginner] -subjects: [ai] +tags: [ai] languages: [python] aliases: - /guides/use-case/nlp/language-translation/ diff --git a/content/guides/localstack.md b/content/guides/localstack.md index b1c43ee3f0..aca2020ce8 100644 --- a/content/guides/localstack.md +++ b/content/guides/localstack.md @@ -6,9 +6,8 @@ linktitle: AWS development with LocalStack summary: | This guide explains how to use Docker to run LocalStack, a local AWS cloud stack emulator. -subjects: [cloud-services] +tags: [cloud-services] languages: [js] -levels: [intermediate] params: time: 20 minutes --- diff --git a/content/guides/named-entity-recognition.md b/content/guides/named-entity-recognition.md index 8b047810a6..916810166b 100644 --- a/content/guides/named-entity-recognition.md +++ b/content/guides/named-entity-recognition.md @@ -6,9 +6,8 @@ description: Learn how to build and run a named entity recognition application u summary: | This guide explains how to containerize named entity recognition (NER) models using Docker. -subjects: [ai] +tags: [ai] languages: [python] -levels: [beginner] aliases: - /guides/use-case/nlp/named-entity-recognition/ params: diff --git a/content/guides/nodejs/_index.md b/content/guides/nodejs/_index.md index 3093c809dc..b7f04877a0 100644 --- a/content/guides/nodejs/_index.md +++ b/content/guides/nodejs/_index.md @@ -11,7 +11,6 @@ aliases: - /language/nodejs/ - /guides/language/nodejs/ languages: [js] -levels: [beginner] params: time: 20 minutes --- diff --git a/content/guides/orchestration.md b/content/guides/orchestration.md index eb93376d4c..d63d54e0b5 100644 --- a/content/guides/orchestration.md +++ b/content/guides/orchestration.md @@ -7,8 +7,7 @@ aliases: - /guides/deployment-orchestration/orchestration/ summary: | Explore the essentials of container orchestration with Docker. -subjects: [deploy] -levels: [beginner] +tags: [deploy] params: time: 10 minutes --- diff --git a/content/guides/php/_index.md b/content/guides/php/_index.md index 428c2343be..358b13865a 100644 --- a/content/guides/php/_index.md +++ b/content/guides/php/_index.md @@ -11,7 +11,6 @@ aliases: - /language/php/ - /guides/language/php/ languages: [php] -levels: [beginner] params: time: 20 minutes --- diff --git a/content/guides/pre-seeding.md b/content/guides/pre-seeding.md index dd0252bade..c7e65b10b6 100644 --- a/content/guides/pre-seeding.md +++ b/content/guides/pre-seeding.md @@ -4,8 +4,7 @@ linktitle: Pre-seeding database description: &desc Pre-seeding database with schema and data at startup for development environment keywords: Pre-seeding, database, postgres, container-supported development summary: *desc -levels: [intermediate] -subjects: [databases] +tags: [app-dev, databases] params: time: 20 minutes --- diff --git a/content/guides/python/_index.md b/content/guides/python/_index.md index 73d4ad14b4..221c540f1e 100644 --- a/content/guides/python/_index.md +++ b/content/guides/python/_index.md @@ -11,7 +11,6 @@ aliases: - /language/python/ - /guides/language/python/ languages: [python] -levels: [beginner] params: time: 20 minutes --- diff --git a/content/guides/r/_index.md b/content/guides/r/_index.md index 4eb1f2126a..c599db41a5 100644 --- a/content/guides/r/_index.md +++ b/content/guides/r/_index.md @@ -11,7 +11,6 @@ aliases: - /languages/r/ - /guides/languages/r/ languages: [r] -levels: [beginner] params: time: 10 minutes --- diff --git a/content/guides/rag-ollama/_index.md b/content/guides/rag-ollama/_index.md index c2773a2c66..79bfff446f 100644 --- a/content/guides/rag-ollama/_index.md +++ b/content/guides/rag-ollama/_index.md @@ -6,8 +6,7 @@ linkTitle: RAG Ollama application summary: | This guide demonstrates how to use Docker to deploy Retrieval-Augmented Generation (RAG) models with Ollama. -subjects: [ai] -levels: [beginner] +tags: [ai] aliases: - /guides/use-case/rag-ollama/ params: diff --git a/content/guides/ruby/_index.md b/content/guides/ruby/_index.md index 677b95e8ac..a83da12e12 100644 --- a/content/guides/ruby/_index.md +++ b/content/guides/ruby/_index.md @@ -12,7 +12,6 @@ aliases: - /language/ruby/ - /guides/language/ruby/ languages: [ruby] -levels: [beginner] params: time: 20 minutes --- diff --git a/content/guides/rust/_index.md b/content/guides/rust/_index.md index 65b05e74bf..2a1c1c3d12 100644 --- a/content/guides/rust/_index.md +++ b/content/guides/rust/_index.md @@ -11,7 +11,6 @@ aliases: - /language/rust/ - /guides/language/rust/ languages: [rust] -levels: [beginner] params: time: 20 minutes --- diff --git a/content/guides/sentiment-analysis.md b/content/guides/sentiment-analysis.md index 8b8928868e..751b4c4cd2 100644 --- a/content/guides/sentiment-analysis.md +++ b/content/guides/sentiment-analysis.md @@ -6,9 +6,8 @@ description: Learn how to build and run a sentiment analysis application using P summary: | This guide demonstrates how to containerize sentiment analysis models using Docker. -subjects: [ai] +tags: [ai] languages: [python] -levels: [beginner] aliases: - /guides/use-case/nlp/sentiment-analysis/ params: diff --git a/content/guides/swarm-deploy.md b/content/guides/swarm-deploy.md index 3a35e0a30a..39390a5fe4 100644 --- a/content/guides/swarm-deploy.md +++ b/content/guides/swarm-deploy.md @@ -8,8 +8,7 @@ aliases: - /guides/deployment-orchestration/swarm-deploy/ summary: | Discover how to deploy and manage Docker containers using Docker Swarm. -subjects: [deploy] -levels: [beginner] +tags: [deploy] params: time: 10 minutes --- diff --git a/content/guides/tensorflowjs.md b/content/guides/tensorflowjs.md index 3ca0b46618..ecbd89bc6b 100644 --- a/content/guides/tensorflowjs.md +++ b/content/guides/tensorflowjs.md @@ -4,9 +4,8 @@ keywords: tensorflow.js, machine learning, ml, mediapipe, blazeface, face detect title: Face detection with TensorFlow.js summary: | This guide explains how to run TensorFlow.js in Docker containers. -subjects: [ai] +tags: [ai] languages: [js] -levels: [beginner] aliases: - /guides/use-case/tensorflowjs/ params: diff --git a/content/guides/testcontainers-cloud/_index.md b/content/guides/testcontainers-cloud/_index.md index e1771ed374..8013e25506 100644 --- a/content/guides/testcontainers-cloud/_index.md +++ b/content/guides/testcontainers-cloud/_index.md @@ -6,8 +6,7 @@ summary: | Automate, scale, and optimize testing workflows with Testcontainers Cloud description: | Testcontainers Cloud by Docker streamlines integration testing by offloading container management to the cloud. It enables faster, consistent tests for containerized services like databases, improving performance and scalability in CI/CD pipelines without straining local or CI resources. Ideal for developers needing efficient, reliable testing environments. -levels: [Beginner] -products: [testcontainers] +tags: [product-demo] params: featured: true image: images/learning-paths/testcontainers-cloud-learning-path.png diff --git a/content/guides/text-classification.md b/content/guides/text-classification.md index 02084d9b78..a7fbe27492 100644 --- a/content/guides/text-classification.md +++ b/content/guides/text-classification.md @@ -6,9 +6,8 @@ description: Learn how to build and run a text recognition application using Pyt summary: | This guide details how to containerize text classification models using Docker. -subjects: [ai] +tags: [ai] languages: [python] -levels: [beginner] aliases: - /guides/use-case/nlp/text-classification/ params: diff --git a/content/guides/text-summarization.md b/content/guides/text-summarization.md index e0713cdb0c..4478fb6dd8 100644 --- a/content/guides/text-summarization.md +++ b/content/guides/text-summarization.md @@ -5,9 +5,8 @@ keywords: nlp, natural language processing, text summarization, python, bert ext description: Learn how to build and run a text summarization application using Python, Bert Extractive Summarizer, and Docker. summary: | This guide shows how to containerize text summarization models with Docker. -subjects: [ai] +tags: [ai] languages: [python] -levels: [beginner] aliases: - /guides/use-case/nlp/text-summarization/ params: diff --git a/content/guides/traefik.md b/content/guides/traefik.md index e9d8ea4e7a..08708fdb33 100644 --- a/content/guides/traefik.md +++ b/content/guides/traefik.md @@ -4,8 +4,7 @@ description: &desc Use Traefik to easily route traffic between multiple containe keywords: traefik, container-supported development linktitle: HTTP routing with Traefik summary: *desc -levels: [intermediate] -subjects: [networking] +tags: [networking] params: time: 20 minutes --- diff --git a/content/guides/wiremock.md b/content/guides/wiremock.md index f0d198e0aa..ccdc05e219 100644 --- a/content/guides/wiremock.md +++ b/content/guides/wiremock.md @@ -4,8 +4,8 @@ description: &desc Mocking API services in development and testing with WireMock keywords: WireMock, container-supported development linktitle: Mocking API services with WireMock summary: *desc -levels: [intermediate] -subjects: [distributed-systems] +tags: [app-dev, distributed-systems] +languages: [js] params: time: 20 minutes --- diff --git a/content/languages/_index.md b/content/languages/_index.md index 0bd2b7a058..78fd6dd9e2 100644 --- a/content/languages/_index.md +++ b/content/languages/_index.md @@ -3,3 +3,4 @@ cascade: build: render: never --- + diff --git a/content/languages/c-sharp/_index.md b/content/languages/c-sharp/_index.md index 72dd4df5eb..a579a538ce 100644 --- a/content/languages/c-sharp/_index.md +++ b/content/languages/c-sharp/_index.md @@ -1,3 +1,5 @@ --- title: C# +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/csharp/csharp-original.svg --- diff --git a/content/languages/cpp/_index.md b/content/languages/cpp/_index.md index 6366ec7993..f77781db89 100644 --- a/content/languages/cpp/_index.md +++ b/content/languages/cpp/_index.md @@ -1,3 +1,5 @@ --- title: C++ +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/cplusplus/cplusplus-original.svg --- diff --git a/content/languages/go/_index.md b/content/languages/go/_index.md index dd1e9fb988..b98a732a75 100644 --- a/content/languages/go/_index.md +++ b/content/languages/go/_index.md @@ -1,3 +1,5 @@ --- title: Go +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/go/go-original.svg --- diff --git a/content/languages/java/_index.md b/content/languages/java/_index.md index 8639cb017d..302591c35a 100644 --- a/content/languages/java/_index.md +++ b/content/languages/java/_index.md @@ -1,3 +1,5 @@ --- title: Java +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/java/java-original.svg --- diff --git a/content/languages/js/_index.md b/content/languages/js/_index.md index f81115e1a0..92ef7a7ff0 100644 --- a/content/languages/js/_index.md +++ b/content/languages/js/_index.md @@ -1,3 +1,5 @@ --- title: JavaScript +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/javascript/javascript-original.svg --- diff --git a/content/languages/php/_index.md b/content/languages/php/_index.md index 9ef8888bc0..03bf6baa77 100644 --- a/content/languages/php/_index.md +++ b/content/languages/php/_index.md @@ -1,3 +1,5 @@ --- title: PHP +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/php/php-original.svg --- diff --git a/content/languages/python/_index.md b/content/languages/python/_index.md index 42944df741..1e0a5bb338 100644 --- a/content/languages/python/_index.md +++ b/content/languages/python/_index.md @@ -1,3 +1,5 @@ --- title: Python +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/python/python-original.svg --- diff --git a/content/languages/r/_index.md b/content/languages/r/_index.md index 0e739ff552..c02712c12d 100644 --- a/content/languages/r/_index.md +++ b/content/languages/r/_index.md @@ -1,3 +1,5 @@ --- title: R +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/r/r-original.svg --- diff --git a/content/languages/ruby/_index.md b/content/languages/ruby/_index.md index bc91a1f18c..d99155828e 100644 --- a/content/languages/ruby/_index.md +++ b/content/languages/ruby/_index.md @@ -1,3 +1,5 @@ --- title: Ruby +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/ruby/ruby-original.svg --- diff --git a/content/languages/rust/_index.md b/content/languages/rust/_index.md index 2220e5d257..80b981d535 100644 --- a/content/languages/rust/_index.md +++ b/content/languages/rust/_index.md @@ -1,3 +1,5 @@ --- title: Rust +params: + icon: https://cdn.jsdelivr.net/gh/devicons/devicon@latest/icons/rust/rust-original.svg --- diff --git a/content/levels/_index.md b/content/levels/_index.md deleted file mode 100644 index 0bd2b7a058..0000000000 --- a/content/levels/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -cascade: - build: - render: never ---- diff --git a/content/products/_index.md b/content/products/_index.md deleted file mode 100644 index 0bd2b7a058..0000000000 --- a/content/products/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -cascade: - build: - render: never ---- diff --git a/content/products/compose/_index.md b/content/products/compose/_index.md deleted file mode 100644 index 220ef676af..0000000000 --- a/content/products/compose/_index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Docker Compose ---- diff --git a/content/products/dbc/_index.md b/content/products/dbc/_index.md deleted file mode 100644 index 73a8858026..0000000000 --- a/content/products/dbc/_index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Docker Build Cloud ---- diff --git a/content/products/scout/_index.md b/content/products/scout/_index.md deleted file mode 100644 index eb8ecc68df..0000000000 --- a/content/products/scout/_index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Docker Scout ---- diff --git a/content/subjects/_index.md b/content/subjects/_index.md deleted file mode 100644 index 0bd2b7a058..0000000000 --- a/content/subjects/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -cascade: - build: - render: never ---- diff --git a/content/tags/admin/_index.md b/content/tags/admin/_index.md new file mode 100644 index 0000000000..9f7ab9b1a9 --- /dev/null +++ b/content/tags/admin/_index.md @@ -0,0 +1,3 @@ +--- +title: Administration +--- diff --git a/content/subjects/ai/_index.md b/content/tags/ai/_index.md similarity index 100% rename from content/subjects/ai/_index.md rename to content/tags/ai/_index.md diff --git a/content/tags/app-dev/_index.md b/content/tags/app-dev/_index.md new file mode 100644 index 0000000000..2bea4fc70c --- /dev/null +++ b/content/tags/app-dev/_index.md @@ -0,0 +1,3 @@ +--- +title: App development +--- diff --git a/content/tags/best-practices/_index.md b/content/tags/best-practices/_index.md index 76591b1b2c..ada8e2b9f6 100644 --- a/content/tags/best-practices/_index.md +++ b/content/tags/best-practices/_index.md @@ -1,6 +1,5 @@ --- title: Best practices -icon: star description: Optimal patterns for Docker --- diff --git a/content/subjects/cloud-services/_index.md b/content/tags/cloud-services/_index.md similarity index 100% rename from content/subjects/cloud-services/_index.md rename to content/tags/cloud-services/_index.md diff --git a/content/subjects/data-science/_index.md b/content/tags/data-science/_index.md similarity index 100% rename from content/subjects/data-science/_index.md rename to content/tags/data-science/_index.md diff --git a/content/subjects/databases/_index.md b/content/tags/databases/_index.md similarity index 100% rename from content/subjects/databases/_index.md rename to content/tags/databases/_index.md diff --git a/content/subjects/deploy/_index.md b/content/tags/deploy/_index.md similarity index 100% rename from content/subjects/deploy/_index.md rename to content/tags/deploy/_index.md diff --git a/content/subjects/devops/_index.md b/content/tags/devops/_index.md similarity index 100% rename from content/subjects/devops/_index.md rename to content/tags/devops/_index.md diff --git a/content/subjects/distributed-systems/_index.md b/content/tags/distributed-systems/_index.md similarity index 100% rename from content/subjects/distributed-systems/_index.md rename to content/tags/distributed-systems/_index.md diff --git a/content/tags/faq/_index.md b/content/tags/faq/_index.md index 7c0d6243a3..861ac65830 100644 --- a/content/tags/faq/_index.md +++ b/content/tags/faq/_index.md @@ -1,6 +1,5 @@ --- title: FAQ -icon: quiz description: Frequently asked questions --- diff --git a/content/subjects/networking/_index.md b/content/tags/networking/_index.md similarity index 100% rename from content/subjects/networking/_index.md rename to content/tags/networking/_index.md diff --git a/content/tags/product-demo/_index.md b/content/tags/product-demo/_index.md new file mode 100644 index 0000000000..de46c1a377 --- /dev/null +++ b/content/tags/product-demo/_index.md @@ -0,0 +1,3 @@ +--- +title: Product demo +--- diff --git a/content/tags/secrets/_index.md b/content/tags/secrets/_index.md index 383adbf49c..f1e0375290 100644 --- a/content/tags/secrets/_index.md +++ b/content/tags/secrets/_index.md @@ -1,6 +1,5 @@ --- title: Secrets -icon: password description: Use sensitive information in containers securely --- diff --git a/content/tags/troubleshooting/_index.md b/content/tags/troubleshooting/_index.md index 16889090b8..47f17d79c3 100644 --- a/content/tags/troubleshooting/_index.md +++ b/content/tags/troubleshooting/_index.md @@ -1,6 +1,5 @@ --- title: Troubleshooting -icon: troubleshoot description: Fix common issues --- diff --git a/hugo.yaml b/hugo.yaml index ba2782620f..8d4d59372f 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -9,11 +9,7 @@ ignoreLogs: taxonomies: tag: tags - # filters for guides: language: languages - subject: subjects - level: levels - product: products permalinks: page: diff --git a/hugo_stats.json b/hugo_stats.json index 6e834ec746..9e6c6130f6 100644 --- a/hugo_stats.json +++ b/hugo_stats.json @@ -41,6 +41,7 @@ "Docker-Compose", "Docker-Desktop", "Docker-Hub", + "Docker-Scout-Dashboard", "Download", "Editor-or-IDE", "Entra-ID", @@ -86,6 +87,7 @@ "Node", "Non-compliant", "Okta", + "Okta-SAML", "Old-Dockerfile", "PHP", "PowerShell", @@ -192,7 +194,6 @@ "chroma", "col-start-2", "containerd-image-store", - "cursor-not-allowed", "cursor-pointer", "dark:bg-amber-dark", "dark:bg-amber-dark-200", @@ -231,8 +232,8 @@ "dark:hover:bg-gray-dark-200", "dark:hover:bg-gray-dark-500", "dark:hover:text-blue-dark", - "dark:hover:text-white", "dark:prose-invert", + "dark:ring-blue-dark-400", "dark:ring-gray-dark-400", "dark:syntax-dark", "dark:text-amber-dark", @@ -292,7 +293,6 @@ "grid-cols-1", "group", "group-hover:block'", - "group-hover:underline", "h-16", "h-2", "h-32", @@ -311,7 +311,6 @@ "hover:bg-gray-light-100", "hover:bg-gray-light-200", "hover:bg-gray-light-300", - "hover:bg-white", "hover:bg-white/20", "hover:border-gray-light-200", "hover:border-white/20", @@ -321,7 +320,6 @@ "hover:dark:text-blue-dark", "hover:drop-shadow-lg", "hover:opacity-90", - "hover:text-black", "hover:text-blue-light", "hover:text-white", "hover:underline", @@ -329,6 +327,7 @@ "icon-sm", "icon-svg", "inline", + "inline-flex", "inset-0", "invertible", "italic", @@ -352,7 +351,6 @@ "lg:no-underline", "lg:pb-2", "lg:scale-100", - "lg:text-base", "link", "lntable", "lntd", @@ -368,6 +366,7 @@ "max-w-full", "max-w-none", "max-w-xl", + "mb-1", "mb-2", "mb-4", "mb-8", @@ -399,7 +398,6 @@ "mt-4", "mx-auto", "my-0", - "my-2", "my-4", "my-6", "no-underline", @@ -427,6 +425,7 @@ "pb-1", "pb-2", "pb-4", + "pb-8", "pl-1", "pl-2", "pl-3", @@ -440,7 +439,6 @@ "pt-4", "px-1", "px-2", - "px-3", "px-4", "px-6", "py-1", @@ -452,7 +450,9 @@ "right-0", "right-3", "right-8", + "ring-2", "ring-[1.5px]", + "ring-blue-light-400", "ring-gray-light-200", "rotate-45", "rounded", @@ -519,9 +519,7 @@ "top-full", "transition", "truncate", - "underline", "underline-offset-2", - "underline-offset-8", "w-2", "w-8", "w-[1200px]", diff --git a/layouts/guides/landing.html b/layouts/guides/landing.html index 2ae1e29fa2..e8171b8d59 100644 --- a/layouts/guides/landing.html +++ b/layouts/guides/landing.html @@ -1,165 +1,221 @@ {{ define "left" }} -{{ partial "sidebar/mainnav.html" . }} -
-
- {{ partialCached "icon" "filter_alt" "filter_alt" }} - Filters -
-
+

Filter guides by tag or programming language.

+

- {{ template "taxofilters" site.Taxonomies.products }} - {{ template "taxofilters" site.Taxonomies.subjects }} - {{ template "taxofilters" site.Taxonomies.levels }} - {{ template "taxofilters" site.Taxonomies.languages }} + }" @guide-filter.window="filters = $event.detail.filters;"> +
Tags
+
+ {{- range $name, $taxonomy := where site.Taxonomies.tags ".Page.Type" "guides" }} + {{- $id := anchorize (fmt.Printf "tag-%s" $name) }} +
+ + +
+ {{ end }} +
+
Languages
+
+ {{- range $name, $taxonomy := where site.Taxonomies.languages ".Page.Type" "guides" }} + {{- $id := anchorize (fmt.Printf "lang-%s" $name) }} + + {{ end }} +
{{ end }} -{{ define "taxofilters" }} -{{- $taxonomy := .Page.Data.Plural }} -
-
{{ humanize $taxonomy }}
- {{- range . }} - {{- $term := .Page.Data.Term }} -
- {{- $id := anchorize (fmt.Printf "%s-%s" $taxonomy $term) }} - - -
- {{ end }} -
-{{ end }} - {{ define "main" }}
{{- partial "breadcrumbs.html" . }}

{{ .Title }}

{{ .Content }} -

Featured

-
- {{- $featured := where .Pages "Params.featured" true }} - {{- with $featured }} - {{- range . }} - - {{- end }} - {{- end }} -
- -
- {{- $taxonomies := slice "products" "subjects" "levels" "languages" }} -
-

All guides

- {{- range .Pages }} - {{- $opts := dict "page" . "taxonomies" $taxonomies }} - {{- $filters := partial "utils/filter-terms.html" $opts }} - -
-
{{ .Title }}
- {{ template "guide-metadata" . }} + }" x-cloak + @guide-filter.window="filters = $event.detail.filters; updateVisible(); $nextTick(() => { window.scrollTo({ top: 0 }) })"> +
+

All guides

+
+
+ {{ partialCached "icon" "filter_alt" "filter_alt" }} +

Filtered results: showing out of guides.

+
+
+ {{- range $name, $taxonomy := site.Taxonomies.tags }} +
{{ template "termchip" $taxonomy.Page.LinkTitle }}
+ {{- end }} + {{- range $name, $taxonomy := site.Taxonomies.languages }} +
+ + {{ .Page.LinkTitle }}
- - {{- end }} + {{- end }} +
+
+
+ {{- range .Pages }} +
+
+ {{ .Title }} + {{ template "guide-metadata" . }} +
+
+ {{- end }} +
+
{{ end }} {{- define "guide-metadata" }} -
+
- {{- $taxoterms := .GetTerms "languages" }} - {{- $taxoterms = $taxoterms | append (.GetTerms "levels") }} - {{- $taxoterms = $taxoterms | append (.GetTerms "subjects") }} - {{- range $taxoterms }} - {{- .Page.LinkTitle }} + {{- $langs := .GetTerms "languages" }} + {{ partial "languages" $langs }} + {{- $tags := .GetTerms "tags" }} + {{- range $tags }} + {{ template "termchip" .Page.LinkTitle }} {{- end }}
{{- with .Params.time }} -
- {{ partialCached "icon" "schedule" "schedule" }} - {{ . }} -
+
+ {{ partialCached "icon" "schedule" "schedule" }} + {{ . }} +
{{- end }}
{{- end }} + +{{- define "termchip" }} + + + {{ partialCached "icon" "tag" "tag" }} + + {{ . }} + +{{- end }} diff --git a/layouts/partials/content-default.html b/layouts/partials/content-default.html index 1355c77201..e5bb568595 100644 --- a/layouts/partials/content-default.html +++ b/layouts/partials/content-default.html @@ -2,6 +2,13 @@
{{ partial "breadcrumbs.html" . }}

{{ .Title }}

+ {{- if ne .Type "guides" }} + {{ with .GetTerms "tags" }} +
+ {{- partial "tags.html" . }} +
+ {{- end }} + {{- end }}
{{ partialCached "pagemeta.html" . . }}
diff --git a/layouts/partials/icon.html b/layouts/partials/icon.html index 1c78d99ef1..b09d1634e7 100644 --- a/layouts/partials/icon.html +++ b/layouts/partials/icon.html @@ -1,8 +1,8 @@ {{- $svg := resources.Get (fmt.Printf "icons/%s-fill.svg" .) }} {{- if not $svg }} - {{- errorf "Failed to get icon: %s" . }} + {{- errorf "Failed to get icon: %v\n\n" . }} {{ end }} {{- if not $svg.Content }} - {{- errorf "Failed to get icon: %s" . }} + {{- errorf "Failed to get icon: %v\n\n" . }} {{- end }} {{- safe.HTML $svg.Content -}} diff --git a/layouts/partials/languages.html b/layouts/partials/languages.html new file mode 100644 index 0000000000..8f3f5bef30 --- /dev/null +++ b/layouts/partials/languages.html @@ -0,0 +1,21 @@ +{{- /* + List of languages (taxonomy) chips with images + Context: page.Pages + */ +-}} +{{- range . -}} + {{- if eq .File nil }} + {{- errorf "[languages] Undefined language: '%s' in %s" (urlize (strings.ToLower .Title)) page.File.Filename }} + {{- end }} + {{- if not .Page.Params.icon }} + {{- errorf "[languages] language is missing an icon: '%s' in %s" (urlize (strings.ToLower .Title)) page.File.Filename }} + {{- end }} + + + {{ .Page.LinkTitle }} + +{{- end -}} + diff --git a/layouts/partials/pagemeta.html b/layouts/partials/pagemeta.html index 9e2e56546b..f799522409 100644 --- a/layouts/partials/pagemeta.html +++ b/layouts/partials/pagemeta.html @@ -2,24 +2,13 @@ {{- with .Fragments }} {{- $toc = and (ne page.Params.notoc true) .Headings }} {{- end }} -{{- $tags := .GetTerms "tags" }} -{{- if or $toc $tags }} +{{- with $toc }}
- {{- with $tags }} -
- Tags -
- {{- partial "tags.html" . -}} -
-
- {{- end }} - {{- with $toc }} -
{{ T "tableOfContents" }}
- - {{- end }} +
{{ T "tableOfContents" }}
+
{{- end }} diff --git a/layouts/partials/sidebar/guides.html b/layouts/partials/sidebar/guides.html index 1fa3f19e5e..18a40510f1 100644 --- a/layouts/partials/sidebar/guides.html +++ b/layouts/partials/sidebar/guides.html @@ -9,18 +9,15 @@ {{ $root.Title }}
{{ $root.Summary }}
-
- {{- with ($root.GetTerms "levels") }} -
- {{ partialCached "icon" "school" "school" }} - - {{- range $i, $e := . -}} - {{- if $i -}},{{ end -}} - {{- .Page.Title -}} - {{- end -}} - -
- {{- end -}} +
+
+ {{- with ($root.GetTerms "languages") }} + {{ partial "languages.html" . }} + {{- end }} + {{- with ($root.GetTerms "tags") }} + {{ partial "tags.html" . }} + {{- end }} +
{{- with ($root.Params.time) }}
- - {{- $curr := page }} + + {{- $curr := .FirstSection }} + {{- if eq $curr site.Home }} + {{- $curr = . }} + {{- end }} {{- range site.Menus.main }} - {{- if .Page.IsAncestor page }} + {{- if or (.Page.IsAncestor page) (eq .Page page) }} {{- $curr = .Page }} {{- end }} {{- end }} diff --git a/layouts/partials/sidebar/tags.html b/layouts/partials/sidebar/tags.html index cb2eec7422..e4a8ae9c1c 100644 --- a/layouts/partials/sidebar/tags.html +++ b/layouts/partials/sidebar/tags.html @@ -1,11 +1,10 @@ -
    +
      {{- range site.Taxonomies.tags }}
    • - {{- partialCached "icon.html" .Page.Params.icon .Page.Params.icon -}} {{ .Page.LinkTitle }}
    • diff --git a/layouts/partials/tags.html b/layouts/partials/tags.html index 9846805e05..63eece3939 100644 --- a/layouts/partials/tags.html +++ b/layouts/partials/tags.html @@ -1,13 +1,20 @@ {{- /* List of tag "chips" as links Context: page.Pages - */ -}} + */ +-}} {{- range . -}} -{{- if eq .File nil }} - {{- errorf "[tags] Undefined tag: '%s' in %s" (urlize (strings.ToLower .Title)) page.File.Filename }} -{{- end }} - -
      {{ partialCached "icon" .Params.icon .Params.icon }}
      -
      {{ .LinkTitle }}
      + {{- if eq .File nil }} + {{- errorf "[tags] Undefined tag: '%s' in %s" (urlize (strings.ToLower .Title)) page.File.Filename }} + {{- end }} +
      + + {{ partialCached "icon" "tag" "tag" }} + + {{ .LinkTitle }} {{- end -}} diff --git a/layouts/partials/utils/filter-terms.html b/layouts/partials/utils/filter-terms.html deleted file mode 100644 index 9e7b7f98ee..0000000000 --- a/layouts/partials/utils/filter-terms.html +++ /dev/null @@ -1,11 +0,0 @@ -{{- $currentPage := .page }} -{{- $taxonomies := .taxonomies }} -{{- $scratch := collections.NewScratch }} -{{- range $taxo := $taxonomies }} - {{- $terms := slice }} - {{- range ($currentPage.GetTerms $taxo) }} - {{- $terms = $terms | append .Page.Data.Term }} - {{- end }} - {{ $scratch.SetInMap "filters" $taxo $terms }} -{{- end }} -{{- return ($scratch.Get "filters") }} diff --git a/layouts/tag/taxonomy.html b/layouts/tag/taxonomy.html index f0eafa8014..aa642acf7a 100644 --- a/layouts/tag/taxonomy.html +++ b/layouts/tag/taxonomy.html @@ -6,19 +6,18 @@ {{ define "main" }}
      {{ partial "breadcrumbs.html" . }} -

      {{ .Title }}

      +

      + {{ partialCached "icon" "tag" "tag" }} + {{ .Title }} +

      {{ .Content }} -
      +
        {{ range site.Taxonomies.tags }} - {{ partial "components/card.html" - (dict - "link" .Page.Permalink - "title" .Page.Title - "description" .Page.Description - "icon" .Page.Params.icon - ) - }} +
      • + {{ .Page.Title }} + ({{ (len .Pages) }} {{ cond (gt (len .Pages) 1) "pages" "page" }}) +
      • {{ end }} -
      +
{{ end }} diff --git a/layouts/tag/term.html b/layouts/tag/term.html index 001e2d7ed0..0f46121ace 100644 --- a/layouts/tag/term.html +++ b/layouts/tag/term.html @@ -1,44 +1,25 @@ {{ define "left" }} + {{ partial "sidebar/mainnav.html" . }} {{ partial "sidebar/tags.html" . }} {{ end }} {{ define "main" }}
{{ partial "breadcrumbs.html" . }} -

- {{ partialCached "icon" .Params.icon .Params.icon }} +

+ {{ partialCached "icon" "tag" "tag" }} {{ .Title }}

{{ .Content }} -
- Pages with this tag: - {{ partial "pagination.html" . }} -
- - - - - - - - - {{ range .Paginator.Pages }} - - - - - {{ end }} - -
TitleSection
- - {{ .Title }} - - - - {{- range .Ancestors.Reverse }} - {{ .Title }} / - {{- end }} - -
+ {{- range .Pages.GroupBy "Type" }} +

{{ (site.GetPage .Key).LinkTitle }}

+ + {{- end }}
{{ end }}