文件历史

80 次代码提交

作者 SHA1 备注 提交日期
Johann Schopplich 27b65c2931 chore: upgrade dependencies 2026-07-15 23:07:17 +02:00
Mohammad Raziei a52f2d2815 docs: add Matlab and Python implementations to ecosystem list (CToon Project) (#309)
* docs: add Python (C++ backend) implementation to ecosystem list

Added a new entry for the Python implementation with a C++ backend (ctoon) to the ecosystem documentation, ensuring it appears alongside other language implementations.

* docs: add Matlab implementation to ecosystem implementations list

Add Matlab entry (ctoon) to the ecosystem implementations table, acknowledging the new community implementation and providing its repository link and author.
2026-05-23 10:00:46 +02:00
Johann Schopplich c0af15e592 chore: close v3.3 release cleanup
- docs/guide/format-overview.md: drop duplicated Type Conversions table; link to canonical api.md#type-normalization (drift surface 3 -> 2 tables)
- packages/toon/test/normalization.test.ts: add 7 §2 carve-out boundary tests (encode + round-trip per value); locks current conformance against future String(value) refactors
2026-05-21 10:33:14 +02:00
Johann Schopplich 5b66523e42 chore: align with spec v3.3
- bump @toon-format/spec to ^3.3.0; update SPEC.md pointer and badges
- docs: align number-form prose with §2 carve-out (canonical in [1e-6, 1e21) or zero; exponent form permitted outside)
- docs/reference/spec.md: add lowercase booleans/null to encoder checklist; add Java to Appendix F language list
- docs/reference/efficiency-formalization.md: drop overstated "matching TOON's requirement" claim
- packages/toon/README.md: drop "What's New in v3.2" section (now stale)

All 593 tests pass (packages/toon: 497, packages/cli: 96). Encoder remains conformant by default under the v3.3 §2 carve-out via String(value).
2026-05-21 10:10:20 +02:00
Johann Schopplich e2b5611d37 docs: quote §7.2 timestamps in examples and propagate dd856fe to docs/cli
Two regrade fixes surfaced by a post-v3.2 verification swarm:

* llm-prompts.md and api.md had ISO-8601 timestamps as unquoted TOON
  values, violating §7.2 (strings containing a colon MUST be quoted).
  The spec repo's examples and packages/toon/README.md already quote
  timestamps; the docs repo had drifted.

* docs/cli/index.md is the docs-site twin of packages/cli/README.md.
  The prior v3.2 swarm (dd856fe) updated the README's --no-strict
  options row and Lenient Decoding prose to cite "header delimiter"
  but did not propagate to the parallel paragraphs in docs/cli/index.md
  (lines 159 and 234).
2026-05-20 12:28:18 +02:00
Johann Schopplich d6c64d23e4 chore: upgrade dependencies 2026-05-20 11:34:51 +02:00
Johann Schopplich dd856fe590 docs: align prose with v3.2 spec wording
- packages/toon/README.md: drop two v3.1 bullets that crept into the
  "What's new in v3.2" list (canonical empty-array form and \uXXXX
  escape both landed in v3.1).
- docs/reference/api.md: rename "Delimiter mismatches" entry to
  "Header delimiter mismatch" and cite §14.2 – the previous wording
  invited the false reading that non-active delimiter chars in row
  data are an error. Add §14.4 cross-ref to the duplicate-key entry.
- docs/reference/spec.md: include \uXXXX in the §7 escape list; soften
  the charset MUST claim to match §17; en-dash the §-ranges in the
  glance table.
- docs/reference/syntax-cheatsheet.md: rename "Strings with Active
  Delimiter" to "Strings Containing Delimiters" and distinguish
  active-delim (array scope) from document-delim (object field
  values) per §11.1.
- docs/guide/format-overview.md: same active-vs-document distinction
  in the delimiter paragraph; drop incorrect "strict mode" qualifier
  from the unknown-escape error claim (§7.1 rejects unconditionally);
  trim redundant "with leading zeros" parenthetical.
- docs/guide/llm-prompts.md: fix two broken anchors
  (/reference/api#decode → #decode-input-options, similar for
  encodelines); use -o instead of --output for CLI example
  consistency.
- packages/cli/README.md: enumerate what --no-strict actually skips
  in the options table; replace "delimiter consistency" with the
  more specific "header delimiter mismatches" in the Lenient Decoding
  prose to avoid the same false reading the api.md fix addresses.
2026-05-20 10:57:48 +02:00
Johann Schopplich 1446cae85d docs(cli): widen --no-strict description for v3.2 semantics
In v3.2, --no-strict no longer just skips count/indent/delimiter
validation - it also applies last-write-wins on duplicate sibling
keys and tolerates malformed array headers as plain key-value lines.
The previous "faster processing" framing didn't reflect any of this.

- Lenient Decoding sections in cli docs and packages/cli/README spell
  out which checks the decoder stops enforcing
- Options table description shifts from "Disable strict validation"
  to "Skip decode validation; last-write-wins on duplicate keys"
- --strict help text in the CLI reads "Strict decode validation
  (disable with --no-strict)"
- §17 IANA anchor fix in the cli docs media-type note
2026-05-20 07:04:41 +02:00
Johann Schopplich 13110eb975 docs: align guides and API reference with v3.2 spec changes
- Canonical empty-array form (`key: []` / root `[]`) replaces `key[0]:`
  in format-overview, syntax-cheatsheet, and the efficiency-formalization
  worked example. Legacy form still decodes.
- Escape tables grow a `\uXXXX` row covering U+0000-U+001F outside
  \n/\r/\t, with a note rejecting lone-surrogate \uXXXX values.
- "Special characters" lists widened to "any control character (U+0000-U+001F)"
  instead of the LF/HTAB/CR triplet.
- Tabular eligibility note adds the "at least one key" rule so arrays
  containing an empty {} fall back to the expanded list.
- New short example for nested arrays-of-objects as list items (`- [N]:`).
- API reference: Date row gets an info callout noting it's an
  implementation choice the spec leaves open; strict-mode bullet list
  picks up header structure, duplicate sibling keys, path-expansion
  conflicts, and lone-surrogate escapes; Expansion Conflict Resolution
  notes the matching duplicate-key policy.
- §17 IANA anchor fix in getting-started media-type paragraph.
2026-05-20 07:04:27 +02:00
Johann Schopplich 1f53af3582 docs(spec): refresh §17-19 layout, Appendix F, and §14 subsection references
- Drop the removed §17 Interoperability and §19 Core Profile bullets
- Renumber §18 IANA -> §17, add §18 Versioning and §19 IP entries
- Appendix G -> F (Host Type Normalization Examples)
- Update the Sections-at-a-Glance table to the v3.2 layout
- §14.5 -> §14.3 path-expansion reference in the Decoder Checklist
- §14 enumeration covers count/width, syntax/structural, expansion, dup keys
- Encoder Checklist mentions \uXXXX escapes alongside the five base escapes
- Major-version example swapped to v2 -> v3 / v3.1 -> v3.2
- Working Draft date updated to 2026-05-20
2026-05-20 07:04:14 +02:00
Johann Schopplich 1a9c72a6c2 chore: bump spec version references to v3.2 (2026-05-20)
Updates the `$spec.version` VitePress global property and the root SPEC.md
stub to track the published v3.2 working draft.
2026-05-20 07:03:40 +02:00
Father of chain caa59ae4dc docs: surface tooner mcp proxy across readme and docs site (#283)
Adds the [Tooner](https://github.com/chaindead/tooner) MCP proxy entry to the Tools & Integration list in the package README and to docs/ecosystem/tools-and-playgrounds.md.
2026-05-17 18:55:28 +02:00
ernestoalconada 269e43e960 docs(ecosystem): add delphi implementation (#273)
Adds the Delphi community port (ernestoalconada/toon) to docs/ecosystem/implementations.md.
2026-05-17 18:47:02 +02:00
Montana Flynn 86006809cd docs: add toon-zig to community implementations (#298)
Adds the Zig community port (LatentEvals/toon-zig) and fixes the Python (Rust backend) row to alphabetical position.
2026-05-17 18:43:47 +02:00
swetasanghi2004-prog 90a04bd34b feat(docs): add YAML input to Playground with tests (#303)
* feat(docs): add YAML input to Playground with tests

- Add input format selector and YAML parsing (YAML 1.2, merge keys off)
- Extract parse/stringify helpers for testability and SPEC-aligned encoding
- Add Vitest for docs package and playground parse tests
- Update Playground copy in package README and ecosystem docs

* refactor(docs): simplify Playground YAML support

- Inline parse/stringify helpers into the component, drop the separate
  parse-input module and its tests
- Rename input state from `jsonInput`/`formattedJson`/`jsonTokens` to
  `inputText`/`formattedInput`/`inputTokens` so names no longer lie when
  YAML is selected
- Hide the JSON Baseline selector in YAML mode and make the token-count
  tooltip conditional on input format
- Store input under `state.input` with a fallback read of legacy
  `state.json` so existing share URLs keep working
- Drop redundant YAML parse options (merge/version match library
  defaults); use lineWidth: 0 for editor display so long scalars do not
  fold mid-sentence
- Remove the duplicated vitest devDep, docs vitest.config.ts, and `test`
  script – the playground is verified through the dev server

* chore(docs): tighten Playground wording and drop empty-string fallback

- "in real-time" → "in real time" (real-time only hyphenates as a
  compound modifier before a noun)
- Header copy now matches the ecosystem page: "Convert JSON or YAML to
  TOON in real time"
- Token-count tooltip unified across input formats; the JSON baseline
  selector is right next to it and already communicates the format
- Drop `?? ''` fallback on state.input — decodeState already gates on
  successful JSON parse; the chain falls through to the legacy
  state.json field

---------

Co-authored-by: Sweta <sweta@Swetas-MacBook-Air.local>
Co-authored-by: Johann Schopplich <johann@schopplich.com>
2026-05-17 18:04:07 +02:00
Johann Schopplich 9ac3f9ed67 docs: remove explicit JSON type values 2026-05-08 23:23:58 +02:00
Johann Schopplich 4819128859 docs: harmonize prose and fix tab delimiter examples 2026-05-08 23:17:10 +02:00
Johann Schopplich 18864cbd1f docs: add error handling guide 2026-05-08 22:27:28 +02:00
Johann Schopplich d826be75d7 chore: upgrade dependencies 2026-05-08 22:23:54 +02:00
Alessio Sanfratello d5f50a2ce5 docs: add toons to community implementations (#275) 2026-03-10 19:21:27 +01:00
Johann Schopplich 76c493ceab chore: migrate wrangler config to expanded toml syntax 2026-03-10 17:35:36 +01:00
Johann Schopplich 6edc9ac5e7 chore: upgrade dependencies 2026-03-06 07:52:26 +01:00
Johann Schopplich 47c6d3d712 chore: update README with benchmarks for Gemini 3 Flash and Grok 4.1 2026-03-03 15:39:56 +01:00
John DeRegnaucourt 9faa898e8f docs: add json-io to community implementations
json-io is a comprehensive Java library for TOON serialization that supports:
- 60+ built-in types (vs ~15 in other Java implementations)
- Any serializable type as Map keys (not just strings)
- EnumSet support
- Cyclic reference handling
- Zero external dependencies (except java-util)

Repository: https://github.com/jdereg/json-io
2026-02-19 14:16:14 +01:00
Johann Schopplich 68f66bb5d6 chore: upgrade dependencies 2026-02-19 14:13:39 +01:00
Mischa Sigtermans cc0a1b8e69 docs: update Laravel implementation to spec-compliant package (#266) 2026-01-21 16:34:19 +01:00
Johann Schopplich 7b9235560e chore: lint playground docs files 2026-01-21 16:31:59 +01:00
Samson Agbo 30a6d5d93d chore: add ORM for TOON (#264)
* docs: add ToonStore to community implementations

* docs: add ToonStore to community implementations

* docs: add TORM to community implementations

* chore: revert sace

---------

Co-authored-by: Johann Schopplich <mail@johannschopplich.com>
2026-01-21 16:29:22 +01:00
Johann Schopplich 76c6133c8d docs: add ToonStore database information to tools and playgrounds (closes #262) 2026-01-16 19:09:50 +01:00
Yoshifumi Kawai 626ea62889 docs: add one more C# implmentation (ToonEncoder) 2026-01-16 18:57:37 +01:00
Johann Schopplich 69111cca5a docs: add JSON baseline format selector to playground 2026-01-08 17:16:32 +01:00
Davide Usberti f15619de6c docs: add TOONc (TOON library for C) to the community implementations (#255)
* Add C implementation link to community section

* Add C implementation to ecosystem documentation
2026-01-03 18:42:55 +01:00
Johann Schopplich 189bbfa9bc chore: upgrade dependencies 2025-12-15 14:26:31 +01:00
Johann Schopplich bbd7e8cf58 docs: add Swift implementation to official and community lists 2025-12-07 17:40:02 +01:00
Luke Last 24746854bf docs: add Kotlin community implementations (#236)
* Add ktoon for Kotlin to the community implementations.

* Update packages/toon/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add ktoon to the implementations readme

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-07 17:37:24 +01:00
Johann Schopplich 19f9a5527f docs: fix CLI options naming (fixes #241) 2025-12-07 13:10:09 +01:00
Johann Schopplich c9382a5d53 docs: add Julia implementation to documentation 2025-12-04 14:50:48 +01:00
Viliam Kopecký a4538b48e7 feat: toJSON method support for custom serialization (#237)
* feat: add toJSON method support for custom serialization

* fix: prevent infinite recursion

* test: remove redundant toJSON test cases

* docs: add custom serialization details for toJSON method

* test: fix type issues

---------

Co-authored-by: Johann Schopplich <mail@johannschopplich.com>
2025-12-04 14:08:56 +01:00
Johann Schopplich d662c21262 docs: move Tools & Playgrounds sidebar link 2025-12-01 20:36:21 +01:00
Johann Schopplich 2c51932d51 feat: add replacer function for encoding transformations and filtering (closes #209) 2025-12-01 17:15:21 +01:00
Johann Schopplich 0974a58527 docs(playground): add key folding option 2025-12-01 10:31:04 +01:00
Johann Schopplich ef02ebe4c8 docs(playground): update layout 2025-11-30 15:26:15 +01:00
Johann Schopplich 236be77c35 docs(playground): update demo datasets 2025-11-30 10:30:10 +01:00
Johann Schopplich 5c6ea544a0 docs(playground): move copy button to code block 2025-11-29 22:27:03 +01:00
Johann Schopplich 81dfab1d4d docs: update links for streaming decode APIs in README 2025-11-29 22:00:45 +01:00
Johann Schopplich 22edbc7bf2 docs: use fflate for state compression 2025-11-29 21:52:51 +01:00
Johann Schopplich 0fff9c07bf docs: add playground 2025-11-29 21:16:21 +01:00
Mateo Lafalce 412ebcb125 docs: add Efficiency Formalization page (#221)
* Add Efficiency Formalization

* update eff.md && bach.md

* update eff.md

* update literal pipes

* docs: overhaul some wording

* docs: credit @mateolafalce as author

* chore: deps update

* docs: updates

---------

Co-authored-by: Johann Schopplich <mail@johannschopplich.com>
2025-11-28 07:51:08 +01:00
Johann Schopplich f882cb1153 docs: update spec page to match latest version and sections 2025-11-25 10:05:12 +01:00
Johann Schopplich b9e3593cd9 docs(benchmarks): improve clarity of efficiency ranking metrics 2025-11-25 09:45:06 +01:00