|
1 | | -# Qwik City App ⚡️ |
| 1 | +# UiPlay :3 |
2 | 2 |
|
3 | | -- [Qwik Docs](https://qwik.dev/) |
4 | | -- [Discord](https://qwik.dev/chat) |
5 | | -- [Qwik GitHub](https://github.com/QwikDev/qwik) |
6 | | -- [@QwikDev](https://twitter.com/QwikDev) |
7 | | -- [Vite](https://vitejs.dev/) |
| 3 | +A Tauri and Qwik based UxPlay wrapper that forwards music metadata to Discord Rich Presence and MPRIS. |
8 | 4 |
|
9 | | ---- |
| 5 | +## Building |
| 6 | +To build the project, ensure you have the necessary dependencies installed: |
| 7 | +- [Node.js](https://nodejs.org/) |
| 8 | +- [Rust](https://www.rust-lang.org/tools/install) |
| 9 | +- [pnpm](https://pnpm.io/installation) |
| 10 | +- [UxPlay](https://github.com/FDH2/uxplay) |
10 | 11 |
|
11 | | -## Project Structure |
| 12 | +Then, run the following commands in the project root: |
12 | 13 |
|
13 | | -This project is using Qwik with [QwikCity](https://qwik.dev/qwikcity/overview/). QwikCity is just an extra set of tools on top of Qwik to make it easier to build a full site, including directory-based routing, layouts, and more. |
14 | | - |
15 | | -Inside your project, you'll see the following directory structure: |
16 | | - |
17 | | -``` |
18 | | -├── public/ |
19 | | -│ └── ... |
20 | | -└── src/ |
21 | | - ├── components/ |
22 | | - │ └── ... |
23 | | - └── routes/ |
24 | | - └── ... |
25 | | -``` |
26 | | - |
27 | | -- `src/routes`: Provides the directory-based routing, which can include a hierarchy of `layout.tsx` layout files, and an `index.tsx` file as the page. Additionally, `index.ts` files are endpoints. Please see the [routing docs](https://qwik.dev/qwikcity/routing/overview/) for more info. |
28 | | - |
29 | | -- `src/components`: Recommended directory for components. |
30 | | - |
31 | | -- `public`: Any static assets, like images, can be placed in the public directory. Please see the [Vite public directory](https://vitejs.dev/guide/assets.html#the-public-directory) for more info. |
32 | | - |
33 | | -## Add Integrations and deployment |
34 | | - |
35 | | -Use the `pnpm qwik add` command to add additional integrations. Some examples of integrations includes: Cloudflare, Netlify or Express Server, and the [Static Site Generator (SSG)](https://qwik.dev/qwikcity/guides/static-site-generation/). |
36 | | - |
37 | | -```shell |
38 | | -pnpm qwik add # or `pnpm qwik add` |
39 | | -``` |
40 | | - |
41 | | -## Development |
42 | | - |
43 | | -Development mode uses [Vite's development server](https://vitejs.dev/). The `dev` command will server-side render (SSR) the output during development. |
44 | | - |
45 | | -```shell |
46 | | -npm start # or `pnpm start` |
47 | | -``` |
48 | | - |
49 | | -> Note: during dev mode, Vite may request a significant number of `.js` files. This does not represent a Qwik production build. |
50 | | -
|
51 | | -## Preview |
52 | | - |
53 | | -The preview command will create a production build of the client modules, a production build of `src/entry.preview.tsx`, and run a local server. The preview server is only for convenience to preview a production build locally and should not be used as a production server. |
54 | | - |
55 | | -```shell |
56 | | -pnpm preview # or `pnpm preview` |
57 | | -``` |
58 | | - |
59 | | -## Production |
60 | | - |
61 | | -The production build will generate client and server modules by running both client and server build commands. The build command will use Typescript to run a type check on the source code. |
62 | | - |
63 | | -```shell |
64 | | -pnpm build # or `pnpm build` |
65 | | -``` |
66 | | - |
67 | | -## Static Site Generator (Node.js) |
68 | | - |
69 | | -Be sure to configure your server to serve very long cache headers for the `build/**/*.js` files. |
70 | | - |
71 | | -Typically you'd set the `Cache-Control` header for those files to `public, max-age=31536000, immutable`. |
72 | | - |
73 | | -```shell |
74 | | -pnpm build.server |
75 | | -``` |
| 14 | +```bash |
| 15 | +pnpm install |
| 16 | +pnpm tauri build |
| 17 | +``` |
0 commit comments