Maki commited on
Commit
ea97156
1 Parent(s): 72677fc

```markdown

Browse files

[feat] SlideNovaの新機能追加

- Markdownからモダンで美しいスライドを簡単に作成できるWebアプリケーション
- Slidevを使用しスライドの生成はDockerコンテナ内で実行
- Streamlitを使用した直感的なユーザーインターフェイス
- Markdownを入力するだけですぐにスライドを作成可能

主な特徴:
- Markdownでスライド作成
- Slidevを使用したモダンなスライドデザイン
- Dockerによる環境構築の簡易化
- Streamlitによる使いやすいWebUI

使い方:
1. Markdownエディタにスライドのコンテンツを入力
2. 「Generate Slides」ボタンをクリック
3. 生成されたスライドが表示される

[docs] ドキュメントの更新

- README.mdにSlideNovaの概要、インストール方法、使い方などを追記
- docs/page_front.mdにSlideNovaのトップページのコンテンツを追加

[chore] 開発環境の改善

- .gitignoreにnode_modulesとslides/outを追加
- docker-compose.ymlのvolumesをslides/ディレクトリのみにマウント
- Dockerfileにスライドのビルドコマンドを追加

```

.gitignore CHANGED
@@ -158,4 +158,6 @@ cython_debug/
158
  # and can be added to the global gitignore or merged into this file. For a more nuclear
159
  # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
  #.idea/
161
- SourceSageAssets
 
 
 
158
  # and can be added to the global gitignore or merged into this file. For a more nuclear
159
  # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160
  #.idea/
161
+ SourceSageAssets
162
+ node_modules
163
+ slides/out
Dockerfile CHANGED
@@ -20,11 +20,13 @@ RUN chown -R user:user /usr/local/lib/node_modules/@slidev/
20
  USER user
21
 
22
  # Slidevのインストール
23
- RUN npm install -D playwright-chromium
24
 
25
- # スライドディレクトリの作成
26
- RUN mkdir slides
27
 
 
 
 
28
 
29
 
30
  USER user
@@ -32,4 +34,5 @@ USER user
32
  RUN pip install streamlit --break-system-packages
33
  ENV PATH="/home/user/.local/bin:${PATH}"
34
 
 
35
  CMD ["python3", "-m", "streamlit", "run", "app.py"]
 
20
  USER user
21
 
22
  # Slidevのインストール
 
23
 
24
+ RUN npm install -D playwright-chromium
25
+ RUN npm install @slidev/theme-seriph
26
 
27
+ COPY --chown=user:user . /app
28
+ RUN yes | npx slidev export slides/demo.md --format png --output slides/out/ --dark
29
+ RUN npm install
30
 
31
 
32
  USER user
 
34
  RUN pip install streamlit --break-system-packages
35
  ENV PATH="/home/user/.local/bin:${PATH}"
36
 
37
+
38
  CMD ["python3", "-m", "streamlit", "run", "app.py"]
README.md CHANGED
@@ -72,7 +72,7 @@ docker-compose up --build
72
  ## Develop command
73
 
74
  ```bash
75
- yes | npx slidev export temp.md --format png --output slides/out/ --dark -t
76
  ```
77
 
78
  ## 📖 ドキュメント
 
72
  ## Develop command
73
 
74
  ```bash
75
+ yes | npx slidev export slides/demo.md --format png --output slides/out/ --dark
76
  ```
77
 
78
  ## 📖 ドキュメント
app.py CHANGED
@@ -6,8 +6,17 @@ import zipfile
6
  import shutil
7
  import base64
8
 
 
 
 
 
 
 
 
 
 
9
  def main():
10
- st.title("Markdown to Slidev")
11
 
12
  # マークダウンファイルの内容を入力するテキストエリア
13
  markdown_text = st.text_area("Enter your markdown content here:", height=400)
 
6
  import shutil
7
  import base64
8
 
9
+ def load_markdown(file_path):
10
+ with open(file_path, encoding="utf8") as f:
11
+ return f.read()
12
+
13
+
14
+ def display_front_page():
15
+ html_front = load_markdown('docs/page_front.md')
16
+ st.markdown(f"{html_front}", unsafe_allow_html=True)
17
+
18
  def main():
19
+ display_front_page()
20
 
21
  # マークダウンファイルの内容を入力するテキストエリア
22
  markdown_text = st.text_area("Enter your markdown content here:", height=400)
docker-compose.yml CHANGED
@@ -6,10 +6,9 @@ services:
6
  context: .
7
  dockerfile: Dockerfile
8
  volumes:
9
- - ./:/app
10
  ports:
11
  - "3030:3030"
12
  - "8502:8501"
13
- # command: python3 run_slidev.py
14
  tty: true
15
  user: user
 
6
  context: .
7
  dockerfile: Dockerfile
8
  volumes:
9
+ - ./slides:/app/slides
10
  ports:
11
  - "3030:3030"
12
  - "8502:8501"
 
13
  tty: true
14
  user: user
docs/page_front.md ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <p align="center">
3
+ <img src="https://media.githubusercontent.com/media/Sunwood-ai-labs/SlideNova/develop/docs/SlideNova_icon.png" width="100%">
4
+ <br>
5
+ <h1 align="center">SlideNova</h1>
6
+ <h3 align="center">
7
+ ~Experience Slide-Making Reinvented~
8
+
9
+ [![Hugging Face Spaces](https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue)](https://huggingface.co/spaces/Sunwood-ai-labs/SlideNova)
10
+ [![GitHub Stars](https://img.shields.io/github/stars/Sunwood-ai-labs/SlideNova)](https://github.com/Sunwood-ai-labs/SlideNova)
11
+ [![GitHub Last Commit](https://img.shields.io/github/last-commit/Sunwood-ai-labs/SlideNova)](https://github.com/Sunwood-ai-labs/SlideNova)
12
+ [![GitHub Top Language](https://img.shields.io/github/languages/top/Sunwood-ai-labs/SlideNova)](https://github.com/Sunwood-ai-labs/SlideNova)
13
+ [![GitHub Release](https://img.shields.io/github/v/release/Sunwood-ai-labs/SlideNova?sort=date&color=red)](https://github.com/Sunwood-ai-labs/SlideNova)
14
+ </h3>
15
+ </p>
slides/demo.md CHANGED
@@ -1,17 +1,82 @@
1
- # Slidev
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
- Hello World
 
 
 
4
 
5
  ---
6
 
7
- # Page 2
 
 
 
 
 
 
8
 
9
- Directly use code blocks for highlighting
10
 
11
- ```ts
12
- console.log('Hello, World!')
13
  ```
14
 
 
 
 
 
 
 
 
 
15
  ---
16
 
17
- # Page 3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ theme: seriph
3
+ ---
4
+
5
+ # SlideNova
6
+
7
+ ~Experience Slide-Making Reinvented~
8
+
9
+ ---
10
+
11
+ # SlideNova
12
+
13
+ - Markdownからモダンで美しいスライドを簡単に作成できるWebアプリケーション
14
+ - Slidevを使用しスライドの生成はDockerコンテナ内で実行
15
+ - Streamlitを使用した直感的なユーザーインターフェイス
16
+ - Markdownを入力するだけですぐにスライドを作成可能
17
+
18
+ ---
19
+
20
+ # 主な特徴
21
 
22
+ - Markdownでスライド作成
23
+ - Slidevを使用したモダンなスライドデザイン
24
+ - Dockerによる環境構築の簡易化
25
+ - Streamlitによる使いやすいWebUI
26
 
27
  ---
28
 
29
+ # インストール
30
+
31
+ 1. リポジトリをクローン
32
+
33
+ ```bash
34
+ git clone https://github.com/Sunwood-ai-labs/SlideNova.git
35
+ ```
36
 
37
+ 2. プロジェクトディレクトリに移動
38
 
39
+ ```bash
40
+ cd SlideNova
41
  ```
42
 
43
+ 3. Docker Composeを使用してSlideNovaを起動
44
+
45
+ ```bash
46
+ docker-compose up --build
47
+ ```
48
+
49
+ 4. ブラウザで `http://localhost:8502` を開く
50
+
51
  ---
52
 
53
+ # 使い方
54
+
55
+ 1. Markdownエディタにスライドのコンテンツを入力
56
+ 2. 「Generate Slides」ボタンをクリック
57
+ 3. 生成されたスライドが表示される
58
+
59
+ ---
60
+
61
+ # ドキュメント
62
+
63
+ - 詳細な情報は、ドキュメントを参照
64
+
65
+ ---
66
+
67
+ # コントリビューション
68
+
69
+ - コントリビューションは歓迎
70
+ - 詳細はコントリビューションガイドを参照
71
+
72
+ ---
73
+
74
+ # ライセンス
75
+
76
+ - MITライセンスの下で公開
77
+
78
+ ---
79
+
80
+ # お問い合わせ
81
+
82
+ - ご質問やご提案がありましたら、Issueを作成
slides/sample/001.png ADDED

Git LFS Details

  • SHA256: 58c91cfc48d63b9b4d715aa61d45f07ab113f27a7d4f2eeb41501209c8cfc252
  • Pointer size: 131 Bytes
  • Size of remote file: 778 kB
slides/sample/002.png ADDED

Git LFS Details

  • SHA256: 54e7907ca3c7510952bbb5ecfc92eaa02e0cfced9999a2c123c001245a9ef56f
  • Pointer size: 130 Bytes
  • Size of remote file: 48.4 kB
slides/sample/003.png ADDED

Git LFS Details

  • SHA256: a81c6569dd0078aa53e56485b3ed5fcb6d1d4d3a0533ef216bd1854a7f37bae0
  • Pointer size: 130 Bytes
  • Size of remote file: 33.8 kB
slides/sample/004.png ADDED

Git LFS Details

  • SHA256: 540cae1f7130edc66f05f3cc095b630d3e299f3143baa75b72a994b7008bebfa
  • Pointer size: 130 Bytes
  • Size of remote file: 36.6 kB
slides/sample/005.png ADDED

Git LFS Details

  • SHA256: 8ba20e5226ec7034c08ac9b5e9887a35e1e7bbb9458fec770690bea68a6ed0ff
  • Pointer size: 130 Bytes
  • Size of remote file: 25.8 kB
slides/sample/006.png ADDED

Git LFS Details

  • SHA256: ed46e5bedf1e83258d9a5aea097c1007e38dc885625e90c6a16e35518cdd89b3
  • Pointer size: 130 Bytes
  • Size of remote file: 15 kB
slides/sample/007.png ADDED

Git LFS Details

  • SHA256: dba26ab57aba195f72cf15515c5f60474d8a7ff81fc0ed6526edab839b6eabe7
  • Pointer size: 130 Bytes
  • Size of remote file: 18.3 kB
slides/sample/008.png ADDED

Git LFS Details

  • SHA256: 31771c34dfa1bcdbf1506a7770bd1378136f17eb7cb166014cdade04b05cdbd5
  • Pointer size: 130 Bytes
  • Size of remote file: 12.6 kB
slides/sample/009.png ADDED

Git LFS Details

  • SHA256: 185da5c13e8e8f8776ffcbf04d6361da3d678fd2cd776aff1dbd9be0989fca48
  • Pointer size: 130 Bytes
  • Size of remote file: 18.7 kB
temp.md → slides/temp.md RENAMED
@@ -1,6 +1,8 @@
1
  # Slidev
2
 
3
  Hello World
 
 
4
 
5
  ---
6
 
 
1
  # Slidev
2
 
3
  Hello World
4
+ あああああ
5
+
6
 
7
  ---
8