Dockerfile: clone patched emdash from gitea instead of using npm
Patches visual editor image upload fix from: https://git.moreminimore.com/kunthawat/emdash-patch-imageupload.git
This commit is contained in:
221
.omc/project-memory.json
Normal file
221
.omc/project-memory.json
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
{
|
||||||
|
"version": "1.0.0",
|
||||||
|
"lastScanned": 1777640305622,
|
||||||
|
"projectRoot": "/Users/kunthawatgreethong/Gitea/claude-skill/skills/emdash-blog-template",
|
||||||
|
"techStack": {
|
||||||
|
"languages": [
|
||||||
|
{
|
||||||
|
"name": "JavaScript/TypeScript",
|
||||||
|
"version": null,
|
||||||
|
"confidence": "high",
|
||||||
|
"markers": [
|
||||||
|
"package.json"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "TypeScript",
|
||||||
|
"version": null,
|
||||||
|
"confidence": "high",
|
||||||
|
"markers": [
|
||||||
|
"tsconfig.json"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"frameworks": [
|
||||||
|
{
|
||||||
|
"name": "astro",
|
||||||
|
"version": "6.0.1",
|
||||||
|
"category": "fullstack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "react",
|
||||||
|
"version": "19.2.4",
|
||||||
|
"category": "frontend"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "react-dom",
|
||||||
|
"version": "19.2.4",
|
||||||
|
"category": "frontend"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packageManager": "npm",
|
||||||
|
"runtime": null
|
||||||
|
},
|
||||||
|
"build": {
|
||||||
|
"buildCommand": "npm run build",
|
||||||
|
"testCommand": null,
|
||||||
|
"lintCommand": null,
|
||||||
|
"devCommand": "npm run dev",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "astro dev",
|
||||||
|
"build": "astro build",
|
||||||
|
"preview": "astro preview",
|
||||||
|
"start": "node ./dist/server/entry.mjs",
|
||||||
|
"bootstrap": "emdash init && emdash seed",
|
||||||
|
"seed": "emdash seed",
|
||||||
|
"typecheck": "astro check"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"conventions": {
|
||||||
|
"namingStyle": null,
|
||||||
|
"importStyle": null,
|
||||||
|
"testPattern": null,
|
||||||
|
"fileOrganization": "type-based"
|
||||||
|
},
|
||||||
|
"structure": {
|
||||||
|
"isMonorepo": false,
|
||||||
|
"workspaces": [],
|
||||||
|
"mainDirectories": [
|
||||||
|
"src"
|
||||||
|
],
|
||||||
|
"gitBranches": {
|
||||||
|
"defaultBranch": "main",
|
||||||
|
"branchingStrategy": null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"customNotes": [],
|
||||||
|
"directoryMap": {
|
||||||
|
"seed": {
|
||||||
|
"path": "seed",
|
||||||
|
"purpose": null,
|
||||||
|
"fileCount": 1,
|
||||||
|
"lastAccessed": 1777640305607,
|
||||||
|
"keyFiles": [
|
||||||
|
"seed.json"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src": {
|
||||||
|
"path": "src",
|
||||||
|
"purpose": "Source code",
|
||||||
|
"fileCount": 1,
|
||||||
|
"lastAccessed": 1777640305607,
|
||||||
|
"keyFiles": [
|
||||||
|
"live.config.ts"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src/components": {
|
||||||
|
"path": "src/components",
|
||||||
|
"purpose": "UI components",
|
||||||
|
"fileCount": 2,
|
||||||
|
"lastAccessed": 1777640305610,
|
||||||
|
"keyFiles": [
|
||||||
|
"PostCard.astro",
|
||||||
|
"TagList.astro"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src/pages": {
|
||||||
|
"path": "src/pages",
|
||||||
|
"purpose": "Page components",
|
||||||
|
"fileCount": 4,
|
||||||
|
"lastAccessed": 1777640305610,
|
||||||
|
"keyFiles": [
|
||||||
|
"404.astro",
|
||||||
|
"index.astro",
|
||||||
|
"rss.xml.ts"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"src/utils": {
|
||||||
|
"path": "src/utils",
|
||||||
|
"purpose": "Utility functions",
|
||||||
|
"fileCount": 2,
|
||||||
|
"lastAccessed": 1777640305610,
|
||||||
|
"keyFiles": [
|
||||||
|
"reading-time.ts",
|
||||||
|
"site-identity.ts"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hotPaths": [
|
||||||
|
{
|
||||||
|
"path": "seed/seed.json",
|
||||||
|
"accessCount": 8,
|
||||||
|
"lastAccessed": 1777683904617,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "astro.config.mjs",
|
||||||
|
"accessCount": 8,
|
||||||
|
"lastAccessed": 1777714222410,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Dockerfile",
|
||||||
|
"accessCount": 6,
|
||||||
|
"lastAccessed": 1777780326438,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/pages/posts/index.astro",
|
||||||
|
"accessCount": 4,
|
||||||
|
"lastAccessed": 1777693598936,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/pages/index.astro",
|
||||||
|
"accessCount": 3,
|
||||||
|
"lastAccessed": 1777683879925,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "entrypoint.sh",
|
||||||
|
"accessCount": 3,
|
||||||
|
"lastAccessed": 1777692330960,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/pages/posts/[slug].astro",
|
||||||
|
"accessCount": 3,
|
||||||
|
"lastAccessed": 1777693572864,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/live.config.ts",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777640453735,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/components/PostCard.astro",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777640624795,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "package.json",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777640708986,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/layouts/Base.astro",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777687624083,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777691990220,
|
||||||
|
"type": "directory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777693607281,
|
||||||
|
"type": "directory"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": ".env.example",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777714183677,
|
||||||
|
"type": "file"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "src/lib/db.ts",
|
||||||
|
"accessCount": 1,
|
||||||
|
"lastAccessed": 1777714208103,
|
||||||
|
"type": "file"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"userDirectives": []
|
||||||
|
}
|
||||||
8
.omc/sessions/33698839-2ad1-4412-9735-43676f5e6beb.json
Normal file
8
.omc/sessions/33698839-2ad1-4412-9735-43676f5e6beb.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"session_id": "33698839-2ad1-4412-9735-43676f5e6beb",
|
||||||
|
"ended_at": "2026-05-02T12:44:04.134Z",
|
||||||
|
"reason": "other",
|
||||||
|
"agents_spawned": 0,
|
||||||
|
"agents_completed": 0,
|
||||||
|
"modes_used": []
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-01T12:57:42.459Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-02T02:49:03.240Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-02T03:12:36.942Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-02T03:18:55.713Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-02T03:24:24.819Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-02T03:47:02.117Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"created_at": "2026-05-02T09:30:22.643Z",
|
||||||
|
"trigger": "auto",
|
||||||
|
"active_modes": {},
|
||||||
|
"todo_summary": {
|
||||||
|
"pending": 0,
|
||||||
|
"in_progress": 0,
|
||||||
|
"completed": 0
|
||||||
|
},
|
||||||
|
"wisdom_exported": false,
|
||||||
|
"background_jobs": {
|
||||||
|
"active": [],
|
||||||
|
"recent": [],
|
||||||
|
"stats": null
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,12 @@
|
|||||||
FROM node:22-alpine AS deps
|
FROM node:22-alpine AS deps
|
||||||
|
|
||||||
RUN apk add --no-cache python3 make g++ sqlite
|
RUN apk add --no-cache python3 make g++ sqlite git
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Clone patched emdash source
|
||||||
|
RUN git clone --depth=1 https://git.moreminimore.com/kunthawat/emdash-patch-imageupload.git emdash-patch
|
||||||
|
|
||||||
COPY package.json pnpm-lock.yaml* ./
|
COPY package.json pnpm-lock.yaml* ./
|
||||||
RUN corepack enable && corepack prepare pnpm@9.0.0 --activate
|
RUN corepack enable && corepack prepare pnpm@9.0.0 --activate
|
||||||
RUN pnpm install
|
RUN pnpm install
|
||||||
@@ -12,6 +15,9 @@ FROM deps AS builder
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy patched emdash into node_modules
|
||||||
|
COPY --from=deps /app/emdash-patch /app/node_modules/emdash
|
||||||
|
|
||||||
COPY --from=deps /app/node_modules ./node_modules
|
COPY --from=deps /app/node_modules ./node_modules
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user