Skip to content

Instantly share code, notes, and snippets.

@intellecat
Last active January 1, 2016 04:49
Show Gist options
  • Save intellecat/8094551 to your computer and use it in GitHub Desktop.
Save intellecat/8094551 to your computer and use it in GitHub Desktop.
jedi syntax doc

#jedi syntax doc

https://github.com/hax/jedi

###basic

!html5
html
	head
		title 'title text
	body
		h1 "Hello,{user.name}

###id & classes 可混合多个class和ID,但注意顺序必须是Tag之后先class后ID。
另外也不能不写tag光写class或ID(如.naked-class),
因为这鼓励了不动脑子全退化到div的错误做法

div#content
	div.block
		input.foo1.foo2#bar

###Nesting

nav 
	ul#standard-bodies
		li 
			a @href='http://www.w3.org/'
				'W3C

子元素可写在一行内

nav > ul#standard-bodies
	li > a @href='http://www.w3.org/'
		'W3C

###Text

h1 '文本
	p
		'	普通文本,可以包含任何字符,包括 ' 和 ",
			HTML特殊字符如 < > & 会被自动 escape,
			也可以折行。
	p "插值文本,可以插入表达式,如 1 + 1 = {1 + 1}

###Variables

title "{page.title} - Jedi

###Attributes

meta @charset='utf-8'
link @rel='stylesheet' @href={url.static 'common.css'}
p
	'元素上当然可以有属性
	@title='属性会自动前置'

###Comments

!	这里是HTML注释
!	注释可以有
	很多
	很多
	行……
-- 这是代码抑制,与HTML注释不同,其内容不会被输出
--
	代码抑制可以很方便的
	禁用一整块的代码

###if

:if user.age < 18
	p 'NO ENTER!
:else
	p 'Welcome to the lost paradise.

###for in

ul
	:for x in [1, 2, 3]
		li "x = {x}

###inject

- echo '这里是代码注入,也就是开了个后门'
- $test = 'test'
	- if ($test)
		p
			'测试
			- echo $test
@zpbx
Copy link

zpbx commented Jan 9, 2014

原来这样也是可以的:

!   注释可以有
    很多
    很多
    行……

我原来只知道:

!
    注释可以有
    很多
    很多
    行……

对 Jedi 的缩进关系又有了进一步了解。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment