Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Dong Markup Language

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 js
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
README.md
The
        /\       
       /  \      
      /,--.\     
     /< () >\    
    /  `--'  \   
   /   Ruby   \  
  / Illuminati \
 /______________\
                  presents

Dong ML: A flexible markup for stiff problems

0. Errata

0.1 Version

dongml is at version 1.1

0.2 Changes

  • Free text is no longer allowed but can be placed in cockments instead.
  • The unicock escape was too unwieldy and has been reduced in size.
  • Sausagelinks shared a substring with dong tags and have been redefined
  • The Zed tag was removed per the Zed Anti-bullying Act of 2012. Let bydongs be bydongs.

1. Submissions

To submit a change to the official dongml spec, please open a Request For Cock at https://gitorious.org/dongml

2. Technical

2.1 Mime types

Supported mime types for dongml are "application/dongml" and "application/dml".

2.2 Encoding

Unicode octets are used with a unicock escape "\u..." if required. For example, "pênis" can be written as p\u00CAnis. Encoding is accomplished through base69.

3. Supported tags

The following tags are supported by dongml 1.1. Symbols used in tag definitions are listed below:

<shaft>  ::= = | <shaft><shaft>
<length> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <length><length>
<girth>  ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <girth><girth>
<jizz>   ::= ~ | * | <jizz><jizz>
<face>   ::= <no, not my face> | <in the mouth> | <non-plussed> | <face><face>

<tag>     - shorthand for sequence of tag(s) not including the SAUSAGEFEST tag
<id>      - any sequence of digits 0-9, characters a-z and A-Z, -, _ and +, starting with #
<text>    - any sequence of characters
<url>     - a URL

3.1 COCKMENT tag

A COCKMENT tag serves as a comment or human-readable semantic value. Any text between COCKMENT tags will not be processed as a tag.

<cockment> ::= 8--<text>--)

3.2 DONG tag

The DONG tag is the bread and hot, steamy butter of dongml. Use it to represent dongs of the specified length and optional girth. DONGs may also be given ids, used for SAUSAGELINKs

<dong> ::= 8==D
         | 8=<shaft>=D
         | 8==/<length>/==D
         | 8==/<length>,<girth>/==D
         | 8=={<id>}==D

Examples:

8==D             8-- pretty small dong --)
8============D   8-- 10 inch long dong --)
8==/10/==D       8-- also 10 inches --)

Incorrect:

8==B             8-- who makes a dong like this --)
8==D(|)          8-- dongs don't go in vaginas in this language, bub --)

3.2.1 Cut/uncut notation

Dongs may be either cut

8==/7/==D

or uncut

8=======D

In the above example, both dongs are equivalent in length (7) and girth (1)

Note: Required dongml notation is to surround each cut with exactly two shafts to avoid ambiguity with respect to length and girth. The shafts do not count toward the total length

Examples:

8==/7/==D           is valid dongml

8===/7/===D         invalid
8=/7/=D             invalid
8=/7/==D            invalid

3.3 INVERSE DONG tag

The INVERSE DONG tag is supported in dongml to allow for SWORDFIGHT representation. The representation is similar to the standard DONG tag, with a slightly non-conventional HEAD

<inverse_dong> ::= C==8
                 | C=<shaft>=8
                 | C==/<length>/==8
                 | C==/<length>,<girth>/==8

Examples:

C==8                  8-- pretty small inverse dong --)
8====D~~~ ~~~C====8   8-- dong and inverse dong engaged in swordfight --)

3.4 SPURT tag

Your standard spurting DONG.

<spurt> ::= <dong><jizz>

Examples:

8====D~~~~~~     8-- regular jizz --)
8==D~~~*~~~*     8-- extra chunky --)

3.5 BUTT tag

BUTTs always appear after a DONG or precede a FACE

<butt> ::= <dong>( Y )
         | ( Y )<face>

Examples:

8=====D( Y )               8-- correct usage of a dong --)
8===D( Y )('o')            8-- oh god that's so hot --)
8===D( Y )(^o^)(^o^)(-_-)

Incorrect:

8===( Y )===(x_x)====D

Note: BUTT supports alternative tags (.) (SMALLBUTT), (.) (BIGBUTT) and (x) (MAJORBUTT)

3.6 NONOTMYFACE tag

The two face tags can exist independent of any DONGs. This allows for better representations of long SPURTs

<no, not my face> ::= ('o')

Examples:

8===D~~~~('o')               8-- self-explanatory --)
8===D~~~~~~~('o')(^o^)(^o^)

3.7 INTHEMOUTH tag

Aim that spurt into a receptacle

<in the mouth> ::= (^o^)

3.8 NONPLUSSED tag

Not pleased about the aforementioned aiming

<non-plussed> ::= (-_-)

3.9 SAUSAGEFEST tag

The root tag of a document (dongcument), the SAUSAGEFEST tag encloses all other dongml tags.

<tag or text> ::= <tag> | <text> | <tag or text><tag or text>
<sausagefest> ::= ++ALL ABOARD++ <tag or text> ++THE MEAT TRAIN++

Examples:

++ALL ABOARD++    
  8==/10,10/==D

  8===D~~~{#statement_1}
  8===D~~~{http://en.wikipedia.org/wiki/Hello,_world}

  8=={#statement_1}==D
  8--This was funnier when I started--)
++THE MEAT TRAIN++

3.10 SAUSAGELINK tag

SAUSAGELINKs allow traversal from one SAUSAGEFEST to another SAUSAGEFEST, or to a specific id within a SAUSAGEFEST

<sausagelink> ::= 8=D~~~{<url>}
                | 8=D~~~{<id>}

3.11 BOOB tag

The BOOB tag is optional. It is used for a better representation of the citation of the dong

<boob>  ::= <dong> (.)(.) | <jizz>(.)(.)

Examples:

8====D~~ (.)(.)     8-- Dont waste that jizz --)

4. DONG INSPECTION and QUERY LANGUAGE for INSPECTING and QUERYING

4.1 DIQLIQ

var pricks = from dongs in ('o==3', 'o==/7/==3') print dong.parse.girth;

5. CONTRIBUTORS

6. VERSIONS

  • 00.47.00 - First working draft
  • 01.00.00 - First stable release
  • 01.01.00 - Redefinition for practical use

7. Misc.

The official DongML theme song:

`while true; do say -v cello "don't add me to dong M L dong M L dong M L don't add me to dong M L or I'll tell TP-dub"; done`

It's Dong ML Time!

Something went wrong with that request. Please try again.