Datatekniikka ja viestintä - :

Html-helper-moodi Emacsissa

Tämä on lähinnä historiallinen dokumentti. Emacsin uudemman version vastaavan välineen kuvaa juttu Emacsin HTML-moodi.

Mikä se on?

Html-helper-moodi on Emacs-editorin sisäinen toimintatila eli moodi, joka helpottaa Webiin tarkoitettujen HTML-dokumenttien kirjoittamista.

Kun Emacs on html-helper-moodissa, voi HTML-rakenteita halutessaan kirjoittaa suoraankin esim. kirjoittamalla <p> kappaleenvaihdon merkiksi. Html-helper-moodi tarjoaa vain vaihtoehtoisen tavan kirjoittaa HTML-rakenteita, esimerkiksi rakenteen <p> saa aikaan painamalla ensin Esc-näppäintä ja sitten return-näppäintä.

Miksi siitä on hyötyä?

Html-helper-moodin näppäilyt eivät välttämättä säästä paljoakaan (jos ollenkaan) kirjoitusvaivaa. Niiden suurin hyöty onkin siinä, että rakenteet tulevat todennäköisemmin oikein. Jos haluaa esimerkiksi kirjoittaa dokumenttiinsa hyperlinkin, esim.

<a href="http://www.hut.fi/">TKK</a>

niin kirjoitettaessa sitä suoraan, "käsin", on kokemusten mukaan kirjoitusvirheiden mahdollisuus suuri. Tyypillisesti toinen lainausmerkki unohtuu, mistä seuraa, että linkki ei toimi, eikä käyttäjä välttämättä edes helposti huomaa, mikä on vialla. Html-helper-moodin mahdollisuuksia käyttäen homma sujuisi kätevämmin näin: näppäillään

control-c control-a l

jolloin ruudulle tulee näkyviin

<a href=""></a>

siten, että kursori on lainausmerkkien välissä. Tällöin voi suoraan kirjoittaa (taikka Emacsin tai X-päätteen mahdollisuuksia käyttäen "liimata") kyseiseen kohtaan haluamansa URL:n ja sitten siirtää kursoria eteenpäin seuraavan >:n yli ja kirjoittaa URL:ää vastaavan tekstin.

Tavallisimpien HTML-rakenteiden kirjoittaminen

Seuraavassa on muutamia html-helper-moodin käskyjä ja ne HTML-rakenteet, jotka niillä saadaan aikaan (ja suluissa selitys rakenteen merkityksestä):
Esc RET
<p> (kappaleen vaihto)
C-cC-t2
<h2></h2> (2. tason otsikko)
C-cC-al
<a href=""></a> (hyperlinkin määrittely)
C-cC-lu
<ul><li></ul> (numeroimaton luettelo)
C-cC-ld
<dl><dt><dd></dl> (määritelmien luettelo)
C-cC-li
<li> tai <dt><dd> asiayhteyden mukaan (luettelon alkio).
Huom. Esim. merkintä C-cC-t2 tarkoittaa näppäilyä control-c control-t 2.

Yleisiä periaatteita ja tärkeimpiä käskyjä

Html-helper-moodissa on suuri valikoima käskyjä, koska sen tekijän tavoitteena oli, että jokaista HTML-rakennetta varten on omansa.

Suurin osa html-helper-moodin käskyistä alkaa control-c:llä. Käskyt ovat suhteellisen pitkiä (tavallisesti: control-c, jokin muu kontrollimerkki ja jokin kirjainmerkki) ja hankalia muistaa. Seuraavassa on muutamia keskeisiä käskytyyppejä sekä niihin liittyviä muistisääntöjä.

Alkuosan rakenteet: C-cC-b (b niinkuin beginning)

Käskyt, jotka alkavat control-c control-b, tuottavat HTML-rakenteita, joita tarvitaan dokumentin alkuosassa. Tavallisin on

C-cC-bt

joka tuottaa otsikkorakenteen <title></title>.

Otsikot: C-cC-t

Käskyt, jotka alkavat control-c control-t, tuottavat eritasoisia otsikoita; otsikon taso ilmaistaan kontrollimerkkien perään kirjoitettavalla numerolla (1 - 6). Esimerkiksi

C-cC-t3

joka tuottaa otsikkorakenteen <h3></h3>.

Näille rakenteille ei ole mukavaa muistisääntöä; yhdistelmä C-cC-h, joka olisi ollut luonnollinen, oli Emacsissa jo varattu muuhun tarkoitukseen.

Linkit eli ankkurit: C-cC-a (a niinkuin anchor)

Käskyt, jotka alkavat control-c control-a, tuottavat linkkien eli ankkurien määrittelyjä:

C-cC-al

(l niinkuin link) tuottaa rakenteen <a href=""></a>>; jota käytetään haluttaessa linkki toiseen WWW-dokumenttiin.

C-cC-an

(n niinkuin name) tuottaa rakenteen <a name="">>;</a>>; jota käytetään haluttaessa sijoittaa dokumenttiin kohta, johon voi viitata samasta tai muusta dokumentista.

Loogiset tyylit: C-cC-s (s niinkuin style)

Käskyt, jotka alkavat control-c control-s, tuottavat ns. loogisten tyylien määrittelyjä. Loogisella tyylillä tarkoitetaan sitä, että HTML:ssä kuvataan tekstityyppi periaatteellisella tasolla (esim. korostettu teksti, sitaatti) ja että erilaiset WWW-katseluohjelmat voivat näyttää tyylejä eri tavoin (esim. korostetun tekstin lihavoituna, kursivoituna tms.).

Seuraavassa kuvataan lyhyesti loogisia tyylejä vastaavat käskyt, tyylien sanalliset luonnehdinnat englanniksi ja suomeksi sekä HTML-rakenteet:

p   preformatted   muotoiltu teksti      <pre></pre>
b   blockquote     usean rivin sitaatti  <blockquote></blockquote>
e   emphasized     korostettu teksti     <em></em>
s   strong         korostetumpi teksti   <strong></strong>
c   code           (ohjelma)koodi        <code></code>
x   sample         (teksti)esimerkki     <samp></samp>
r   citation       sitaatti, nimi        <cite></cite>
k   keyboard       näppäily              <kbd></kbd>
v   variable       muuttuja              <var></var>
d   definition     määritelmä            <dfn></dfn>
a   address        osoite                <address></address>
q   quote          lainaus               <q></q>
n   person         henkilönnimi          <person></person>
y   acronym        lyhennenimi           <acronym></acronym>
.   abbrev         lyhenne               <abbrev></abbrev>
m   cmd            komento               <cmd></cmd>
g   arg            argumentti            <arg></arg>
l   lit            literaali             <lit></lit>

Voit katsoa esimerkkejä siitä, miltä erilaiset loogiset tyylit näyttävät - mutta muista, että ulkoasu ei suinkaan ole sama kaikissa WWW-katseluohjelmissa. Huomaa myös, että kaikki tyylit eivät ole HTML-spesifikaatioiden mukaisia.

On mahdollista käyttää myös ns. fyysisiä tyylejä, jolloin ei kerrota tekstin luonnetta vaan miltä sen halutaan näyttävän. Silloin käytetään html-helper-modessa käskyjä, jotka alkavat C-cC-p (p niinkuin physical).

Listat: C-cC-l (l niinkuin list)

Käskyillä, jotka alkavat control-c control-l, rakennellaan erilaisia listoja:
C-cC-lu
aloittaa numeroimattoman (unordered) listan rakentamisen
C-cC-lo
aloittaa numeroidun (ordered) listan rakentamisen
C-cC-lr
aloittaa hakemistotyyppisen (directory) listan rakentamisen
C-cC-lm
aloittaa valikkotyyppisen (menu) listan rakentamisen
C-cC-ld
aloittaa määritelmien (definition) listan rakentamisen
C-cC-li
lisää listan sisälle rakenteen (asiayhteyden mukaan joko <li> tai <dt><dd>), joka aloittaa listan uuden alkion.
Käytännössä listaa voi rakennella seuraavaan tapaan:
  1. Anna esim. käsky control-c control-l o (jos haluat rakentaa numeroidun listan. Tällöin tekstiin tulee rakenne
    <ol>
      <li> 
    </ol>
    
    ja kursori on näistä riveistä toisen alussa.
  2. Kirjoita haluamasi listan alkio.
  3. Anna käsky control-c control-l i, jolloin uuden rivin alkuun tulee
      <li> 
    
    ja kursori on sopivassa kohdassa niin että voit kirjoittaa listan seuraavan alkion.
  4. Jatka samaan tapaan, siis control-c control-l i ja niin edelleen.
Voit katsoa esimerkkejä siitä, miltä erilaiset listarakenteet näyttävät (omalla katseluohjelmallasi!).

Muita: annotaatiot, lomakkeet, kuvat

Käskyillä, jotka alkavat C-cC-n, C-cC-f tai C-cC-i saadaan aikaan vastaavasti annotaatioiden (esim. alaviitteiden), lomakkeiden (forms) tai kuvien (images) määrittelyjä.

Tavallisimmin tarvittava on ehkä C-cC-ii, jolla saadaan aikaan rakenne <img src=""> jolla saadaan aikaan se, että itse dokumenttiin tulee kuva (kun lainausmerkkien väliin kirjoitetaan kuvatiedoston nimi).

Vielä muita: rivinvaihdon säätely yms.

Seuraavat html-helper-moodin käskyt eivät ala control-c:llä kuten useimmat muut:

Lisätietoja

Lisätietoja (sekä html-helper-moodin käytöstä että sen toteutuksesta ja asentamisesta) löytyy URL:n http://www.santafe.edu/~nelson/tools/ takaa.

Kun Emacs on html-helper-moodissa, niin käskyllä control-H saa lyhyet käyttöohjeet moodista. Kyseiset (tietysti englanninkieliset) ohjeet ovat myös luettavissa WWW:llä.

Pankaj Kamthan on kirjoittanut laajan ja havainnollisen ohjeen HTML Editing With Emacs.