Page2LinkMD
by
coconuts18
2017-05-08 [2017/05/08 17:53:07]
Generates current active page to markdown link format. Makes guthub repo_top/issue/pr links to a formatted title
@@ -7,31 +7,31 @@
*/
(function(){
-var __githubRegexp = /^https?:\/\/github.com.*/g;
-var __githubRepoRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/?$/g;
-var __githubIssueRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/issues\/(\d+)/g;
-var __githubPullRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/pull\/(\d+)/g;
-var __githubTitleXPath = '//*[@id="partial-discussion-header"]/div[1]/h1/span[1]';
-
-var __location_href_url = location.href;
-var __link_title = "";
-
-if (__githubRegexp.test(__location_href_url)){
- if (__githubRepoRegexp.test(__location_href_url)) {
- __link_title = __location_href_url.replace(__githubRepoRegexp, "$1/$2");
- } else if (__githubIssueRegexp.test(__location_href_url)) {
- __link_title = "Issue#" + __location_href_url.replace(__githubIssueRegexp, "$3") + " " + document.evaluate(__githubTitleXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
- } else if (__githubPullRegexp.test(__location_href_url)) {
- __link_title = "PR#" + __location_href_url.replace(__githubPullRegexp, "$3") + " " + document.evaluate(__githubTitleXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+var githubRegexp = /^https?:\/\/github.com.*/g;
+var githubRepoRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/?$/g;
+var githubIssueRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/issues\/(\d+)/g;
+var githubPullRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/pull\/(\d+)/g;
+var githubTitleXPath = '//*[@id="partial-discussion-header"]/div[1]/h1/span[1]';
+
+var url = location.href;
+var title = "";
+
+if (githubRegexp.test(url)){
+ if (githubRepoRegexp.test(url)) {
+ title = url.replace(githubRepoRegexp, "$1/$2");
+ } else if (githubIssueRegexp.test(url)) {
+ title = "Issue#" + url.replace(githubIssueRegexp, "$3") + " " + document.evaluate(githubTitleXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
+ } else if (githubPullRegexp.test(url)) {
+ title = "PR#" + url.replace(githubPullRegexp, "$3") + " " + document.evaluate(githubTitleXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
} else {
- __link_title = document.title;
+ title = document.title;
}
} else {
- __link_title = document.title;
+ title = document.title;
}
-__link_title = __link_title.replace(/[\[\]]/g,"\\$&").replace(/\\$/, "");
+title = title.replace(/[\[\]]/g,"\\$&").replace(/\\$/, "");
-void prompt("Press Ctrl/Cmd + v to copy markdown", "[" + __link_title + "](" + __location_href_url + ")");
+void prompt("Press Ctrl/Cmd + v to copy markdown", "[" + title + "](" + url + ")");
-});
+})();
/*
* @title Page2LinkMD
* @description Generates current active page to markdown link format. Makes guthub repo_top/issue/pr links to a formatted title
* @include http://*
* @license MIT License
* @require
*/
(function(){
var githubRegexp = /^https?:\/\/github.com.*/g;
var githubRepoRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/?$/g;
var githubIssueRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/issues\/(\d+)/g;
var githubPullRegexp = /^https?:\/\/github.com\/([^\/]+)\/([^\/]+)\/pull\/(\d+)/g;
var githubTitleXPath = '//*[@id="partial-discussion-header"]/div[1]/h1/span[1]';
var url = location.href;
var title = "";
if (githubRegexp.test(url)){
if (githubRepoRegexp.test(url)) {
title = url.replace(githubRepoRegexp, "$1/$2");
} else if (githubIssueRegexp.test(url)) {
title = "Issue#" + url.replace(githubIssueRegexp, "$3") + " " + document.evaluate(githubTitleXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
} else if (githubPullRegexp.test(url)) {
title = "PR#" + url.replace(githubPullRegexp, "$3") + " " + document.evaluate(githubTitleXPath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
} else {
title = document.title;
}
} else {
title = document.title;
}
title = title.replace(/[\[\]]/g,"\\$&").replace(/\\$/, "");
void prompt("Press Ctrl/Cmd + v to copy markdown", "[" + title + "](" + url + ")");
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。