hieu-le / favicon
一个可配置的PHP解决方案,从原始PNG文件自动生成favicon和HTML元标签。
1.1.0
2015-03-19 02:34 UTC
Requires
- php: >=5.3.3
- imagine/imagine: ~0.1
- symfony/console: ~2.0
Requires (Dev)
- phpunit/phpunit: ~4.0
Suggests
- ext-imagick: To use the binary and generate favicon images
This package is auto-updated.
Last update: 2024-09-05 20:12:46 UTC
README
一个可配置的PHP解决方案,从原始PNG文件自动生成favicon和HTML标签。
这个包做什么?
简而言之,它可以帮助您仅使用一个原始PNG图像就正确显示网站favicon。
更详细地说,它支持
- 从单个原始PNG图像创建一个ICO文件和多个PNG文件,包含多个favicon大小,以及为Android设备生成一个
manifest.json
文件。输入文件路径和输出文件夹(包含图像和json文件)都可以通过命令行界面进行配置。 - 生成适用于桌面网络浏览器和移动触摸设备的合适的
meta
和link
标签,以正确显示favicon。
安装
我们需要PHP imagick扩展或PHP GD扩展来生成图像。默认情况下,加载了Imagick扩展,如果无法安装它,可以在可用的情况下通过命令行选项切换到使用GD 扩展。
您需要(Composer)[]来使用此包。安装Composer后,将此依赖项添加到您的composer.json
文件中。
"hieu-le/favicon" : "~1.0"
运行composer update
并开始使用。
生成图像
要使用命令行生成favicon文件
$ vendor/bin/favicon generate [--ico-64] [--ico-48] [--no-old-apple] [--no-android] [--no-ms] [--app-name="..."] input [output]
参数
input
:输入图像文件的路径,这是必需的output
:包含输出文件的文件夹的路径。如果此文件夹不存在,则包将尝试创建它。此参数是可选的,默认值为当前文件夹。
选项
默认使用Imagick扩展。如果无法加载Imagick扩展,则使用GD库。--use-gd
:使用GD扩展而不是Imagick扩展--ico-64
:在输出ICO文件中包含64x64图像(默认情况下,输出ICO文件只包含16x16和32x32图像)--ico-48
:在输出ICO文件中包含48x48图像(默认情况下,输出ICO文件只包含16x16和32x32图像)。--ico-48
和--ico-64
选项会使输出图标文件的大小大大增加。--no-old-apple
:排除旧款Apple触摸设备使用的png文件--no-android
:排除manifest.json
文件和Android设备的PNG文件--no-ms
:排除Windows磁贴的图像--app-name="..."
在manifest.json
文件中设置应用程序名称。默认为空字符串。
输出HTML标签
在您的HTML模板中调用favicon
函数,如下所示
echo favicon($option = FAVICON_ENABLE_ALL, array $msOptions = array())
$option
参数是一个位掩码,具有以下位
FAVICON_NO_OLD_APPLE
:不要包含旧款Apple触摸link
标签FAVICON_NO_ANDROID
:不要包含Androidmanifest.xml
链接标签FAVICON_NO_MS
:不要包含Windows和IEmeta
标签
默认值FAVICON_ENABLE_ALL
关闭所有这三个位,并将所有内容包含在最终输出中。以下是一些示例
- 要排除旧款Apple触摸
link
标签:FAVICON_NO_OLD_APPLE
- 要排除Android清单文件和IE的
meta
标签:FAVICON_NO_ANDROID | FAVICON_NO_MS
- 要排除所有这些附加标签:
FAVICON_NO_OLD_APPLE | FAVICON_NO_ANDROID | FAVICON_NO_MS
$msOptions
参数是一个包含Windows和IE信息的数组。它可以有以下字段
tile_color
:当此网站被固定时,实时磁贴的背景色,默认为白色(#ffffff
)browser_config_file
:如果有浏览器配置XML文件,则为其指定路径。默认情况下,它被设置为空字符串,以防止IE自动查找browserconfig.xml
文件application_name
:用户固定此网站时显示的默认应用程序名称
的结果是
echo favicon(FAVICON_ENABLE_ALL, array( 'tile_color' => '#F0F0F0', 'browser_config_file' => 'IEConfig.xml', 'application_name' => 'Hieu Le Favicon' ));
一个HTML片段,链接到
<meta name="msapplication-config" content="/IEConfig.xml" /> <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png" /> <link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png" /> <link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png" /> <link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png" /> <link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png" /> <link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png" /> <link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png" /> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png" /> <link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="/android-chrome-192x192.png" sizes="192x192" /> <link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16" /> <link rel="manifest" href="/manifest.json" /> <meta name="application-name" content="Hieu Le Favicon" /> <meta name="msapplication-TileColor" content="#F0F0F0" /> <meta name="msapplication-TileImage" content="/mstile-144x144.png" /> <meta name="msapplication-square70x70logo" content="/mstile-70x70.png" /> <meta name="msapplication-square150x150logo" content="/mstile-150x150.png" /> <meta name="msapplication-wide310x150logo" content="/mstile-310x150.png" /> <meta name="msapplication-square310x310logo" content="/mstile-310x310.png" />
许可证
该软件包在MIT许可证下发布。有关更多详细信息,请参阅LICENSE
文件。