mirror of https://github.com/docker/docs.git
hugo: use hugo buildStats to extract css
Improves build time compared to using tailwind content globs Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
This commit is contained in:
parent
e2c65234aa
commit
88975c2e57
|
@ -2,7 +2,6 @@
|
|||
**/desktop.ini
|
||||
.vscode
|
||||
node_modules
|
||||
hugo_stats.json
|
||||
.hugo_build.lock
|
||||
resources
|
||||
public
|
||||
|
|
11
Dockerfile
11
Dockerfile
|
@ -34,6 +34,17 @@ RUN hugo --gc --minify -d /out -e $HUGO_ENV -b $DOCS_URL
|
|||
FROM scratch as release
|
||||
COPY --from=build /out /
|
||||
|
||||
FROM scratch as update-stats
|
||||
COPY --from=build /src/hugo_stats.json /hugo_stats.json
|
||||
|
||||
FROM build as validate-stats
|
||||
RUN <<EOF
|
||||
if [ -n "$(git status --porcelain -- hugo_stats.json)" ]; then
|
||||
echo >&2 'ERROR: hugo_stats.json differs. Update with `docker buildx bake update-stats`'
|
||||
exit 1
|
||||
fi
|
||||
EOF
|
||||
|
||||
FROM davidanson/markdownlint-cli2:v0.12.1 as lint
|
||||
USER root
|
||||
RUN --mount=type=bind,target=. \
|
||||
|
|
|
@ -27,7 +27,7 @@ target "release" {
|
|||
}
|
||||
|
||||
group "validate" {
|
||||
targets = ["lint", "test"]
|
||||
targets = ["lint", "test", "validate-stats"]
|
||||
}
|
||||
|
||||
target "test" {
|
||||
|
@ -168,3 +168,13 @@ target "validate-upstream" {
|
|||
target = "validate-upstream"
|
||||
output = ["type=cacheonly"]
|
||||
}
|
||||
|
||||
target "update-stats" {
|
||||
target = "update-stats"
|
||||
output = ["."]
|
||||
}
|
||||
|
||||
target "validate-stats" {
|
||||
target = "validate-stats"
|
||||
output = ["type=cacheonly"]
|
||||
}
|
||||
|
|
|
@ -39,6 +39,8 @@ related:
|
|||
build:
|
||||
buildStats:
|
||||
enable: true
|
||||
disableIDs: true
|
||||
disableTags: true
|
||||
cachebusters:
|
||||
- source: assets/watching/hugo_stats\.json
|
||||
target: styles\.css
|
||||
|
|
|
@ -0,0 +1,394 @@
|
|||
{
|
||||
"htmlElements": {
|
||||
"tags": null,
|
||||
"classes": [
|
||||
"!mt-0",
|
||||
"--mount",
|
||||
"--tmpfs",
|
||||
"-top-16",
|
||||
"-v",
|
||||
"-z-10",
|
||||
".NET",
|
||||
"Admin-Console",
|
||||
"After",
|
||||
"Angular",
|
||||
"Arch",
|
||||
"Arch-Linux",
|
||||
"Azure-DevOps",
|
||||
"Bake",
|
||||
"Bash",
|
||||
"Before",
|
||||
"Buildkite",
|
||||
"CLI",
|
||||
"CLI-Mac-/-Linux",
|
||||
"CLI-Windows",
|
||||
"CentOS-7-and-RHEL-7",
|
||||
"CentOS-8-RHEL-8-and-Fedora",
|
||||
"Circle-CI",
|
||||
"Clone-with-git",
|
||||
"Compliant",
|
||||
"Debian",
|
||||
"Debian-GNU/Linux",
|
||||
"DocSearch-content",
|
||||
"Docker-Compose",
|
||||
"Docker-Desktop",
|
||||
"Docker-Engine",
|
||||
"Docker-Hub",
|
||||
"Download",
|
||||
"Fedora",
|
||||
"For-Mac-and-Linux",
|
||||
"For-Mac-with-Apple-silicon",
|
||||
"For-Mac-with-Intel-chip",
|
||||
"For-all-platforms",
|
||||
"GitHub-Actions",
|
||||
"GitLab",
|
||||
"Go",
|
||||
"HCL",
|
||||
"HTTP",
|
||||
"Heredocs",
|
||||
"Hyper-V-backend-and-Windows-containers",
|
||||
"Inline",
|
||||
"Install-from-the-command-line",
|
||||
"Install-interactively",
|
||||
"JSON",
|
||||
"Java",
|
||||
"JavaScript",
|
||||
"Jenkins",
|
||||
"Latest",
|
||||
"Linux",
|
||||
"Mac",
|
||||
"Mac-/-Linux",
|
||||
"Mac-/-Linux-/-Windows-Git-Bash",
|
||||
"Mac-and-Linux",
|
||||
"Mac-with-Apple-silicon",
|
||||
"Mac-with-Intel-chip",
|
||||
"Node",
|
||||
"Non-compliant",
|
||||
"PowerShell",
|
||||
"Python",
|
||||
"Raw",
|
||||
"React",
|
||||
"Remote-file",
|
||||
"Run-Ollama-in-a-container",
|
||||
"Run-Ollama-outside-of-a-container",
|
||||
"Shell",
|
||||
"Specific-version",
|
||||
"Svelte",
|
||||
"Ubuntu",
|
||||
"Unix-pipe",
|
||||
"Use-OpenAI",
|
||||
"Version-4.15-4.17",
|
||||
"Version-4.17-and-earlier",
|
||||
"Version-4.18-and-later",
|
||||
"Versions-prior-to-4.15",
|
||||
"Vue",
|
||||
"WSL-2-backend",
|
||||
"What-administrative-tasks-can-I-perform-in-Docker-Hub",
|
||||
"What-are-the-key-features-of-Docker-Desktop",
|
||||
"What-key-features-are-included-in-Docker-Hub",
|
||||
"Whats-included-in-Docker-Desktop",
|
||||
"Windows",
|
||||
"Windows-Command-Prompt",
|
||||
"Windows-Git-Bash",
|
||||
"Windows-PowerShell",
|
||||
"Windows-run-as-admin",
|
||||
"With-packages-RPM/DEB",
|
||||
"With-systemd-Highly-recommended",
|
||||
"Without-packages",
|
||||
"Without-systemd",
|
||||
"absolute",
|
||||
"aspect-video",
|
||||
"auto-rows-fr",
|
||||
"bake-action",
|
||||
"basis-1/3",
|
||||
"basis-2/3",
|
||||
"bg-accent-light",
|
||||
"bg-amber-light",
|
||||
"bg-amber-light-200",
|
||||
"bg-background-light",
|
||||
"bg-black/70",
|
||||
"bg-blue-light",
|
||||
"bg-blue-light-500",
|
||||
"bg-gradient-to-br",
|
||||
"bg-gradient-to-r",
|
||||
"bg-gray-light-100",
|
||||
"bg-gray-light-200",
|
||||
"bg-gray-light-200/50",
|
||||
"bg-green-light",
|
||||
"bg-pattern-blue",
|
||||
"bg-pattern-purple",
|
||||
"bg-pattern-verde",
|
||||
"bg-red-light",
|
||||
"bg-violet-light",
|
||||
"bg-white",
|
||||
"block",
|
||||
"border",
|
||||
"border-0",
|
||||
"border-b-4",
|
||||
"border-blue-light-500",
|
||||
"border-divider-light",
|
||||
"border-gray-light-100",
|
||||
"border-gray-light-200",
|
||||
"bottom-0",
|
||||
"box-content",
|
||||
"build-push-action",
|
||||
"chroma",
|
||||
"cls-1",
|
||||
"cursor-pointer",
|
||||
"dark:bg-accent-dark",
|
||||
"dark:bg-amber-dark",
|
||||
"dark:bg-amber-dark-200",
|
||||
"dark:bg-background-dark",
|
||||
"dark:bg-blue-dark",
|
||||
"dark:bg-blue-dark-400",
|
||||
"dark:bg-gray-dark-100",
|
||||
"dark:bg-gray-dark-200",
|
||||
"dark:bg-gray-dark-300/50",
|
||||
"dark:bg-gray-dark-400",
|
||||
"dark:bg-green-dark",
|
||||
"dark:bg-red-dark",
|
||||
"dark:bg-violet-dark",
|
||||
"dark:block",
|
||||
"dark:border-b-blue-dark-600",
|
||||
"dark:border-divider-dark",
|
||||
"dark:border-gray-dark-200",
|
||||
"dark:border-gray-dark-400",
|
||||
"dark:decoration-blue-dark",
|
||||
"dark:fill-blue-dark",
|
||||
"dark:from-accent-dark",
|
||||
"dark:from-blue-dark-400",
|
||||
"dark:hidden",
|
||||
"dark:hover:bg-blue-dark",
|
||||
"dark:hover:bg-blue-dark-500",
|
||||
"dark:hover:bg-gray-dark-500",
|
||||
"dark:prose-invert",
|
||||
"dark:syntax-dark",
|
||||
"dark:text-blue-dark",
|
||||
"dark:text-divider-dark",
|
||||
"dark:text-gray-dark",
|
||||
"dark:text-gray-dark-500",
|
||||
"dark:text-gray-dark-600",
|
||||
"dark:text-gray-dark-700",
|
||||
"dark:text-violet-dark",
|
||||
"dark:text-white",
|
||||
"dark:to-blue-dark-100",
|
||||
"dark:to-magenta-dark-400",
|
||||
"decoration-2",
|
||||
"decoration-blue-light",
|
||||
"drop-shadow",
|
||||
"drop-shadow-sm",
|
||||
"duration-300",
|
||||
"experimental",
|
||||
"fill-blue-light",
|
||||
"fixed",
|
||||
"flex",
|
||||
"flex-1",
|
||||
"flex-col",
|
||||
"flex-initial",
|
||||
"flex-row-reverse",
|
||||
"font-medium",
|
||||
"footnote-backref",
|
||||
"footnote-ref",
|
||||
"footnotes",
|
||||
"from-accent-light",
|
||||
"from-blue-light-400",
|
||||
"gap-10",
|
||||
"gap-12",
|
||||
"gap-2",
|
||||
"gap-20",
|
||||
"gap-3",
|
||||
"gap-4",
|
||||
"gap-6",
|
||||
"gap-8",
|
||||
"grid",
|
||||
"grid-cols-2",
|
||||
"grid-cols-3",
|
||||
"grid-cols-4",
|
||||
"group",
|
||||
"group-hover:block'",
|
||||
"grow",
|
||||
"h-16",
|
||||
"h-2",
|
||||
"h-8",
|
||||
"h-[334px]",
|
||||
"h-full",
|
||||
"h-max",
|
||||
"h-screen",
|
||||
"hidden",
|
||||
"hidden'",
|
||||
"highlight",
|
||||
"hover:bg-blue-light-400",
|
||||
"hover:bg-gray-light-100",
|
||||
"hover:border-gray-light-200",
|
||||
"hover:dark:border-gray-dark",
|
||||
"hover:drop-shadow-lg",
|
||||
"hover:opacity-75",
|
||||
"hover:opacity-90",
|
||||
"hover:underline",
|
||||
"hub-api",
|
||||
"icon-sm",
|
||||
"icon-svg",
|
||||
"important",
|
||||
"inline",
|
||||
"inset-0",
|
||||
"invertible",
|
||||
"italic",
|
||||
"items-center",
|
||||
"items-start",
|
||||
"items-stretch",
|
||||
"justify-between",
|
||||
"justify-center",
|
||||
"justify-evenly",
|
||||
"justify-self-end",
|
||||
"leading-snug",
|
||||
"left-0",
|
||||
"lg:grid-cols-2",
|
||||
"lg:grow-0",
|
||||
"lg:hidden",
|
||||
"lg:px-4",
|
||||
"lg:w-full",
|
||||
"link",
|
||||
"m-auto",
|
||||
"max-h-full",
|
||||
"max-w-56",
|
||||
"max-w-[1400px]",
|
||||
"max-w-[66%]",
|
||||
"max-w-full",
|
||||
"max-w-none",
|
||||
"mb-4",
|
||||
"mb-8",
|
||||
"md:block",
|
||||
"md:fixed",
|
||||
"md:flex",
|
||||
"md:gap-2",
|
||||
"md:grid-cols-1",
|
||||
"md:h-screen",
|
||||
"md:hidden",
|
||||
"md:ml-[21px]",
|
||||
"md:scale-50",
|
||||
"md:w-full",
|
||||
"md:w-lvw",
|
||||
"md:w-screen",
|
||||
"md:z-10",
|
||||
"min-h-screen",
|
||||
"min-w-0",
|
||||
"ml-3",
|
||||
"ml-auto",
|
||||
"mt-1",
|
||||
"mt-20",
|
||||
"mx-auto",
|
||||
"my-0",
|
||||
"my-4",
|
||||
"no-underline",
|
||||
"no-wrap",
|
||||
"not-prose",
|
||||
"object-cover",
|
||||
"openSUSE-and-SLES",
|
||||
"origin-bottom-right",
|
||||
"overflow-clip",
|
||||
"overflow-hidden",
|
||||
"overflow-x-hidden",
|
||||
"overflow-y-scroll",
|
||||
"p-1",
|
||||
"p-2",
|
||||
"p-4",
|
||||
"p-6",
|
||||
"p-8",
|
||||
"p-[2px]",
|
||||
"pb-2",
|
||||
"pl-1",
|
||||
"pl-2",
|
||||
"pl-3",
|
||||
"pl-4",
|
||||
"pl-5",
|
||||
"place-items-center",
|
||||
"prose",
|
||||
"pt-0",
|
||||
"px-1",
|
||||
"px-2",
|
||||
"px-4",
|
||||
"py-1",
|
||||
"py-2",
|
||||
"py-20",
|
||||
"py-4",
|
||||
"regular-install",
|
||||
"relative",
|
||||
"restricted",
|
||||
"right-0",
|
||||
"right-3",
|
||||
"right-8",
|
||||
"rootless-mode",
|
||||
"rotate-45",
|
||||
"rounded",
|
||||
"rounded-[6px]",
|
||||
"rounded-full",
|
||||
"rounded-sm",
|
||||
"scroll-mt-20",
|
||||
"scroll-mt-36",
|
||||
"self-center",
|
||||
"shadow",
|
||||
"shrink",
|
||||
"shrink-0",
|
||||
"sidebar-hover",
|
||||
"sm:col-start-2",
|
||||
"sm:flex",
|
||||
"sm:flex-col",
|
||||
"sm:grid-cols-2",
|
||||
"sm:h-auto",
|
||||
"sm:h-full",
|
||||
"sm:hidden",
|
||||
"sm:max-w-full",
|
||||
"sm:py-8",
|
||||
"sm:scale-75",
|
||||
"space-x-2",
|
||||
"space-y-4",
|
||||
"sticky",
|
||||
"svg-icon",
|
||||
"syntax-light",
|
||||
"text-2xl",
|
||||
"text-base",
|
||||
"text-black",
|
||||
"text-blue-light",
|
||||
"text-divider-light",
|
||||
"text-gray-light",
|
||||
"text-gray-light-300",
|
||||
"text-gray-light-500",
|
||||
"text-gray-light-600",
|
||||
"text-gray-light-800",
|
||||
"text-left",
|
||||
"text-lg",
|
||||
"text-sm",
|
||||
"text-violet-light",
|
||||
"text-white",
|
||||
"text-xl",
|
||||
"text-xs",
|
||||
"tip",
|
||||
"to-blue-light-500",
|
||||
"to-magenta-light-400",
|
||||
"top-0",
|
||||
"top-16",
|
||||
"top-3",
|
||||
"top-6",
|
||||
"transition",
|
||||
"truncate",
|
||||
"underline",
|
||||
"underline-offset-2",
|
||||
"underline-offset-8",
|
||||
"w-2",
|
||||
"w-8",
|
||||
"w-[1200px]",
|
||||
"w-[300px]",
|
||||
"w-[32px]",
|
||||
"w-[840px]",
|
||||
"w-full",
|
||||
"warning",
|
||||
"xl:grid-cols-1",
|
||||
"xl:grid-cols-2",
|
||||
"xl:grid-cols-3",
|
||||
"z-10",
|
||||
"z-20",
|
||||
"z-30"
|
||||
],
|
||||
"ids": null
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
<span class="icon-svg">{{ partialCached "icon" "edit" "edit" }}</span>
|
||||
<a class="link" target="_blank" rel="noopener"
|
||||
href="{{ site.Params.repo }}/edit/main/content/{{ .Path }}">{{- T "editPage" -}}
|
||||
<span class="icon-svg icon-xs">
|
||||
<span class="icon-svg icon-sm">
|
||||
{{ partialCached "icon" "open_in_new" "open_in_new" }}
|
||||
</span></a>
|
||||
</p>
|
||||
|
@ -15,7 +15,7 @@
|
|||
<span class="icon-svg">{{ partialCached "icon" "done" "done" }}</span>
|
||||
<a class="link" target="_blank" rel="noopener"
|
||||
href="{{ site.Params.repo }}/issues/new?template=doc_issue.yml&location={{ .Permalink }}&labels=status%2Ftriage">{{- T "requestChanges" -}}
|
||||
<span class="icon-svg icon-xs">
|
||||
<span class="icon-svg icon-sm">
|
||||
{{ partialCached "icon" "open_in_new" "open_in_new" }}
|
||||
</span></a>
|
||||
</a>
|
||||
|
|
|
@ -3,6 +3,6 @@ module.exports = {
|
|||
"postcss-import": {},
|
||||
"tailwindcss/nesting": {},
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
}
|
||||
...(process.env.NODE_ENV === "production" ? { autoprefixer: {} } : {}),
|
||||
},
|
||||
};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
content: ["./hugo_stats.json","./layouts/**/*.{html,js}", "./content/**/*.md", "assets/js/**/*.js"],
|
||||
content: ["./hugo_stats.json", "layouts/**/*.html", "assets/**/*.js"],
|
||||
darkMode: "class",
|
||||
theme: {
|
||||
extend: {
|
||||
|
|
Loading…
Reference in New Issue