Example: Use Claude Desktop as a client (#example-use-claude-desktop-as-a-client)

Claude
Template Prompt
Intermediate

Prompt

</extract>
<source>https://docs.docker.com/contribute/components/code-blocks/</source>
<extract>
# Code blocks

Rouge provides lots of different code block "hints". If you leave off the hint, it tries to guess and sometimes gets it wrong. These are just a few hints that we use often.

## [Variables](#variables)

If your example contains a placeholder value that's subject to change, use the format `<[A-Z_]+>` for the placeholder value: `<MY_VARIABLE>`

export name=<MY_NAME>

This syntax is reserved for variable names, and will cause the variable to be rendered in a special color and font style.

## [Highlight lines](#highlight-lines)

incoming := map[string]interface{}{"asdf": 1,"qwer": []interface{}{},"zxcv": []interface{}{map[string]interface{}{},true,int(1e9),"tyui",},}

incoming := map[string]interface{}{
    "asdf": 1,
    "qwer": []interface{}{},
    "zxcv": []interface{}{
        map[string]interface{}{},
        true,
        int(1e9),
        "tyui",
    },
}

## [Collapsible code blocks](#collapsible-code-blocks)

Show more

# syntax=docker/dockerfile:1

ARG GO_VERSION="1.21"

FROM golang:${GO_VERSION}-alpine AS base
ENV CGO_ENABLED=0
ENV GOPRIVATE="github.com/foo/*"
RUN apk add --no-cache file git rsync openssh-client
RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan github.com >> ~/.ssh/known_hosts
WORKDIR /src

FROM base AS vendor

# this step configure git and checks the ssh key is loaded

RUN --mount=type=ssh <<EOT
set -e
echo "Setting Git SSH protocol"
git config --global url."git@github.com:".insteadOf "https://github.com/"
(set +e
ssh -T git@github.com
if [ ! "$?" = "1" ]; then
echo "No GitHub SSH key loaded exiting..."
exit 1
fi
)
EOT

# this one download go modules

RUN --mount=type=bind,target=. --mount=type=cache,target=/go/pkg/mod --mount=type=ssh go mod download -x

FROM vendor AS build
RUN --mount=type=bind,target=. --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache go build ...

Hide

## [Bash](#bash)

Use the `bash` language code block when you want to show a Bash script:

#!/usr/bin/bashecho "deb https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list

If you want to show an interactive shell, use `console` instead. In cases where you use `console`, make sure to add a dollar character for the user sign:

$ echo "deb https://download.docker.com/linux/ubuntu noble stable" | sudo tee /etc/apt/sources.list.d/docker.list

## [Go](#go)

incoming := map[string]interface{}{"asdf": 1,"qwer": []interface{}{},"zxcv": []interface{}{map[string]interface{}{},true,int(1e9),"tyui",},}

## [PowerShell](#powershell)

Install-Module DockerMsftProvider -Force
Install-Package Docker -ProviderName DockerMsftProvider -Force
[System.Environment]::SetEnvironmentVariable("DOCKER_FIPS", "1", "Machine")
Expand-Archive docker-18.09.1.zip -DestinationPath $Env:ProgramFiles -Force

## [Python](#python)

return html.format(name=os.getenv('NAME', "world"), hostname=socket.gethostname(), visits=visits)

## [Ruby](#ruby)

docker_service 'default' do
action [:create, :start]
end

## [JSON](#json)

"server": {
"http_addr": ":4443",
"tls_key_file": "./fixtures/notary-server.key",
"tls_cert_file": "./fixtures/notary-server.crt"
}

#### [HTML](#html)

## Markdown (#markdown)

# Hello

If you want to include a triple-fenced code block inside your code block, you can wrap your block in a quadruple-fenced code block: