Initial Roux Hugo site — fashion journal for roux.pivoine.art
100-post fashion journal generated from ~/projects/ginger content: - Hugo Extended static site with TailwindCSS v4 - WebP image pipeline (thumb/card/og/full sizes via Hugo image processing) - Full SEO: sitemap (501 URLs), OpenGraph with per-post images, Twitter cards - Async page transitions via View Transitions API - Deep-linked URLs: /posts/[slug]/, /categories/[cat]/, /tags/[tag]/, /issues/ - Lightbox with keyboard/swipe nav, thumbnail strip, inverted search index - Issues archive with quarterly release structure - Multi-stage Dockerfile (Tailwind → Hugo → nginx:alpine) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
### Stage 1: Build CSS with Tailwind v4
|
||||
FROM node:20-alpine AS tailwind
|
||||
WORKDIR /build
|
||||
COPY package.json pnpm-lock.yaml* ./
|
||||
RUN npm install -g pnpm && pnpm install --frozen-lockfile
|
||||
COPY assets/css ./assets/css
|
||||
COPY layouts ./layouts
|
||||
RUN pnpm build:css
|
||||
|
||||
### Stage 2: Build site with Hugo Extended
|
||||
FROM hugomods/hugo:exts-0.154.3 AS hugo
|
||||
WORKDIR /site
|
||||
|
||||
# Copy everything EXCEPT node_modules
|
||||
COPY . .
|
||||
COPY --from=tailwind /build/static/css/main.css static/css/main.css
|
||||
# Content images are baked in via the import script; make sure they exist
|
||||
RUN hugo --minify --environment production
|
||||
|
||||
### Stage 3: Serve with nginx
|
||||
FROM nginx:1.27-alpine
|
||||
COPY --from=hugo /site/public /usr/share/nginx/html
|
||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||
EXPOSE 80
|
||||
Reference in New Issue
Block a user