singlepost

Код В Контакте << На главную или назад  

Кто как борется с форматированием исходного кода на vkontakte.ru? (съедание всех отступов и перенос длинных строк)
Мое решение: пользовательский скрипт http://XaoS.susu.ru/user_js/vk_code.js
<vkcode>
Здесь
исходный
код
</vkcode>
Есть ли еще какие-нибудь решения?

51 ответов в теме “Код В Контакте”

Страницы: [1] 2 3 4 5 »

  1. 1
    Олег Андреев ответил:

    Есть предложение:
    1) положить скрипт на максимально короткий адрес (vkcode.ru)
    2) в названии тега использовать именно этот адрес:

    <vkcode.ru>
    код
    </vkcode.ru>

    Это нужно для того, чтобы те, у кого скрипта нет, сразу видели где его можно взять, без лишних инструкций или ссылок.

    3) Сделать его greasemonkey-compatible (для начала, проверить работает ли он в файерфоксе).

    4) В скрипте, сверху написать: "Это скрипт для Оперы и Файерфокса". И инструкцию по установке. Инструкцию можно взять отсюда: http://oleg.sunoni.net/smileys.userjs.html

    Вместо vkcode.ru могу предложить бесплатное место: vk.sunoni.net(мой сервер).

  2. 2
    Олег Андреев ответил:

    Еще нужно нафиг убрать слово "<b>Code:</b>", зачем этот мусор? =)

  3. 3
    Владимир Поляков ответил:

    Переделал. Работает и для оперы и для ff.
    На ie не пролверял. Если кому надо, проверяйте сами :)

    <vkcode.ujs.net.ru>
    // ==UserScript==
    // @nameCode blocks for VKontakte.ru
    // @version0.2
    // @date2007-08-17
    // @authorDr.XaoS http://vkontakte.ru/id528243
    // @description Converts vkcode.ujs.net.ru tags to code box
    // @includehttp://*vkontakte.ru/*
    // ==/UserScript==
    // Notes: Spec for Spb.BlackHat.Team =)
    (function(){
    function vkcodeconv() {
    var testHost = /^(.*\.|^)vkontakte\.ru$/;
    var s = window.location.host;
    if(testHost.test(s))
    {

    var testClass = new RegExp("(^|\\s)(postMessage|note_content)(\\s|$)");

    var find1 = /&lt;vkcode.ujs.net.ru&gt;(<br>)*/ig;

    var testNotes = /note/;
    var testBoard = /board/;
    if(testNotes.test(window.location))
    var repl1 = "<pre style=\"margin-right: -10px;padding:3px;background-color: #F7F6F7;border: #D8DFEA solid 1px;overflow: scroll;\">";
    else if(testBoard.test(window.location))
    var repl1 = "<pre style=\"margin-right: -30px;padding:3px;background-color: #F3F4F8;border: #D8DFEA solid 1px;overflow: scroll;\">";
    else exit();

    var find2 = /(<br>)*&lt;\/vkcode.ujs.net.ru&gt;/ig;
    var repl2 = "</pre>";

    var current;
    var alldivs = document.getElementsByTagName('div');
    var length = alldivs.length;

    for(var i=0; i<length; i++){
    current = alldivs[i];
    if(testClass.test(current.className)){
    current.innerHTML = current.innerHTML.replace(find1, repl1);
    current.innerHTML = current.innerHTML.replace(find2, repl2);
    }
    }

    }
    }

    document.addEventListener('load', vkcodeconv(), false);
    })();
    </vkcode.ujs.net.ru>

    если кто-то может сделать редирект на страничку со скриптом с более короткого адреса, пишите сюда.

  4. 4
    Арс Dann ответил:

    а куда этот код надо засунуть?

  5. 5
    Андрей Пампуха ответил:

    ляляля

    <vkcode>
    void main(int argc, char **argv)
    {
    printf("hello, world!\n");
    }
    </vkcode>

    ляляля

    <vkcode>
    а вот тут я пожалуй закрывающий тег ставить не буду :-)

  6. 6
    Андрей Пампуха ответил:

    А зачем пустые строки?

  7. 7
    Кирилл Быков ответил:

    У мя GreasyMonkey не ставиццо :(

    Failed to create chrome directory, Error code -214!

  8. 8
    Николай Паюсов ответил:

    ЧТо-то не пашет. Хотя смайлы отображаться начали.

  9. 9
    Владимир Поляков ответил:

    vkcode уже давно не поддерживается. Если кто-то хочет приспособить его к текущей верстке – пожалуйста. Отдаю все авторские права тому, кто возьмется доделывать.

  10. 10
    Костя Рущенков ответил:

    Нечё непашет хотя мож чтото нетак делаю

Страницы: [1] 2 3 4 5 »

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.