YAML - hpgDesigns/hpgdesigns-dev.io GitHub Wiki
%YAML 1.2
---
YAML: YAML Ain't Markup Language
What It Is: YAML is a human friendly data serialization
standard for all programming languages.
YAML Resources:
YAML 1.2 (3rd Edition): http://yaml.org/spec/1.2/spec.html
YAML 1.1 (2nd Edition): http://yaml.org/spec/1.1/
YAML 1.0 (1st Edition): http://yaml.org/spec/1.0/
YAML Trac Wiki: http://trac.yaml.org/
YAML Mailing List: [email protected]
YAML IRC Channel: "#yaml on irc.freenode.net"
YAML Cookbook (Ruby): http://yaml4r.sourceforge.net/cookbook/ (local)
YAML Reference Parser: http://yaml.org/ypaste/
Projects:
C/C++ Libraries:
- libyaml # "C" Fast YAML 1.1
- Syck # (dated) "C" YAML 1.0
- yaml-cpp # C++ YAML 1.1 implementation
Ruby:
- psych # libyaml wrapper (in Ruby core for 1.9.2)
- RbYaml # YAML 1.1 (PyYaml Port)
- yaml4r # YAML 1.0, standard library syck binding
Python:
- PyYaml # YAML 1.1, pure python and libyaml binding
- PySyck # YAML 1.0, syck binding
Java:
- JvYaml # Java port of RbYaml
- SnakeYAML # Java 5 / YAML 1.1
- YamlBeans # To/from JavaBeans
- JYaml # Original Java Implementation
Perl Modules:
- YAML # Pure Perl YAML Module
- YAML::XS # Binding to libyaml
- YAML::Syck # Binding to libsyck
- YAML::Tiny # A small YAML subset module
- PlYaml # Perl port of PyYaml
C#/.NET:
- yaml-net # YAML 1.1 library
- yatools.net # (in-progress) YAML 1.1 implementation
PHP:
- syck # syck bindings (YAML 1.0)
- spyc # yaml loader/dumper (YAML 1.?)
OCaml:
- ocaml-syck # YAML 1.0 via syck bindings
Javascript:
- JsYaml # port of PyYaml
Actionscript:
- as3yaml # port of JvYAML (1.1)
Haskell:
- YamlReference # Haskell 1.2 reference parser
Others:
- yamlvim (src) # YAML dumper/emitter in pure vimscript
Related Projects:
- Rx # Multi-Language Schemata Tool for JSON/YAML
- Kwalify # Ruby Schemata Tool for JSON/YAML
- yaml_vim # vim syntax files for YAML
- yatools.net # Visual Studio editor for YAML
- JSON # Official JSON Website
- Pygments # Python language Syntax Colorizer /w YAML support
News:
- 18-AUG-2010 -- Ruby 1.9.2 includes psych, a libyaml wrapper by Aaron Patterson.
- 17-AUG-2010 -- vimscript parser/emitter was created by Nikolay Pavlov.
- 01-OCT-2009 -- YAML 1.2 (3rd Edition) was patched.
- 21-JUL-2009 -- YAML 1.2 (3rd Edition) was released.
- 28-APR-2009 -- A new version of SnakeYAML was released.
- 01-APR-2009 -- The YAML 1.2 spec was planned to be finalized by the end of the month.
- 07-JAN-2009 -- Andrey Somov releases SnakeYAML, a 1.1 YAML Parser
- 03-JAN-2009 -- Burt Harris announced YAML for .NET and editor for Visual Studio
- 02-DEC-2008 -- Jesse Beder released YAML for C++
- 11-MAY-2008 -- Oren Ben-Kiki has released a new YAML 1.2 spec draft
- 29-NOV-2007 -- Alexey Zakhlestin has updated his Syck (YAML 1.0) binding for PHP
- 23-NOV-2007 -- Derek Wischusen has release Action Script 3 YAML 1.1
- 01-AUG-2006 -- Kirill Simonov has released libyaml, a parser and emitter in "C"
- 06-JUN-2006 -- Ola Bini is at it again, this time with a Java implementation
- 03-JUN-2006 -- Christophe Lambrechts and Jonathan Slenders announced a .NET parser
- 07-MAY-2006 -- Ola Bini released a pure-ruby YAML 1.1 parser and emitter
- 12-APR-2006 -- Kirill's YAML 1.1 parser for Python is now at PyYaml
- 05-FEB-2006 -- Spyc YAML for PHP is now at version 0.3
- 17-DEC-2005 -- Makoto Kuwata has released Kwalify 0.5, YAML/JSON schema validator
- 14-DEC-2005 -- Toby Ho has released Jyaml, a Java library for YAML based on Rolf Veen's work
- 30-AUG-2005 -- Kirill Simonov has produce a wonderful Python binding for Syck
- 08-APR-2005 -- As it turns out, YAML is a superset of the JSON serialization language
- 18-MAY-2005 -- Why has released version 0.55 of Syck
- 28-DEC-2004 -- Announcing YAML 1.1 Working Draft
- 01-OCT-2004 -- YAML for Cocoa was released by Will Thimbley
- 08-FEB-2004 -- Slaven Rezic announced a new version of his Javascript binding
- 29-JAN-2004 -- Ingy, Oren, and Clark spent 4 days hacking on the spec in Portland.
- 10-OCT-2003 -- The Syck implementation with bindings for Ruby, Python,
and PHP is now at version .41
- 26-APR-2003 -- Mike Orr has taken over the Pure Python development.
- 26-APR-2003 -- Brian Ingerson has created a FIT platform for Wiki-like testing.
- 24-JAN-2003 -- Updates to specification.
- 25-JUL-2002 -- Both the Ruby and Python parsers have made significant progress.
There is an article about YAML by Kendall Grant Clark at xml.com.
There is also a draft XML binding.
- 02-JUL-2002 -- Brian Ingerson will be giving a 45 minute presentation on YAML at the
O'Reilly Open Source Conference in San Diego on July 24th 2002.
- 01-FEB-2002 -- Brian's Perl implementation YAML.pm, has been updated with new documentation.
Included in this release is YSH, a test shell for learning how YAML works.
- 03-JAN-2002 -- YAML(tm) starts the new year with a new name YAML Ain't Markup Language.
- 17-MAY-2001 -- YAML now has a mailing list at SourceForge.
- 15-MAY-2001 -- YAML is started with a first pass specification.
# Maintained by Clark C. Evans
...
Test 1
# This file is part of PARPG.
# PARPG is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# PARPG is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with PARPG. If not, see <http://www.gnu.org/licenses/>.
---
NPC_NAME: Dig
AVATAR_PATH: gui/portraits/bouncer.png
START_SECTION: main_dialog
SECTIONS:
- ID: main_dialog
SAY: "What do you want? Can't you see I'm drinking here?"
ACTIONS:
- meet:
- dig
RESPONSES:
- REPLY: "I'm looking for stuff to make beer with."
CONDITION: "quest.hasActiveQuest('beer') and not\
\ quest.hasFinishedQuest('beer') and\
\ quest['beer'].isGoalValue('beer_instructions')"
GOTO: help_beer
- REPLY: "Do you know Jacob?"
GOTO: explain_jacob
- REPLY: "Do you work here?"
GOTO: inn_background
- REPLY: "Are you going to kick my but?"
GOTO: but_kicking
- REPLY: "Was Camillia with you in the bar here two nights ago?"
CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')"
GOTO: check_alibi
- REPLY: "Who are those two women over there?"
GOTO: loose_women
- REPLY: "Why is Camilla such a bitch?"
CONDITION: "pc.met('camilla')"
GOTO: explain_camilla
- REPLY: "What is up with Synnove?"
CONDITION: "pc.met('synnove')"
GOTO: explain_synnove
- REPLY: "Your boss's booze monopoly is over!!"
CONDITION: "quest['beer'].getValue('beer_quality') >= 1"
GOTO: ungratitude
- REPLY: "I'm looking for Pekko, you seen him?"
CONDITION: "quest.hasActiveQuest('fedex') and not\
\ quest.hasFinishedQuest('fedex') and not\
\ quest['fedex'].isGoalValue('found_pekko')"
GOTO: help_fedex
- REPLY: "Hey, back off. Just making small talk."
GOTO: parting_shot
- ID: explain_camilla
SAY: "Well, it's probably because she gets hit on by greasy layabouts all\
\ hours of the day. Maybe you should cut her some slack."
RESPONSES:
- REPLY: "Hmmm... Can you confirm that she was here all night with you\
\ two days ago?"
CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')"
GOTO: check_alibi
- REPLY: "I suppose that's not unreasonable."
GOTO: back
- ID: check_alibi
SAY: "Huh? You're not her boyfriend. And I'm not her babysitter. Why do\
\ you care?"
RESPONSES:
- REPLY: "I'm investigating a murder"
GOTO: investigate
- REPLY: "No reason. No reason at all."
GOTO: main_dialog
- ID: investigate
SAY: "Oh, in that case officer, she was with me the whole time. [rolls\
\ eyes]"
RESPONSES:
- REPLY: "I get the sense that you are not taking this very seriously."
GOTO: main_dialog
- ID: but_kicking
SAY: "Not today. I'm off duty. But watch yourself all the same."
RESPONSES:
- REPLY: "I'll do that."
GOTO: back
- ID: explain_jacob
SAY: "I'm Jacob's guy. You got a problem with him - or his family - you\
\ got a problem with me. So do you have a problem?"
RESPONSES:
- REPLY: "Nope. No problem at all."
GOTO: back
- ID: explain_synnove
SAY: "OK, she's a little weird. She was 5 when she saw what those Russians\
\ bastards did to her mother. She'd have been next if Jacob and I hadn't\
\ shown up in time."
RESPONSES:
- REPLY: "Oh, I had no idea. Gruesome."
GOTO: back
- ID: inn_background
SAY: "If you call sittin' here and bullshitting `working`. But I do solve\
\ problems for Jacob. You're not a problem, are ya?"
RESPONSES:
- REPLY: "No sir, no problem here."
GOTO: back
- ID: help_beer
SAY: "Now you are just trying to be funny. And failing. Get out of here\
\ before I decide to throw you out."
RESPONSES:
- REPLY: "Yeah, well maybe I'll find my own bouncer, too!"
GOTO: parting_shot
- ID: loose_women
SAY: "Buy 'em a drink and find out."
RESPONSES:
- REPLY: "I would do that if I could afford the booze in this place."
GOTO: back
- ID: help_fedex
SAY: "I dunno. Dude's in here all the time."
RESPONSES:
- REPLY: "Was he here talking to Bart a couple nights ago?"
CONDITION: "quest['fedex'].isGoalValue('drunkard_evidence')"
GOTO: pekko_check
- REPLY: "Lot of help you are."
GOTO: parting_shot
- ID: pekko_check
SAY: "Buy 'em a drink and find out."
RESPONSES:
- REPLY: "I would do that if I could afford the booze in this place."
GOTO: back
- ID: parting_shot
SAY: "Watch yourself, Bub. I don't want to get out this chair."
RESPONSES:
- REPLY: "Ulp."
GOTO: end
- ID: ungratitude
SAY: "Oh, a wise guy huh??? [gets out of chair]"
RESPONSES:
- REPLY: "I'm out of here!"
GOTO: end
...
Test 2
--- !clarkevans.com/^invoice
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments: >
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
Chances of failure:
103% and rising
New paragraph with lead indent
New paragraph after blank line
<<: *id001
two more: !!sometype
one more: !!type |
fydhjtbrvstrsrec
finale: >
weeeeeeeeeeee