Scrollbars für Code



  • ...


  • Mod

    Ich find den Thread gerade auch nicht, aber das Ergebnis war, dass jemand ein Greasemonkeyscript geschrieben hat, das dies ermöglicht. Ich meine, Bashar war es, kann mich aber auch irren. Jedenfalls lautet das \1:

    // ==UserScript==
    // @name        Codebalken
    // @namespace   www.fake.org
    // @description Scrollbalken für Codeblöcke
    // @include     http://www.c-plusplus.net/forum/*
    // @version     1
    // ==/UserScript==
    
    (function()
    {
    
    var codeElements = document.getElementsByClassName('code');
    
    function wrapNode(codeNode, tagName)
    {
        var wrapper = document.createElement(tagName);
        var parent = codeNode.parentNode;
        parent.insertBefore(wrapper, codeNode);
        wrapper.appendChild(codeNode);
        return wrapper;
    }
    
    for(var i = 0; i < codeElements.length; i += 2)
    {
        var codeNode = codeElements[i].parentNode.parentNode.parentNode;
    
        var wrapper = wrapNode(codeNode, 'div');
        wrapper.style.width = '800px';
        wrapper.style.overflow = 'auto';
    }
    
    })();
    


  • ...


  • Administrator

    Zweite Seite der Forentechnik:
    http://www.c-plusplus.net/forum/316030

    Bashar? Pfff ... :p

    *sich eine Notiz macht* Nächstes Mal Copyright und Lizenz hinsetzen 😃

    Grüssli



  • Spricht irgendwas dagegen, sowas mit einer konservativ gewählten Höchstbreite direkt im Forum zu verwenden?

    Wäre IMO eine deutliche Verbesserung für alle User.

    edit: Z.B. bei diesem Thread hier: http://www.c-plusplus.net/forum/322513


  • Administrator

    nman schrieb:

    Spricht irgendwas dagegen, sowas mit einer konservativ gewählten Höchstbreite direkt im Forum zu verwenden?

    Ich habe es bereits im anderen Thread gesagt. Ist absolut einfach zu implementieren. Man müsste nur eine fixe Breite nennen, welche verwendet wird. Und das schöne ist, dass diese auch für kleinere Geräte funktionieren muss oder man müsste dort eine eigene definieren, wenn das geht.

    Grüssli



  • Dravere schrieb:

    Man müsste nur eine fixe Breite nennen, welche verwendet wird. Und das schöne ist, dass diese auch für kleinere Geräte funktionieren muss oder man müsste dort eine eigene definieren, wenn das geht.

    Ich würde einfach bei 140 Characters sowas umbrechen, sind bei mir so um die 1020px exklusive Zeilennummern. Wer mehr sehen möchte, kann ggf. wie gehabt das CSS bzw. Javascript anpassen.

    Es geht ja nur darum, dass die Defaults das Layout nicht mehr so übel zerschießen, wenn wieder mal jemand viel zu breiten Code postet.


  • Administrator

    Ich schaue es mir nächste Woche mal an.

    Grüssli



  • Dravere schrieb:

    Ich schaue es mir nächste Woche mal an.

    Cool, danke. Falls es irgendwelche Schwierigkeiten gibt, gib mir einfach per Mail Bescheid.



  • Dravere schrieb:

    Ich schaue es mir nächste Woche mal an.

    Danke für die Änderungen, ist online. 👍



  • Keine Scrollbars mit Firefox 26.
    In Chrome funktionierts.


  • Administrator

    Hab hier auch Firefox 26 und es funktioniert. Verwendest du womöglich meine Greasemonkey Scripts?

    Hier diesbezüglich ein paar aktualisierte:

    Fixe maximale Breite
    Dieses script verändert die maximale Breite der Code-Container. In dieser Einstellung auf 880 Pixel. Standardmässig sind sie auf 1020 Pixel gesetzt.

    // ==UserScript==
    // @name c-plusplus fixed code width
    // @namespace http://www.c-plusplus.net/forum/
    // @author Dravere
    // @include http://www.c-plusplus.net/forum/*
    // @grant none
    // ==/UserScript==
    
    (function()
    {
    
    function updateCodeContainers()
    {
        var codeWidth = 880 + 'px';
        var codeContainers = document.getElementsByClassName('code_container');
    
        for(var i = 0; i < codeContainers.length; ++i)
        {
            codeContainers[i].style.width = codeWidth;
        }
    }
    
    updateCodeContainers();
    
    })();
    

    Relative maximale Breite
    Dieses Script zieht einfach eine fixe Zahl von window.innerWidth ab. In diesem Script auf 200 gesetzt. Jeder kann die Grösse seinen Einstellungen entsprechend anpassen. Die maximale Breite des Codes wird zudem aktualisiert, wenn die Grösse des Fensters verändert wird.

    // ==UserScript==
    // @name c-plusplus relative code width
    // @namespace http://www.c-plusplus.net/forum/
    // @author Dravere
    // @include http://www.c-plusplus.net/forum/*
    // @grant none
    // ==/UserScript==
    
    (function()
    {
    
    function updateCodeContainers()
    {
        var fixedContentWidth = 200;
        var codeWidth = (window.innerWidth - fixedContentWidth) + 'px';
        var codeContainers = document.getElementsByClassName('code_container');
    
        for(var i = 0; i < codeContainers.length; ++i)
        {
            codeContainers[i].style.width = codeWidth;
        }
    }
    
    updateCodeContainers();
    
    window.addEventListener('resize', updateCodeContainers);
    
    })();
    

    Grüssli



  • test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test
    


  • Dravere schrieb:

    Hab hier auch Firefox 26 und es funktioniert. Verwendest du womöglich meine Greasemonkey Scripts?

    Nein verwende keine Scripts.

    Edit: Jetzt gehts. Thx


  • Administrator

    Achso, ich Idiot. Hard-Refresh kann helfen. Hat Änderungen im CSS drin und dieses wird meistens gecached 😉

    Grüssli



  • Hatte selber ein Greasemonkey-Skript geschrieben. Dann fiel mir auf einmal ein, dass ich ja Greasemonkey deaktiviert hatte, und trotzdem Scroll-Balken erschienen, und habe sofort im Forentechnik-Board nachgeschaut. Danke! 👍



  • Irgendwas ist kaputt.
    In z.B. dem Thread ist die Mindestbreite 1200-1300 Pixel:
    http://www.c-plusplus.net/forum/323304

    Der Text bricht bei kleinerer Breite nicht mehr um.


  • Administrator

    µ schrieb:

    Irgendwas ist kaputt.
    In z.B. dem Thread ist die Mindestbreite 1200-1300 Pixel:
    http://www.c-plusplus.net/forum/323304
    Der Text bricht bei kleinerer Breite nicht mehr um.

    Danke für die Meldung. Habe auch schon einen Fix dafür. Die Klasse code_container im CSS sollte wohl statt width besser max-width verwenden. Habe erst am Montag die Möglichkeit die Änderung zu machen. Und nman muss es dann noch in den Forencode ziehen 🙂

    Grüssli



  • Dravere schrieb:

    Danke für die Meldung. Habe auch schon einen Fix dafür. Die Klasse code_container im CSS sollte wohl statt width besser max-width verwenden. Habe erst am Montag die Möglichkeit die Änderung zu machen. Und nman muss es dann noch in den Forencode ziehen 🙂

    Grüssli

    Danke Dir 👍



  • Aaaaaaaah, Danke Leute!


Anmelden zum Antworten