Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 6a21405

Browse files
committed
feat(init): add github actions
1 parent 3488047 commit 6a21405

File tree

5 files changed

+38
-35
lines changed

5 files changed

+38
-35
lines changed

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828

2929
## Modes
3030

31+
- Init Mode
32+
- Creating a slide, style, configuration file
33+
- Creating GitHub actions that deploy slides to gh-pages automatically
3134
- Development Mode
3235
- Running with HMR
3336
- Just coding Markdown and sometimes CSS
@@ -59,6 +62,9 @@ $ npx fusuma init
5962
$ tree -a
6063
.
6164
├── .fusumarc.yml
65+
├── .github
66+
│ └── workflows
67+
│ └── fusuma.yml
6268
├── slides
6369
│ └── 0-title.md
6470
└── style.css

packages/fusuma/src/configs/fusumarc.js

+23-31
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
'use strict';
22

3-
const { readFile, writeFile, mkdir } = require('fs');
3+
const { readFile, writeFile, mkdir } = require('fs').promises;
44
const { join, extname } = require('path');
5-
const { promisify } = require('util');
65
const yaml = require('js-yaml');
76
const pSearch = require('preferred-search');
87
const { all: mergeAll } = require('deepmerge');
98
const { info } = require('../cli/log');
109

11-
const mkdirAsync = promisify(mkdir);
12-
const readFileAsync = promisify(readFile);
13-
const writeFileAsync = promisify(writeFile);
14-
1510
const config = {
1611
meta: {
1712
url: null,
@@ -51,30 +46,27 @@ const config = {
5146
const configFileNames = ['.fusumarc.yml', '.fusumarc.js'];
5247

5348
async function init(baseDir) {
54-
{
55-
const data = await readFileAsync(join(__dirname, 'templates', 'fusumarc.yml'), 'utf8');
56-
57-
await writeFileAsync(join(baseDir, '.fusumarc.yml'), data);
58-
info('init', 'Created .fusumarc.yml');
59-
}
60-
61-
// scaffold
62-
await mkdirAsync(join(baseDir, 'slides'));
63-
info('init', 'Created /slides');
64-
65-
{
66-
const data = await readFileAsync(join(__dirname, 'templates', '0-title.md'), 'utf8');
67-
68-
await writeFileAsync(join(baseDir, 'slides', '0-title.md'), data);
69-
info('init', 'Created slides/0-title.md');
70-
}
71-
72-
{
73-
const data = await readFileAsync(join(__dirname, 'templates', 'style.css'), 'utf8');
74-
75-
await writeFileAsync(join(baseDir, 'style.css'), data);
76-
info('init', 'Created style.css');
77-
}
49+
const templatePath = join(__dirname, 'templates');
50+
51+
await Promise.all([
52+
mkdir(join(baseDir, 'slides'), { recursive: true }),
53+
mkdir(join(baseDir, '.github', 'workflows'), { recursive: true }),
54+
]);
55+
56+
await Promise.all([
57+
writeFile(join(baseDir, '.fusumarc.yml'), await readFile(join(templatePath, 'fusumarc.yml'))),
58+
writeFile(join(baseDir, 'style.css'), await readFile(join(templatePath, 'style.css'))),
59+
writeFile(
60+
join(baseDir, 'slides', '0-title.md'),
61+
await readFile(join(templatePath, '0-title.md'))
62+
),
63+
writeFile(
64+
join(baseDir, '.github', 'workflows', 'fusuma.yml'),
65+
await readFile(join(templatePath, 'fusuma.yml'))
66+
),
67+
]);
68+
69+
info('init', 'Added slides, style.css, fusumarc, and github actions');
7870
}
7971

8072
async function read(baseDir) {
@@ -86,7 +78,7 @@ async function read(baseDir) {
8678

8779
switch (extname(file)) {
8880
case '.yml':
89-
return yaml.load(await readFileAsync(file, 'utf8'));
81+
return yaml.load(await readFile(file, 'utf8'));
9082
case '.js':
9183
return require(file);
9284
default:

packages/actions/action.yml packages/fusuma/src/configs/templates/fusuma.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
name: 'Fusuma action'
2-
description: 'Deploy slides to github pages'
3-
author: 'hiroppy'
1+
name: 'Deploy slides to github pages'
42

53
on:
64
push:
@@ -15,7 +13,8 @@ jobs:
1513
- uses: actions/setup-node@v2
1614
with:
1715
node-version: 14
18-
- run: npm ci && npx fusuma build
16+
- run: npm ci
17+
- run: npx fusuma build
1918
- uses: peaceiris/actions-gh-pages@v3
2019
with:
2120
github_token: ${{ secrets.GITHUB_TOKEN }}

samples/intro/slides/02-fusuma.md

+3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ $ npx fusuma init
3030
$ tree -a
3131
.
3232
├── .fusumarc.yml
33+
├── .github
34+
│ └── workflows
35+
│ └── fusuma.yml
3336
├── slides
3437
│ └── 0-title.md
3538
└── style.css

site/docs/getting-started/preparation.md

+3
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ $ npx fusuma init
3131
$ tree -a
3232
.
3333
├── .fusumarc.yml
34+
├── .github
35+
│ └── workflows
36+
│ └── fusuma.yml
3437
├── slides
3538
│ └── 0-title.md
3639
└── style.css

0 commit comments

Comments
 (0)