简单形式的Wiki或Markdown式语法?

时间:2011-04-22 20:17:04

标签: html forms wiki markdown

是否有类似于Markdown的简单语言或转换为HTML表单元素的Wiki Markups之一?

例如:

name* = ___________
sex = (x) Male () Female
phones = [] Android [x] iPhone [] Blackberry
city = {BOS, (SFO), NYC}

会转换为:

<label>Name (required):</label><input type="text" name="name" id="name"/>
<label>Sex:</label><input type="radio" name="sex" value="Male" checked="checked"/> <input type="radio" name="sex" value="Female"/>
<label>Phones:</label><input type="check" name="phones" value="Android"/> <input type="check" name="phones" value="iPhone" checked="checked"/> <input type="check" name="phones" value="Blackberry"/>
<label>City:</label> 
<select name="city">
  <option value="BOS">BOS</option>
  <option value="SFO" selected="selected">SFO</option>
  <option value="NYC">NYC</option>
</select>

自己创建一个很简单,但如果任何现有的库/语言已经支持它,它将节省我一些时间在实现,文档和维护。如果库在Java中工作(因此我们可以在服务器端运行)或JavaScript(因此我们可以在客户端运行它),这将是更好的。

更新:我为此创建了github project,并maleldil实施了它。随意try it out

6 个答案:

答案 0 :(得分:7)

我无法找到适合我需求的库,所以我分叉了WMD项目(SO用于Markdown语法高亮显示)并将项目放在on Github上。我没有时间实施它,但maleldil亲自做到了,所以try it out

答案 1 :(得分:4)

我在https://github.com/bradgessler/formdown处解决了问题,但语法略有不同:

Hi _________(Name)

How are you doing today? () Good () Ok () Bad

Could I have your email address? __________@(Email)

Write a few lines that describe your mood: ____________///(Mood)

[ Submit your feelings ]

这被打包为formdown gem,可以在Rails中使用.fmd文件扩展名来呈现表单(例如app/views/users/edit.fmd.html)。

答案 2 :(得分:3)

不是答案。

我认为应该阅读

性=()男()女

为了获得单选按钮,因为

性= []男[]女

会产生复选框(意味着你可以是男性和女性)

如果你要实施它。此外,你需要每行一个问题,所以你会知道要分组的内容,否则任何两个()都会被链接。

我还建议你不要尝试将值放在()或[]中,因为它更容易在里面搜索文本。但您也可以将()添加为已选中,并将[]添加为已选中。如果你使用那个,你就不能在问题中找到那个字符流。

只需要我的2美分,以防你实施它。

答案 3 :(得分:1)

<< GET "/post.php";
    label*: __|n="inputname"|v|p|i|c|l|disabled|readonly; 
    password: *|n|v|p|i|c;
    select: { 'multi word value'= 'Option', 'value2'='Option 2', !'value1'='Option 3' }&|n|i|c;
    (!)|n|v :label for previous radio; ()|n|v :label for previous;
    label for checkboxes: [!]|n|v; []|n|v;
    Message:____|rows|cols|c|p|v;
    File: ^|size||types|i|c
    @submit|v="Send Message";
    @reset|v="Reset Form";
>>
  • <<>>是表单开头和结尾标志
  • "this is a label":
  • 标签后面的
  • *是必填字段
  • __是文字输入
  • |属性由管道(n="name of the field"|c="class of the field"
  • 分隔
  • ;用于字段分隔
  • {} select非常类似于关联数组。
  • !用于选中/选定的值
  • :"label that comes after the value"收音机和复选框
  • ____是textarea
  • ^插入标记用于文件输入(上传标记)
  • @submit按钮

..现在只有有人实现了这一点。 :)

答案 4 :(得分:0)

我在一段时间后遇到了http://www.jspwiki.org/Wiki.jsp?page=WikiFormsPlugin。不确定是否可以重复使用该类。

答案 5 :(得分:0)

我正在开发一个扩展Michelf Markdown的PHP解决方案。目前,支持基本的<input><textarea>元素。 它使用以下语法:

?{type}("label" "value" "placeholder" rows*cols){.class}

其中type可以是输入类型(<input type="...")或textarea,从而产生textarea。

有关代码,请参阅https://github.com/rbnvrw/markdown-forms,并随时提供帮助。