Some useful bookmarklets which may or may not still work.
Visit page in device emulation mode (Chrome dev tools)
| (function(d) { | |
| d.open(); | |
| d.write('<textarea id="input" spellcheck="false" style="flex:1;height:100%;resize:none;outline:none;font:15px monospace;color:#fff;background:#111;padding:10px;"><html>\n<head></head>\n<body>\nClick here to render\n</body>\n</html></textarea>'); | |
| d.write('<iframe id="iframe" style="flex:1;height:100%;"></iframe>'); | |
| d.close(); | |
| var s = d.body.style; | |
| s.display = 'flex'; | |
| s.margin = 0; | |
| var i = d.getElementById('input'); | |
| i.onkeydown = function(e) { |
| function isKanji(char) { | |
| return /^[\u4e00-\u9faf]+$/.test(char); | |
| } | |
| function getKanji(string) { | |
| var chars = string.split(''); | |
| var map = chars.reduce(function(acc, char) { | |
| if (isKanji(char)) { acc[char] = true; }; | |
| return acc; |
| # configure cache directory with 20G and holding old objects for max 31 days | |
| proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=s3:500m max_size=30g inactive=31d; | |
| server { | |
| server_name files.example.com; | |
| gzip off; | |
| # need to setup external DNS resolver | |
| resolver 8.8.8.8 valid=300s; |
Some useful bookmarklets which may or may not still work.
Visit page in device emulation mode (Chrome dev tools)
| 010000 ARTIST_NAME | |
| 020000 SONG_NAME | |
| // ジャンル>新曲 | |
| 030100 NEW_SONG_ALL_SONG // 全曲 | |
| // ジャンル>新曲>映像 | |
| 030201 NEW_SONG_LIVE_KARAOKE // LIVEカラオケ | |
| 030202 NEW_SONG_CAST_PICTURE // 本人出演映像 | |
| 030203 NEW_SONG_CLIP_JUST_NOW // 今だけクリップ |
ClubDAM has a mobile app called デンモクmini ("Denmoku mini") which uses an undocumented API.
Twitter's default offline archive search is slow as heck. If you do it in a web worker, the search itself is actually pretty fast.
search.html and worker.js to the root directory of your twitter archive (the same directory as index.html)search.html in browserctrl shift j)search("insert some regex here") and press enter| <script> | |
| function createWebWorkerFromFunction(f) { | |
| var blobContents = ['(', f.toString(), ')();']; | |
| var blob = new Blob(blobContents, { type: 'application/javascript'}); | |
| var blobUrl = URL.createObjectURL(blob); | |
| var worker = new Worker(blobUrl); | |
| URL.revokeObjectURL(blobUrl); |
Create a bookmark with the following "URL" (bookmarklet):
javascript:!function(){var a=[].slice.call(document.querySelectorAll('.enemy-info>.name')).map(function(a){return a.innerHTML}).filter(function(a){return a.length>0});jQuery.ajax({dataType:'json',url:'http://gbf-raidfinder.aikats.us/api/bosses.json',data:{name:a},traditional:!0,success:function(a){var b=a.raidBosses.map(function(a){return(a.translatedName||{}).value}).filter(function(a){return a});document.querySelector('#frm-post-tweet').value=b.join(' ')}})}();
Go to a raid and open the "Post to Twitter" menu (via "Request Backup" -> "Tweet")
Click the bookmarklet
If a translation is found, it will be inserted into the input box
Note: Translations might not be found for new event bosses that don't have images yet.
Here's a demo video.
I hereby claim:
To claim this, I am signing this object: