LINUX.ORG.RU

Избранные сообщения Shaman007

Auto spoiler

Форум — Linux-org-ru

В очередной раз наткнувшись на километровый топик с вставками кода решил откопать свой юзерскрипт для скрытия больших кусков кода.

Последняя версия где-то протерялась, потому переписал практически с нуля, на основе той что нашел:

  • префикс перед spoiler, в зависимости от типа
  • умеет скрывать теги [cut], [code], [pre]
  • лимит строк - 15 или 5, если тема засрана вставками (тут можно считать лимиты отдельно для каждого поста, но мне лень).

Скопипастте его уже в лоровский скрипт, там 2.5 строчек кода.

// ==UserScript==
// @name        LOR spoiler
// @namespace   linux.org.ru
// @description Add spoiler functionality
// @include     https://linux.org.ru/*
// @include     https://www.linux.org.ru/*
// @version     2
// @grant       none
// ==/UserScript==

$script.ready('jquery',function(){
  console.log('LOR spoiler is ON');

  // spoiler
  var types = ['cut', 'code', 'pre'];
  var blocks = {
    cut: $('[id ^= cut]'),
    code: $('.code'),
    pre: $('pre:not([class])')
  };

  var total_block_cnt = blocks.cut.length + blocks.code.length + blocks.pre.length;
  var line_limit = total_block_cnt > 2 ? 5 : 15;

  var spoiler_prefix_on = '>>> ';
  var spoiler_prefix_off = '<<< ';

  var tpl = 
    '<span class="sign">'+
      '<span>'+ spoiler_prefix_on +'</span>'+
      '<a '+
      'id="spoiler-hide-{TYPE}_{ID}" '+
      'href="javascript:void(0);" '+
      'onClick="javascript:var block=$(\'#hide-{TYPE}_{ID}\'); var prefix=this.previousElementSibling;'+
        'if (block.css(\'display\')===\'none\') {'+
          'block.show(); prefix.innerText=\''+spoiler_prefix_off+'\'; } else {'+
          'block.hide(); prefix.innerText=\''+spoiler_prefix_on+'\'; };">'+
      '{TYPE}-spoiler'+
      '</a>'+
    '</span><br/>';

  // change content
  if (total_block_cnt > 0) {
    for (var i = 0; i < types.length; i++) {
      var TYPE = types[i];
      var ID = 0;
      
      blocks[TYPE].each(function() {
        // limit
        var no_hl = $(this).find('pre.no-highlight code');
        var cur_blk = no_hl.length > 0 ?  no_hl : $(this);
        if (cur_blk.text().split("\n").length <= line_limit) return;

        // add spoiler
        var spoiler = tpl.replace(/\{TYPE\}/g, TYPE).replace(/\{ID\}/g, ID);
        $(this).attr('id','hide-'+TYPE+'_'+ ID).hide();
        $(this).before(spoiler);
        
        ID++;
      });
    }
  }
});

з.ы. выглядит так: http://i.imgur.com/SA0ScAO.png
или так: http://i.imgur.com/SGdal6y.png

 , , , ,

anTaRes ()

Reactos

Форум — Linux-org-ru

Может быть все-таки эта т. н. ОС - offtopic? Я не хочу, чтобы ЛОР участвовал в поиске «инвесторов» этому распилу и импортозамещению.

За МГТУ стыдно.

 , ,

Shaman007 ()

Уязвимость в реализации инструкции SYSRET всех выпущенных x86-64 процессоров Intel

Новости — Безопасность
Группа Безопасность

Компьютерная команда экстренной готовности США (US-CERT) раскрыла уязвимость в реализации инструкции SYSRET в 64-х битном режиме работы процессоров Intel, вызванную некорректной проверкой неканоничности адреса перед сменой привилегий. В результате возможно исполнение произвольного кода в Ring 0 из кода в Ring 3, а следовательно, повышение привилегий локальным пользователем, побег из виртуальной машины и т. п..

Уязвимости не подвержены операционная система Mac OS X и виртуальная машина VMWare.

Уязвимость различных систем этой атаке

>>> Подробности

 , ,

anonymfus ()