├── app ├── public │ ├── css │ │ └── app.css │ ├── main.wasm │ ├── img │ │ ├── logo.png │ │ └── logo.svg │ ├── manifest.json │ ├── sw.js │ ├── .htaccess │ ├── index.html │ └── js │ │ └── wasm_exec.js ├── .vscode │ └── extensions.json ├── embed.go ├── vite.config.js ├── .gitignore ├── README.md ├── src │ ├── style.css │ ├── assets │ │ └── vue.svg │ ├── components │ │ └── About.vue │ ├── main.js │ └── App.vue ├── package.json ├── index.html └── package-lock.json ├── cmd ├── server │ ├── .env.example │ ├── docs │ │ ├── swagger.yaml │ │ ├── swagger.json │ │ └── docs.go │ └── main.go └── wasm │ └── main.go ├── Caddyfile.dev ├── .gitignore ├── Dockerfile ├── README.md ├── wasm_funcs.go ├── Taskfile.yml ├── LICENSE ├── go.mod ├── model.go └── go.sum /app/public/css/app.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cmd/server/.env.example: -------------------------------------------------------------------------------- 1 | PAPERMAKER_ADDRESS="localhost:7765" -------------------------------------------------------------------------------- /app/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /Caddyfile.dev: -------------------------------------------------------------------------------- 1 | localhost:3400 { 2 | root public 3 | file_server browse 4 | } 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /dist/ 3 | ftpdeploy.js 4 | *.zip 5 | index.zip 6 | .env 7 | go.sum -------------------------------------------------------------------------------- /app/public/main.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zikani03/papermaker/HEAD/app/public/main.wasm -------------------------------------------------------------------------------- /app/embed.go: -------------------------------------------------------------------------------- 1 | package app 2 | 3 | import "embed" 4 | 5 | //go:embed dist 6 | var StaticFS embed.FS 7 | -------------------------------------------------------------------------------- /app/public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zikani03/papermaker/HEAD/app/public/img/logo.png -------------------------------------------------------------------------------- /app/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [vue()] 7 | }) 8 | -------------------------------------------------------------------------------- /cmd/wasm/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "syscall/js" 5 | 6 | "github.com/zikani03/papermaker" 7 | ) 8 | 9 | var done chan struct{} 10 | 11 | func main() { 12 | js.Global().Set("GeneratePaper", js.FuncOf(papermaker.GeneratePaper)) 13 | <-done 14 | } 15 | -------------------------------------------------------------------------------- /app/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "PMA: Paper Maker App", 3 | "short_name": "PMA", 4 | "theme_color": "#301453", 5 | "background_color": "#301453", 6 | "display": "standalone", 7 | "orientation": "portrait", 8 | "scope": "/papermaker/", 9 | "start_url": "/papermaker/" 10 | } -------------------------------------------------------------------------------- /app/public/sw.js: -------------------------------------------------------------------------------- 1 | self.addEventListener('install', function(event) { 2 | let cacheKey = "papermaker.labs.zikani.me:Cache" 3 | 4 | event.waitUntil(caches.open(cacheKey).then((cache) => { 5 | return cache.addAll([ 6 | '/js/wasm_exec.js', 7 | '/main.wasm', 8 | ]) 9 | })) 10 | }); -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /app/README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + Vite 2 | 3 | This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 ` 11 | 12 | 13 |
14 | 15 |