1 个不稳定版本

0.0.1 2024年6月24日

#6 in #shopify

AGPL-3.0

145KB
2.5K SLoC

Pest 2.5K SLoC // 0.4% comments Rust 5 SLoC // 0.3% comments

Liquid Grammar Pest

Shopify Liquid 的 Pest 语法



要求

此存储库需要 Rust 语言/编译器从源代码构建

截至此 ReadMe 文件的最后更新,推荐安装 Rust 的方法是使用安装脚本...

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

快速开始

此存储库是一个 Rust 库,在项目的 Cargo.toml 文件中将它定义为依赖项...

Cargo.toml (省略)

[dependencies]
pest = "2.7.10"
liquid_grammar_pest = "0.0.1"

有关定义依赖项的详细信息,请参阅 Rust -- 文档 -- 定义依赖项

然后在源文件中通过 use 语句包含它...

src/main.rs

use liquid_grammar_pest::{LiquidParser, Rule};
use pest::Parser;

使用

请检查 tests/examples/ 文件中的示例代码。


备注

此存储库可能不是功能完整和/或完全功能性的,欢迎通过拉取请求添加功能或修复错误。

此存储库专注于提供语法,并通过 Pest 提供分词器。实现解释器、错误定制或任何其他附加功能是存储库消费者的责任。


贡献

为 liquid-grammar-pest 和 rust-utilities 贡献的选项


分支

从您有写权限的账户开始创建此存储库的 分支

cd ~/git/hub/rust-utilities/liquid-grammar-pest

git remote add fork git@github.com:<NAME>/liquid-grammar-pest.git
  • 提交您的更改并将它们推送到您的分支,例如,修复一个问题...
cd ~/git/hub/rust-utilities/liquid-grammar-pest


git commit -F- <<'EOF'
:bug: Fixes #42 Issue


**Edits**


- `<SCRIPT-NAME>` script, fixes some bug reported in issue
EOF


git push fork main

注意,可以使用 -u 选项将 fork 设置为默认远程,例如:git push -u fork main。然而,这也将默认将 fork 远程用于拉取!这意味着必须显式地从 origin 拉取更新,例如:git pull origin main

  • 然后在 GitHub 通过 Web-UI 提交 Pull Request,URL 语法为 https://github.com/<NAME>/<REPO>/pull/new/<BRANCH>

注意;为了降低您的 Pull Request 在被接受前需要修改的风险,请查看 dot-github 存储库中的详细贡献指南。


赞助商

感谢您考虑这一点!

通过 Liberapay,您可以定期 sponsor__shields_io__liberapay 赞助。

无论您是否能够财务支持 rust-utilities 维护的项目,例如 liquid-grammar-pest,请考虑与他人分享有用的项目,因为维护开源存储库的一个目标是为社区提供价值。


归属


许可

本项目的许可基于使用场景


商业和/或专有使用

如果项目是商业的或(||)专有的,那么请与作者联系,以了解使用此存储库中的代码和/或特性的定价和许可选项。


非商业和开源使用

如果项目既非商业的,并且(&&)发布与 AGPL-3.0 兼容的许可,则它可以在以下条款下使用此存储库中的代码。

Pest grammar for parsing Shopify Liquid
Copyright (C) 2024 S0AndS0

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

... 有关更详细的信息,请参阅 AGPL-3.0 许可证的完整版本。

依赖项

~2–2.8MB
~57K SLoC