tux-web-tools / rss-feed-site-generator
从RSS源生成网站
Requires
- php: >=7.2.5
- ext-ctype: *
- ext-iconv: *
- ext-json: *
- ext-simplexml: *
- simplepie/simplepie: ^1.5
- symfony/apache-pack: ^1.0
- symfony/asset: 5.2.*
- symfony/console: 5.2.*
- symfony/dotenv: 5.2.*
- symfony/flex: ^1.3.1
- symfony/framework-bundle: 5.2.*
- symfony/twig-bundle: 5.2.*
- symfony/yaml: 5.2.*
- twig/extra-bundle: ^2.12|^3.0
- twig/twig: ^2.12|^3.0
Conflicts
Replaces
README
Symfony 5应用,用于根据给定的RSS源生成网站,最佳搭配播客源。
安装
Composer(推荐方法)
composer create-project tux-web-tools/rss-feed-site-generator my_project_name
这会创建项目和必要的配置文件。
Git/源代码
克隆仓库或下载源代码。然后在项目目录的根目录下通过composer安装
开发
composer install
生产
composer install --no-dev --optimize-autoloader
设置生产环境
composer dump-env prod
如有需要,清除缓存
php bin/console cache:clear
配置
如果您没有使用composer创建项目,需要复制全局配置文件并重命名。
cd config
cp rss.yaml rss.local.yaml
可用的配置项
查看rss.yaml文件,查看所有可用的配置选项。
必需的配置
唯一必需的参数是包含RSS源URL的_rss_feed_url_和确定要生成的网站类型的_type_:播客默认为1。要渲染更通用的RSS源,应将_type_设置为0。
进一步配置
要显示与RSS源提供的不同的自定义标志,可以在/public/image中放置一个图片文件,文件名包括文件扩展名需要添加到logo中。可以通过覆盖rss.local.yaml中的标题、描述、背景和字体颜色来进一步自定义标题。也可以通过favicon进行自定义。
要在页脚显示“法律信息”,需要提供_copyright_、_imprint_url_和_imprint_link_name_。
如果内容来自其他网站,可以添加_canonical_link_。
子主题
可以通过将_child_theme_设置为1来启用自定义子主题的使用。复制原始主题并将其重命名为_rss_feed_child_。
cd templates
cp -r rss_feed rss_feed_child
需要相应地调整文件扩展名和包含,例如。
{% extends 'rss_feed_child/feed_site.html.twig' %}
{{ include('rss_feed_child/_metatags.html.twig' }}
应用程序所需的主要模板
- 播客源
- podcast.html.twig
- _episodes.html.twig
- 通用项目源
- generic.html.twig
- _items.html.twig
- error.html.twig适用于两种类型
这些模板必须存在,但其内容可以根据需要调整和扩展,以自定义生成的网站外观。
要添加custom.css和custom.js,请将这些文件放置在public/css或public/js的相应目录中,并将base.html.twig中的stylesheets和javascripts twig块从您的子主题复制并粘贴到自定义文件中。
路由
路由定义在/config/routes.yaml中。应用程序的默认路径是{domain}/public/。
许可证
本项目采用MIT许可证 - 请参阅LICENSE文件以获取详细信息。
致谢
- 使用了Skeleton响应式模板https://github.com/dhg/Skeleton
- 基于https://gist.github.com/SimonSimCity/4594748的twig分页
- 使用htmxFrameworkhttps://htmx.npmjs.net.cn/
- 使用Green Audio Playerhttps://github.com/greghub/green-audio-player
- 使用SimplePie https://github.com/simplepie/simplepie