Initial commit

This commit is contained in:
Peter Niederwieser
2016-01-19 14:51:19 +01:00
committed by Dan Chao
commit ecad035dca
2972 changed files with 211653 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
= Community
:uri-github-issue: https://github.com/apple/pkl/issues
:uri-github-discussions: https://github.com/apple/pkl/discussions
We'd love to hear from you!
* Create an {uri-github-issue}[issue]
* Ask questions on {uri-github-discussions}[GitHub Discussions]

View File

@@ -0,0 +1,14 @@
= Examples
:uri-github-apple: https://github.com/apple
:uri-jvm-examples: {uri-github-apple}/pkl-jvm-examples
:uri-go-examples: {uri-github-apple}/pkl-go-examples
:uri-swift-examples: {uri-github-apple}/pkl-swift-examples
:uri-k8s-examples: {uri-github-apple}/pkl-k8s-examples
For ready-to-go examples with full source code, see the various repositories that are available for you.
* {uri-jvm-examples}[pkl-jvm-examples] -- for using Pkl within the JVM
* {uri-swift-examples}[pkl-swift-examples] -- for using Pkl with Swift
* {uri-go-examples}[pkl-go-examples] -- for using Pkl with Go
* {uri-k8s-examples}[pkl-k8s-examples] -- for using Pkl with Kubernetes

View File

@@ -0,0 +1,15 @@
= User Manual
include::../partials/component-attributes.adoc[]
Quick Links: xref:pkl-cli:index.adoc#installation[Installation] | xref:language-reference:index.adoc[Language Reference]
Pkl -- pronounced _Pickle_ -- is an embeddable configuration language which provides rich support for data templating and validation.
It can be used from the command line, integrated in a build pipeline, or embedded in a program.
Pkl scales from small to large, simple to complex, ad-hoc to repetitive configuration tasks.
xref:introduction:index.adoc[Introduction]:: Why we created Pkl and what it can do for you.
xref:language.adoc[Language]:: Get to know the language and standard library.
xref:language-bindings.adoc[Bindings]:: Libraries for embedding Pkl into general-purpose languages.
xref:tools.adoc[Tools]:: CLI, Gradle plugin, code generators, and other tools.
link:{uri-pkl-examples-repo}[Examples]:: Ready-to-go examples with full source code.
xref:release-notes:index.adoc[Release Notes]:: What's new in each release.

View File

@@ -0,0 +1,3 @@
= Framework Integrations
* xref:spring:ROOT:index.adoc[Spring (Boot) Integration]

View File

@@ -0,0 +1,6 @@
= Language Bindings
* xref:java-binding:index.adoc[Java]
* xref:kotlin-binding:index.adoc[Kotlin]
* xref:swift:ROOT:index.adoc[Swift]
* xref:go:ROOT:index.adoc[Go]

View File

@@ -0,0 +1,5 @@
= Language
* xref:language-tutorial:index.adoc[Tutorial]
* xref:language-reference:index.adoc[Language Reference]
* xref:standard-library.adoc[Standard Library]

View File

@@ -0,0 +1,7 @@
= Resources
include::../partials/component-attributes.adoc[]
There's more to explore!
* Visit Pkl's repositories on https://github.com/apple?q=pkl[GitHub]
* Browse the standard library's https://pkl-lang.org/package-docs/pkl/{pkl-version}/[API Docs]

View File

@@ -0,0 +1,13 @@
= Standard Library
include::../partials/component-attributes.adoc[]
The standard library is a set of Pkl modules, versioned and distributed together with the language.
It is documented in the link:{uri-pkl-stdlib-docs-index}[API Docs].
To import a standard library module, use `import "pkl:<identifier>"`.
For example, `import "pkl:json"` imports the `pkl.json` module.
The `pkl.base` module defines the most fundamental properties, methods, and classes for using Pkl.
Its members are automatically available in every module and hence, it does not need to be imported.
The default module allowlist (`--allowed-modules`) grants access to all standard library modules.

View File

@@ -0,0 +1,10 @@
= Tools
include::ROOT:partial$component-attributes.adoc[]
* xref:pkl-cli:index.adoc[CLI]
* xref:pkl-doc:index.adoc[Pkldoc]
* xref:pkl-gradle:index.adoc[Gradle Plugin]
* Editor support
** xref:intellij:ROOT:index.adoc[IntelliJ]
** xref:vscode:ROOT:index.adoc[VSCode]
** xref:neovim:ROOT:index.adoc[Neovim]

View File

@@ -0,0 +1,64 @@
// TODO: move to antora.yml once supported
// the following attributes must be updated immediately before a release
// pkl version corresponding to current git commit without -dev suffix or git hash
:pkl-version-no-suffix: 0.25.0
// tells whether pkl version corresponding to current git commit
// is a release version (:is-release-version: '') or dev version (:!is-release-version:)
:!is-release-version:
// the remaining attributes do not need to be updated regularly
:pkl-version: {pkl-version-no-suffix}-dev
ifdef::is-release-version[]
:pkl-version: {pkl-version-no-suffix}
endif::[]
// use non-unique snapshot version because we have no way to determine unique snapshot version here
:pkl-artifact-version: {pkl-version-no-suffix}-SNAPSHOT
ifdef::is-release-version[]
:pkl-artifact-version: {pkl-version}
endif::[]
:uri-maven-docsite: https://central.sonatype.com/
:uri-sonatype: https://s01.oss.sonatype.org/service/local/repositories/snapshots/content/
:symbolic-version-name: latest
ifdef::is-release-version[]
:symbolic-version-name: current
endif::[]
:uri-pkl-docs-base: https://pkl-lang.org/package-docs
:uri-pkl-stdlib-docs-base: {uri-pkl-docs-base}/pkl
:uri-pkl-stdlib-docs: {uri-pkl-stdlib-docs-base}/{pkl-version}
:uri-pkl-stdlib-docs-index: {uri-pkl-stdlib-docs}/
// TODO(oss): check these links when we have tags
:github-branch: main
ifdef::is-release-version[]
:github-branch: v{pkl-version-no-suffix}
endif::[]
:uri-github-tree: https://github.com/apple/pkl/tree/{github-branch}
:uri-pkl-stdlib-sources: {uri-github-tree}/stdlib
:github-releases-base: https://github.com/apple/pkl/releases
:github-releases: {github-releases-base}/download/{pkl-artifact-version}
:uri-pkl-core-main-sources: {uri-github-tree}/pkl-core/src/main/java/org/pkl/core
:uri-pkl-cli-main-sources: {uri-github-tree}/pkl-cli/src/main/kotlin/org/pkl/cli
:uri-pkl-doc-main-sources: {uri-github-tree}/pkl-doc/src/main/kotlin/org/pkl/doc
// This attribute is used as language for Pkl code blocks.
// It can then be mapped to different languages in different environments (e.g., IntelliJ vs. Antora).
:pkl: pkl
:pkl-expr: pkl expression
:uri-pkl-examples-repo: https://github.com/apple/pkl-jvm-examples
:uri-pkl-examples-tree: {uri-pkl-examples-repo}/tree/main
:uri-build-eval-example: {uri-pkl-examples-tree}/build-eval
:uri-codegen-java-example: {uri-pkl-examples-tree}/codegen-java
:uri-codegen-kotlin-example: {uri-pkl-examples-tree}/codegen-kotlin
:uri-config-java-example: {uri-pkl-examples-tree}/config-java
:uri-config-kotlin-example: {uri-pkl-examples-tree}/config-kotlin
:uri-pkldoc-example: {uri-pkl-examples-tree}/pkldoc