Scribuksen Python-apin laajentaminen

Scribuksen irc-kanavalla (irc.freenode.net, #scribus) tänään käydyn keskustelun pohjalta sain ajatuksen tähän kirjoitukseen. Scribuksessa tylsiä ja usein toistuvia tehtäviä voi automatisoida Python-komentosarjoilla (kansankielellä skripteillä). Skriptejä voi käyttää myös muuttuvan datan tulostukseen (variable data printing), kuten Open source publishing -blogin artikkelissa print, flip and turn kerrotaan.

Joskus saattaa tulla vastaan tilanne, että haluttua toimintoa ei löydy Python-apista. Mitä silloin tapahtuukaan? Avaat irc-ohjelmasi ja suuntaat Scribuksen irc-kanavalle ja huutelet apua. Kun apua ei kohtuuajassa kuulu, alat etsiä Scribuksen lähdekoodia toivoen, että jostain löytäisit skriptejä koskevat tiedostot. Voin nyt jo avittaa hieman ja kertoa, että ne löytyvät hakemistosta scribus/plugins/scriptplugin/.

Hienoahan olisi, jos Scribuksen Python-api dynaamisesti eläisi Scribuksen mukana ja kaikki toiminnot olisivat aina saatavilla skripteissä. Koska näin ei kuitenkaan ole, on skriptien käyttäjien aika-ajoin tarttutava lapioon ja sukellettava likaiseen Scribus-lähdekoodin maailmaan.

Irc-kanavalla kyseltiin tänään, voiko tekstin etäisyyttä kehyksen reunoista säädellä skriptin avulla. Ei voinut. Onneksi kysyjä oli riittävän noheva ja alkoi tutkailla vaihtoehtoja. Hän päätyi lisäämään funktiot Scribuksen lähdekoodiin itse. Toimintojen lisäys Scribuksen Python-apiin sisälsi 74 riviä. Jokainen aloitteleva koodarikin suoltaa tällaisen määrän ulos kahvitauollaan. Jotta muutokset saataisiin kaikille, hän loi uuden kohteen bugityökaluun ja lisäsi koodinsa sinne. Tuloksena oli kaksi uutta Python-funktiota, getTextDistances() ja setTextDistances(), joitten avulla voidaan kysyä tekstin etäisyyttä kehyksen reunoista sekä säädellä sitä.

Lyhykäisyydessään Python-apin laajennus menee seuraavasti:

  1. Etsi haluamasi toiminto Scribuksen lähdekoodista ja katso miten se tehdään
  2. Ala työstää skrpiterin koodia seuraavasti:
  • tekstin muokkausta käsittelevät toiminnot lisätään tiedostoon cmdtext.h ja cmdtext.cpp (muun tyyppisille muokkauksille löytyy omat cmd-alkuiset tiedostot)
  • funktiot paljastetaan skripterille lisäämällä ne scriptplugin.cpp-tiedostoon

Skripterille ei juuri nyt kannata alkaa tehdä suurempia korjailuja. Tämä siksi, että kesän Google Summer of Code -projektissa on tarkoitus luoda uusi skripteri QtScriptiä apuna käyttäen. Uuden skripterin olisi myös tarkoitus elää dynaamisesti Scribuksen kanssa.

Uutinen suljetusta* maailmasta

Adobe Illustrator CS4 -betaversio on julkaistu (ainakin Venäjällä). Enpä olisi uskonut tästä aiheesta bloggaavani, mutta tutkimattomat ovat vapauden kannatajan tiet. Totuushan on, että kilpailijoita on hyvä seurata ja heidän tekemisiään erityisesti.

Mielenkiintoiseksi AI:n julkaisun tekee, että seurantaa suoritetaan myös suljetulla puolella. Tällä kertaa AI matkii Inkscapea. AI CS4 tulee sisältämään liukuvärien muokkaamisen piirroksen päällä. Ominaisuushan on ollut Inkscapessa jo jonnin aikaa. Noh, taisipa Inkscapekin alunperin matkia tämän ominaisuuden joltain toiselta ohjelmalta. Tietääkö kukaan miltä?

Kuva uudistuneesta ai:sta ja liukuvärien muokkauksesta. Huomatkaa myös yläreunan välilehdet. Hyvästi vanha kunnon MDI.

Tässä kohtaa lienee myös hyvä mainita pakollinen blogitekstin Scribus-juttu. Koska matkiminen on päivän sana, ajattelin kysäistä: Tiesittekö, että Scribus oli ensimmäinen julkaisuohjelma, joka tuki pdf/x-3-iso-standardia? Enää tarvittaisiin painotaloja, jotka myös tukevat standardia.

*olisivatko suljetut ohjelmat sitten suloja

Valolla* nättiä jälkeä

Vapaitten grafiikkaohjelmien tunnettuutta täytyy kasvattaa. Yksi keino tähän on levittää sanaa onnistuneista projekteista. Scribuksella on jo jonkin aikaa ollut wikissä osio, jossa ihmiset voivat kertoa onnistumisistaan. Viimeisin onnistumistarina tulee Fedora-ihmisiltä. Mihmo kertoo blogissaan, kuinka Scribus pelasti hänet.

Aikaisemmin hänellä on ollut ongelmia vapaitten ohjelmien ja cmyk-värien kanssa. Ei enää, Scribus suoriutui tehtävästä mallikkaasti ja Fedora 9:n levyt saivat kauniit kuoret. Mihmon vapailla ohjelmilla tekemiä tuotoksia voi ihailla hänen blogissaan (rullatkaa sivun puoliväliin). Jos joku on kiinnostunut hänen Fudconia varten tekemistään Scribus-tiedostoista ja Scribuksella tehdyistä painovalmiista pdf-tiedostoista, ne löytyvät fedora-marketing-postituslistalta.

Mielenkiintoista on, että nämä on tehty Scribuksen kehityshaaran versiolla eikä edes julkaistulla 1.3.4:llä vaan subversionista haetulla 1.3.5svn-versiolla. Mihmo kuvailee työnkulkuaan seuraavasti:

  • Kuvat tehtiin Inkscapessa ja Gimpissä, vietiin 300 dpi png-tiedostoiksi, simppelit vektorikuvat tallennettiin svg-tiedostoina.
  • Kuvat tuotiin Scribukseen, jossa tehtiin kaikki kuvien päälle tulevat tekstit.
  • Väriprofiilit pantiin Scribuksessa kuntoon painoa varten
  • Vektorikuvien värit korvattiin cmyk-väreillä Scribuksessa.
  • Tallennus eps- tai pdf-tiedostoiksi ja lähetys painoon.

*valo vapaat ja avoimen lähdekoodin ohjelmat

Väkevä alku Oindexissä

Blogiharrastuksen mukana tulee kaikenmoinen blogin suosioon liittyvä nuuskiminen. Luonnollista on, että kirjoittelua ruokkii, kun huomaa, että joku lukee blogia. Tänään julkaistiin ensimmäinen Oindexin listaus, jossa Hiiop on mukana. Hiiop rynni suoraan sijalle 190. Teknologia- ja tietotekniikkablogeissa Hiiop on sijalla 8.

Tiedot Oindexiin kerätään Google Analyticsin kautta. Google on vahvasti esillä nuuskimisapuvälineissä. Hiiopin syötteet kulkevat Googlen Feedburner-palvelun kautta. Feedburnerista on peräisin sivun oikeassa palstassa oleva syötteen lukijoitten laskuri. Kolmas Googlen tarjoama palvelu blogien ja muittenkin verkkosivustojen ylläpitäjille on verkkovastaavan työkalut, jonka avulla voi seurata omien sivujen suosiota ja päivitystä Googlen hakupalvelussa.

Oindexin lisäksi kotimaisia nuuskimista ja mainostamista helpottavia sivustoja ovat Blogispotti ja Blogilista. Yksikään jutuistani ei vielä ole päätynyt Blogispottiin. Jos olet Blogispotin käyttäjä, voit lisätä kirjoitukseni Blogispottiin jokaisen tekstin perässä olevalla Blogispottiin-linkillä. Samaisella konstilla voit lisätä juttuni myös Diggaa.comiin.

Blogilista on kävijämäärällä laskettuna suosituin paikka löytää Hiiop. Sen kautta on blogiini tullut viimeisen kuukauden aikana 51 kävijää. Hyvänä kakkosena on Ukiwikin Scribus-kurssin sivu. Viimeisen kuukauden aikana blogissani vieraili yhteensä 268 absoluuttisesti yksilöityä kävijää. Blogini sivut kuukauden aikana näytettiin 2149 kertaa. Näistä varmasti suurin osa on omia sivulatauksiani.

Aikaisemmassa kirjoituksessani vitsailin tyypillisestä hääkortista. Tästä johtuen hakusanat teksti hääkorttiin ja muut vastaavat ovat jatkuva uusien vierailijoiden lähde. Olenkin ajatellut paneutua aiheeseen kunnolla ja kertoa lisää kutsukortin typografiasta ja pähkäillä, minkämoinen fontti oikeasti sopisi korttiin.

Tuleeko kellään mieleen muita keinoja kerätä kiinnostavaa dataa blogistani tai verkkosivuista? Olisin myös kiitollinen, jos jollakulla olisi vinkkejä blogin mainostamisesta ja tunnetuksi tekemisestä. Kommentoikaa!

Graafisen suunnittelun periaatteet

Löysin Scribuksen aikoinaan, koska minun täytyi alkaa tehdä lehteä. Tekstit ja kuvat lehteä varten sain toimitukselta, joten tehtäväkseni jäi ainoastaan lehden ulkoasu. Tehtävään minut valittiin, koska olin hyvä tietokoneen kanssa, huh! Lähtökohta hirvittää, mutta rohkea suomalainen ei sano ei, kun kohtaa haasteen.

Scribuksen postituslistalta etsin suosituksia lukemisesta. Eräs suositelluista kirjoista oli Robin Williamsin The non designer’s design book (Ulkoasukirja ihmisille, jotka eivät ole graafisia suunnittelijoita). Nimi vaikutti lupaavalta. Ostin kirjan. Useimmat tämän kirjoituksen vinkit ja periaatteet on peräisin kyseisestä kirjasta.

Perusperiaatteet

Suunnitelu lähtee liikkeelle muutamalla perusperiaatteella joitten sisäistäminen ei ole hankalaa. Perusperiaatteet ovat:

  • kontrasti
  • toisto
  • tasaus
  • ryhmittely

Englanniksi näitten periaatteiten oppiminen (hauki on kala) on vielä helpompaa, koska alkukirjaimista muodostuu hauska (???) sana crap (contrast, repetition, alignment ja proximity). Kttr ei kuulosta ollenkaan yhtä hauskalta. Näitä periaatteita noudattamalla julkaisun ulkoasu saa huomattavan parannuksen.

Seuraavissa kappaleissa käyn lyhykäisesti läpi kunkin periaatteen ja mitä se käytännössä tarkoittaa. Kaikkia periaatteita voidaan noudattaa mihin tahansa julkaisutyyppiin.

Kontrasti

  • Tehokkain tapa huomion saamiseksi
  • Kontrastin on oltava riittävän suuri. Pieni kontrasti saa lukijan hämilleen.
  • Kontrastia voi luoda monin keinoin: lämmin väri – kylmä väri, suuri fonttikoko – pieni fonttikoko, ohut viiva – paksu viiva…
  • Kumpaan uutislehtiseen tarttuisit ensimmäiseksi?

Toisto

  • Toista jotain yksityiskohtaa läpi koko julkaisun.
    • Otsikot samalla tyylillä kaikkialla.
    • Alatunnisteen paikka sivuilla.
  • Toista joitain yksityiskohtia kaikissa samaan ryhmään kuuluvissa julkaisuissa.
    • Logon sijoittelu esitteissä, kirjepapereissa, asiakirjapohjissa
    • Fonttivalinnat
  • Brändin kannalta tärkeää.
  • Toistolla luodaan jatkuvuutta.

Tasaus

  • Kohteitten paikkoja sivulla ei pidä arpoa
  • Jokaisella kohteella pitäisi olla yhteys toiseen kohteeseen sivulla.

Ryhmittely

  • Kokoa yhteenkuuluvat asiat omiksi ryhmikseen.
  • Ilman ryhmittelyä ja tasausta syntyy liikaa kysymyksiä.
  • Pysähtyvätkö silmäsi viisi kertaa?
  • Mistä aloitat lukemisen?
  • Missä järjestyksessä luet?
  • Joudutko silmäilemään varmistuaksesi, ettet jättänyt jotain lukematta?

Onko oikealla olevan kortin kanssa epäselvää

  • Mistä aloitat lukemisen?
  • Missä järjestyksessä käyt sisällön läpi?
  • Tiedätkö, koska olet lukenut kaiken?