Empty Block

Funcdown Syntax

  • This page addresses stuff that one might need in order to quickly get the job done with Funcdown.
  • The following TWO tables reflect how to easily expand, either tag or attribute within tag by using CAPITAL (one or two at most) letter(s).
Tag Expansion

Expanding tags with a Char or Two


Association String Mode Hashmap Mode
* for DOCTYPE_DECLARATION * { 5 | X } [ '*' => 5 | '5' | 'X' ]
! for Html Comment ! { Html Comment } [ '!' => 'Html Comment' ]
~ for TextNode ~ { TextNode } [ '~' => 'TextNode' ]
R for <html> R [ !{+ more_tags} ] [ 'R' => [ '!' => '+ more_tags' ]]
H for <head> H [ !{+ more_tags} ] [ 'H' => [ '!' => '+ more_tags' ]]
M for <meta> M (attr val)| [ 'M@attr val' => null ]
T for <title> T { TextNode } [ 'T' => 'TextNode' ]
L for <link> L (attr val)| [ 'L@attr val' => null ]
J for <script> J {:>>> console.log (window) <<<:} [ 'J' => 'console.log (window)' ]
B for <body> B [ !{+ more_tags} ] [ 'B' => [ '!' => '+ more_tags' ]]
D for <div> D { TextNode } [ 'D' => 'TextNode' ]
N for <nav> N { TextNode } [ 'N' => 'TextNode' ]
P for <pre> P { TextNode } [ 'P' => 'TextNode' ]
C for <code> C { TextNode } [ 'C' => 'TextNode' ]
F for <form> F [ !{+ more_tags} ] [ 'F' => [ '!' => '+ more_tags' ]]
I for <input> I (attr val)| [ 'I@attr val' => null ]
A for <article> A { TextNode } [ 'A' => 'TextNode' ]
S for <section> S { TextNode } [ 'S' => 'TextNode' ]
AS for <aside> AS { TextNode } [ 'AS' => 'TextNode' ]
HD for <header> HD { TextNode } [ 'HD' => 'TextNode' ]
FT for <footer> FT { TextNode } [ 'FT' => 'TextNode' ]
BT for <button> BT { TextNode } [ 'BT' => 'TextNode' ]
LL for <label> LL { TextNode } [ 'LL' => 'TextNode' ]
TT for <textarea> TT { TextNode } [ 'TT' => 'TextNode' ]

Attribute Expansion

Expanding attributes with letter or char


Association String Mode Hashmap Mode
# for id="..." tagname (# ...) { Text } [ ':tagname@# ...' => 'Text' ]
% for href="..." tagname (% ...) { Text } [ ':tagname@% ...' => 'Text' ]
. for class="..." tagname (. ...) { Text } [ ':tagname@. ...' => 'Text' ]
! for title="..." tagname (! ...) { Text } [ ':tagname@! ...' => 'Text' ]
@ for content="..." tagname (@ ...) { Text } [ ':tagname@@ ...' => 'Text' ]
A for alt="..." tagname (A ...) { Text } [ ':tagname@A ...' => 'Text' ]
S for src="..." tagname (S ...) { Text } [ ':tagname@S ...' => 'Text' ]
F for form="..." tagname (F ...) { Text } [ ':tagname@F ...' => 'Text' ]
T for type="..." tagname (T ...) { Text } [ ':tagname@T ...' => 'Text' ]
N for name="..." tagname (N ...) { Text } [ ':tagname@N ...' => 'Text' ]
V for value="..." tagname (V ...) { Text } [ ':tagname@V ...' => 'Text' ]
C for style="..." tagname (C ...) { Text } [ ':tagname@C ...' => 'Text' ]
H for hidden="..." tagname (H ...) { Text } [ ':tagname@H ...' => 'Text' ]
R for readonly="..." tagname (R ...) { Text } [ ':tagname@R ...' => 'Text' ]
E for contenteditable="..." tagname (E ...) { Text } [ ':tagname@E ...' => 'Text' ]

Microdown

Microdown Syntax Insight


  • Microdown -> tag (class className) { CHAR//TextNode+ }
  • Quick and dirty way to transform or isolate *(words with a lot of punctuation (dangerous) characters) without leaving curly brace {} wrappers. Its general purpose is very similar to the one that BB-CODE has. And as it is, just like the main Funcdown syntax it self, You don't need to repeat closing tag name. However, in Microdown mode, instead of the right curly brace }, a single + is used instead, for any tag statement termination.

Association String Mode Result
a for <a> a//textnode+ textnode
b for <b> b//textnode+ textnode
i for <i> i//textnode+ textnode
p for <p> p//textnode+

textnode

s for <s> s//textnode+ textnode
u for <u> u//textnode+ textnode
q for <q> q//textnode+ textnode
A for <abbr> A//textnode+ textnode
B for <bdi> B//textnode+ textnode
C for <code> C//textnode+ textnode
D for <data> D//@V sample| textnode+ textnode
K for <kbd> K//textnode+ textnode
L for <label> L//@for sample| textnode+
M for <mark> M//textnode+ textnode
N for <dfn> N//textnode+ textnode
O for <bdo> O//@dir rtl| textnode+ textnode
S for <span> S//textnode+ textnode
T for <time> T//07:05:32+
V for <var> V//textnode+ textnode
I for <input> I//@# sample,T text,N sample,V textnode| +
J for <script> J//((s) => {return s\})("J")+ [source]
_ for <hr> _//@. someClass| +
W for <wbr> W//+ [opportunity]
- for <br> -//+ [LBR]
! for <!-- COMMENT --> !//Comment+ [source]

Empty Block
Empty Block
Empty Block
Empty Block