daikazu / laravel-go
使用此具有高度个人观点的包来开发网站,快速起步。
Requires
- php: ^8.1
- ext-dom: *
- ext-libxml: *
- illuminate/contracts: ^9.0
- illuminate/support: ^9.37
- spatie/crawler: ^7.1
- spatie/laravel-package-tools: ^1.13.0
- symfony/dom-crawler: ^6.1
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
README
Laravel Go =>
介绍
如果你像我一样,每次开始用Laravel构建新网站时都要重复相同的步骤,那么就无需再寻找了。使用这个轻量级且高度个人观点的TALL堆栈包来开发网站,快速起步。它帮助你设置一些视图文件夹组织和一些合理的包来开始。更不用说还有一个甜美的页面构建 artisan 命令了。
这个包背后的想法是安装、使用,然后删除。
还在等什么,开始GO吧!
欢迎给我们讨论板提出意见和建议。
安装
您可以通过composer安装此包
composer require daikazu/laravel-go --dev
用法
一次性安装
在项目根目录中创建一个go-packages.json
文件,或者使用以下artisan命令为您创建它。
php artisan go:init
创建的文件将如下所示
{ "composer_packages": { "require": {}, "require-dev": {} }, "npm_packages": { "dependencies": {}, "devDependencies": {} } }
添加您要安装的任何附加包,或者复制并粘贴以下入门包。
此外,您可以在运行
go:init
命令时添加-d
或--default
标志来自动添加以下内容。
{ "composer_packages": { "require": { "artesaos/seotools": "^v1.0.0", "daikazu/laravel-glider": "^2.0.1", "illuminatech/url-trailing-slash": "*", "livewire/livewire": "^2.11", "spatie/laravel-google-fonts": "^1.2", "spatie/laravel-backup": "^8.1", "spatie/laravel-sitemap": "^6.2", "spatie/schema-org": "^3.13" }, "require-dev": { "barryvdh/laravel-debugbar": "^3.7", "barryvdh/laravel-ide-helper": "^2.9", "beyondcode/laravel-query-detector": "^1.6", "fakerphp/faker": "^1.9.1", "laravel/pint": "^1.0", "laravel/sail": "^1.0.1", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^6.4", "nunomaduro/larastan": "^2.4.0", "pestphp/pest": "^v1.22.3", "pestphp/pest-plugin-laravel": "^v1.4.0", "phpstan/extension-installer": "^1.2.0", "phpstan/phpstan-deprecation-rules": "^1.1.1", "phpstan/phpstan-phpunit": "^1.3.3", "phpunit/phpunit": "^9.5", "spatie/laravel-ignition": "^1.6.4", "spatie/laravel-ray": "^1.32.0" } }, "npm_packages": { "dependencies": {}, "devDependencies": { "@alpinejs/collapse": "^3.11.1", "@alpinejs/focus": "^3.11.1", "@alpinejs/intersect": "^3.11.1", "@alpinejs/persist": "^3.11.1", "@defstudio/vite-livewire-plugin": "^1.0.4", "@prettier/plugin-php": "^0.19.3", "@shufo/prettier-plugin-blade": "^1.8.6", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/forms": "^0.5.3", "@tailwindcss/typography": "^0.5.7", "alpinejs": "^3.11.1", "autoprefixer": "^10.4.13", "axios": "^1.2.3", "cross-env": "^7.0.3", "focus-visible": "^5.2.0", "glob-all": "^3.3.1", "laravel-vite-plugin": "^0.7.3", "lodash": "^4.17.21", "postcss": "^8.4.21", "postcss-focus-visible": "^7.1.0", "postcss-import": "^15.0.0", "postcss-nested": "^6.0.0", "prettier": "^2.8.3", "prettier-plugin-tailwindcss": "^0.2.1", "tailwindcss": "^3.2.4", "tailwindcss-debug-screens": "^2.2.1", "vite": "^4.0.4" } } }
通过运行以下artisan
命令安装初始脚手架。
php artisan go:install
此外,您还可以在运行
go:install
命令时添加-d
或--default
标志,它将自动使用默认包进行初始化
注意 此命令应只运行一次。重复运行将覆盖任何已修改的文件。
这将提示您输入网站名称,并生成以下文件。
.
├── app
│ ├── Console
│ │ ├── Commands
│ │ │ └── GenerateSitemap.php
│ │ └── Kernel.php
│ └── View
│ └── Components
│ └── MetaData.php
├── config
│ ├── backup.php
│ ├── feed.php
│ ├── filesystems.php
│ ├── seotools.php
│ ├── sitemap.php
│ └── website.php
├── resources
│ ├── css
│ │ └── app.css
│ ├── js
│ │ ├── app.js
│ │ └── bootstrap.js
│ └── views
│ └── web
│ ├── layout
│ │ ├── footer.blade.php
│ │ ├── head
│ │ │ ├── favicon.blade.php
│ │ │ ├── fonts.blade.php
│ │ │ ├── meta-data.blade.php
│ │ │ ├── scripts.blade.php
│ │ │ ├── styles.blade.php
│ │ │ └── tracking.blade.php
│ │ ├── head.blade.php
│ │ └── header.blade.php
│ ├── layout.blade.php
│ └── sections
│ └── static
│ └── home.blade.php
├── routes
│ └── web.php
├── .gitignore
├── .prettierrc
├── postcss.config.js
├── tailwind.config.js
└── vite.config.js
安装composer依赖项
composer update
安装node依赖项并构建您的资源文件
npm install && npm run dev
我们建议使用pnpm而不是默认的
npm
。
不要忘记根据需要更改配置和添加环境变量。
静态页面创建工具
使用以下命令快速创建静态页面。创建blade.php
文件,并将条目添加到您的路由文件中。
php artisan go:make-static my-page mycustomname
这将在resources/views/web/sections/static/
文件夹中创建一个my-page.blade.php
文件
条目添加到您的web.php
路由文件中。
Route::view('my-page', 'web.sections.static.my-page')->name('my-page');
选项
选项 | 必需 | 描述 |
---|---|---|
path | true | URL |
name | false | 视图名称 |
--title= | false | 元标题 |
--description | false | 元描述 |
通过在路径末尾添加/
或/index
,告诉命令在适当的文件夹中创建一个index.blade.php
文件。
示例
php artisan go:make-static post/comments/ /resources/views/web/sections/static/post/comments.index.blade.php
创建的文件:/resources/views/web/sections/static/post/comments.index.blade.php
Route::view('post/comments/', 'web.sections.static.post.comments.index')->name('post.comments.index');
网站复制工具
以Laravel-Go的方式爬取和复制现有网站。目前仍在开发中,但功能基本完整。这将爬取和抓取网站,创建路由、视图和资源文件。使用可选的--filter=
标志来过滤掉任何不想要的URI。
php artisan go:duplicate https://example.test --filter=/blog,/image
这将复制网站的主要页眉和页脚,并在 resources/views/web/layout/
文件夹中创建 header.blade.php
和 footer.blade.php
文件,并从任何包含它们的页面上删除 <header>
和 <footer>
。所有其他页面内容将复制到 resources/views/web/sections/static/
文件夹中自己的 blade.php
文件中,并放置在 main
部分指令之间。
默认包
Composer
已安装
- artesaos/seotools
- illuminatech/url-trailing-slash
- livewire/livewire
- predis/predis
- spatie/laravel-backup
- spatie/laravel-sitemap
- spatie/schema-org
- symfony/yaml
推荐
- blade-ui-kit/blade-heroicons
- blade-ui-kit/blade-icons
- blade-ui-kit/blade-ui-kit
- diglactic/laravel-breadcrumbs
- laravel/breeze
- laravel/jetstream
- lukeraymonddowning/honey
- propaganistas/laravel-phone
- protonemedia/laravel-analytics-event-tracking
- spatie/laravel-cookie-consent
- spatie/laravel-feed
- spatie/laravel-medialibrary
- spatie/laravel-missing-page-redirector
- spatie/laravel-newsletter
NPM
- @tailwindcss/forms
- @tailwindcss/typography
- alpinejs
- autoprefixer
- axios
- browser-sync-webpack-plugin
- browser-sync
- color
- cross-env
- lodash
- postcss
- tailwindcss-filters
- tailwindcss
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献指南。
安全漏洞
有关如何报告安全漏洞的详细信息,请查看 我们的安全策略。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。