diff --git a/doc/build.md b/doc/build.md new file mode 100644 index 0000000..ea187ba --- /dev/null +++ b/doc/build.md @@ -0,0 +1,42 @@ +ビルド手順 +==== + +code-serverを開いている前提 + +## 操作手順 + +1. code-serverでの作業 + 1. code-serverでsolitudeのnpmプロジェクトに移動 + 1. @npm run build-ready@を実行する + 1. ~/public/solitude/solitude.jsが出来ているのを確認する +1. ビルド用端末での作業 + 1. https://www.sylow-castle.work/solitude/solitude.js をダウンロード・回答する + 1. @npm run portable@を叩く + 1. distディレクトリの中にできあがる + +上記はビルド環境を「electron-builder」による構築をした場合。 +ビルド環境が手動の場合、solitude.jsの中身をapp以下に配置でOK。 + +## ビルド環境構築 + +### electron-builder + +ポータブルな感じで作る。 + +1. Node.jsの入手:https://nodejs.org/ja/download/ から Windows Binary(.zip) 64-bit +1. zipを回答node.exeと同じディレクトリに以下のファイル内容で「node-powershell.bat」で作成: +``` +@echo off +set PATH=%PATH%;%cd% +set NODE_PATH=%cd%\node_modules\npm\node_modules;%cd%\node_modules\npm +powershell +``` +1. package.jsonのあるディレクトリにcdして@node install@を実行 + +### 手動 + +参考: +https://www.electronjs.org/docs/latest/tutorial/application-distribution + +1. https://github.com/electron/electron/releases から「electron-${OS}-${Arch}.zip」をダウンロード・解凍 +1. resourceフォルダにappディレクトリを作成 \ No newline at end of file diff --git a/etc/code-server.code-workspace b/etc/code-server.code-workspace new file mode 100644 index 0000000..bab1b7f --- /dev/null +++ b/etc/code-server.code-workspace @@ -0,0 +1,8 @@ +{ + "folders": [ + { + "path": ".." + } + ], + "settings": {} +} \ No newline at end of file diff --git a/src/js/.gitignore b/src/js/.gitignore new file mode 100644 index 0000000..ddcb880 --- /dev/null +++ b/src/js/.gitignore @@ -0,0 +1,15 @@ +# dependencies +node_modules + +# production +build + +# misc +.DS_Store + +npm-debug.log +yarn-error.log +yarn.lock +.yarnclean +.vscode +.idea diff --git a/src/js/package.json b/src/js/package.json new file mode 100644 index 0000000..b6702f6 --- /dev/null +++ b/src/js/package.json @@ -0,0 +1,24 @@ +{ + "name": "solitude", + "version": "1.0.0", + "description": "", + "main": "src/index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "portable": "electron-builder build --win --dir", + "build-ready": "rm -f solitude.zip && zip solitude.zip package.json $(find ./src/) && mv solitude.zip ~/public/solitude/ ;" + }, + "build": { + "appId": "work.sylow-castle.slitude.app", + "productName": "Solitude", + "files":[ + "src/*" + ] + }, + "author": "s.castle", + "license": "MIT", + "devDependencies": { + "electron": "^17.1.0", + "electron-builder": "^22.14.13" + } +} diff --git a/src/js/src/index.html b/src/js/src/index.html new file mode 100644 index 0000000..00f6d28 --- /dev/null +++ b/src/js/src/index.html @@ -0,0 +1,13 @@ + + + +
+ + +This is first Solitude
+ + \ No newline at end of file diff --git a/src/js/src/index.js b/src/js/src/index.js new file mode 100644 index 0000000..091791f --- /dev/null +++ b/src/js/src/index.js @@ -0,0 +1,14 @@ +const { app, BrowserWindow} = require('electron'); + +function createWindow() { + let win = new BrowserWindow({ + width:400, + height: 200, + webPreference: { + nodeIntegration:true + } + }); + win.loadFile('index.html'); +} + +app.whenReady().then(createWindow) \ No newline at end of file