⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Kurvikkaat lainausmerkit pois

Kurvikkaita lainausmerkkejä ei käytetä kirjoitettaessa tekstiä suomeksi, joten Textpatternilla julkaistuissa artikkeleissa on aina oletusarvoisesti olemassa jotain lainausmerkkihämminkiä. Textpatternilla julkaistut sivut hyödyntävät Textile-muotoilukieltä. Se helpottaa esimerkiksi kursivointien ja lihavointien tekemistä kun ei tarvitse lisätä tekstin sekaan kuin tietyt merkit. Toisaalta Textile tuntuu olevan suunnattu enkunkielisille sivustoille. Niissä voidaan prameilevia lainausmerkkejä, jotka tunnetaan englanninkielisessä maailmassa nimellä "curly quotes". Tässä on pari vinkkiä, joilla lainausmerkit saa meikäläisten maailmaan sopiviksi.

Testasin äsken Textpatternin käytössä olevan Textile-koodikirjaston muokkaamista. Se on ehkä vaivattomin tapa uusilla sivustoilla muuttaa lainausmerkit kuntoon. Uusilla sivustoilla, joissa ei ole vielä joko sivuja ollenkaan, tai niitä on hyvin vähän, ei tarvita kovin paljon rassaamista lainausmerkkien fiksaamiseksi. Koodikirjaston, joka on nimeltään classTextile.php, sisälle tehdyt muutokset eivät nimittäin astu voimaan kuin vasta niissä artikkeleissa, jotka on tallennettu muutosten tekemisen jälkeen. Vanhoissa artikkeleissa saattaa olla kurvikkaita lainausmerkkejä eivätkä ne muutu oikeanlaisiksi ennen kuin artikkelit on tallennettu kertaalleen uudelleen. Sen takia classTextile.php:n virittäminen on hyvä ratkaisu tuoreille TXP-saiteille, joissa ei ole liikaa sisältöä päivitettäväksi.

Koodikirjasto löytyy hakemistosta /textpattern/lib/. Varsinaisen Textile-tiedoston sisältä pitää muuttaa kaksi koodiriviä. Mikäli Textpattern myöhemmin päivitetään uuteen versioon, sama muutos pitää muistaa tehdä uudelleen classTextile.php-tiedostoon. Muutettavat rivit ovat:

@define('txt_quote_double_open', '“');
@define('txt_quote_double_close', '”');

Niiden tilalle tällaiset:

@define('txt_quote_double_open', '"');
@define('txt_quote_double_close', '"');

Toinen vaihtoehto laittaa lainausmerkit kondikseen on käyttää Textpatterniin saatavilla olevaa liitännäistä, jolla voidaan tunnistaa tekstin seasta tiettyjä merkkejä ja korvata ne uusilla. Tämä vaihtoehto voi olla paras niille sivustoille, joissa on jo runsaasti sivuja. Voi olla työlästä tallentaa tuhansia sivuja, joten tämä temppu voi huolimatta sen nurjasta puolesta olla järkevin. Nurjalla puolella tarkoitan ylimääräistä tekstin prosessointia PHP:llä. Jokaisella sivun latauskerralla PHP-koodi joutuu kelaamaan tekstin alusta loppuun ja muuttamaan ne kurvikkaat lainausmerkit oikeanlaisiksi.

Kakkosvaihtoehtoa varten tarvitaan John Stephensin koodaama lisäosa pax_grep. Sen jälkeen lisäosalla voidaan tunnistaa curly quotesit ja survoa niiden tilalle finskiversiot. Esimerkiksi johdantotekstissä tavallisen <txp:excerpt />-tagin tilalle voidaan pistää tällainen:

<txp:pax_grep from="'&#8220;','&#8221;'" to="&quot;,&quot;">
<txp:excerpt />
</txp:pax_grep>

Sama juttu koskee esimerkiksi tageja <txp:title /> ja <txp:body />. Tämän vaihtoehdon hyvä puoli on siinä, ettei tarvitse muistaa päivittää Textile-koodikirjastoa eikä yksittäisiä artikkeleita. Temppu toimii. Ikävää on, että tällaisia temppuja pitää tehdä, sillä järkevintähän olisi jos Textpattern sen asennusvaiheessa älyäisi laittaa lainausmerkit sopivalla tavalla vaikkapa niin, että systeemin saadessa selville käyttäjän valinneen kieleksi suomen, lainausmerkitkin muutettaisiin suomalaisiksi.

Tietoa kirjoittajasta