diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8682023 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +# See http://editorconfig.org + +root = true + +[*.{md,xml,org}] +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.github/workflows/internet-draft.yml b/.github/workflows/internet-draft.yml new file mode 100644 index 0000000..de1bb85 --- /dev/null +++ b/.github/workflows/internet-draft.yml @@ -0,0 +1,73 @@ +name: Build Internet Draft + +on: + push: + branches: ["main"] + paths: ["draft-*"] + workflow_dispatch: + +permissions: + contents: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: "Checkout" + uses: actions/checkout@v4 + - name: "Setup" + id: setup + run: date -u "+date=%FT%T" >>"$GITHUB_OUTPUT" + - name: "Caching" + uses: actions/cache@v4 + with: + path: | + .refcache + .venv + .gems + node_modules + .targets.mk + key: i-d-${{ steps.setup.outputs.date }} + restore-keys: i-d- + - name: "Build Drafts" + uses: martinthomson/i-d-template@v1 + with: + token: ${{ github.token }} + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: internet-draft + path: draft-*.html + overwrite: true + + push: + runs-on: ubuntu-latest + needs: build + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: gh-pages + - name: Delete + run : rm -rf /tmp/internet-draft + - name: Download + uses: actions/download-artifact@v4 + with: + name: internet-draft + path: /tmp/internet-draft + - name: Sync + run: | + rm -rf internet-draft + mv /tmp/internet-draft . + - name: Push + run: | + git status + git add . + git config --global user.name 'Deploy Bot' + git config --global user.email 'deploy-bot@jsonlines.org' + git commit --allow-empty -m 'Automated Internet Draft Deployment' + git push diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index 5640a40..5d45c3b 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -5,6 +5,7 @@ on: # Runs on pushes targeting the default branch push: branches: ["main"] + paths: ["site/**"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -22,6 +23,9 @@ concurrency: jobs: # Build job build: + defaults: + run: + working-directory: ./site runs-on: ubuntu-latest steps: - name: Checkout @@ -32,6 +36,7 @@ jobs: ruby-version: '3.3.5' bundler-cache: true cache-version: 0 + working-directory: ./site - name: Build run: bundle exec jekyll build env: @@ -40,7 +45,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: site - path: _site + path: site/_site overwrite: true # Push job @@ -60,12 +65,12 @@ jobs: name: site path: /tmp/site - name: Sync - run: rsync -avh --delete --exclude .git /tmp/site/ . + run: rsync -avh --delete --exclude .git --exclude internet-draft /tmp/site/ . - name: Push run: | git status git add . git config --global user.name 'Deploy Bot' git config --global user.email 'deploy-bot@jsonlines.org' - git commit --allow-empty -m 'Automated Deployment' - git push + git commit --allow-empty -m 'Automated Site Deployment' + git push diff --git a/.gitignore b/.gitignore index 8d05dc2..ced4d5f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,29 @@ _site .sass-cache/ .jekyll-cache/ .jekyll-metadata + +# Internet Draft Setup +*.html +*.pdf +*.redxml +*.swp +*.txt +*.upload +*~ +.tags +/*-[0-9][0-9].xml +/.*.mk +/.gems/ +/.idea/ +/.refcache +/.venv/ +/.vscode/ +/lib +/node_modules/ +/versioned/ +Gemfile.lock +archive.json +draft-jsonlines-standard-content-type.xml +package-lock.json +report.xml +!requirements.txt diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..950e482 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,17 @@ +# Contributing + +This repository relates to activities in the Internet Engineering Task Force +([IETF](https://www.ietf.org/)). All material in this repository is considered +Contributions to the IETF Standards Process, as defined in the intellectual +property policies of IETF currently designated as +[BCP 78](https://www.rfc-editor.org/info/bcp78), +[BCP 79](https://www.rfc-editor.org/info/bcp79) and the +[IETF Trust Legal Provisions (TLP) Relating to IETF Documents](http://trustee.ietf.org/trust-legal-provisions.html). + +Any edit, commit, pull request, issue, comment or other change made to this +repository constitutes Contributions to the IETF Standards Process +(https://www.ietf.org/). + +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. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..1753904 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,4 @@ +# License + +See the +[guidelines for contributions](https://github.com/sp4ce/jsonlines/blob/main/CONTRIBUTING.md). diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9a5d15b --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +LIBDIR := lib +include $(LIBDIR)/main.mk + +$(LIBDIR)/main.mk: +ifneq (,$(shell grep "path *= *$(LIBDIR)" .gitmodules 2>/dev/null)) + git submodule sync + git submodule update --init +else +ifneq (,$(wildcard $(ID_TEMPLATE_HOME))) + ln -s "$(ID_TEMPLATE_HOME)" $(LIBDIR) +else + git clone -q --depth 10 -b main \ + https://github.com/martinthomson/i-d-template $(LIBDIR) +endif +endif diff --git a/README.md b/README.md index 271ecb6..de529b3 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ -# jsonlines + + +# JSON Lines Documentation for the JSON Lines text file format Visit https://jsonlines.org -## Development +## Website Development ### Jekyll installation @@ -14,6 +16,7 @@ Follow steps: ### Bundle installation ```shell +cd site bundle config set --local path 'vendor/bundle' bundle install ``` @@ -21,9 +24,43 @@ bundle install ### Build and serve the site ```shell +# change directory to site +cd site + # just build the website bundle exec jekyll build # build and serve the website on default port bundle exec jekyll serve -``` \ No newline at end of file +``` + +## JSON Lines Standard Content Type + +This is the working area for the individual Internet-Draft, "JSON Lines Standard Content Type". + +* [Editor's Copy](https://sp4ce.github.io/jsonlines/#go.draft-jsonlines-standard-content-type.html) +* [Datatracker Page](https://datatracker.ietf.org/doc/draft-jsonlines-standard-content-type) +* [Individual Draft](https://datatracker.ietf.org/doc/html/draft-jsonlines-standard-content-type) +* [Compare Editor's Copy to Individual Draft](https://sp4ce.github.io/jsonlines/#go.draft-jsonlines-standard-content-type.diff) + + +### Contributing + +See the +[guidelines for contributions](https://github.com/sp4ce/jsonlines/blob/main/CONTRIBUTING.md). + +Contributions can be made by creating pull requests. +The GitHub interface supports creating pull requests using the Edit (✏) button. + + +### Command Line Usage + +Formatted text and HTML versions of the draft 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/draft-pernetmugnier-json-lines.md b/draft-pernetmugnier-json-lines.md new file mode 100644 index 0000000..984a7b5 --- /dev/null +++ b/draft-pernetmugnier-json-lines.md @@ -0,0 +1,90 @@ +--- +### +# Internet-Draft Markdown Template +# +# Rename this file from draft-todo-yourname-protocol.md to get started. +# Draft name format is "draft---.md". +# +# For initial setup, you only need to edit the first block of fields. +# Only "title" needs to be changed; delete "abbrev" if your title is short. +# Any other content can be edited, but be careful not to introduce errors. +# Some fields will be set automatically during setup if they are unchanged. +# +# Don't include "-00" or "-latest" in the filename. +# Labels in the form draft----latest are used by +# the tools to refer to the current version; see "docname" for example. +# +# This template uses kramdown-rfc: https://github.com/cabo/kramdown-rfc +# You can replace the entire file if you prefer a different format. +# Change the file extension to match the format (.xml for XML, etc...) +# +### +title: JavaScript Object Notation (JSON) Lines +abbrev: JSON Lines +category: info + +docname: draft-pernetmugnier-json-lines-latest +submissiontype: IETF # also: "independent", "editorial", "IAB", or "IRTF" +number: +date: +consensus: true +v: 3 +# area: AREA +# workgroup: WG Working Group +keyword: + - next generation + - unicorn + - sparkling distributed ledger +venue: +# group: WG +# type: Working Group +# mail: WG@example.com +# arch: https://example.com/WG + github: "sp4ce/jsonlines" + latest: "https://sp4ce.github.io/jsonlines/internet-draft/draft-pernetmugnier-json-lines.html" + +author: + - + fullname: Baptiste Pernet-Mugnier + organization: Your Organization Here + email: baptiste.pernetmugnier@gmail.com + +normative: + +informative: + +... + +--- abstract + +TODO Abstract + + +--- middle + +# Introduction + +TODO Introduction + + +# Conventions and Definitions + +{::boilerplate bcp14-tagged} + + +# Security Considerations + +TODO Security + + +# IANA Considerations + +This document has no IANA actions. + + +--- back + +# Acknowledgments +{:numbered="false"} + +TODO acknowledge. diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 0000000..8d05dc2 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1,9 @@ +# Bundle generated folders +.bundle +vendor/bundle + +# Jekyll generated folders +_site +.sass-cache/ +.jekyll-cache/ +.jekyll-metadata diff --git a/CNAME b/site/CNAME similarity index 100% rename from CNAME rename to site/CNAME diff --git a/Gemfile b/site/Gemfile similarity index 100% rename from Gemfile rename to site/Gemfile diff --git a/Gemfile.lock b/site/Gemfile.lock similarity index 100% rename from Gemfile.lock rename to site/Gemfile.lock diff --git a/_config.yml b/site/_config.yml similarity index 100% rename from _config.yml rename to site/_config.yml diff --git a/_data/menu.yml b/site/_data/menu.yml similarity index 100% rename from _data/menu.yml rename to site/_data/menu.yml diff --git a/_includes/footer.html b/site/_includes/footer.html similarity index 100% rename from _includes/footer.html rename to site/_includes/footer.html diff --git a/_includes/head.html b/site/_includes/head.html similarity index 100% rename from _includes/head.html rename to site/_includes/head.html diff --git a/_includes/menu.html b/site/_includes/menu.html similarity index 100% rename from _includes/menu.html rename to site/_includes/menu.html diff --git a/_layouts/default.html b/site/_layouts/default.html similarity index 100% rename from _layouts/default.html rename to site/_layouts/default.html diff --git a/examples/index.md b/site/examples/index.md similarity index 100% rename from examples/index.md rename to site/examples/index.md diff --git a/images/body-bg.png b/site/images/body-bg.png similarity index 100% rename from images/body-bg.png rename to site/images/body-bg.png diff --git a/images/highlight-bg.jpg b/site/images/highlight-bg.jpg similarity index 100% rename from images/highlight-bg.jpg rename to site/images/highlight-bg.jpg diff --git a/images/hr.png b/site/images/hr.png similarity index 100% rename from images/hr.png rename to site/images/hr.png diff --git a/images/octocat-icon.png b/site/images/octocat-icon.png similarity index 100% rename from images/octocat-icon.png rename to site/images/octocat-icon.png diff --git a/images/tar-gz-icon.png b/site/images/tar-gz-icon.png similarity index 100% rename from images/tar-gz-icon.png rename to site/images/tar-gz-icon.png diff --git a/images/zip-icon.png b/site/images/zip-icon.png similarity index 100% rename from images/zip-icon.png rename to site/images/zip-icon.png diff --git a/index.md b/site/index.md similarity index 100% rename from index.md rename to site/index.md diff --git a/javascripts/validator.js b/site/javascripts/validator.js similarity index 100% rename from javascripts/validator.js rename to site/javascripts/validator.js diff --git a/javascripts/vendor/codemirror-6.65.7-javascript.min.js b/site/javascripts/vendor/codemirror-6.65.7-javascript.min.js similarity index 100% rename from javascripts/vendor/codemirror-6.65.7-javascript.min.js rename to site/javascripts/vendor/codemirror-6.65.7-javascript.min.js diff --git a/javascripts/vendor/codemirror-6.65.7.min.js b/site/javascripts/vendor/codemirror-6.65.7.min.js similarity index 100% rename from javascripts/vendor/codemirror-6.65.7.min.js rename to site/javascripts/vendor/codemirror-6.65.7.min.js diff --git a/javascripts/vendor/jquery-3.7.0.min.js b/site/javascripts/vendor/jquery-3.7.0.min.js similarity index 100% rename from javascripts/vendor/jquery-3.7.0.min.js rename to site/javascripts/vendor/jquery-3.7.0.min.js diff --git a/on_the_web/index.md b/site/on_the_web/index.md similarity index 100% rename from on_the_web/index.md rename to site/on_the_web/index.md diff --git a/params.json b/site/params.json similarity index 100% rename from params.json rename to site/params.json diff --git a/stylesheets/print.css b/site/stylesheets/print.css similarity index 100% rename from stylesheets/print.css rename to site/stylesheets/print.css diff --git a/stylesheets/pygment_trac.css b/site/stylesheets/pygment_trac.css similarity index 100% rename from stylesheets/pygment_trac.css rename to site/stylesheets/pygment_trac.css diff --git a/stylesheets/stylesheet.css b/site/stylesheets/stylesheet.css similarity index 100% rename from stylesheets/stylesheet.css rename to site/stylesheets/stylesheet.css diff --git a/stylesheets/vendor/codemirror-6.65.7-abbott.min.css b/site/stylesheets/vendor/codemirror-6.65.7-abbott.min.css similarity index 100% rename from stylesheets/vendor/codemirror-6.65.7-abbott.min.css rename to site/stylesheets/vendor/codemirror-6.65.7-abbott.min.css diff --git a/stylesheets/vendor/codemirror-6.65.7.min.css b/site/stylesheets/vendor/codemirror-6.65.7.min.css similarity index 100% rename from stylesheets/vendor/codemirror-6.65.7.min.css rename to site/stylesheets/vendor/codemirror-6.65.7.min.css diff --git a/validator/index.md b/site/validator/index.md similarity index 100% rename from validator/index.md rename to site/validator/index.md