网站建设

使用webP格式图片提高Drupal 8/9网站的页面加载速度

By 大伟哥 | 2022-05-17,周二, 19:06

为你的网站启用WebP图像,可以为每个页面加载节省数百万字节的数据!这听起来有点夸张,或者说有点俗气。但这是真的。如果网络环境较慢的,这会带来相当不同的结局:页面秒开,访客留下来阅读你的页面;或者经过漫长时间的等待仍然加载不出来,访客只能沮丧地按下浏览器菜单上的叉号。

什么是WebP?

WebP是一种新的图像格式,能够以更小的文件尺寸呈现更高质量的图像。它还支持一些很酷的功能,如透明度(一般用PNG图像处理)和动画(一般用GIF动画或视频处理)。

在Drupal 9中启用响应式图片支持

By 大伟哥 | 2022-05-17,周二, 10:43

最佳的用户体验是网站开发追求的一个重要方面,而其中的关键是保证正确的图像尺寸。大分辨率的图片一股适用桌面显示器,而如果有些访问者使用的是移动设备,那么加载这些非常大的图片反而不是最佳选择。

确保为正确的设备提供正确大小的图像就是所谓的 "响应式图像"。

响应式图像有助于提高加载速度,节省带宽,并给访问者带来更好的整体体验。

这篇文章将重点介绍在Drupal 9中设置响应式图片。

对于Drupal 9,启用响应式图片支持的的关键步骤如下:

Drupal Barrio: popper.min.js no such file error

By 大伟哥 | 2022-05-06,周五, 10:16

安装并启用 Drupal 的 Barrio 主题后,细心的朋友在调试的时候可能会发现,Barrio 导入的一个js文件  popper.min.js 并没有正确加载。

Barrio 主题和子主题里定义的 popper.min.js 路径是 /libraries/popper.js/dist/umd/popper.min.js,但没有附带这个文件,也没有定义下载的路径。实际上popper.min.js已经存在于 Drupal 核心里了,它的路径是 :/core/assets/vendor/popperjs/popper.min.js。

Drupal 9 Barrio 自定义子主题显示异常的表现及解决方法

By 大伟哥 | 2022-05-02,周一, 19:26

Barrio是一个基于Bootstrap 4/5的主题,同时支持Drupal 8和 Drupal 9。这个主题使用标准的 Bootstrap 4/5 标记完全重写了Drupal的twig 模版,使它可以只使用 Bootstrap 的CSS样式,外加少量的自定义CSS样式。对Bootstrap涵盖的部分,Barrio 主要是基于 Flex.

按照模块的文档安装完成主题并创建子主题后,无论如何调试,效果都不能和 Barrio 自带的子主题一样,主要表现在两点:

用 CloudFlare CDN 来加速和保护你的英文网站

By 大伟哥 | 2022-04-27,周三, 12:06

最近疫情出不了门,大伟哥正好有时间闷在家里做网站。考虑到新做的网站是英文的,目标访客是国外各地,为了让不同国家的访客都有很好的打开速度,需要用上CDN(全称是Content Delivery Network,即内容分发网络),首选当然是大名鼎鼎的 CloudFlare.

注册过程就不说了,很简单,CloudFlare也有中文界面。我们直接说配置过程。

1. 注册完成后,添加网站(Add site),输入自己的域名。

2. 选择不同的套餐,我们选最下面的 Free, 小网站够用了。 土豪可以随意选,最贵的是最好的。

解决不能通过 proxy 代理运行 apt 安装非官方deb PHP软件包

By 大伟哥 | 2022-04-12,周二, 12:22

最近趁着疫情封家,给自己的几台服务器和测试机器都升级到 PHP 8.1, 其中一台本地测试机器从一开始就不太顺利,因为这个源的服务器在国外的原因,丢包率太高了,正常添加源都很困难,更别说运行 apt update 了。给大家看一下上海移动网络的情况:

Debian 安装 bash-completion 实现命令补全

By 大伟哥 | 2022-04-11,周一, 21:34

正常情况下,Linux 的命令行会有自动补全功能,当你输入终端命令或者参数的前几个字母后按 TAB 键,系统会自动帮你补全后面的命令,如果有多个可选项,就会列出来,这无疑是个很有用的功能,不仅可以节省很多打字的时间,同时也允许我们不用费劲精确记住这么多的命令和参数。

大伟哥这两天新装了一个测试系统,是 wsl2 下的 Debian 11,  安装完成后发现命令行下目录和文件名是可以自动补齐的,但是命令不能自动不齐。运行apt-cache 命令,发现实现命令补齐的包没有安装:

Apache 让不同的网站分别运行指定PHP版本

By 大伟哥 | 2022-04-07,周四, 12:46

昨天升级阿里云服务器的PHP版本到8.1以后,突然发现服务器上运行的另一个 Magento 1.9 网站出错了。即使打了补丁,Magento 1 支持的最高PHP版本也只能到 PHP 7.x。因此这个网站因为不适应新的环境罢工了。

Magento 1 的网站内容和流量很少,为了这个网站,肯定不能把好不容易才升级上去的版本降级回去,哪怕把它迁移到新的平台也不能再降级回去啊。不过现在精力有限,有没有更好的办法先它先运行着,等忙完别的事情再回来处理这个?最终大伟哥找到了一个在 Apache 服务器下让不同网站运行在不同版本的PHP上的办法。

在 Debian 10/11 上使用 ppa 源升级安装 PHP 8.1

By 大伟哥 | 2022-04-06,周三, 09:58

Drupal 9 虽然支持 PHP 7.3 和 PHP 7.4,但 Drupal 官方已经不推荐了,现在推荐的是PHP 8.0 和 PHP 8.1,至于后面发布的 Drupal 10, 则要求必须是 PHP 8.1 版本以上,连8.0都不支持了。为了更好的性能和更平滑的版本升级,大伟哥决定把现在用的PHP 7.3/7.4 升级到面向未来的 PHP 8.1。

而大伟哥目前使用的 Debian 10 和 Debian 11 默认源里是没有 PHP 8.0/8.1 的,要升级到 PHP 8.1, 有以下三种方法: