Skip to content
Novus Examples
yaml1.1 KB

YAML Block Scalars and Chomping Indicators

Every block-scalar variation in one file: literal and folded styles, all three chomping indicators, an explicit indentation indicator, a folded block with a paragraph break, and an embedded shell-shaped script whose own indentation must survive.

Preview — first 38 linesyaml
# Block scalars: the literal style (|) keeps newlines, the folded style (>) turns single
# newlines into spaces but keeps blank lines as paragraph breaks. The chomping indicator
# controls the trailing newline: default clips to exactly one, - strips it, + keeps them all.
# The explicit indentation indicator (|2) fixes the content indent so extra leading spaces
# become part of the content instead of being stripped.
literal_clip: |
  line one
  line two

literal_strip: |-
  no trailing newline at all

folded_clip: >
  this is one long logical line that the folded style
  joins together with single spaces

  and this is a second paragraph, because the blank line survives

folded_strip: >-
  folded and stripped, so the value ends
  immediately after this word

indentation_indicator: |2
   this content indent is fixed at two spaces
   so every line here keeps one extra leading space

script_block: |
  set -eu
  for stage in build test deploy; do
    echo "stage: $stage"
  done

literal_keep: |+
  trailing blank lines below are part of this value


after_keep: sentinel key proving the keep block ended

Specifications

Literal Blocks
4
Folded Blocks
2
Chomping Indicators
clip, strip, keep
Has Indentation Indicator
true
Keep Block Trailing Newlines
3

Testing contract

Expected to pass
Scenario
Load block scalars and check the exact trailing whitespace each chomping indicator produces
Expected result
literal_clip ends with exactly one newline, literal_strip with none, and literal_keep retains all its trailing blank lines

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“YAML Block Scalars and Chomping Indicators” is a deterministic Novus Examples fixture for Config parsing, Encoding detection, Editor testing. TOML and INI configuration files with nested sections and typed values — for testing config parsers and loaders.

Documented properties for this file: YAML · 1,114 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("block-scalars.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/pipelines.py. Free for any use, no attribution required — license.