From 4a376268f09a5cc9ea2e9525254356f79aeaa626 Mon Sep 17 00:00:00 2001 From: KUN1007 Date: Mon, 23 Oct 2023 23:09:42 +0800 Subject: [PATCH] docs --- README.md | 100 +++++++++++++++----------- docs/README-zh.md | 0 docs/en/README.12062023.md | 28 ++++++++ docs/en/README.18062023.md | 72 +++++++++++++++++++ docs/en/README.23102023.md | 76 ++++++++++++++++++++ docs/en/rules.md | 28 ++++++++ docs/{ => zh}/README.12062023.md | 0 docs/{ => zh}/README.18062023.md | 0 docs/zh/README.23102023.md | 117 +++++++++++++++++++++++++++++++ docs/{ => zh}/rules.md | 0 src/assets/docs/about.docx | Bin 22069 -> 0 bytes 11 files changed, 379 insertions(+), 42 deletions(-) create mode 100644 docs/README-zh.md create mode 100644 docs/en/README.12062023.md create mode 100644 docs/en/README.18062023.md create mode 100644 docs/en/README.23102023.md create mode 100644 docs/en/rules.md rename docs/{ => zh}/README.12062023.md (100%) rename docs/{ => zh}/README.18062023.md (100%) create mode 100644 docs/zh/README.23102023.md rename docs/{ => zh}/rules.md (100%) delete mode 100644 src/assets/docs/about.docx diff --git a/README.md b/README.md index 7afd07e1..f08c2b10 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,38 @@ +![](https://github.com/KUN1007/kun-galgame-vue/blob/layout/src/assets/images/favicon.png) + +图片来源为游戏 [Ark Order](https://apps.qoo-app.com/en/app/9593) 中的角色 `鲲` + # kun-galgame-vue -. + ## 介绍 - - -这是 KUNGalgame 论坛的前端,这是第一个版本,我们使用 `vue` 框架编写,之后我们会使用 `svelte` 框架重构 +这是 KUNGalgame 论坛的前端,这是第一个版本,我们使用 `vue` 框架编写 -后端项目第一个版本的地址为 [kun-galgame-koa](https://github.com/KUN1007/kun-galgame-koa) +KUNGalgame 创建的意义在于: - - -## 关于该网站 +- 大力宣传真正的好游戏,让大家都会用 VNDB 等网站,看到真正的 可视化数据,避免被“大佬”毒害 +- **远离现代互联网捧一踩一,以批评为美德等等不好的现状** +- 让任何人都学习基本的计算机基础,避免“爷新”的出现 +- 构建一个以用户个人乐趣为主的论坛,抵制鄙视链的产生 +- 目前的网站大多数套用模板,千篇一律,令人审美疲劳 +- ......等等。 -KUNGalgame —— 世界上最萌的 Galgame 论坛! +我们认为:“**让你觉得快乐的,让你发自内心笑出来的,才是真正的好游戏!**” -为营造最良好的 Galgame 讨论环境为目的进行努力! +**后端项目第一个版本的地址为 [kun-galgame-koa](https://github.com/KUN1007/kun-galgame-koa)** -Tips: 网站目前正在建设中······ - ## 运营理念 - 世界上最萌的 galgame 论坛 @@ -39,6 +42,26 @@ Tips: 网站目前正在建设中······ +## 技术支持 + +* 支持所有手机和电脑端**现代**浏览器 +* 适配任意大小屏幕 +* 全部 `Vue3` 组合式 `API`,全部 `Typescript` 支持,编写方式遵从[Vue 官网](vuejs.org)最佳实践 + + + +## 特性 + +### 网站全局设置 + +* `I18n` 国际化 +* 自定义背景图片 +* 白天 / 黑夜模式 +* 网站全体字体切换 +* 网站页面宽度调整 + +要查看网站的全部特性情点击这里 + ## 项目介绍 . @@ -47,29 +70,27 @@ Tips: 网站目前正在建设中······ . -这是[`KUNGalgame-pure-css`](https://github.com/KUN1007/kungalgame-pure-css) 的**重构版本**,使用 Vite + Vue3 + Vue-router4 + Typescript + SCSS + Pinia 作为前端技术栈,不依赖任何 UI 框架,因为这个项目主打的就是非 UI 框架,世界都一样多没意思呀。由于我的 VScode 自带`ESLint`等必要插件,所以并未在项目中进行集成,预计在项目的第一个版本上线时会集成必要的环境类项目配置。 +这是[`KUNGalgame-pure-css`](https://github.com/KUN1007/kungalgame-pure-css) 的**重构版本**,使用 Vite + Vue3 + Vue-router4 + Typescript + SCSS + Pinia 作为前端技术栈,不依赖任何 UI 框架,因为这个项目主打的就是非 UI 框架,世界都一样多没意思呀。 -. - -前端项目成型时在项目根目录有一个自带的微型`express`服务器可启动,存放于`server`文件夹,这并不是该项目的后端,只是一个类似于`mockjs`的数据模拟而已,我们的后端计划使用`Rust`编写 +项目中并未集成 `ESLint`, `Prettier` 等,因为太麻烦了,我爱摸鱼,预计在项目的第一个版本上线时会集成必要的环境类项目配置。 . ### 预览 -##### 原项目的地址为:[https://github.com/KUN1007/kungalgame-pure-css](https://github.com/KUN1007/kungalgame-pure-css) +##### 纯 HTML + CSS 项目的地址为:[https://github.com/KUN1007/kungalgame-pure-css](https://github.com/KUN1007/kungalgame-pure-css) 但是我们在重构的时候增加了大量的内容,并且将图标由`fontawesome`改为了`iconify`,所以外观可能会不同,这里仅展示主页预览 . #### Web 端浏览器 -![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/preview.png) -![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/preview-dark.png) +![](https://github.com/KUN1007/kun-galgame-vue/tree/V1/docs/images/preview.png) +![](https://github.com/KUN1007/kun-galgame-vue/tree/V1/docs/images/preview-dark.png) . #### 手机端浏览器 -![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/mobile-preview.png) -![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/mobile-preview-dark.png) +![](https://github.com/KUN1007/kun-galgame-vue/tree/V1/docs/images/mobile-preview.png) +![](https://github.com/KUN1007/kun-galgame-vue/tree/V1/docs/images/mobile-preview-dark.png) ### 启动方法 @@ -77,41 +98,36 @@ Tips: 网站目前正在建设中······ `cd KUNGalGame-vue` -#### 服务端 - -`cd server ` - -`pnpm i` - -`pnpm start` - -#### 前端 - -`cd ..` - `pnpm i` `vite dev` -请注意,请先启动服务端,这样才有模拟的数据 - -. - ## 注意事项 -将要发布的只是 V1 版本,我们在设计之初就已经规划好了 V2, V3 版本的内容,包括对 `VNDB` `批评空间` `bangumi` 等网站的数据进行分析,流媒体发布(上传发布视频),APP 版本等等。总之,只要您能想到的,我们都会尽力实现。 +将要发布的只是 V1 版本,我们在设计之初就已经规划好了 V2, V3 版本的内容,包括 -. +* 对 `VNDB` `批评空间` `bangumi` 等网站的数据进行分析 +* 流媒体发布(上传发布视频) +* APP 版本 +* ......等等 + +总之,只要您能想到的,我们都会尽力实现。 + + + +## Translation + +中文版 ## 联系我们 如果您想参与我们的开发,可以加入我们的开发群组 - QQ:872839714 - Telegram:https://t.me/KUNForum -## 开源声明 +Tencent QQ Group:872839714 + +## License 本项目遵从`GPL`开源协议 diff --git a/docs/README-zh.md b/docs/README-zh.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/en/README.12062023.md b/docs/en/README.12062023.md new file mode 100644 index 00000000..18ccd5b8 --- /dev/null +++ b/docs/en/README.12062023.md @@ -0,0 +1,28 @@ +# KUNGalgame Forum Vue Frontend Refactor + +The technology stack for this project is: Vite + Vue3 + Ts + Pinia + Scss, and it does not rely on any UI libraries. + +### Pure HTML/CSS version: [kungalgame-pure-css](https://github.com/KUN1007/kungalgame-pure-css) + +PS: This project is currently overwhelming for me. If you have any good ideas, feel free to help out. The project's documentation can be found in ./src/assets/docs. + +The current issues are that there are too many problems to handle, and there is no reasonable starting point. For example: + +* There are no suitable backend data interfaces for me to use. I tried to set up a tiny data interface using Express, but it didn't serve any purpose for me. +* I'm unsure how to layout this project. Because the project itself is relatively large, I can't even figure out how to structure it properly. For instance, I'm not sure if I need a ./src/layout. +* I'm unsure how to integrate data. For example, I need to define the data for individual topics and users and then call them from anywhere in the project. I think this might be because I haven't learned Pinia well enough? +* I'm unsure how to provide reasonable interfaces. I think this may be because my knowledge of Axios is not sufficient. +* My components are nested too deeply. For instance, the Home component has 7 layers, which is obviously unreasonable. I need to find a reasonable solution. +* I've come to realize that my knowledge of TypeScript/JavaScript is not sufficient (???). + +The biggest problem is that I don't know where to start because I'm not sure where to put basic data, such as in a store, and then how to call it. This is causing significant obstacles to my development because most of my pages require data, and without data flow, nothing is possible. + +--- + +06/05/2023 +Now I understand that my current project falls into the realm of the "big frontend." It involves knowledge of web architecture and requires learning many interactive technologies. I currently lack the knowledge of a "big frontend," so I'm temporarily shelving this project for now and will revisit it later. + +12/06/2023 +I've encountered another tricky problem, the issue of frontend-backend integration. I find that I can never figure out how to design the API properly. It seems that this indeed requires a good understanding of backend knowledge. + +In summary, the current state of this project is somewhat improved, but it's still a shell. I'll call it an advanced shell (HTML++?). It can only be considered a website once the interface and authentication-related work is completed. \ No newline at end of file diff --git a/docs/en/README.18062023.md b/docs/en/README.18062023.md new file mode 100644 index 00000000..0beb2b3f --- /dev/null +++ b/docs/en/README.18062023.md @@ -0,0 +1,72 @@ +# KUNGalgame Forum Vue Frontend Refactor + +As of June 18, 2023, two months, and over 200 commits, we have almost completed all the static pages. Next, we will be working on the backend of the website. + +## Introduction + +KUNGalgame - The cutest Galgame forum in the world! + +Striving to create the best environment for Galgame discussions! + +Tips: The website is currently under construction... + +## Operating Philosophy + +- The cutest Galgame forum in the world +- Based on the idea of creating the best atmosphere +- No advertisements, ever +- No charges, ever + +## Project Introduction + +### Overview + +This is a **refactored version** of [`KUNGalgame-pure-css`](https://github.com/KUN1007/kungalgame-pure-css), using Vite + Vue3 + Vue-router4 + Typescript + SCSS + Pinia as the frontend tech stack. It doesn't rely on any UI framework, as this project emphasizes a non-UI framework. As my VScode comes with necessary plugins like ESLint, I haven't integrated them into the project. I plan to integrate the required environment and project configurations in the first version of the project. + +When the frontend project is ready, there is a built-in mini `express` server in the project's root directory that can be started, located in the `server` folder. This is not the project's backend; it's just a data mock similar to `mockjs`. Our backend is planned to be written in `Rust`. + +### Preview + +##### The address of the original project is: [https://github.com/KUN1007/kungalgame-pure-css](https://github.com/KUN1007/kungalgame-pure-css) + +However, during the refactoring, we added a lot of content and changed the icons from `fontawesome` to `iconify`, so the appearance may be different. Here, we are only showing a preview of the homepage. + +#### Web Browser +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/introduction/images/preview.png) +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/introduction/images/preview-dark.png) + +#### Mobile Browser +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/introduction/images/mobile-preview.png) +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/introduction/images/mobile-preview-dark.png) + +### How to Start + +`git clone https://github.com/KUN1007/KUNGalGame-vue` + +`cd KUNGalGame-vue` + +#### Server + +`cd server` + +`pnpm i` + +`pnpm start` + +#### Frontend + +`cd ..` + +`pnpm i` + +`vite dev` + +Please note, start the server first to have simulated data. + +## Important Notes + +Only the V1 version will be released. We have already planned the content for V2 and V3 versions during the initial design, including data analysis of websites such as `VNDB`, `Erogame Space`, `Bangumi`, streaming content uploads, an app version, and more. In summary, we will do our best to implement anything you can think of. + +## Open Source Declaration + +This project follows the `GPL` open-source license. \ No newline at end of file diff --git a/docs/en/README.23102023.md b/docs/en/README.23102023.md new file mode 100644 index 00000000..64906ee8 --- /dev/null +++ b/docs/en/README.23102023.md @@ -0,0 +1,76 @@ +# kun-galgame-vue + +## Introduction + +This is the frontend of the KUNGalgame forum, and it's the first version. We have built it using the Vue framework, and in the future, we plan to refactor it using the Svelte framework. + +The link to the first version of the backend project is [kun-galgame-koa](https://github.com/KUN1007/kun-galgame-koa). + +## About the Website + +KUNGalgame — The Cutest Galgame Forum in the World! + +We strive to create the best environment for Galgame discussions. + +Tips: The website is currently under construction... + +## Operational Philosophy + +- The cutest galgame forum in the world. +- With the aim of creating the best atmosphere. +- There will never be any ads. +- There will never be any charges. + +## Project Introduction + +### Overview + +This is a **restructured version** of [`KUNGalgame-pure-css`](https://github.com/KUN1007/kungalgame-pure-css). We have used Vite, Vue3, Vue-router4, Typescript, SCSS, and Pinia as the frontend technology stack. We do not depend on any UI framework because this project is focused on a non-UI framework approach. As my VSCode comes with necessary plugins like ESLint, we haven't integrated them into the project. We plan to integrate the required environment and project configurations in the first version to be launched. + +When the frontend project was completed, there was a built-in, lightweight `express` server in the root directory of the project, located in the `server` folder. This server is not the backend for the project; it is merely a data simulation similar to `mockjs`. We plan to write our backend in `Rust`. + +### Preview + +The original project is located at https://github.com/KUN1007/kungalgame-pure-css. However, during the restructuring, we added a lot of content and changed the icons from `fontawesome` to `iconify`. So, the appearance may be different. Here, we provide a preview of the homepage only. + +#### Web Browser + +![Preview](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/preview.png) ![Dark Preview](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/preview-dark.png) + +#### Mobile Browser + +![Mobile Preview](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/mobile-preview.png) ![Mobile Dark Preview](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/mobile-preview-dark.png) + +### How to Start + +1. Clone the repository: `git clone https://github.com/KUN1007/KUNGalGame-vue` +2. Change the directory: `cd KUNGalGame-vue` + +#### Server + +1. Navigate to the server directory: `cd server` +2. Install dependencies: `pnpm i` +3. Start the server: `pnpm start` + +#### Frontend + +1. Return to the parent directory: `cd ..` +2. Install frontend dependencies: `pnpm i` +3. Start the development server: `vite dev` + +Please note that you should start the server first to have simulated data. + +## Notes + +Only version 1 will be released. During the initial design, we have already planned the content for versions 2 and 3, including data analysis for websites like `VNDB`, `批评空间`, `bangumi`, streaming video uploads, and an app version. In short, we will try to implement anything you can think of. + +## Contact Us + +If you wish to participate in our development, you can join our development groups: + +- QQ: 872839714 +- Telegram: https://t.me/KUNForum + +## Open Source Statement + +This project follows the `GPL` open-source license. \ No newline at end of file diff --git a/docs/en/rules.md b/docs/en/rules.md new file mode 100644 index 00000000..a81eef04 --- /dev/null +++ b/docs/en/rules.md @@ -0,0 +1,28 @@ +# Code Writing Guidelines + +## Overview + +- Code must follow the `Vue3 composition API + setup + Typescript` approach, following official documentation examples. +- Direct DOM operations like `document.getElementById` are not allowed unless absolutely necessary. +- Folder names should use `kebab-case`, `.ts` files should use `camelCase`, and `.vue` files should use `PascalCase` for naming. +- Packages larger than `500kb` are not allowed to be imported. + +## Vue3 + +- Functions like `defineProps` and `defineEmits` must have types declared using TypeScript, in the format `const props = defineProps<{param: type}>()`. +- When there are four or more levels of calls, `computed` must be used. Ternary operators must use `computed`. +- Component names should be in `PascalCase`, and built-in components must be imported in `PascalCase`, for example, ``. +- When passing props from a parent component to a child component, use `kebab-case` naming. Use `camelCase` for `v-on` events. + +## TypeScript + +- The use of `any` is not allowed. +- Interfaces should be named in `PascalCase`. +- Declaration files with a `.d.ts` extension should be named using `kebab-case`. + +## Variables and Functions + +- Variables should preferably be declared using `const`, and functions should preferably be declared using arrow function syntax like `const kun = () => {}`. +- Boolean values should always start with `is`, for example, `isShowToolbar`. +- Functions in the `store` should be named using the `use...store` convention, for example, `useKUNGalgameEditStore`. +- For complex functions, use the `@param {type} paramName` format for writing comments. \ No newline at end of file diff --git a/docs/README.12062023.md b/docs/zh/README.12062023.md similarity index 100% rename from docs/README.12062023.md rename to docs/zh/README.12062023.md diff --git a/docs/README.18062023.md b/docs/zh/README.18062023.md similarity index 100% rename from docs/README.18062023.md rename to docs/zh/README.18062023.md diff --git a/docs/zh/README.23102023.md b/docs/zh/README.23102023.md new file mode 100644 index 00000000..7afd07e1 --- /dev/null +++ b/docs/zh/README.23102023.md @@ -0,0 +1,117 @@ +# kun-galgame-vue + +. + +## 介绍 + + + +这是 KUNGalgame 论坛的前端,这是第一个版本,我们使用 `vue` 框架编写,之后我们会使用 `svelte` 框架重构 + + + +后端项目第一个版本的地址为 [kun-galgame-koa](https://github.com/KUN1007/kun-galgame-koa) + + + + + +## 关于该网站 + + + +KUNGalgame —— 世界上最萌的 Galgame 论坛! + + + +为营造最良好的 Galgame 讨论环境为目的进行努力! + + + +Tips: 网站目前正在建设中······ + +## 运营理念 + +- 世界上最萌的 galgame 论坛 +- 以营造最良好的氛围为理念 +- 永远不会有广告 +- 永远不会收费 + + + +## 项目介绍 + +. + +### 简介 + +. + +这是[`KUNGalgame-pure-css`](https://github.com/KUN1007/kungalgame-pure-css) 的**重构版本**,使用 Vite + Vue3 + Vue-router4 + Typescript + SCSS + Pinia 作为前端技术栈,不依赖任何 UI 框架,因为这个项目主打的就是非 UI 框架,世界都一样多没意思呀。由于我的 VScode 自带`ESLint`等必要插件,所以并未在项目中进行集成,预计在项目的第一个版本上线时会集成必要的环境类项目配置。 + +. + +前端项目成型时在项目根目录有一个自带的微型`express`服务器可启动,存放于`server`文件夹,这并不是该项目的后端,只是一个类似于`mockjs`的数据模拟而已,我们的后端计划使用`Rust`编写 + +. + +### 预览 + +##### 原项目的地址为:[https://github.com/KUN1007/kungalgame-pure-css](https://github.com/KUN1007/kungalgame-pure-css) + +但是我们在重构的时候增加了大量的内容,并且将图标由`fontawesome`改为了`iconify`,所以外观可能会不同,这里仅展示主页预览 + +. +#### Web 端浏览器 +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/preview.png) +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/preview-dark.png) +. + +#### 手机端浏览器 +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/mobile-preview.png) +![](https://github.com/KUN1007/KUNGalGame-vue/blob/layout/docs/images/mobile-preview-dark.png) + +### 启动方法 + +`git clone https://github.com/KUN1007/KUNGalGame-vue` + +`cd KUNGalGame-vue` + +#### 服务端 + +`cd server ` + +`pnpm i` + +`pnpm start` + +#### 前端 + +`cd ..` + +`pnpm i` + +`vite dev` + +请注意,请先启动服务端,这样才有模拟的数据 + +. + +## 注意事项 + +将要发布的只是 V1 版本,我们在设计之初就已经规划好了 V2, V3 版本的内容,包括对 `VNDB` `批评空间` `bangumi` 等网站的数据进行分析,流媒体发布(上传发布视频),APP 版本等等。总之,只要您能想到的,我们都会尽力实现。 + +. + +## 联系我们 + +如果您想参与我们的开发,可以加入我们的开发群组 + + QQ:872839714 + +Telegram:https://t.me/KUNForum + +## 开源声明 + +本项目遵从`GPL`开源协议 + diff --git a/docs/rules.md b/docs/zh/rules.md similarity index 100% rename from docs/rules.md rename to docs/zh/rules.md diff --git a/src/assets/docs/about.docx b/src/assets/docs/about.docx deleted file mode 100644 index 0e79cca8bb587ff601b60b33c0f7912e6e62f522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22069 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

h_g#6?68R%R-wjRey4|>0G!| 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