Grav - 面试问题



亲爱的读者,这些Grav 面试问题专为帮助您熟悉在Grav主题的面试中可能遇到的问题类型而设计。根据我的经验,优秀的 interviewers 很少会提前计划在面试中问什么具体问题,通常问题会从主题的一些基本概念开始,然后根据后续的讨论和您的回答继续进行。

Grav 是一个基于平面文件的內容管理系统,它不使用数据库来存储内容,而是使用文本文件(.txt)或 Markdown(.md)文件来存储内容。

Grav 是一种新型的、速度极快的平面文件内容管理系统,发布和管理内容都更加容易。它允许开发人员通过将内容存储在文件中(例如文本或 Markdown 文件)而不是数据库中,来非常轻松地处理内容。如果您想构建一个简单、易于管理且快速的网站,最好选择 Grav 平面文件 CMS。它的成本低于数据库驱动的 CMS,并且在文件处理的 I/O 方面很有用,当您没有足够的资源来处理数据库时。

Grav 的功能包括:

  • 它是一个快速、简单且强大的平面文件 Web 平台。

  • 它用于构建网站,无需额外的工具或 HTML 知识。

  • 它使用文本文件或 Markdown 文件来存储内容。

  • 它不使用数据库,因此消除了造成瓶颈的原因。

  • 它使用 Twig 提供的基于 PHP 的模板,该模板直接解析为 PHP,这使得它速度很快。

Grav 的优点包括:

  • 它不是基于数据库的 CMS,因此非常易于安装,并且在您将文件上传到服务器后即可使用。

  • 它使用 Markdown 文本文件来简化操作。使用它,内容将动态转换为 HTML 并显示在浏览器中。

  • 在安全性方面,Grav 没有管理区域和数据库。因此,没有机会入侵帐户或数据库以访问重要数据。

  • 您可以轻松地备份所有文件以保存网站的备份副本,因为没有数据库需要备份。

  • 它是一款软件,不需要花费太多时间学习。

Grav 的缺点包括:

  • 有时未经授权的用户可以直接从文件中访问您的内容,因为没有数据库来存储这些文件。

  • 使用 Grav CMS 构建复杂的网站比较困难。

PHP 5.4 或更高版本

页面可以定义为站点的构建块。页面结合了内容和导航,即使对于没有经验的用户也易于使用。

Markdown 中的 # 或哈希语法表示标题,它将转换为 HTML 中的 <h1> 标题。

** 标记表示粗体文本或 HTML 中的 <b>。

Grav 页面支持 3 种类型的页面:

  • 标准页面。

  • 列表页面。

  • 模块化页面。

Markdown 语法被定义为以易于阅读和易于编写的方式编写纯文本,然后将其转换为 HTML 代码。Markdown 语法中使用诸如 (*) 或 (') 之类的符号。这些符号用于加粗、创建标题和组织内容。

使用 Markdown 语法的益处包括:

  • 它易于学习,字符最少。

  • 当您使用 Markdown 时,出错的可能性非常小。

  • 有效的 XHTML 输出。

  • 您的内容和视觉显示保持分离,因此不会影响您的网站外观。

  • 您可以使用任何文本编辑器或 Markdown 应用程序。

强调是指 Markdown 语法中用于加粗、斜体或删除线的书写格式。

  • 粗体 - 使用文本两侧的两个 (**) 符号可以使文本变为粗体。

  • 斜体 - 在单词两侧使用下划线 (_) 符号可以使文本变为斜体。

  • 删除线 - 在单词两侧使用两个波浪号 (~~) 可以删除单词。

内容中使用的 4 种链接类型包括:

  • 片段相对链接

  • 目录相对链接

  • 绝对链接

  • 远程链接

远程链接允许您通过其 URL 直接链接到任何文件或文档。无需包含您自己网站的内容。

以下是 Grav 支持的媒体文件类型:

  • 图像 - jpg、jpeg、png。

  • 动画图像 - gif。

  • 矢量化图像 - svg。

  • 视频 - mp4、mov、m4v、swf。

  • 数据/信息 - txt、doc、pdf、html、zip、gz。

添加 Sepia 滤镜可以使图像呈现复古外观。

模块化页面能够从其子页面创建单个页面。它用于设置为不可路由,因为无法通过 URL 直接访问它们。它们在文件夹名称前由 _(下划线)标识。它是一组页面,这些页面一个接一个地显示以获得单个页面。

过滤器用于以您想要的方式格式化数据并输出。函数用于生成内容。Twig 模板是包含表达式和变量的文本文件,这些表达式和变量将被值替换。

Twig 使用三种类型的标签,即

  • 输出标签

  • 操作标签

  • 注释标签

有一些选项可以传递 CSS 资源数组:

  • 优先级 - 它采用整数,默认值为 100。

  • 管道 - 当资源未包含在管道中时,它设置为 false。默认值设置为 true。

Grav 允许您使用名称注册 CSS 和 JS 资源的集合,以便您可以使用已注册的名称将资源添加到资源管理器。这可以通过 Grav 中一项名为命名资源的功能来实现。这些自定义集合在 system.yaml 中定义,以便任何主题或插件都可以使用。

分组资源允许您在添加资源时传递包含可选组的选项数组。当您需要在页面的特定部分使用一些 JS 文件或内联 JS 时,此功能非常有用。

scss --watch scss:css-compiled

主题继承是修改或定制主题的最佳方法,并且可以通过一些设置来实现。基本思想是,主题被定义为您从中继承的基本主题,并且只允许修改某些部分,其余部分由基本主题处理。使用主题继承的优点是,每当更新基本主题时,定制的继承主题都不会直接受到影响。

随机插件的重要要点包括:

  • 您可以使用此插件通过使用 URI 为 /random 来显示随机页面。

  • 创建过滤器以利用页面中指定的分类法。您可以创建为 category : blog

  • 您可以使用过滤器选项显示随机页面,它通知 Grav 使用相同的内容在随机页面中显示。

事件钩子与 Grav 从头到尾都有直接关系。您必须了解钩子的调用顺序以及在这些调用时可以使用什么。

Problem 插件使用此功能来管理显示 Grav 产生致命错误的完整解释列表。

在此过程中,您将按照 Twig 方法的顺序看到完整的站点模板。此外,您可以在此过程中向 Twig 添加任何变量。

Grav 管理面板插件的功能包括:

  • 启用或禁用插件管理器列表中存在的插件。

  • 它包含忘记密码的功能。

  • 媒体文件可以通过拖放方法上传。

  • 允许在普通和专家模式下通过 yaml 或表单进行编辑。

  • 在用户登录期间提供自动密码加密功能。

Blueprints 是关于资源(信息来源)的元数据信息。它有两个用途:

  • 第一个是资源本身的标识。

  • 第二个是关于表单的。

有 5 种缓存类型:

  • 将 YAML 配置缓存到 PHP 中。

  • 页面对象的 Grav 核心缓存。

  • 将模板文件作为 PHP 类进行 Twig 缓存。

  • 媒体资源的图像缓存。

  • 使用流水线对 CSS 和 jQuery 进行资产缓存。

CLI 代表命令行界面,存储在 bin/grav 中。它执行一些任务,例如清除缓存、创建备份副本等。

$ bin/grav composer

GPM 代表 **Grav 包管理器**,用于安装、更新、卸载和列出 Grav 存储库中可用的插件。GPM 使用命令行界面(如终端或 cmd)执行命令。

$ bin/gpm self-upgrade

Grav Skeleton 描述了一个示例站点,其中包含 Grav 核心、插件、页面、主题等。Grav 最初的想法是使站点构建非常容易。开发站点所需的内容都放置在用户文件夹中。Grav 的骨架附带各种依赖项,例如插件、主题等,并将它们存储在一个包中,可以解压缩以运行简单的示例。

Grav 生命周期的四个主要步骤是:

  • PHP 版本

  • 初始化加载器类

  • 获取 Grav 实例

  • 调用 Grav 处理过程

YAML 代表 YAML Ain't Markup Language,它包含人类可读的内容,通常用于配置文件、蓝图(关于资源的元数据信息)和页面设置。

YAML 支持一些基本数据类型,可以与编程语言一起使用,例如:

  • 标量 - 字符串或数字。

  • 序列 - 数组或列表。

  • 映射 - 哈希或字典。

Grav 支持以下托管服务:

  • Rochen Web Hosting

  • WireNine

  • Crucial Web Hosting

  • Arvixe

  • SiteGround

  • Dreamhost

可能导致服务器错误的一些原因包括:

  • 配置过时。

  • 文件权限不正确。

  • 配置文件格式无效。

  • 文件系统更改未被 Grav 识别。

bin/grav clear-cache

一些响应式图像类型包括:

  • 更高密度的显示

  • 带媒体查询的大小

它会在文件名后面添加后缀,并且您可以向页面添加更高密度的图像。

特殊的表单字段包括:

  • Markdown

  • 前置 matter

  • Selectize

  • 分类法

  • 切换

它用于以原始格式显示页面。

它指定了可以报告问题或错误的 URL。

此事件有助于处理和管理表单。

它根据需要拉伸图像,而不管原始比例如何。

广告

© . All rights reserved.