2011-04-22 8 views
30

¿Hay algún lenguaje simple similar al Markdown o uno de los Wiki Markups que se convierte en elementos de formulario HTML?Wiki o sintaxis tipo Markdown para formularios simples?

Por ejemplo:

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

conseguiría convertir en:

<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> 

Sería simple de crear uno yo mismo, pero si cualquier biblioteca/lenguaje existente es compatible con lo que ya, que me ahorraría algún tiempo en implementación, documentación y mantenimiento. Sería preferible si la biblioteca funcionara bien en Java (para que pudiéramos ejecutarlo desde el lado del servidor) o JavaScript (para que pudiéramos ejecutarlo desde el lado del cliente).

Actualización: Creé un github project para esto y maleldil lo implementé. Siéntase libre de try it out!

+0

Parte del producto de mi empresa es un generador de formularios web para que nuestros clientes lo inserten en sus sitios. Escribir una clase que reemplazara expresiones regulares en lo que llamamos un "script" de webform no me llevó mucho más que un par de horas. También podría ver algo como Zend Form, que no es tan fácil, pero es la misma idea ... por supuesto, depende de PHP, por lo que podría no ser una opción para usted. – bpeterson76

+0

tal vez puede ser explícito con el idioma que usará, por lo que sería más fácil limitarlo? – AnaZgombic

+0

@AnaZgombic agregó una nota que una implementación de Java o JavaScript sería preferible. –

Respuesta

7

No he podido encontrar una biblioteca que se adapte a mis necesidades, así que bifurqué el proyecto WMD (que SO usa para resaltar la sintaxis de Markdown) y puse el proyecto en on Github. No tuve tiempo de implementarlo, pero maleldil amablemente lo hizo él mismo, así que try it out!

0

me encontré con http://www.jspwiki.org/Wiki.jsp?page=WikiFormsPlugin hace algún tiempo. no estoy seguro si puedes reutilizar la clase aunque.

+0

Jaja, no estoy seguro si me gusta esa sintaxis mejor que el HTML normal. Supongo que técnicamente es un margen de beneficio, pero no realmente en el espíritu de Markdown (o incluso las marcas Wiki que he visto). –

+0

Gracias por el enlace. De una mirada rápida, tengo que estar de acuerdo con Shtééf: la [sintaxis] (http://www.jspwiki.org/wiki/WikiFormsExample) definitivamente no es muy rebaja o wiki. Necesitarás saber suficiente HTML para usarlo que también puedes usar HTML. –

3

No es una respuesta.

creo que debería leer

sexo =() Masculino() Femenino

con el fin de conseguir los botones de radio, porque

sexo = [] Hombre [] Mujer

haría resultado en casillas de verificación (lo que significa que puede ser tanto masculino como femenino)

Si va a implementarlo. Además, debe solicitar una pregunta por línea, para que sepa qué agrupar, de lo contrario se vincularán dos().

También sugiero que no intente poner valores dentro de() o [], ya que es más fácil buscarlos sin texto dentro. Pero también puede agregar () como seleccionado y [] como marcado. Si usas ese tho, no puedes tener ese flujo de caracteres en las preguntas.

Solo mis 2 centavos por si va a implementarlo.

+0

El código que enumeré fue solo un "ejemplo", no una sintaxis completamente pensada, pero definitivamente usted hace algunos buenos comentarios. '()' para botones de opción y '[]' para casillas de verificación parece razonable. Uno por línea no es tan grande de una limitación. Indicar una selección es fácil: '(x)'. Los cuadros de texto son '_____', los menús desplegables pueden ser 'ciudad = {BOS, NYC, SF}'. –

3

Me tomó un swing en el problema en https://github.com/bradgessler/formdown con una sintaxis ligeramente diferente:

Hi _________(Name) 

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

Could I have your email address? [email protected](Email) 

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

[ Submit your feelings ] 

Esto se empaqueta como el formdown joya y se puede utilizar en los carriles para hacer las formas a través de la extensión .fmd archivo (por ejemplo, app/views/users/edit.fmd.html).

0
<< 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"; 
>> 
  • << y >> son formulario de inicio y final firma
  • "this is a label":
  • * inmediatamente después de la etiqueta es para los campos requeridos
  • __ es la introducción de texto
  • | atributos se separan con tuberías (n="name of the field"|c="class of the field")
  • ; es para la separación de campo
  • {} seleccionar es como una matriz asociativa.
  • ! es para los valores comprobados y/o seleccionados
  • :"label that comes after the value" de aparatos de radio y casillas de verificación
  • ____ es textarea
  • ^ símbolo de intercalación es para la entrada de archivos (encima de la muestra para la carga)
  • @submit para los botones

.. ahora solo si alguien implementó esto. :)

0

Estoy trabajando en una solución de PHP que se extiende Michelf Markdown. Actualmente, se admiten los elementos básicos <input> y <textarea>. Se utiliza esta sintaxis:

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

Dónde type puede ser un tipo de entrada (<input type="...") o textarea lo que resulta en un área de texto.

Ver el código https://github.com/rbnvrw/markdown-forms y no dude en contribuir.

Cuestiones relacionadas