render template that it is contains one '\r\n' string will return more than one
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Comienza con la invocación de renderizado de Jinjava y la configuración withLstripBlocks(true)/withTrimBlocks(true) que se muestran en el informe. Reproduce la plantilla CRLF con las tres variables establecidas y, a continuación, rastrea cómo el recorte de bloques maneja '\r\n'; añade una prueba de regresión para el espaciado esperado entre líneas del resultado renderizado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
render method with config withLstripBlocks(true).withTrimBlocks(true)
public static String render(String template, Map<String,Object> params) {
final JinjavaConfig config = JinjavaConfig
.newBuilder()
.withLstripBlocks(true).withTrimBlocks(true).build();
final Jinjava jinjava = new Jinjava(config);
final JinjavaInterpreter jinjavaInterpreter = jinjava.newInterpreter();
jinjavaInterpreter.getContext().putAll(params);
final String renderStr = jinjavaInterpreter.render(jinjavaInterpreter.parse(template));
return renderStr;
}
test code:
String template = "{% if bootefiDev %}\r\n" +
"part /boot/efi --fstype=\"efi\" --size=500 --ondisk={{ bootefiDev }}\r\n" +
"{% endif %}\r\n" +
"{% if bootDev %}\r\n" +
"part /boot --fstype ext4 --size=2048 --ondisk={{ bootDev }}\r\n" +
"{% endif %}\r\n" +
"{% if rootDev %}\r\n" +
"part / --fstype ext4 --size=1 --grow --ondisk={{ rootDev }}\r\n" +
"{% endif %}\r\n";
Map<String,Object> param = new HashMap<>();
param.put("bootefiDev","sda");
param.put("bootDev","sda");
param.put("rootDev","sda");
System.out.println(render(template,param));
and then i will get a render result below:
part /boot/efi --fstype="efi" --size=500 --ondisk=sda
part /boot --fstype ext4 --size=2048 --ondisk=sda
part / --fstype ext4 --size=1 --grow --ondisk=sda
- Lenguaje dominante
- Java
- Estrellas
- 787
- Forks
- 184
- Merge medio
- 6 d 22 h
- PR fusionados (30 d)
- 1
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de HubSpot/jinjava
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
Upgrade jsoupAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 82/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
Todos los issues de HubSpot/jinjava
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
objectionary/eo#9182 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
objectionary/hone-maven-plugin#1293 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
MaikuB/flutter_appauth#683 ·
-
wait for review
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día