Los desarrolladores escriben tickets JIRA; los desarrolladores no diseñan los elementos del ticket de manera consistente. Nos gustaría presentar los resúmenes de los tickets a los clientes, pero con un formato coherente.
Usamos FreeMarker Pre-Processor (fmpp), que admite mayúsculas y minúsculas, pero estas funciones simples pierden información (p. ej., "BCServices" se convierte en "Bcservices" y "iPhone" se convierte en "Iphone").
Hay un código JavaScript que hace un gran trabajo al hacer que los resúmenes sean uniformes:
Esto formatea los siguientes resúmenes como se esperaba:
Estamos buscando algo que se pueda ejecutar desde la línea de comandos (como parte de un programa por lotes) que no requiera un binario enorme. Idealmente:
@echo off
headline < "On iPhone the Transcript Extends Outside of Screen Frame" > case.txt
set /P title=<case.txt
Pie-in-the-sky permitiría emitir diferentes estilos en la línea de comando:
@echo off
headline --style=CMS < "On iPhone the Transcript Extends Outside of Screen Frame" > case.txt
set /P title=<case.txt
No estamos buscando módulos NodeJS, código Ruby, programas Go, scripts Perl y similares. JavaScript simple está bien (no es ideal ya que requiere algo como Rhino).
¿Qué Java, C, lote de DOS, binario pequeño de Windows, API REST gratuita/ilimitada o utilidad de shell de Unix permite que el procesamiento de oraciones sea "caso principal" según los estilos manuales estándar?
Es excesivo incluir un motor de JavaScript (Rhino) para ejecutar una expresión regular. Aunque mi respuesta funciona como se esperaba (incluida una clase de Java que realiza la tarea), se agradecen sugerencias alternativas.
Dado que Java se incluyó en los requisitos:
Correr:
java -cp rhino\lib\rhino.jar org.mozilla.javascript.tools.shell.Main ^^
-e "load( 'to-title-case.js' ); ^^
print(""BCMailPlusFTPClient sends document without document ID"".toHeadlineCase())"
Producción:
BCMailPlusFTPClient envía documento sin ID de documento