Skip to content

Instantly share code, notes, and snippets.

@poochin
poochin / ive_seen_it_in_tumblr.user.js
Created June 14, 2012 14:42
Dashboard で一度見たポストを覚えて再度表示されないようにします
// ==UserScript==
// @name I've seen it in tumblr.
// @match http://www.tumblr.com/dashboard*
// @version 1.0.0
// @description 一度見たポストを表示しないようにさせます
//
// @author poochin
// @license MIT
// @updated 2012-06-14
// ==/UserScript==
@poochin
poochin / gist:2717604
Created May 17, 2012 09:10
Tumblr で重複ポストのみを表示するスクリプト
/**
* Tumblr で reblog-key を用いて重複ポストのみ拾うスクリプト
*/
(function(){
var frag = document.createDocumentFragment();
var reblog_keys = {};
$$('#posts>.post:not(.new_post)').map(function(node) {
var reblog_key = node.querySelector('.reblog_button').getAttribute('data-reblog-key');
if (!reblog_keys[reblog_key]) reblog_keys[reblog_key] = [];
reblog_keys[reblog_key].push(node);
@poochin
poochin / throw_invalid_command.patch
Created April 26, 2012 02:03
ViChrome で不明なコマンド入力がされた際に例外を飛ばすか飛ばさないかをオプションで設定できるようにするパッチを書きました(パッチ部分はMITで)
diff -cr 0.11.0_0/command.js 0.11.0_0p/command.js
*** 0.11.0_0/command.js 2012-04-26 10:54:01.323464160 +0900
--- 0.11.0_0p/command.js 2012-04-26 10:56:23.351463806 +0900
***************
*** 358,364 ****
event.stopPropagation();
return event.preventDefault();
default:
! this.execCommand(com);
event.stopPropagation();
@poochin
poochin / test.user.coffee
Created April 11, 2012 11:11
$ coffee -b -c test.user.coffee
`// ==UserScript==
// @name Test Script
// @match http://*/*
// @version 1.0.0
// @description CoffeeScript で UserScript を吐き出させるテストです
// ==/UserScript==
`
(->
console.log "Hello, World!"
###
// ==UserScript==
// @name Default values
// @match http://*/*
// @version 1.0.0
// @description フォームの初期値を設定します
//
// @author poochin
// @license MIT
// @updated 2012-01-22
@poochin
poochin / gist:2169295
Created March 23, 2012 10:20
メモ: Tumblr が L キーでどのように Like を実行しているかのコード部
function _submit_like_toggler(post_id) {
var unlike = $('like_button_' + post_id).hasClassName('already_like') ? true : false;
var like_form_action = $('like_form_' + post_id).action;
var root_id = $('like_button_' + post_id).hasAttribute('data-root-post-id') ? $('like_button_' + post_id).getAttribute('data-root-post-id') : false;
if (unlike) {
$('like_button_' + post_id).removeClassName('already_like');
$('like_form_' + post_id).action = like_form_action.replace('/unlike', '/like');
decrement_note_count(post_id);
if (root_id) {
$$('.like_root_' + root_id).invoke('removeClassName', 'already_like')
@poochin
poochin / fukkin.py
Created March 12, 2012 08:14
スクリプトに代わりに腹筋させます。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import locale
import curses
locale.setlocale(locale.LC_ALL, '')
fukkin = (
[" ○ > %18d...",
~/ $ no-command
command not found: no-command
~/ $ echo $?
127
~/ $ ls --no-option
ls: オプション '--no-option' を認識できません
詳しくは `ls --help' を実行して下さい。
~/ $ echo $?
2
~/ $
@poochin
poochin / tumblrd2pub.py
Created January 26, 2012 15:30
tumblelogのdraftをpublishします。 -r(--reverse) オプションで古い順に published 出来るようにしました。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
'''
name: tumbled2pub
desc: Tumblelog の Drafts を公開するスクリプト
license: MIT
version: ('x')?
'''
@poochin
poochin / gist:1619121
Created January 16, 2012 04:49
tumblr life 1.0.0pre8 に標準以外のチャンネルに reblog する機能を追加するパッチ
diff -Naru 1.0_0/script.js 1.0_0p/script.js
--- 1.0_0/script.js 2012-01-16 13:42:39.771423716 +0900
+++ 1.0_0p/script.js 2012-01-16 13:47:48.915422946 +0900
@@ -12,6 +12,14 @@
(function(w, content_window, d) { 'use strict';
+var channels = (function(objs) {
+ var names = [];
+ for (var i = 1; i < objs.length; ++i) {