Avatar billede mrgumble Nybegynder
28. juli 2009 - 09:50 Der er 9 kommentarer og
1 løsning

Monospaced skrift i kode

Hej

Jeg kan se på den foregående tråd, at man kan indsætte et div. Jeg forsøge her med div som html-tag:
<div>Er dette pænt indrammet? Made as HTML tag.</div>
og nu med div i BBcode-tag:
Er dette pænt indrammet? Made as BB-Code tag.


Jeg vil ikke argumentere spørge efter at få en masse fancy BB-code-tags her på eksperten, da det vil lægge en masse besvær for at validere det.

Men en ting jeg godt kunne tænke mig var, at man kunne komme til at skrive kode med Monospaced skrift; evt. bare i div-tagget. Det er nemlig markant lettere at læse kode, hvis det står med fastbredde skrifttyper som Courier Sans.

Hvis ikke må vi bare opfordre vores brugere til at lægge deres kode i f.eks. pastebin.com når de har mere end 5 linier.

/Stefan
Avatar billede vejmand Juniormester
28. juli 2009 - 10:45 #1
Dette er en test, aner ikke om det funker.  :-)

[code]
<script type="text/javascript">
<!--
    alert("Hello world!");
//-->
</script>
[/code]
Avatar billede vejmand Juniormester
28. juli 2009 - 10:47 #2
Det gjorde det så ikke.  :-)
Avatar billede mrgumble Nybegynder
28. juli 2009 - 10:53 #3
Det var da ikke helt udueligt, for du har da fået fastbredde tegn. Hvad har du gjort?
Avatar billede vejmand Juniormester
28. juli 2009 - 10:58 #4
Jeg brugte nedenstående, bare med de "firkantede" parenteser (Jeg ved ikke hvad de hedder)  :-)

(code)
<script type="text/javascript">
<!--
    alert("Hello world!");
//-->
</script>
(/code)
Avatar billede mrgumble Nybegynder
28. juli 2009 - 11:06 #5
Jeg tror bare de hedder firkantede parenteser. Til html-tags tror jeg det hedder skarpe parenteser? Og så er der de almindelige parenteser '(' og ')'. Og så er der tuborg klammerne. :)

Nå, men code laver altså fastbredde og laver en masse html-tegn om til html-entities? Hmm...

Testing...
[code]
Hello world!
print("Hello world!");
<a href="http://world/">Hello world</a>
[/code]


(Koden kan se her: http://pastebin.com/m6c44e9f7)
Avatar billede mrgumble Nybegynder
28. juli 2009 - 11:11 #6
"Fejlen" skyldes at det outputtede HTML er bliver indlejret i både et pre- og et code-tag. Et eller andet sted bliver html-entites altså dobbelt-oversat så
"  --> &quot; --> &amp;quot;

Kan det rettes?
Avatar billede snowball Novice
28. juli 2009 - 12:18 #7
Et decideret "kode vindue" var planlagt til denne version af Eksperten, men blev grundet mangel på ressourcer ikke implementeret i første omgang.

Forslaget indebærer bl.a. at koden vises med en passende font samt syntax highlighting af en række sprog - nok noget i stil med http://codepress.sourceforge.net/.

Jeg kan desværre ikke sige noget om hvornår funktionen bliver implementeret.
Avatar billede mrgumble Nybegynder
28. juli 2009 - 12:22 #8
Hvis den fejl jeg tidligere nævner kan blive rettet, haster det vel ikke så meget med "kode vinduet". Så kan man jo sagtens anvende code-tagget.
Men ideen om "kode vinduet" med syntax highlighting lyder lækker. :)
Avatar billede olebole Juniormester
08. august 2009 - 15:09 #9
<ole>

En 'fattig' løsning kunne være, at du som læser selv formaterer den kode, der står i de blå div-kasser - forudsat, at de altså bliver brugt  ;o)

En Bookmarklet i stil med denne kunne gøre det:
    <a href="java script:a=document.getElementsByTagName("div");for(i=0;i<a.length;i++)if(a.className=="sanitized")a[i].style.fontFamily="courier new";void(0)">[OCBM - Mono]</a>

I forvejen bruger jeg denne til at bb-formatere på Eksperten:
    <a href="java script:d=document;o=d.getElementById("newreplytext");d.onkeydown=function(){e=event;k=e.keyCode;if(e.ctrlKey&&(k==66||k==73||k==85)){t=k==66?"b":k==73?"i":"u";oT=d.selection.createRange();if(oT.text.length>0)oT.text="["+t+"]"+oT.text+"[/"+t+"]";else oT.text="["+t+"][/"+t+"]";oT.moveStart("character",-4);oT.collapse();oT.select();e.cancelBubble=true;e.returnValue=false}};void(0)">[OCBM - FormatE]</a>

Den giver (kun i IE) mulighed for at bruge keyboard shortcuts til formatering. Når dén er klikket, kan jeg bruge Ctrl+B for Bold, Ctrl+I for [i]Italic
og Ctrl+U for Underline - og den kan naturligvis udvides, ligesom den kan gøres kompatibel med andre browsere, hvis folk har brug for det  =)

Vedr. Bookmarklets:
    http://dengodekode.dk/bm_artikel.html

/mvh
</bole>
Avatar billede olebole Juniormester
08. august 2009 - 15:13 #10
- men derudover er der fejl i E's bb-parser. Dels kan man undlade at lukke et bb-tag, hvorefter resten af tråden bliver formateret - og dels sker der helt klart også noget 'italic-snask' ved if-sætningen i min første Bookmarklet i forrige indlæg  :o|
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Alle kurser indenfor Microsoft 365 – både til begyndere og øvede.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester