diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index bd1e77c..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,101 +0,0 @@ -version: 2 -jobs: - build: - docker: - - image: martinthomson/i-d-template:latest - resource_class: small - working_directory: ~/draft - - steps: - - run: - name: "Print Configuration" - command: | - xml2rfc --version - gem list -q kramdown-rfc - echo -n 'mmark '; mmark --version - - - restore_cache: - name: "Restoring cache - Git" - keys: - - v2-cache-git-{{ .Branch }}-{{ .Revision }} - - v2-cache-git-{{ .Branch }} - - v2-cache-git- - - - restore_cache: - name: "Restoring cache - References" - keys: - - v1-cache-references-{{ epoch }} - - v1-cache-references- - - # Workaround for https://discuss.circleci.com/t/22437 - - run: - name: Tag Checkout - command: | - if [ -n "$CIRCLE_TAG" ] && [ -d .git ]; then - remote=$(echo "$CIRCLE_REPOSITORY_URL" | \ - sed -e 's,/^git.github.com:,https://github.com/,') - git fetch -f "$remote" "refs/tags/$CIRCLE_TAG:refs/tags/$CIRCLE_TAG" || \ - (echo 'Removing .git cache for tag build'; rm -rf .git) - fi - - - checkout - - # Build txt and html versions of drafts - - run: - name: "Build Drafts" - command: make - - # Update editor's copy on gh-pages - - run: - name: "Update GitHub Pages" - command: | - if [ "${CIRCLE_TAG#draft-}" == "$CIRCLE_TAG" ]; then - make gh-pages - fi - - # For tagged builds, upload to the datatracker. - - deploy: - name: "Upload to Datatracker" - command: | - if [ "${CIRCLE_TAG#draft-}" != "$CIRCLE_TAG" ]; then - make upload - fi - - # Archive GitHub Issues - - run: - name: "Archive GitHub Issues" - command: "make archive || make archive DISABLE_ARCHIVE_FETCH=true && make gh-archive" - - # Create and store artifacts - - run: - name: "Create Artifacts" - command: "make artifacts CI_ARTIFACTS=/tmp/artifacts" - - - store_artifacts: - path: /tmp/artifacts - - - run: - name: "Prepare for Caching" - command: "git reflog expire --expire=now --all && git gc --prune=now" - - - save_cache: - name: "Saving Cache - Git" - key: v2-cache-git-{{ .Branch }}-{{ .Revision }} - paths: - - ~/draft/.git - - - save_cache: - name: "Saving Cache - Drafts" - key: v1-cache-references-{{ epoch }} - paths: - - ~/.cache/xml2rfc - - -workflows: - version: 2 - build: - jobs: - - build: - filters: - tags: - only: /.*?/ diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 2cc8e4e..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1,3 +0,0 @@ -# Automatically generated CODEOWNERS -# Regenerate with `make update-codeowners` -draft-marchan-kdl2.md diff --git a/.gitignore b/.gitignore index 99f4a2a..6562a43 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +/target +Cargo.lock *.html *.pdf *.redxml diff --git a/.note.xml b/.note.xml index 4379993..e52406d 100644 --- a/.note.xml +++ b/.note.xml @@ -1,4 +1,4 @@ Source for this draft and an issue tracker can be found at - . + . diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 950e482..a93875e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -15,3 +15,21 @@ repository constitutes Contributions to the IETF Standards Process You agree to comply with all applicable IETF policies and procedures, including, BCP 78, 79, the TLP, and the TLP rules regarding code components (e.g. being subject to a Simplified BSD License) in Contributions. + + +## Mechanics + +Contributions can be made by creating pull requests. +The GitHub interface supports creating pull requests using the Edit (✏) button. + + +## Building the Specification + +Formatted text and HTML versions of the spec can be built using `make`. + +```sh +$ make +``` + +Command line usage requires that you have the necessary software installed. See +[the instructions](https://github.com/martinthomson/i-d-template/blob/main/doc/SETUP.md). diff --git a/LICENSE.md b/LICENSE.md index 9f59799..4cc9cb5 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1 @@ -# License - -See the -[guidelines for contributions](https://github.com/jyasskin/kdl/blob/main/CONTRIBUTING.md). +This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. diff --git a/QUERY-SPEC.md b/QUERY-SPEC.md index 2997370..36501b3 100644 --- a/QUERY-SPEC.md +++ b/QUERY-SPEC.md @@ -110,7 +110,7 @@ Then the following queries are valid: ## Full Grammar Rules that are not defined in this grammar are prefixed with `$`, see [the KDL -grammar](https://github.com/kdl-org/kdl/blob/main/SPEC.md#full-grammar) for +grammar](https://kdl-org.github.io/kdl/#go.draft-marchan-kdl2.html#full-grammar) for what they expand to. ``` diff --git a/README.md b/README.md index c818334..08bf35e 100644 --- a/README.md +++ b/README.md @@ -46,16 +46,16 @@ package { For more details, see the [overview below](#overview). -There's a living [specification](SPEC.md), as well as various +There's a living [specification](https://kdl-org.github.io/kdl/#go.draft-marchan-kdl2.html), as well as various [implementations](#implementations). You can also check out the [FAQ](#faq) to answer all your burning questions! The current version of the KDL spec is -[KDL 2.0.0](https://github.com/kdl-org/kdl/blob/2.0.0/SPEC.md). For legacy KDL, +[KDL 2.0.0](https://kdl-org.github.io/kdl/#go.draft-marchan-kdl2.html). For legacy KDL, please refer to the [KDL 1.0.0 spec](https://github.com/kdl-org/kdl/blob/2.0.0/SPEC_v1.md). All users are encouraged to migrate. [Migration is forward-and-backward-compatible and -safe](https://github.com/kdl-org/kdl/blob/2.0.0/SPEC.md#compatibility), and can +safe](https://kdl-org.github.io/kdl/#go.draft-marchan-kdl2.html#compatibility), and can be automated. In addition to a spec for KDL itself, there are specifications for [a KDL Query @@ -400,7 +400,7 @@ SDLang is an excellent base, but I wanted some details ironed out, and some things removed that only really made sense for SDLang's current use-cases, including some restrictions about data representation. KDL is very similar in many ways, except: -* The grammar and expected semantics are [well-defined and specified](SPEC.md). +* The grammar and expected semantics are [well-defined and specified](https://kdl-org.github.io/kdl/#go.draft-marchan-kdl2.html). This was the original impetus for working on KDL, followed by details that seemed like they could be improved. * There is only one "number" type. KDL does not prescribe representations, but diff --git a/SPEC_v1.md b/SPEC_v1.md index 43436da..ed74ca0 100644 --- a/SPEC_v1.md +++ b/SPEC_v1.md @@ -22,7 +22,8 @@ simultaneously. For example, `node "foo"` is a valid node in both versions, and should be represented identically by parsers. KDL v2 is designed such that for any given KDL document written as KDL -1.0 or [KDL 2.0](./SPEC.md), the parse will either fail completely, or, if the +1.0 or [KDL 2.0](https://kdl-org.github.io/kdl/#go.draft-marchan-kdl2.html), +the parse will either fail completely, or, if the parse succeeds, the data represented by a v1 or v2 parser will be identical. This means that it's safe to use a fallback parsing strategy in order to support both v1 and v2 simultaneously. For example, `node "foo"` is a valid node in both @@ -540,4 +541,4 @@ unicode-space := See Table (All White_Space unicode characters which are not `ne single-line-comment := '//' ^newline+ (newline | eof) multi-line-comment := '/*' commented-block commented-block := '*/' | (multi-line-comment | '*' | '/' | [^*/]+) commented-block -``` \ No newline at end of file +```