Grav - 面试问题


亲爱的读者,这些Grav 面试问题是专门为让您熟悉在面试Grav主题时可能遇到的问题的性质而设计的。根据我的经验,好的面试官几乎不会计划在面试过程中提出任何特定问题,通常问题从主题的一些基本概念开始,然后根据进一步的讨论和你的回答继续 -

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

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

Grav 的特点是 -

  • 它是快速、简单且功能强大的平面文件网络平台。

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

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

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

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

Grav 的优点是 -

  • 它不基于数据库CMS,因此安装非常简单,当您将文件上传到服务器时即可使用。

  • 它使用 Markdown 文本文件来使事情变得简单。使用此功能,内容将动态转换为 HTML 并显示在浏览器中。

  • 为了安全起见,Grav 没有管理区域和数据库。因此,没有机会侵入帐户或数据库来访问重要数据。

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

  • 这是一款不需要更多时间学习的软件。

Grav 的缺点是 -

  • 有时,未经授权的用户可能会直接从文件访问您的内容,因为没有文件的数据库。

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

PHP 5.4 或更高版本

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

Markdown 中的 # 或 hashes 语法表示将转换为 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。

添加棕褐色滤镜可为图像带来复古外观。

模块化页面允许从其子页面创建单个页面。它用于设置为不可路由,因为无法通过 URL 直接访问它们。它们由文件夹名称前的 _(下划线)标识。它是页面的集合,每个页面上方显示一个页面以获得单个页面。

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

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

  • 输出标签

  • 动作标签

  • 评论标签

有几个选项可以为 CSS 传递资产数组 -

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

  • pipeline - 当资产不包含在 pipeline 中时,它设置为 false 值。并且默认值设置为 true。

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

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

scss --watch scss:css-compiled

主题继承是修改或自定义主题的最佳方式,只需少量设置即可完成。基本思想是,主题被定义为您继承的基主题,并且只允许修改某些部分,其余内容由基主题处理。使用主题继承的优点是,每当基础主题更新时,自定义的继承主题不会受到直接影响。

随机插件的要点是 -

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

  • 创建过滤器以利用页面中指定的分类法。您可以创建类别:博客

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

事件钩子自始至终都与 Grav 有着直接的关系。您必须了解调用钩子的顺序以及这些调用时可用的内容。

Problem 插件使用它来管理显示完整解释列表,解释为什么重力会产生致命错误。

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

Grav 管理面板插件的功能是 -

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

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

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

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

  • 用户登录时提供自动密码加密功能。

蓝图是有关资源(信息源)的元数据信息。它有两个目的 -

  • 首先是资源标识本身。

  • 其次是关于形式。

有 5 种类型的缓存 -

  • YAML 配置缓存到 PHP 中。

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

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

  • 媒体资源的图像缓存。

  • 通过管道对 CSS 和 jQuery 进行资源缓存。

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

$ bin/grav composer

GPM 代表Grav Package Manager,用于安装、更新、卸载和列出 Grav 存储库上的可用插件。GPM 使用命令行界面(例如终端或 cmd)执行命令。

$ bin/gpm self-upgrade

Grav 框架描述了一个示例站点,其中包含 Grav 核心、插件、页面、主题。Grav 背后的最初想法是非常轻松地构建网站。开发网站所需的东西都放在用户文件夹中。Grav 的骨架带有各种依赖项,例如插件、主题等,并将它们存储在一个包中,可以解压该包来运行简单的示例。

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

  • PHP版本

  • 加载器类已初始化

  • 获取Grav实例

  • 呼叫重力过程

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

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

  • 标量- 字符串或数字。

  • 序列- 数组或列表。

  • 映射- 哈希或字典。

Grav 支持以下托管服务 -

  • 罗辰虚拟主机

  • 九号线

  • 至关重要的虚拟主机

  • 阿尔维克斯

  • 站点地面

  • 梦想主机

可能导致服务器错误的一些原因是 -

  • 过时的配置。

  • 文件权限不正确。

  • 无效的格式化配置文件。

  • Grav 不知道文件系统中的更改。

bin/grav clear-cache

响应式图像的几种类型是 -

  • 更高密度的显示器

  • 带有媒体查询的尺寸

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

特殊表单字段是 -

  • 降价

  • 前题

  • 选择

  • 分类

  • 切换

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

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

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

无论原始比例如何,它都会根据需要拉伸图像。