pkl README

The project's README from github.com/apple/pkl. As one markdown file: README.md.

= image:.idea/icon.svg[Pkl,30] Pkl

:uri-homepage: https://pkl-lang.org :uri-docs: {uri-homepage}/main/current :uri-docs-introduction: {uri-docs}/introduction :uri-docs-release-notes: {uri-docs}/release-notes :uri-docs-language: {uri-docs}/language :uri-docs-tools: {uri-docs}/tools :uri-github-issue: https://github.com/apple/pkl/issues :uri-github-discussions: https://github.com/apple/pkl/discussions :uri-pkl-examples: https://pkl-lang.org/main/current/examples.html :uri-installation: https://pkl-lang.org/main/current/pkl-cli/index.html#installation :uri-lang-reference: https://pkl-lang.org/main/current/language-reference/index.html :uri-ci-artifacts: https://s01.oss.sonatype.org/content/groups/public/org/pkl-lang/ :uri-ci-pipeline: https://github.com/apple/pkl/actions

A configuration as code language with rich validation and tooling.

== Quick Links

== Documentation

== Community

We'd love to hear from you!

== Development

image:https://github.com/apple/pkl/actions/workflows/main.yml/badge.svg?style=svg["Build (main)", link="https://github.com/apple/pkl/actions/workflows/main.yml"]

== Pkl GitHub Repositories

[%autowidth] |=== |Name |Description

|apple/pkl |A configuration as code language with rich validation and tooling.

|https://github.com/apple/pkl-evolution[`apple/pkl-evolution`] |Suggested Pkl Improvements, Changes, or Enhancements (SPICEs)

|https://github.com/apple/pkl-go[`apple/pkl-go`] |Pkl bindings for the Go programming language

|https://github.com/apple/pkl-go-examples[`apple/pkl-go-examples`] |Examples for using Pkl within Go applications

|https://github.com/apple/highlightjs-pkl[`apple/highlightjs-pkl`] |Highlight.js syntax highlighting for Pkl

|https://github.com/apple/pkl-intellij[`apple/pkl-intellij`] |JetBrains editor plugins providing Pkl language support

|https://github.com/apple/pkl-jvm-examples[`apple/pkl-jvm-examples`] |Examples for using Pkl within JVM applications

|https://github.com/apple/pkl-k8s[`apple/pkl-k8s`] |Templates for using Pkl with Kubernetes

|https://github.com/apple/pkl-k8s-examples[`apple/pkl-k8s-examples`] |Examples for using Pkl with Kubernetes

|https://github.com/apple/pkl-lang.org[`apple/pkl-lang.org`] |The pkl-lang.org website

|https://github.com/apple/pkl-lsp[`apple/pkl-lsp`] |Language server for Pkl, implementing the server-side of the Language Server Protocol

|https://github.com/apple/pkl-neovim[`apple/pkl-neovim`] |Pkl language support for Neovim

|https://github.com/apple/pkl-package-docs[`apple/pkl-package-docs`] |Documentation for Pkl packages

|https://github.com/apple/pkl-pantry[`apple/pkl-pantry`] |Shared Pkl packages

|https://github.com/apple/pkl-project-commons[`apple/pkl-project-commons`] |Utility libraries for Pkl

|https://github.com/apple/pkl-readers[`apple/pkl-readers`] |Shared Pkl https://pkl-lang.org/main/current/language-reference/index.html#external-readers[external reader] tools

|https://github.com/apple/pkl-spring[`apple/pkl-spring`] |Spring Boot extension for configuring Boot apps with Pkl

|https://github.com/apple/pkl-swift[`apple/pkl-swift`] |Pkl bindings for the Swift programming language

|https://github.com/apple/pkl-swift-examples[`apple/pkl-swift-examples`] |Examples for using Pkl within Swift applications

|https://github.com/apple/pkl-vscode[`apple/pkl-vscode`] |Pkl language support for VS Code

|https://github.com/apple/pkl.tmbundle[`apple/pkl.tmbundle`] |TextMate bundle for Pkl

|https://github.com/apple/tree-sitter-pkl[`apple/tree-sitter-pkl`] |Tree-sitter parser for Pkl

|https://github.com/apple/rules_pkl[`apple/rules_pkl`] |Bazel build rules for Pkl |===

pkl (apple/pkl)

Searching Database…

11.5K ·GitHub
这是什么?Pkl(发音为 Pickle)是由 Apple 开发的一种配置即代码语言,专门用于编写带有丰富校验和工具支持的配置。
它是一种语言,还是需要运行的工具?它是一门独立的编程语言,围绕它有解释器、CLI 和工具生态(编辑器插件、语言服务器、构建规则),还提供绑定,可以根据 Pkl 配置生成 Go、Java、Swift、Kotlin 等语言的代码。
我该如何开始使用?通过文档中链接的安装指南安装 Pkl,然后开始编写 .pkl 文件,并使用 Pkl CLI 或某个语言绑定来求值这些文件。
使用 Pkl 需要安装 Java 吗?核心求值器/CLI 是用 Java 实现的,但 Pkl 也提供自己的原生/独立发行版,因此取决于你选择的发行版,你不一定需要自行安装 JVM。
它只能用于某一个语言生态吗?不是。Pkl 支持 Go、Java/JVM、Swift 以及 Spring Boot 扩展的绑定,并且提供 JetBrains、VS Code 和 Neovim 的编辑器支持,因此它被设计为可以跨多个生态集成,而不是把你限定在某一个生态中。
Pkl 能输出 JSON 或 YAML 等格式吗?可以。Pkl 被设计用于生成和校验结构化配置,其生态中包含处理 properties、XML、JSON 和 YAML 输出格式的工具,这些在其 GitHub 主题标签中有所列出。
编写 Pkl 时有编辑器支持吗?有。官方提供适用于 JetBrains IDE、VS Code 和 Neovim 的插件,另外还有 TextMate 包和 Tree-sitter 语法,以及实现了 LSP 的完整语言服务器。
我可以把 Pkl 用于 Kubernetes 吗?可以。Apple 维护了专门的模板和示例仓库,用于使用 Pkl 配置 Kubernetes 资源。
在哪里可以找到真实的使用示例?本仓库链接的 pkl-lang.org 示例页面提供了示例项目,另外还有单独的示例仓库,展示如何在 Go、JVM 和 Swift 应用中使用 Pkl。
What are similar projects?yq, open-ontologies, ruby, kustomize, crystal, morloc, libfyaml, rust
Creator
apple
Size
10.2 MB
Stars
11.5K
Age
2y
Commits · 90 Days