# laravel-flarum-forum **Repository Path**: clown-passerby-community/laravel-flarum-forum ## Basic Information - **Project Name**: laravel-flarum-forum - **Description**: 仅基于`flarum`样式(娱乐测试中……) - **Primary Language**: PHP - **License**: MIT - **Default Branch**: livewire - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-26 - **Last Updated**: 2024-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # laravel-flarum-forum #### 介绍 仅基于`flarum`样式 #### 软件架构 软件架构说明 - Laravel version 10 or later - PHP version 8.1 or later * fileinfo * curl * pdo_mysql * sodium - Node.js(16+) => v16.13.1 + livewire => `Vite`依赖版本限制 #### 安装教程 1. composer install 2. php artisan migrate 3. 数据填充:php artisan module:seed 1. 会员填充:php artisan module:seed --class=UserTableSeeder Forum 4. 创建`Storage`目录软链接 `php artisan storage:link` 1. docker环境使用`php artisan storage:link --relative` 5. 发布编辑器`pandao/editor.md`相关文件:`php artisan vendor:publish --provider="Cnpscy\LaravelEditormd\EditorMdProvider"` #### 页面路径 1. 会员主页 /user/{id} #### 使用说明 1. 多模块scss、js通过根目录的`vite.config.js`调度同时生效的配置 1. `vite.config.js`内的`modulesPath`模块`目录文件夹`与PHP`config => modules.paths.modules(目录文件夹)`内的`目录文件夹`保持一致! 2. 多模块化内对应的`vite.config.js`参考`主模块 => Forum`启用配置`paths`,并且需`$STUDLY_NAME$`变更为模块目录名称! 1. `npm run dev || npm run build` 模式下,样式皆会同步生效! 2. `$STUDLY_NAME$`不变更的话,`npm run build`无法生成对应模块的样式`Js、css`。 3. 多模块样式在视图层可独立调用或自动调用皆可。 2. 关于在多模块内部使用`livewire` 1. 如果是直接调用默认路径的组件:`` 2. 如果需读取的是模块化的`livewire`组件,有两种方式 1. 注册组件服务,在对应模板的`ServiceProvider::boot` 1. 注册`Livewire::component('component-name', \App\Http\Livewire\ComponentName::class);` 2. 调用`` 2. 目前`livewire`尚未兼容`多模块组件`,且定义了目录与命名空间,所以只能使用指定`class`类,通过`Livewire::mount`调用即可: 1. `{!! \Livewire\Livewire::mount(App\Modules\Forum\App\Livewire\Dynamic\Lists::class); !!}` 3. `livewire`组件内容层,根层必须是一个`div`包起的内容,哪怕是`@if + @else`仅返回一个`div`,也许把它们仅包含在一个`div`内部。 3. 一键加载多模块的css与js 1. `@vite(\Nwidart\Modules\Module::getAssets())`,依赖于``` 多模块scss、js通过根目录的`vite.config.js`调度同时生效的配置 ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 使用扩展包 - Passport OAuth 认证 `composer require laravel/passport` - 模块化组件 `nwidart/laravel-modules:^10.0.6` - Livewire Calendar 日历模块 `composer require asantibanez/livewire-calendar` + 原版本不支持`"livewire/livewire": "^3.4"`,使用扩展包`composer require omnia-digital/livewire-calendar:3.0.1` - Livewire Charts `composer require asantibanez/livewire-charts` #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)