allmega/blog

基于Symfony的内容管理系统

安装: 475

依赖: 9

建议者: 0

安全: 0

类型:symfony-bundle

v1.0.0 2024-09-27 19:48 UTC

This package is auto-updated.

Last update: 2024-09-27 19:49:10 UTC


README

请确保已全局安装SymfonyNodejsComposer,具体安装方法请参考其文档中的安装章节

创建您的项目目录

打开命令行工具,进入您的webroot目录,然后执行以下命令

$ symfony new YOUR_PROJECT_NAME --webapp --version=lts

安装所有必需的依赖项

打开命令行工具,进入您的项目目录,然后执行以下命令

$ composer require api symfony/webpack-encore-bundle symfony/finder twig/markdown-extra twig/intl-extra symfonycasts/verify-email-bundle symfonycasts/reset-password-bundle symfony/rate-limiter nelmio/api-doc-bundle nelmio/security-bundle gesdinet/jwt-refresh-token-bundle knplabs/knp-snappy-bundle knplabs/knp-paginator-bundle knpuniversity/oauth2-client-bundle league/commonmark league/oauth2-facebook league/oauth2-google zytzagoo/smtp-validate-email

安装用于phpunit测试的Dama扩展包

$ composer require dama/doctrine-test-bundle --dev

为JWT Lexik扩展包生成SSL密钥

$ ./bin/console lexik:jwt:generate-keypair

密钥将保存在config/jwt/private.pem和config/jwt/public.pem中,将以下空键添加到文件config/packages/security.yaml中:security.firewalls.api

安装wkhtmltopdf

请参阅wkhtmltopdf的安装说明。打开.env文件,并调整wkhtmltopdf二进制文件的路径,例如/usr/bin

使用Symfony Flex的应用程序

打开命令行工具,进入您的项目目录,然后执行以下命令

$ composer require allmega/blog

不使用Symfony Flex的应用程序

第1步:下载扩展包

打开命令行工具,进入您的项目目录,然后执行以下命令以下载此扩展包的最新稳定版本

$ composer require allmega/blog

第2步:启用扩展包

然后,通过将其添加到项目config/bundles.php文件中注册的扩展包列表中来启用扩展包

return [
    // ...
    Allmega\BlogBundle\AllmegaBlogBundle::class => ['all' => true],
];

修改Webpack配置

  • 在文件webpack.config.js中取消注释.autoProvidejQuery()这一行
  • 在此行之后添加以下内容:.autoProvideVariables({ $: 'jquery', jQuery: 'jquery', 'window.jQuery': 'jquery' })
  • ENTRY CONFIG区域添加扩展包和主题资源条目部分
/** ALLMEGA_BEGIN_BUNDLES_ENTRIES */
/** ALLMEGA_END_BUNDLES_ENTRIES */

/** ALLMEGA_BEGIN_THEME_ENTRIES */
/** ALLMEGA_END_THEME_ENTRIES */

注册所有需要的扩展包

打开命令行工具,进入您的项目目录,然后执行以下命令

$ ./bin/console allmega:packages:register all

如有必要,添加测试的配置选项

如果不存在,则创建文件.env.test.local,并将文件.env.local的内容复制粘贴到创建的文件中,保存并关闭此文件

安装webpack-encore的库

打开命令行工具,进入您的项目目录,然后执行以下命令

$ npm install @popperjs/core @fortawesome/fontawesome-free jquery bootstrap flatpickr hc-offcanvas-nav
$ npm run build

导入包配置文件

将以下行添加到config/services.yaml

imports:
    - { resource: '@AllmegaAuthBundle/config/packages/' }
    - { resource: '@AllmegaBlogBundle/config/packages/' }

为CMS创建数据库表

打开命令行工具,进入您的项目目录,然后执行以下命令

$ ./bin/console doctrine:schema:update -f

为已注册的扩展包加载数据

打开命令行工具,进入您的项目目录,然后执行以下命令

$ ./bin/console allmega:packages:load all -s

编辑“composer.json”中的“auto-scripts”部分

"auto-scripts": {
    "cache:clear": "symfony-cmd",
    "importmap:install": "symfony-cmd",
    "assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd",
    "doctrine:schema:update -f --complete": "symfony-cmd",
    "allmega:packages:register all --no-interaction": "symfony-cmd",
    "allmega:packages:load all": "symfony-cmd"
},

测试

打开phpunit.xml.dist,并将以下内容添加到php标签中

<env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled" />

打开命令行工具,进入您的项目目录,然后执行以下命令

$ ./bin/phpunit --stop-on-failure