raffaelj/drupal-theme-drinimal

此软件包已被放弃,不再维护。作者建议使用 drupal/drinimal 软件包。

Drupal 的最小基础主题

安装: 54

依赖: 0

建议者: 0

安全: 0

类型:drupal-theme

dev-main 2024-07-01 15:50 UTC

This package is auto-updated.

Last update: 2024-07-01 15:52:24 UTC


README

此项目/存储库已迁移到 drupal.org,并且已过时。

Drupal 的最小基础主题,包含一些有见地的更改和一些错误修复。

为什么?

Drupal 未经修改即可正常工作,但自带了沉重的 div 汤和许多不必要的类或属性。它还在首页上的 <link> 和 <a> 标记上存在一些严重问题 - 尤其是在多语言设置中。

默认的最小主题 "stable9" 过于臃肿。 "starterkit" 主题是 "stable9" 的子主题,并添加了更多臃肿。 "stark" 主题旨在测试,仅回退到系统模板。

因此,我编写了自己的基础主题,具有最少的 HTML 标记,并且没有核心 CSS。

我还开始了一个 Drupal 论坛上的帖子,其中包含更多解释和一些创建此最小主题过程中的挑战

待办事项/特性

  • 减少 div 汤的量
    • [x] 通过钩子移除 dialog-off-canvas-main-canvas 包装 div(可通过主题配置重新启用)
    • [x] 通过模板从媒体模块中移除围绕 <img> 的包装 <article>
      • [x] 通过钩子从图像包装 <article> 将对齐类传递给 img 标签
    • [x] 通过模板移除包装 div .layout-container.layout-content
    • 在模板文件的描述中查看更多更改
  • 移除不必要的 HTML 属性
    • [x] 从主内容中的 <article> 移除 data-history-node-id 属性
    • [x] 通过钩子移除 data-drupal-selector 属性
    • [x] 从菜单中的 <a> 移除 data-drupal-link-system-path 属性
    • [x] 从 <main>、<header>、<nav> 等. 中移除冗余的 role 属性
    • [x] 通过模板从 <article> 移除 data-history-node-id 属性
  • [x] 如果页面是首页,则在 node.html.twig 中修复节点 url
  • [x] 禁用核心 CSS
    • [x] 重新实现 .visually-hidden CSS(否则布局会出错,还使用 clip-path 而不是已弃用的 clip
  • 在语言切换中移除错误或无用的属性
    • [x] 从 <li> 中移除 hreflang
    • [x] 从 <li> 和 <a> 中移除 data-drupal-link-system-path
  • 修复指向首页的链接
    • [x] 在语言切换中
    • [x] 如果节点是首页,则修复 url 模板变量(用于 rel="bookmark" 链接)
  • [x] 通过钩子和模板将 aria-current="page"rel="home" 设置到菜单中的 <a>
  • [x] 通过模板移除无用的 <a id="main-content">,使用 <main id="main-content"> 代替
  • [x] 移除 <meta name="Generator" />
  • [x] 如果未登录,则移除 <div data-drupal-messages-fallback class="hidden"></div>
  • [ ] 首页的规范URL指向 /node/{id} --> 解决方案:安装 drupal/metatag - 无需配置即可修复,但对该简单任务而言依赖性很大
  • [ ] 删除跳过链接中不需要的 focusable 类 --> 需要覆盖 html.html.twig --> 这不值得
  • [ ] 减少HTML标记中的空行(优先级低)
  • [x] 在语言切换时禁用链接到未翻译的页面(使用 hreflang="x-default" 代替指向首页的链接) --> 可能可以通过 language_switcher_extended 模块修复 - 如果如此,那么这应该超出范围
  • [x] 修复使用跳过链接时滚动到错误位置的问题(当聚焦时有静态位置,但未聚焦时为绝对位置 --> 因此跳转到主内容会导致跳转到“主内容顶部”+“跳过链接的高度”)
    • [ ] TODO:在核心中打开问题

超出范围

  • [ ] 如果浏览器/客户端语言匹配,则从 / 重定向到 /en --> 通过 rljutils 插件 修复
  • [ ] 禁用核心和贡献模块中的所有 CSS/JS 库(匿名用户) --> 通过 disable_libraries 模块修复

安装

安装 Drupal 和 Drush

mkdir -p my-project && cd my-project
composer create-project drupal/recommended-project .
composer require drush/drush
# call `./vendor/bin/drush` instead of `drush` or
# add drush to $PATH - see https://www.drush.org/12.x/install/
drush site:install

安装并启用主题

# adding the repository can be skipped since 2023-01-15, because it is published on packagist.org
# composer config repositories.drinimal vcs https://codeberg.org/raffaelj/drupal-theme-drinimal

composer require "raffaelj/drupal-theme-drinimal:@dev"

drush theme:install drinimal

# set as default theme (probably unwanted, because it's a base theme)
# drush config:set -y system.theme default drinimal

# rebuild cache after setting default theme
# drush cache:rebuild

更新

composer update
drush cache:rebuild

版权和许可

版权所有 2023 Raffael Jesche,根据 GPL-2.0-or-later 许可协议。

有关更多信息,请参阅 LICENSE.txt

致谢和第三方库

我复制并修改了一些来自 Drupal 核心模块的 twig 模板,这些模板根据 GPL-2.0-or-later 许可证授权。