Avaleht
uus teema   vasta Vaidlused »  Parem HV »  Koodinäidetes süntaksi esiletõstmine ja teised ettepanekud märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 31.08.2006 01:05:10 Koodinäidetes süntaksi esiletõstmine ja teised ettepanekud vasta tsitaadiga

Süntaksi esiletõstmine

Pea alati, kui ma kohtan HV-s mõnda pikemat koodilõiku, kopeerin selle ümber oma tekstiredaktorisse - foorumil lihtsalt puudub võime koodi värvida (syntax highlighting). Mitmetes teistes foorumites on selline võimalus olemas, kuid HV-s kahjuks mitte.

Muidugi, selleks, et süntaksit korrektselt esile tõsta, on tarvis kõigepealt teada, millise keelega on tegemist. Keele määramiseks võiks süntaks olla selline:

[ code=<keele nimi> ] ... [ /code ]


näiteks:

[ code=html ]<h1>pealkiri</h1>[ /code ]


Eriti lihtne on sellist asja teostada PHP jaoks, sest saab kasutada sisse-ehitatud funktsiooni highlight_string(). Kuid ka teiste tuntud keelte puhul ei tuleks midagi ise leiutama hakata - esimese kiire otsingu peale leidsin Beautifier nimelise vidina, mis toetas tervet portsu erinevaid keeli.


Koodinäidete algusest sõna "kood:" eemaldamine

Seda ma pakkusin välja juba ühes varajasemas teemas.

Põhjused, miks sõna "kood:" koodinäite alguses on üleliigne:
  • Reeglina on igaühele niigi arusaadav, et tegu on koodinäitega.
  • Mõnikord kasutatakse [ code ]-blokki millegi muu, kui koodi esitamiseks (näiteks tabeli või graafiku jaoks). Sellisel juhul on "kood:" seal alguses kogunisti vale ja eksitav.
  • Tihtipeale viidatakse koodilõigule juba eelnevas tekstis ja öeldakse hulka täpsemalt, millise koodiga on tegu. (Näiteks "index.html sisaldab järgmist:"). Kui on juba öeldud, millise koodiga on tegu, siis ei anna sõna "kood:" enam absoluutselt mingit lisaväärtust.


Reasisesed koodinäited

Tihtipeale tunnen vajadust esitada lühikesed koodinäited otse teksti sees. Kui kirjutan koodi lihtsalt teksti sisse, siis kaotan ma loetavuse arvelt. Kirjutades aga iga pisikese koodijupi eraldi [ code ]-blokki valgub tekst liialt laiali. HTML-is on lausa eraldi element <code> just selleks tarbeks olemas.

Reasisese koodilõigu süntaks võiks olla järgmine:

[c] ... [/c]


Näide:

Kas [c]ls -a[/c] ei näita samuti ühki faili?


Ka reasisese koodi puhul võiks toimida süntaksi esiletõstmine. Näide:

[c=html]<b>pealkiri</b>[/c] asemele kirjuta parem [c=html]<h1>pealkiri</h1>[/c].



Vead ja probleemid.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Riivo
HV Guru
Riivo

liitunud: 23.02.2004



Autoriseeritud ID-kaardiga

sõnum 31.08.2006 08:42:04 vasta tsitaadiga

poolt. see idee on endal ka paar korda peast läbi käinud
Kommentaarid: 233 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 221
tagasi üles
vaata kasutaja infot saada privaatsõnum
taifunk
HV Guru
taifunk

liitunud: 06.01.2005



Autoriseeritud ID-kaardiga

sõnum 31.08.2006 08:59:38 vasta tsitaadiga

Kui prioriteetsemad tööd on nevermindil tehtud, vast saab ka nene pakutud soovitused valmis treida.
_________________
Remember this day, men, for it will be yours for all time.
Kommentaarid: 45 loe/lisa Kasutajad arvavad:  :: 3 :: 5 :: 36
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 31.08.2006 10:21:34 vasta tsitaadiga

Samuti kahe käega poolt. Ühtlane roheline tekst küll eristub muust asjast kuid loetavuse koha pealt pole just kõige parem.

Btw, ega vist phpbb nii võimast highlightingu mootorit ei oma kui see foorum? Eelkõige pean silmas funktsioonide manualidele viitamist.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nevermind
HV Guru
nevermind

liitunud: 01.10.2001



Autoriseeritud ID-kaardiga

sõnum 03.09.2006 21:24:05 vasta tsitaadiga

"koodi" võtsin ära ning tegin c-tagi juurde.
_________________
AHV ei tea, mis AHV teeb
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
nevermind
HV Guru
nevermind

liitunud: 01.10.2001



Autoriseeritud ID-kaardiga

sõnum 03.09.2006 22:56:51 vasta tsitaadiga

bash:
  1.  
  2. # proov
  3. cList=`ls -al`

css:
  1. .syntax-code ol {
  2.         color: #808080;
  3. }

php:
  1. <?php
  2.  
  3. foreach ( $oun as $key => $val ) {
  4. // miski asi
  5. $moos += $val;
  6. /* veel üks asi */
  7. }
  8. ?>

pascal:
  1.  
  2. begin
  3. for i = 1 to 100 do
  4. {* miski asi *}
  5. print( i );
  6. end;

sql:
  1. -- sql-i asi
  2. SELECT * FROM a AS b WHERE c = 13;


etc. mis sellisest asjast arvate?

_________________
AHV ei tea, mis AHV teeb


viimati muutis nevermind 06.09.2006 23:11:48, muudetud 3 korda
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 03.09.2006 23:05:51 vasta tsitaadiga

nevermind kirjutas:
etc. mis sellisest asjast arvate?

Päris lahe icon_smile.gif

Ainult kaks küsimust:
kas taane ei võiks olla väiksem kui 8 tühikut? Neljast peaks piisama korralikuks loetavuseks ning siis ei lähe ka rohkem trepitud kood nii lihtsalt mitme rea peale.
Kas keyworde lisada ei annaks? Näiteks C++ puhul võiks class'i samuti vähe tumedamaks teha. Kindlasti on neid keyworde veel

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nevermind
HV Guru
nevermind

liitunud: 01.10.2001



Autoriseeritud ID-kaardiga

sõnum 03.09.2006 23:28:28 vasta tsitaadiga

php-l paneb lingid ka
php:
  1. <?php
  2. echo "viis";
  3. ?>

_________________
AHV ei tea, mis AHV teeb


viimati muutis nevermind 06.09.2006 23:12:04, muudetud 1 kord
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
Riivo
HV Guru
Riivo

liitunud: 23.02.2004



Autoriseeritud ID-kaardiga

sõnum 04.09.2006 16:29:34 vasta tsitaadiga

väga hea. eks need täiustamise ideed tulevad veel kasutamise käigus. igatahes tubli töö
Kommentaarid: 233 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 221
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 04.09.2006 16:39:07 vasta tsitaadiga

kas viga on minus või inline-code enam ei tööta? Eile veel töötas.

enne koodi c tagide vahel pärast koodi

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nevermind
HV Guru
nevermind

liitunud: 01.10.2001



Autoriseeritud ID-kaardiga

sõnum 04.09.2006 18:52:22 vasta tsitaadiga

oligi mingi viga sees
_________________
AHV ei tea, mis AHV teeb
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 06.09.2006 12:10:02 vasta tsitaadiga

Taaskord kurdan, seekord on et C++ koodi värviliseks ei tehta icon_smile.gif

c++:
  1. #include "global.h"
  2.  
  3. // Programmi peafunktsioon.
  4. int main( int argc, char *argv[] ) {
  5.         // Luuakse uus programm
  6.         QApplication app( argc, argv );
  7.         MainWindow mw;
  8.         //Tehakse vastloodud peaaken nähtavaks ning käivitatakse programmi mainloop.
  9.         mw.show();
  10.         return app.exec();
  11. }
  12.  


Muidu tore näha et treppimine on kolme märgi peal. Minu arvates võib see vabalt nii väikseks jääda. Ise kasutan valdavalt küll kaht tühikut kuid kuna foorumi font on jupp maad väiksem kui mu IDE oma siis läheks kaks natuke liiga väikseks.

[edit]
Tolles samas teemas andis dynamic idee et võiks teha nii et koodiblokid oleks by default peidetud sest see teeks teema jälgimise jupp maad lihtsamaks. Kas vastava JS jupi kirjutamine oleks väga keerukas?

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nevermind
HV Guru
nevermind

liitunud: 01.10.2001



Autoriseeritud ID-kaardiga

sõnum 07.09.2006 00:33:15 vasta tsitaadiga

nüüd on suureneva kasti sees ja c++ peaks ka korras olema!
_________________
AHV ei tea, mis AHV teeb
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 2 :: 1 :: 57
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 07.09.2006 00:40:14 vasta tsitaadiga

Ma ei usu et see just eriti prioriteetne oleks kuid tundub et Konquerori all lahti kerimine ei tööta. Täpsemalt öeldes lahti kerimise linki ei näidata ning kood on kokku rullitud. Ma pakun et viga on brauseris mitte koodis. Eks sa ise tead kas viitsid jamada brauseriga mida kasutab ainult käputäis inimesi icon_smile.gif
FF 2.0b2 all tundus kenasti töötavat.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 08.09.2006 20:39:21 vasta tsitaadiga

Minu arvates need <märgi> ja <suurenda/kahanda> ei anna eriti midagi juurde, pigem vastupidi. Kuna nad on veel rasvaselt kah seal, siis nad tahes-tahtmata tõmbavad tähelepanu endale, laskmata keskenduda koodile. Üldse ma pooldan võimalikult tagasihoidlikke (näiteks nuppude arvult) kasutajaliideseid.

Alustuseks see <märgi>-nupp minu brauseris (Opera) ei tööta, aga ma ei näe sellest ka erilist kasu - leheküljel teksti selekteerida on IMHO vägagi lihtne. Pealegi on nüüd seoses süntaksi esile tõstmisega minu kopeerimisvajadused tunduvalt kahanenud.

See pikemate koodinäidete kokkusurumine ei istu mulle kah eriti - leidsin ennast igal pool <suurenda> nuppu klõpsimas. Ma üleüdse ei poolda seda peitmist, aga kui peaks kompromissile minema, siis 5 rida on kindlasti liialt väike jupp, et seda peaks koos kerimisribaga näitama. Kui, siis ehk mingist 20-st reast alates.

Kord külastasin ühte asjalikku JavaScripti õpetust, kus kõik koodinäited olid samamoodi nagu siin vaikimisi kokku surutud. Väga hea õpetus oli, kuid koodinäidete lugemine oli tüütu - kõik nad tuli ükshaaval täies pikkuses lahti klõpsida. Paari kuu pärast külastasin seda lehte taas - seekord oli kõik palju meeldivam, sest nimetatud probleem oli eemaldatud. Usun, et ka siin oleks kasulikum sellisest asjast loobuda.


Aga rääkides reasisestest koodilõikudest, siis võiks kasutada <span class="codeinline">kood</span> asemel lihtsalt <code>kood</code>. Nõndaviisi oleks reasisesed koodinäited muust tekstist eristatud ka juhul, kui brauser CSS-i ei toeta. Stiililehte läheks sel juhul .codeinline { ... } asemel code { ... }.

PS. Minu kiitus nevermind'ile vaevanägemise eest.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 15.10.2006 04:57:08 vasta tsitaadiga

Kergitaks siis seda teemat veidi. Ma saan aru, et Nevermind'il on kindlasti palju muid tegemisi kui minu väikestele vingumistele vastata, aga mis teised, mu viimasest kommentaarist arvavad?

Ma olen nüüd mõnda aega tunda saanud seda syntaksi esiletõstmise süsteemi, ning endiselt häirib, et vaikimisi on koodinäited lühendatud vormi surutud. Kas ma olen üksinda sellel seisukohal või on ka keegi teine, kes jagab mu arvamust?
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
XYZ
HV Guru
XYZ

liitunud: 05.11.2001




sõnum 15.10.2006 14:11:29 vasta tsitaadiga

nene kirjutas:
Kergitaks siis seda teemat veidi. Ma saan aru, et Nevermind'il on kindlasti palju muid tegemisi kui minu väikestele vingumistele vastata, aga mis teised, mu viimasest kommentaarist arvavad?

Ma olen nüüd mõnda aega tunda saanud seda syntaksi esiletõstmise süsteemi, ning endiselt häirib, et vaikimisi on koodinäited lühendatud vormi surutud. Kas ma olen üksinda sellel seisukohal või on ka keegi teine, kes jagab mu arvamust?
Üsna paljudele võib see mokkamööda ollagi, sest kes ise vastavat progemiskeelt korralikult ei valda, sellele võib pika koodijupi vaatamine üsna igav olla. Minule endale pole kerimisvajadus veel vastu hakanud...
Kommentaarid: 81 loe/lisa Kasutajad arvavad:  :: 3 :: 12 :: 56
tagasi üles
vaata kasutaja infot saada privaatsõnum
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 15.10.2006 14:38:45 vasta tsitaadiga

Nojah, minule igatahes ei meeldi. Nuputasin siis veidike foorumi koodi kallal ja kirjutasin oma HV javascripti faili üheainsa rea, mis blokeerib vastavate skriptide käivitumise lehel:

javascript:
  1. var SXBB = "foo";


Minu jaoks probleem lahendatud icon_smile.gif
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
rixk
Kreisi kasutaja

liitunud: 02.06.2004



Autoriseeritud ID-kaardiga

sõnum 18.10.2006 13:50:48 vasta tsitaadiga



IE 6 ei näita suurendamise/kahandamise linki üldse. Firefoxiga oli kõik ok.
Kommentaarid: 35 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 32
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 18.10.2006 14:11:56 vasta tsitaadiga

Nagu kusagil eespool rääkisin siis sama jama on ka Konqueroriga
_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
nene
Kreisi kasutaja
nene

liitunud: 20.03.2004




sõnum 18.10.2006 17:41:26 vasta tsitaadiga

Mnjaa.. ja mina räägin juba ammu, et kogu see suurendamine-kahandamine on üks halb mõte. icon_razz.gif

IMHO see foorumi lähtekood on ilma selle meeletu JavaScriptimisetagi piisavalt jube.
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Vaidlused »  Parem HV »  Koodinäidetes süntaksi esiletõstmine ja teised ettepanekud
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.