Skip to content

Instantly share code, notes, and snippets.

View Juribiyan's full-sized avatar
💨

Ubert Helbr Juribiyan

💨
View GitHub Profile
window.onload=function(e) {
$('.menu-sect').each(function() {$(this).hide(); } );
$('.sect-exr').mouseenter(function() { menu_show('ms-'+$(this).data('toexpand')); });
$('#overlay_menu').mouseleave(function() { menu_show('_off_'); });
}
@Juribiyan
Juribiyan / 0chan menu
Last active December 25, 2015 00:29
Nullchan menu for kusaba. (DWOO) Use with this js: https://gist.github.com/Juribiyan/6888253
<div id="boardlist_header">
<div id="overlay_menu" class="content-background overlay-menu">
[<a href="{%KU_BOARDSFOLDER}">home</a>]
{foreach name=sections item=sect from=$boardlist}
<b>[<a href="#" class="sect-exr" data-toexpand="{$sect.nick}">{$sect.nick}</a>]</b>
{/foreach}
[<a href="#" class="sect-exr" data-toexpand="_links">links</a>]
[<a href="#" class="sect-exr" data-toexpand="_options">options</a>]
{foreach name=sections item=sect from=$boardlist}
<div class="menu-sect" id="ms-{$sect.nick}">
{* Вставить этот код примерно внутрь <span class="extrabtns">
Классы кнопок (spritebtn) могут не совпадать в твоими, там разберешься. Надо оформлять так же как кнопки скрытия треда и т. п.
Главное оставть data- свойства и класс "qrl"
*}
{* img_board_page.tpl, ОП-пост (первое появление) *}
<a href="#" data-parent="{if $post.parentid eq 0}{$post.id}{else}{$post.parentid}{/if}" class="qrl" title="{t}Quick Reply{/t}"><img src="{$boardpath}css/icons/blank.gif" border="0" class="quickreply spritebtn" alt="quickreply" /></a>
{* img_board_page.tpl, Обычный пост (второе появление) *}
<a href="#" data-parent="{$post.parentid}" data-postnum="{$post.id}" class="qrl" title="{t}Quick Reply{/t} в тред {$post.parentid}">
/* Вставить это в $(document).ready(funciton() {}) */
//Вешаем обработчкик на кнопки быстрого ответа
$('body').on('click', '.qrl', quickreply);
//Клонируем форму, присваиваем ей ID #postclone, добавляем проверку введенной капчи (функцию checkcaptcha нужно будет модифицировать, см. ниже), добавляем классы для придания стиля, убираем из формы .rules
$('#postform').clone().attr({'id': 'postclone', 'onsubmit': "return checkcaptcha('postclone');"}).appendTo('body').hide().addClass('reflinkpreview content-background qreplyform').find('.rules').remove();
//Меняем id инпутов и сответствующих лейблов в клоне формы (для того, чтобы по клике по лейблу кликались чекбоксы)
$('#postclone label').each(function() {
$('#de-btn-settings')[0].click();
$('.de-cfg-tab[info=posts]')[0].click();
if($('input[info=ajaxUpdThr]:checked').length) { $('input[info=ajaxUpdThr]:checked')[0].click(); }
var node_ip = '127.0.0.1', node_port = 9001;
var express = require('express'), app = express();
var server = require('http').createServer(app);
var cheerio = require('cheerio');
var _ = require('lodash');
app.get('/boards/:chid', function (req, res) {
if(getBoards.hasOwnProperty(req.params.chid))
getBoards[req.params.chid](res);
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v15/ek4gzZ-GeXAPcSbHtCeQI_esZW2xOQ-xsNqO47m55DA.woff2)format('woff2');
unicode-range: U+0460-052F,U+20B4,U+2DE0-2DFF,U+A640-A69F;
}
@font-face {
font-family:'Roboto';font-style:normal;font-weight:400;src:local('Roboto Regular'),local('Roboto-Regular'),url(//fonts.gstatic.com/s/roboto/v15/mErvLBYg_cXG3rLvUsKT_fesZW2xOQ-xsNqO47m55DA.woff2)format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
Math.radians = function(degrees) {
return degrees * Math.PI / 180;
};
Math.degrees = function(radians) {
return radians * 180 / Math.PI;
};
Math.ctg = function(val) {
return 1/Math.tan(val);
}
@Juribiyan
Juribiyan / onstroke.js
Created March 9, 2016 09:16
Canvas blur using CSS filters and SVG rasterization
var target = document.querySelector('#target'),
targetContext = target.getContext('2d'),
buffer = document.querySelector('#buffer'),
bufferContext = buffer.getContext('2d'),
height = target.height, width = target.width,
opacity = 1,
radius = 10;
function onStroke() {
var data = '<svg xmlns="http://www.w3.org/2000/svg" width="800" height="450">' +
function smiley_callback($matches) {
$src = FALSE;
foreach(array('.gif','.png') as $extension) {
if(file_exists(KU_ROOTDIR.KU_SMILEDIR.$matches[1].$extension)) {
$src = KU_WEBPATH.'/'.KU_SMILEDIR.$matches[1].$extension;
break;
}
}
$return = ($src) ? '<img style="vertical-align: middle;" src="'.$src.'" />': ':'.$matches[1].':';
return $return;