某些事情讓我對XHTML感到困擾,一般來說XML是爲什麼有必要指出你正在關閉的標籤。無論如何,像<b>bold <i>bold and italic</b> just italic</i>
這樣的東西都不合法。因此我認爲使用{}
更有意義。無論如何,這裏就是我想出了:我的新標記語言可能存在的缺陷?
doctype;
html
{
head
{
title "my webpage"
javascript '''
// code here
// single quotes do not allow variable substitution, like PHP
// triple quotes can be used like Python
'''
}
body
{
table {
tr {
td "cell 1"
td "cell 2"
td @var|filter1|filter2:arg
}
}
p "variable @var in a string"
p "variable @{var|withfilter}"
input(type=password, value=secret); // attributes are specified like this
br; // semi-colons are used on elements that don't have content
p { "strings are" "automatically" "concatenated together" @andvars "too" }
}
}
標籤僅包含一個元素不需要用括號括起來(例如td "cell 1"
的TD是文本後立即關閉)。字符串直接輸出,除了雙引號字符串允許變量替換,單引號不會。我正在採用類似於Django的過濾方案。我認爲,我最關心的是雙引號中的變量替換。我不希望人們必須在任何地方打開和關閉單引號,因爲語法事件被視爲不應該的變量。我認爲@
字符在代碼中非常常用。我打算使用像PHP這樣的$
,但是jQuery使用它,並且我想讓人們也可以在他們的JS中進行替換(當然,如果他們不需要,他們應該使用單引號!)
模板將使用「字典」。默認情況下,它使用這個帶有熟悉標籤的HTML字典,但您可以輕鬆添加自己的標籤。 「標籤」可能不僅包含一個,而且包含多個HTML標籤。
仍然需要決定如何做環路和包括諧音......
編輯:開始an open source project,對於那些有興趣。
你提出的語言的許多功能是顯着的相似乳膠... – dmckee 2010-10-21 17:34:14
@ dmckee:我只是簡單地使用過LaTeX,但那有什麼不對?我正在嘗試採取(我認爲是)來自各種語言的最佳創意。 – mpen 2010-10-21 17:37:39
它根本沒有錯。我提到它,以防你不知道它,因爲它暗示尋找常見的「陷阱」的地方。 – dmckee 2010-10-21 17:39:35