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
orTwo
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+ textnodeu
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]