//exp-slidev-monorepobyshinGangan

exp-slidev-monorepo

Manage multiple slides (used slidev) using pnpm workspace and deploy to Cloudflare Pages.

1
1
1
2
Vue

manage multiple slidev in pnpm workspace

Article
License

ESLint
Textlint
Prettier

About

Manage multiple slides (used slidev) using pnpm workspace and deploy to Cloudflare Pages.

Draft: Article

Look at this article.

Draft: Slides

スライド名 概要
スライド1 これはテストです
スライド2 This is test page

Architecture

必要に応じて共通コンポーネント/レイアウト/アセットをimportする

%%{init:{'theme':'forest'}}%%
graph LR
  classDef pg fill:#faae40,color:#404041
  classDef common fill:skyblue

  subgraph Cloudflare
    pg1(Pages1):::pg
    pg2(Pages2):::pg
    pg3(pages3):::pg
    pg4(...and more):::pg
  end
  style Cloudflare fill:#f38020

  subgraph ws[pnpm workspace]
    c_c[共通Components]:::common
    c_l[共通Layouts]:::common
    c_a[共通Assets]:::common

    sl1(スライド1)
    sl2(スライド2)
    sl3(スライド3)
    sl4(...and more)
  end

  c_c ..->|import| sl1
  c_l ..->|import| sl1
  c_c ..->|import| sl2
  c_l ..->|import| sl2
  c_c ..->|import| sl3
  c_l ..->|import| sl3
  c_a ..->|import| sl3

  sl1 -->|Deploy from GitHub Actions| pg1
  sl2 -->|Deploy from GitHub Actions| pg2
  sl3 -->|Deploy from GitHub Actions| pg3

Usage

targetは任意です。
本サンプルではtarget = slide1 or target = slide2となります。

Build

slide=target pnpm build

Development

show http://localhost:3000 .

slide=target pnpm dev

Export to PDF

slide=target pnpm export

Deploy to Cloudflare Pages

slide=target pnpm deploy:pages

Linter

ESLint

pnpm lint:eslint
# using --fix
pnpm lint:eslint:fix

Textlint

pnpm lint:text
# using --fix
pnpm lint:text:fix

LICENSE

This repository is licensed under the MIT License.

Author

[beta]v0.14.0