freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "T X (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FREEMARKER-97) Header capitalization using standard styles
Date Tue, 29 May 2018 17:54:00 GMT
T X created FREEMARKER-97:
-----------------------------

             Summary: Header capitalization using standard styles
                 Key: FREEMARKER-97
                 URL: https://issues.apache.org/jira/browse/FREEMARKER-97
             Project: Apache Freemarker
          Issue Type: Bug
          Components: engine
    Affects Versions: 2.3.28
            Reporter: T X


FreeMarker offers a couple of simple algorithms for changing the case of titles:
 * [https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_cap_firs|https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_cap_first]
 * [https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_capitalizet|https://freemarker.apache.org/docs/ref_builtins_string.html#ref_builtin_cap_first]

Neither of these capitalize the text in ways that subscribe to various manuals of style:
 * [Chicago Manual of Style|https://en.wikipedia.org/wiki/The_Chicago_Manual_of_Style]
 * [Associated Press|https://en.wikipedia.org/wiki/AP_Stylebook]
 * [MLA Style Manual|https://en.wikipedia.org/wiki/MLA_Style_Manual]
 * [APA Style|https://en.wikipedia.org/wiki/APA_style]

Here are some test texts:
 * On iPhone the Transcript Extends Outside of Screen Frame
 * PEAR And GNA Report Performance
 * BCMailPlusFTPClient Sends Document without Document ID
 * JWebUnit: Non-PEN Orders main.xhtml Meta Refresh Tag Issue

These are correct as written and must not be adjusted by an algorithm that changes the text
title. There are a couple of web sites that produce the expected titles (note that the second
site capitalizes the word "without," which implies the algorithm does not use Chicago conventions):
 * [https://titlecaseconverter.com/]
 * [http://individed.com/code/to-title-case/]

There are a variety of implementations that perform such a feat:
||Language||Link||
|JavaScript|[https://github.com/gouch/to-title-case/blob/master/to-title-case.js]|
|Perl|[https://gist.github.com/gruber/9f9e8650d68b13ce4d78]|
|PHP|[https://gist.github.com/HipsterJazzbo/2532c93a18db7451b0cec529c95b53c4]|

These implementations do not require a whitelist. (So "iPhone" and "ClassName" will not be
corrected.) Apache Commons' {{WordUtils}} class does not implement Chicago Style correctly.

Since {{?capitalize}} and {{?cap_first}} are taken, I propose {{?title_case}} with an optional
parameter (default is Chicago):
 * chicago
 * ap
 * apa
 * mla

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message