您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add code preview to 2ch.hk
当前为
- // ==UserScript==
- // @name 2ch code preview
- // @author 7sIV799F
- // @version 0.4.0
- // @include /https:\/\/2ch\.(hk|pm|re|tf|wj)/
- // @include http://2-ch.so
- // @grant none
- // @description Add code preview to 2ch.hk
- // @namespace https://greasyfork.org/users/10379
- // ==/UserScript==
- $(function() {
- $('<button>', {
- text: 'code',
- click: function() {
- var ta = $('#shampoo')[0],
- start = ta.selectionStart,
- end = ta.selectionEnd;
- ta.value =
- ta.value.slice(0, start) +
- '[code]\n' +
- ta.value.slice(start, end)
- // replace * with look like * symbol
- .replace(/\*/g, '٭')
- // add zero-width space to BB-code
- .replace(/\[([bius])\]/g, '[$1]')
- .replace(/\t/g, ' ')
- // replace space with non-break space
- .replace(/ /g, ' ') +
- '\n[/code]' +
- ta.value.slice(end)
- ;
- return false;
- }
- }).appendTo('.symbol-counter');
- getIframe();
- $('.posts').bind('DOMSubtreeModified', getIframe);
- });
- function getIframe() {
- var re = new RegExp(
- '(pastebin\\.com|ideone\\.com|jsfiddle\\.net|codepen\\.io)\/' +
- '(\\w+\/pen\/)?' + // http://codepen.io/(username/pen/)id
- '(\\w+\/)?' + // http://jsfiddle.net/(username/)id
- '(\\w+)\/?$' // id
- );
- $('a[href^="http"')
- .filter(function() {
- return !$(this).hasClass('code-embedded') && re.test(this.href);
- })
- .addClass('code-embedded')
- .after(' <button class="embed-code">view code</button>')
- .next('button.embed-code')
- .click(function() {
- var $this = $(this),
- match = $this.prev().attr('href').match(re);
- if (!match) return;
- var host = match[1],
- id = match[4],
- src = {
- 'pastebin.com': '//pastebin.com/embed_iframe.php?i=' + id,
- 'ideone.com' : '//ideone.com/embed/' + id,
- 'jsfiddle.net': '//jsfiddle.net/' + id + '/embedded/',
- 'codepen.io' : '//codepen.io/anon/embed/' + id + '/?height=500'
- };
- $('<div>', {
- class: 'code-embedded',
- html: $('<iframe>', {
- src : src[host],
- style: 'border:none; width:800px; height:500px'
- })
- }).insertAfter($this);
- $this.remove();
- })
- ;
- $('.post-message:contains("[code"):not(.compiled)')
- .addClass('compiled')
- .html(function(_i, html) {
- return html
- .replace(/\[code[^\]]*\]/g, '<pre class="code">')
- .replace(/<br>/g, '\n')
- .replace(/(<\/?em>|٭)/g, '*')
- .replace(/\t/g, ' ')
- .replace(/\[\/code\]/g, '</pre>')
- ;
- });
- }