Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name hentaiomg
- // @namespace newsox
- // @description hentaiomg 日本語タイトルJD2登録用リンク置換スクリプト
- // @include https://hentaiomg.*/*
- // @version 1
- // @grant none
- // ==/UserScript==
- /*
- hentaiomg 用ユーザースクリプト
- (ブラウザ拡張のGreasemonkey等で使用)
- 要JDownloader2
- (要JD2パッケージャールール https://pastebin.com/88EC6yQH)
- ※ 『詳細リンク解析』オン (DeepDecryptオン)
- (詳細分析自動有効化 https://pastebin.com/y8GSQ2D2)
- ※ iPhoneのSafari(userscript拡張必須) + MyJDアプリでも可
- ローカルファイル検索には要EveryThing
- */
- {
- let jdkey='#jdl=';
- let mod_f='JDL_MOD';
- var D=document;
- let c='';
- // fadeIn無効化
- D.body.classList.remove('gridmag-fadein');
- // 背景を消去
- D.getElementsByTagName('body')[0].style.backgroundImage='url()';
- // 上部のロゴを消去
- {let x=D.getElementById('gridmag-header');x&&x.remove();}
- // カレンダー消去
- {let x=D.getElementById('calendar_wrap');x&&x.remove();}
- let a=D.querySelector('article');
- if (a && !a.getAttribute(mod_f))
- {
- a.setAttribute(mod_f, '1');
- // カテゴリを取得
- let o=a.classList;
- if(o.contains('category-h-manga')) c='(成年コミック) ';
- else if(o.contains('category-h-anime')) c='(18禁アニメ) ';
- else if(o.contains('category-h-doujinshi')) c='(同人誌) ';
- else if(o.contains('category-doujin-anime')) c='(同人アニメ) ';
- else if(o.contains('category-h-game')) c='(18禁ゲーム) ';
- else if(o.contains('category-h-game-cg')) c='(18禁ゲームCG集) ';
- else if(o.contains('category-h-doujin-game')) c='(同人ゲーム) ';
- let h1=D.querySelector('h1.post-title');
- if (h1)
- {
- // タイトル取得
- let t=h1.textContent.trim().replace(/【RAW】$/,'').replace(/^\[\d{6}\] */,'');
- let fset=D.querySelectorAll('fieldset');
- if (fset && fset.length >= 2)
- {
- // DLリンク編集
- let links = fset[1].querySelectorAll('a');
- links.forEach(e=>{
- e.href = e.href+jdkey+encodeURIComponent(c+t);
- });
- // EveryThing用タグ挿入
- let g = a.querySelector('div.entry-header-inside');
- if (!g.getAttribute(mod_f))
- {
- var tags = {};
- let v = t.match(/^\[([^\]]+?)\]/);
- if (v&&v[1]!='雑誌'&&v[1]!='アンソロジー') v[1].split(/[×&&]/).forEach(u=>tags[u.trim()]=1);
- v = t.replace(/^(?:\([^\)]+\) *)*(?:\[[^\]]+\] *)*/,"").match(/^([a-zA-Z]+(?: [a-zA-Z]+)+)\b|((?:COMIC|コミック) *)?[^ \!!\??@]+/);
- if (v) tags[((v[1]||v[2])?`"${v[0]}"`:v[0]).replace(/[第全]\d+(?:-\d+)?巻$/,"").replace(/[\!!\??\.。]+$/,"").replace(/([--―~]).+?\1.*$/,"")]=1;
- let tmp1 = '<div class="everything_tag gridmag-entry-meta-single"><i class="fa fa-search-plus"></i> <span id="everything_tag" class="tag-list">';
- tmp1 += Object.keys(tags).map(itr=>('<a href="es:' + itr + '" title=' + itr + "'>" + itr + '</a>')).join(', ');
- tmp1 += '</span></div>';
- g.insertAdjacentHTML("beforeend", tmp1);
- }
- // DLリンクを上に移動
- fset[0].parentNode.insertBefore(fset[1], fset[0]);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement