@berlysia/vertical-writing-slide-system 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@berlysia/vertical-writing-slide-system",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "vertical-slides": "./cli.js"
@@ -15,20 +15,6 @@
15
15
  "src",
16
16
  "index.html"
17
17
  ],
18
- "scripts": {
19
- "dev": "vite",
20
- "build": "tsc -b && vite build",
21
- "build:cli": "tsc --project tsconfig.cli.json",
22
- "preversion": "pnpm build:cli",
23
- "lint": "eslint .",
24
- "preview": "vite preview",
25
- "build:pages": "node scripts/build-pages.ts",
26
- "test:vrt": "playwright test",
27
- "test:vrt:clear": "rm -rf tests/__snapshots__",
28
- "test:vrt:update": "playwright test --update-snapshots",
29
- "ai:test:vrt": "AI=1 playwright test",
30
- "ai:test:vrt:update": "AI=1 playwright test --update-snapshots"
31
- },
32
18
  "dependencies": {
33
19
  "@emotion/react": "^11.14.0",
34
20
  "@mdx-js/mdx": "^3.1.0",
@@ -69,5 +55,19 @@
69
55
  "typescript": "~5.8.2",
70
56
  "typescript-eslint": "^8.26.0",
71
57
  "unist-util-visit": "^5.0.0"
58
+ },
59
+ "scripts": {
60
+ "dev": "vite",
61
+ "build": "tsc -b && vite build",
62
+ "build:cli": "tsc --project tsconfig.cli.json",
63
+ "preversion": "pnpm build:cli",
64
+ "lint": "eslint .",
65
+ "preview": "vite preview",
66
+ "build:pages": "node scripts/build-pages.ts",
67
+ "test:vrt": "playwright test",
68
+ "test:vrt:clear": "rm -rf tests/__snapshots__",
69
+ "test:vrt:update": "playwright test --update-snapshots",
70
+ "ai:test:vrt": "AI=1 playwright test",
71
+ "ai:test:vrt:update": "AI=1 playwright test --update-snapshots"
72
72
  }
73
- }
73
+ }
@@ -10,6 +10,8 @@ export interface SlideMetadata {
10
10
  author?: string;
11
11
  /** 作成日時 */
12
12
  date?: string;
13
+ /** スライドの公開URL(OGP画像のフルURL生成に使用) */
14
+ url?: string;
13
15
  /** OGP画像のパス(ogp.pngが存在する場合に自動設定) */
14
16
  ogImage?: string;
15
17
  /** その他のカスタムフィールド */
@@ -349,9 +349,18 @@ export default async function slidesPlugin(
349
349
  const slideContent = parsedFile.content;
350
350
 
351
351
  // OGP画像を検出してメタデータに設定
352
+ // baseがフルURL(http/https)の場合はフルURLを生成、そうでなければ相対パス
352
353
  const ogpImageFile = checkOgpImage(config.slidesDir, config.collection);
353
354
  if (ogpImageFile) {
354
- slideMetadata.ogImage = `${base}slide-assets/${ogpImageFile}`;
355
+ const ogpPath = `slide-assets/${ogpImageFile}`;
356
+ if (base.startsWith("http://") || base.startsWith("https://")) {
357
+ // フルURLの場合: baseの末尾スラッシュを正規化し、collection名を含めて結合
358
+ const normalizedBase = base.endsWith("/") ? base : `${base}/`;
359
+ slideMetadata.ogImage = `${normalizedBase}${config.collection}/${ogpPath}`;
360
+ } else {
361
+ // 相対パスの場合: そのまま相対パスを設定
362
+ slideMetadata.ogImage = `${base}${ogpPath}`;
363
+ }
355
364
  }
356
365
 
357
366
  logger.info(`Slide metadata: ${JSON.stringify(slideMetadata)}`);
package/vite.config.ts CHANGED
@@ -6,7 +6,7 @@ import slidesPlugin from "./src/vite-plugin-slides";
6
6
 
7
7
  export default defineConfig(async () => {
8
8
  return {
9
- base: "./",
9
+ base: process.env.BASE_URL || "./",
10
10
  resolve: {
11
11
  alias: {
12
12
  "@components": path.resolve(