Pokazywanie postów oznaczonych etykietą javascript. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą javascript. Pokaż wszystkie posty

2010-08-15

SyntaxHighlighter

Edycja listingów we wpisach zamieszczanych na Bloggerze to makabra. Sam edytor nie jest szczytem marzeń, ale prawdziwy problem to psucie wcięć. Nawet jeżeli umieszczę listing w tagach <pre> które teoretycznie powinny zachowywać formatowanie, to przejście w Bloggerowym edytorze z zakładki Edytuj kod HTML na Nowy post zjada mi co najmniej jedną spację z wcięcia. Początkowo myślałem że robię coś nie tak, ale w sieci można znaleźć sporo informacji o tego typu problemach. Nie znalazłem rady na zjadanie spacji (anyone?), ale znalazłem sposób na formatowanie (dzięki któremu mogę w miarę komfortowo pisać tylko w HTMLu): SyntaxHighlighter. Jest to zestaw JavaScriptów i arkuszy stylów, który automatycznie formatuje listingi w większości popularnych języków programowania. Wystarczy dołączyć do strony odpowiednie skrypty i style (dla ciekawych: prawy przycisk myszy i View Page Source) a potem umieścić listing w tagu <pre> z zaznaczeniem sposobu formatowania:
<pre class="brush: java">
public class Test {
    private String a;
    public Test() {
        // konstruktor
    }
}
</pre>
Efekt wygląda tak:
public class Test {
    private String a;
    public Test() {
        // konstruktor   
    }
}
Jedyne niedociągnięcie jakie zauważyłem, to niepotrzebne wyświetlanie pionowego scrolla w przeglądarkach opartych na silniku WebKit (Safari, Google Chrome).

[aktualizacja 2010.08.16]

Dodałem SyntaxHighlightera do posta o Google App Engine. Very nice indeed.
Share:

2008-01-17

Znacznik <script> w IE7

Straciłem ładnych parę godzin szukając przyczyny dlaczego aplikacja GWT jest niewidoczna w IE7. Działała bez problemu w Firefoksie i Safari, a w Internet Explorerze wyświetlana była pusta strona. Ponieważ to GWT, to najpierw sprawdziłem kod w Javie, potem wygenerowane JavaScripty - nic podejrzanego nie było widać. Ostatecznie okazało się że problem tkwi w stronie, na której aplikacja jest umieszczona. IE7 poniższy zapis traktuje jako błędny i ignoruje go:
<script language="javascript" src="gwt.js"/>
Wystarczy dodać znacznik zamykający:
<script language="javascript" src="gwt.js"></script>
i skrypt jest poprawnie wczytywany. Po tej historii sprawdziłem stronę walidatorem W3C i rzeczywiście:
The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HMTL 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HMTL 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.
Share: