Skip to content

Instantly share code, notes, and snippets.

@abearxiong
Last active May 2, 2019 10:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abearxiong/dab578c4c075993c16757f774ab09927 to your computer and use it in GitHub Desktop.
Save abearxiong/dab578c4c075993c16757f774ab09927 to your computer and use it in GitHub Desktop.
tampermonkey插件 web gists装饰器
// ==UserScript==
// @name 关于web gists 的装饰
// @name:en web gists decoration
// @namespace https://github.com/abearxiong/
// namespace https://gists.github.com/
// @version 1.0.0
// @icon https://github.githubassets.com/favicon.ico
// @description 悬浮显示目录
// @homepageURL https://github.com/abearxiong/web-gists-decoration
// homepage https://gist.github.com/abearxiong/dab578c4c075993c16757f774ab09927/
// @author Abearxiong
// updateURL https://gist.github.com/abearxiong/dab578c4c075993c16757f774ab09927/raw/7017d54ae01e4475a64ea6af82d23e5d7732beb7/new-web.gists.decoration.user.js
// @updateURL https://github.com/abearxiong/web-gists-decoration/raw/master/web.gists.decoration.user.js
// @supportURL https://github.com/abearxiong/web-gists-decoration/issues
// @match https://gist.github.com/*
// grant none
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_getResourceURL
// @grant GM_getResourceText
// @require https://cdn.jsdelivr.net/npm/jquery@3.4.0/dist/jquery.min.js
// @require https://cdn.jsdelivr.net/npm/jquery-ui@1.12.1/ui/widget.min.js
// @resource bootstrap https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css
// @run-at document-end //脚本运行在之后
// ==/UserScript==
// 描述
var $ = jQuery.noConflict( )
//$("head").append(`<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">`) // 现在因为csp问题 关于一些其他的script或者link是不能直接运行在网站上面的
var bootstrap = GM_getResourceText("bootstrap")
//$("head").append(`<style>${bootstrap}</style>`) //添加CSS模块
function cssText(){
let c= `
<style>
input[type=radio]:checked + label{
color: blue;
}
</style>
`
return c
}
$("head").append(cssText());
$(document).ready(function() {
//'use strict';
//var jq = jQuery.noConflict( ); // $冲突 解决办法
decoration()
globalDecoration.decoration()
});
// 路由: 判断gists处于某个页面
var routers = {
discover: Symbol("discover"),
edit: Symbol("edit"),
index: Symbol("index"),
gists: Symbol("gists")
}
var filesTab = []
var editGistFiles = []
var globalDecoration ={
decoration: function(){
let topIcon = $(`<svg t="1556761856290" class="top-icon" style="position:fixed;bottom: 25px;right: 15px;z-index:20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5236" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M535.12 442.432v210.016a16 16 0 0 1-16 16h-16.16a16 16 0 0 1-16-16V440.208l-32.88 32.864a16 16 0 0 1-11.312 4.688h-28.304a14.464 14.464 0 0 1-10.24-24.688l97.824-97.808a11.136 11.136 0 0 1 15.744 0l97.808 97.808a14.464 14.464 0 0 1-10.24 24.688h-28.288a16 16 0 0 1-11.312-4.688l-30.64-30.64zM512 800c159.056 0 288-128.944 288-288s-128.944-288-288-288-288 128.944-288 288 128.944 288 288 288z m0 48c-185.568 0-336-150.432-336-336s150.432-336 336-336 336 150.432 336 336-150.432 336-336 336z" p-id="5237" fill="#1296db"></path></svg>`)
topIcon.css("display","none")
$("body").append(topIcon)
this.setting()
},
setting: function(){
let topIcon = $(".top-icon")
$(window).scroll(function(){
//console.log("ttt",$(window).scrollTop())
if($(window).scrollTop()>200){
topIcon.show();
}else{
topIcon.hide()
}
})
topIcon.click(function(){
//$(window).scoll()
$("body,html").animate({
scrollTop:0 //scroll_offset.top //让body的scrollTop等于pos的top,就实现了滚动
})
})
let objs={ header : $('.Header'), footer : $('.footer'), gisthead : $('.gisthead')}
let setobjs = { header : $("#setting-header"), footer : $("#setting-footer"), gisthead : $("#setting-gisthead")}
let settingIcon = $(".setting-icon")
let editIcon = $(".edit-icon")
let gistsContentSetting = $(".gists-content-setting")
//console.log(getValue("gistContentSetting"))
if(getValue("gistContentSetting")){
gistsContentSetting.hide()
}
settingIcon.click(function(){
let show = getValue("gistContentSetting")
setValue("gistContentSetting",show=="show"?"":"show")
gistsContentSetting.slideToggle()
})
this.checkbox(objs,setobjs)
}
,checkbox: function(objs,setobjs){
for(let index in objs){//设置保存的内容勾选
let checked = getValue(index) || false
//console.log(index,checked)
setobjs[index].attr("checked",checked ||false)
if(checked){
objs[index].hide()
}else{
objs[index].show()
}
}
for(let index in setobjs){
setobjs[index].change(function(){
let checked = setobjs[index].is(":checked")
setValue(index,checked?"checked":"")
//console.log("index:",index,"setobjs",checked)
if(checked){
objs[index].hide()
}else{
objs[index].show()
}
})
}
}
}
// 工具
function endwith(){
var url = document.URL
if(url.endsWith("/discover")){
// 是discover页面
return routers.discover
}
if(url.endsWith("/edit")){
// 是编辑内容
return routers.edit
}
if(url.split('/').length == 4){
// 是用户首页
return routers.index
}
// 是gists显示页面
return routers.gists
}
function decoration(){
let result = endwith()
switch(result){
case routers.edit:
// 装饰编辑页面
eidtDecorationContent()
break;
case routers.gists:
gistsDecorationContent()
break
default:
break
}
}
function gistsDecorationContent(){
let gistContent = $(".gist-content")
gistContent.prepend(gistsFileShow())
gistsSetting()
let body = $("body")
function gistsFileShow(){
let files = $(".file")
//console.log("file个数",files.length,"内容")
for(let i=0;i<files.length; i++){
//console.log($(files[i]).attr("id"))
let filesname = $(files[i]).attr("id")
let fileTab = {}
fileTab.id = filesname
fileTab.name = filesname.slice(5).replace(/-/g,".")
fileTab.show = false
fileTab.tab = filesname+"-tab"
fileTab.content = $(`#${filesname}`)
filesTab.push(fileTab)
}
if(files.length>0)filesTab[0].show = true
// 判断浏览器语言
let tabTitle = getLanguageTitle() || "tab of content"
let div = $("<div></div>")
let choose = $(`<div class="choose-files"></div>`)
let turnFile =$(`<div class="turn-files"></div>`)
filesTab.map(function(val){
let span = $("<span></span>")
let link = $(`<label class="choose-gists btn btn-sm" for="${val.id}-tab"> ${val.name}</label>`)
let inputLink = $(`<input name="choose-radio" type="radio" id="${val.id}-tab" ${val.show?"checked":''} hidden>`)
inputLink.appendTo(span)
link.appendTo(span)
span.appendTo(choose)
let a = $(`<a class="turn-file btn btn-sm" href="#${val.id}"> ${val.name} </a>`)
turnFile.append(a)
})
turnFile.appendTo(div)
choose.appendTo(div)
if(!getValue("gistShowAll")){
showGist()
turnFile.css("display","none")
}
else{
showAllGist()
choose.css("display","none")
}
let content = $(`<div class="gists-decoration"></div>`)
let contentTitle = $(`<div class="gists-decoration-title">${tabTitle}</div>`)
//contentTitle.appendTo(content)
let setting = $(`
<form class="gists-content-setting">
<fieldset>
no header:<input id="setting-header" type="checkbox">
no gistshead:<input id="setting-gisthead" type="checkbox">
no comments:<input id="setting-comments" type="checkbox">
no footer:<input id="setting-footer" type="checkbox">
show all gist:<input id="setting-show-all-gist" type="checkbox">
</fieldset>
</form>
`)
let settingIcon = $(`<svg t="1556706192571" class="setting-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4701" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M924.4 464.9c-3.4-25.4-25.2-44.6-50.5-44.6-1.2 0-4 0.2-5.2 0.3v0.1c-0.6 0.1-1.2 0.2-1.8 0.2-1.3 0.1-2.7 0.3-4 0.6-0.4 0.1-2.3 0.6-2.7 0.7-20 5.2-40.9-4.1-51.8-21.3-6.4-10.6-8.1-23-4.9-35.1 3.1-11.9 11-22.2 21.9-28.3 11.7-6.8 20.1-17.9 23.5-31.2 3.3-12.8 1.6-26.2-5.9-39.2l-4.1-6c-20.8-26.4-43.5-49.2-69.6-69.6-0.3-0.3-0.7-0.6-1.1-0.9-20.8-16.4-52.8-13-70.3 7.4l-2.1 2.7-3.3 5.1c-10.3 17.1-33.1 25.6-51.7 20.7-24.7-6.6-39.6-31.9-33.1-56.5 0.2-0.7 0.3-1.4 0.5-2.1 6-26.6-10.3-53.5-38.5-61.1-1-0.3-3.9-0.6-5-0.8-32.8-3.8-67.4-3.9-100 0-0.4 0-0.7 0.1-1.1 0.1-13.3 1.5-25.3 8.2-33.6 18.8-8.2 10.3-12 23.6-10.3 38.9 0.1 1 0.3 2.1 0.5 3.1 0.1 0.4 0.6 2.4 0.7 2.7 5 19.5-3.8 40.9-21.3 51.8-0.4 0.2-0.8 0.5-1.1 0.8-21.1 12-50 3.7-62.2-17.6-13.4-22.9-41.2-34.2-70.1-17.8L259 191c-26.7 21-49.8 44.1-70.3 70.4-8.5 10.7-12.3 23.9-10.7 37.3 1.5 12.9 8 24.8 18.2 33.3 0.8 0.7 1.7 1.3 2.6 1.9l5 3.2c17.2 10.4 25.7 31.7 21.5 49.3-0.3 0.8-0.6 1.9-0.8 2.7-5.3 20.4-23.7 34.6-44.5 34.6-3.8 0-7.8-0.5-12.7-1.8-29.1-7.3-54.9 9.8-62.5 38.6-0.2 0.9-0.6 3.7-0.7 4.7-3.9 33.2-3.9 66.8-0.1 99.9 0 0.3 0 0.6 0.1 0.9 2.7 25.4 24 44.6 51.4 44.6 1.2-0.1 3.4-0.2 5.3-0.6 1.4-0.1 2.9-0.3 4.3-0.6 0.7-0.1 1.5-0.3 2.2-0.5 18.6-4.9 41.1 3.8 52 21.3 6.4 10.6 8.1 23 4.9 35.1-3.2 11.9-11 22.2-22 28.4-11.6 6.8-19.9 17.9-23.4 31.2-3.3 12.8-1.6 26.1 6 39.3l4 5.8c20.8 26.5 43.6 49.3 69.9 69.9 0.3 0.2 0.5 0.4 0.8 0.6 20.8 16.4 52.8 13 70.3-7.4l2.1-2.7 3.3-5.1c10.3-17.2 33.2-25.7 51.7-20.7 24.7 6.6 39.6 31.9 33.1 56.5-0.2 0.6-0.3 1.3-0.5 2-5.9 26.3 10 53.2 36.7 60.7 0.6 0.2 2 0.6 2.7 0.7 0.9 0.2 3.2 0.6 4.1 0.7 16.8 1.9 33.8 2.8 50.5 2.8 16.6 0 33.5-1 51.1-3 13.3-1.9 25.1-8.8 33.5-19.5 8.4-10.8 12-24.2 9.9-40-0.2-1.6-0.6-3.1-0.9-4.4-5.1-19.7 3.6-41.2 21.2-52.1 0.4-0.2 0.8-0.5 1.2-0.8 21.1-11.9 50.1-3.7 62.2 17.6 13.5 23.2 42.1 34.1 70.2 17.7l6-4.1c26.7-21 49.7-44.1 70.2-70.4 8.5-10.7 12.3-24 10.7-37.3-1.5-12.9-8-24.8-18.2-33.3-0.8-0.7-1.7-1.3-2.6-1.9l-5-3.2c-17.2-10.4-25.7-31.7-21.5-49.3 0.3-0.8 0.6-1.9 0.9-2.7 5.3-20.4 23.6-34.6 44.5-34.6 3.9 0 7.9 0.5 12.7 1.8 28.8 7.3 54.4-9.4 62.4-38.5 0.5-2.1 0.8-2.9 0.8-5 4.5-31.9 4.7-65.5 0.6-100.1z m-27.8 96.5l-0.3 2.2v0.3c-0.1 0.4-0.2 0.9-0.3 1.3-2.9 10.3-12.2 17.5-22.8 17.5-2 0-3.9-0.3-5.8-0.8l-0.4-0.1-0.4-0.1c-6.3-1.6-12.6-2.4-18.7-2.4-33.3 0-62.6 22.7-71.1 55.2l-0.1 0.3-0.1 0.3c-7.8 31.8 5.8 65.4 33.3 81.9l4.1 2.7c4.8 4 7.8 9.5 8.5 15.4 0.5 4.2 0.1 10.6-4.9 16.9-19.4 24.9-40.9 46.4-65.7 65.9l-4.2 2.8c-3.5 2-7.2 3-11.1 3-8.2 0-16-4.4-20.2-11.6-13-22.9-37.5-37.1-64-37.1-13.2 0-26.2 3.6-37.5 10.5l-0.1 0.1-0.1 0.1c-27.8 17.4-41.4 51.3-33.3 82.4l0.1 0.3 0.1 0.3 0.1 0.4v0.3l0.3 2.1c0.8 6.1-0.9 12.2-4.7 17.1-3.9 5-9.5 8.2-15.7 9.1-15.8 1.8-31.7 2.7-47.1 2.7-15.5 0-31.5-0.9-47.4-2.7l-1.4-0.2c-0.5-0.1-1-0.3-1.5-0.4-12.5-3.5-20-16.4-16.6-28.9v-0.2c10.3-39.2-13.3-79.7-52.7-90.2-6-1.6-12.3-2.4-18.9-2.4-26 0-50.2 13.5-63.5 35.5l-2.7 4.1c-4.7 5.5-11.3 8.7-18.3 8.7-3.5 0-8.9-0.9-14.1-5l-0.1-0.1-0.1-0.1c-24.9-19.4-46.4-40.9-65.9-65.7l-2.8-4.2c-2.9-5.1-3.7-11.2-2.2-17.1 1.6-6.1 5.4-11.2 10.7-14.3 17.1-9.6 29.7-26.1 34.7-45.1 5.1-19.3 2.3-39.2-7.9-56.3l-0.2-0.3-0.2-0.3c-13.7-22-38.2-35.5-63.9-35.5-6.3 0-12.5 0.8-18.5 2.4h-0.2l-0.6 0.2h-1.1l-2.6 0.5c-0.1 0-0.6 0.1-1.7 0.1-11.4 0-21.3-8.8-22.5-20.2v-0.2c-3.7-31.4-3.7-63.1 0-94.5l0.2-1.8 0.2-0.9c2.8-10.5 12.2-18 22.9-18 2 0 3.9 0.3 5.8 0.8l0.4 0.1 0.4 0.1c6.3 1.6 12.6 2.4 18.7 2.4 33.3 0 62.6-22.7 71.1-55.2l0.1-0.3 0.1-0.3c7.8-31.8-5.8-65.4-33.3-81.9l-4.1-2.7c-4.8-4-7.8-9.5-8.5-15.4-0.5-4.2-0.1-10.6 4.9-17 19.4-24.9 40.9-46.4 65.7-65.9l4.3-2.8c3.4-1.9 7.2-3 11.1-3 8.2 0 15.9 4.4 20.2 11.6 13 22.9 37.5 37.1 64 37.1 13.2 0 26.2-3.6 37.5-10.5l0.1-0.1 0.1-0.1c27.6-17.3 41.3-50.9 33.4-81.9-0.1-0.6-0.3-1.1-0.4-1.6v-0.1l-0.3-2.1c-0.8-6.1 0.9-12.2 4.7-17 3.8-4.8 9.2-7.8 15.2-8.5h0.2c15.8-1.9 31.8-2.8 47.3-2.8 15.5 0 31.5 0.9 47.1 2.7l1.8 0.2 0.8 0.2c12.7 3.4 20.4 16.4 17.1 29v0.2c-10.3 39.2 13.3 79.7 52.7 90.2 6 1.6 12.3 2.4 18.9 2.4 26 0 50.2-13.5 63.5-35.5l2.7-4.1c4.7-5.5 11.3-8.7 18.2-8.7 3.5 0 8.9 0.9 14.1 5l0.1 0.1 0.1 0.1c24.9 19.4 46.4 40.9 65.9 65.7l2.8 4.2c2.9 5.1 3.7 11.2 2.2 17.1-1.6 6.1-5.4 11.2-10.7 14.3-17.1 9.6-29.7 26.1-34.7 45.1-5.1 19.3-2.3 39.2 7.9 56.3l0.2 0.3 0.2 0.3c13.7 22 38.2 35.5 63.9 35.5 6.1 0 12.1-0.8 18-2.3 0.5-0.1 1.1-0.3 1.6-0.4h0.8l2.6-0.5c0.1 0 0.6-0.1 1.7-0.1 11.6 0 21.7 8.9 23.3 20.8 3.8 32.3 3.6 63.5-0.5 93.1z" fill="#1296db" p-id="4702"></path><path d="M513.7 403c-68.5 0-124 55.5-124 124 0 7.1 1.1 15 2.3 21.8 0 0.1 0.3 0.1 0.3 0.1 1.5 6 6.6 10.5 13.1 10.5 7.6 0 13.8-6.2 13.8-13.8 0-1.1-0.4-2-0.6-3l0.2-0.1c-0.8-5.1-1.6-10.3-1.6-15.6 0-53.2 43.3-96.5 96.5-96.5s96.5 43.3 96.5 96.5-43.3 96.5-96.5 96.5c-23.6 0-44.9-8.8-61.7-22.9l-0.2 0.2c-2.4-1.9-5.2-3.2-8.5-3.2-7.6 0-13.8 6.2-13.8 13.8 0 4.3 2.1 8 5.2 10.5 0.1 0.1-0.1 0.2 0 0.3 21.5 17.9 48.7 28.9 78.9 28.9 68.5 0 124-55.5 124-124 0.2-68.5-55.4-124-123.9-124z" fill="#1296db" p-id="4703"></path></svg>`)
//let editIcon = $(`<svg t="1556718087866" class="edit-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4633" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M187.076923 657.723077l175.261539 175.261538c7.876923 7.876923 19.692308 7.876923 27.56923 0L827.076923 393.846154c7.876923-7.876923 7.876923-19.692308 0-27.569231l-173.292308-173.292308c-7.876923-7.876923-19.692308-7.876923-27.56923 0L187.076923 632.123077c-7.876923 7.876923-7.876923 19.692308 0 25.6zM710.892308 112.246154c-7.876923 7.876923-7.876923 19.692308 0 27.569231l173.292307 173.292307c7.876923 7.876923 19.692308 7.876923 27.569231 0l49.230769-49.230769c31.507692-29.538462 31.507692-76.8 0-108.307692l-92.553846-92.553846c-31.507692-31.507692-80.738462-31.507692-112.246154 0l-45.292307 49.230769z m-669.538462 836.923077c-3.938462 19.692308 13.784615 37.415385 33.476923 33.476923l214.646154-51.2c7.876923-1.969231 13.784615-5.907692 17.723077-9.846154l3.938462-3.938462c3.938462-3.938462 5.907692-17.723077-1.969231-25.6l-177.230769-177.230769c-7.876923-7.876923-21.661538-5.907692-25.6-1.969231l-3.938462 3.938462c-5.907692 5.907692-7.876923 11.815385-9.846154 17.723077L41.353846 949.169231z" p-id="4634" fill="#1296db"></path></svg>`)
let editIcon = $(`<svg t="1556718766471" class="edit-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4860" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M331.162352 847.656713 889.919259 288.923342c12.44852-12.45466 12.44852-32.69054 0-45.146223l-67.744917-67.734684-67.713194-67.720358c-12.471033-12.472056-32.69054-12.472056-45.170782 0L150.441361 667.186432c-3.585665 2.915399-6.359848 6.898107-7.786337 11.659551L80.811514 884.612393c-2.619664 8.745175-0.024559 17.810644 6.002714 23.843034l1.676176 1.302669 1.300622 1.674129c6.03239 6.02625 15.09786 8.622378 23.845081 6.009877l205.77255-61.850673C324.226383 854.142427 328.231603 851.303776 331.162352 847.656713zM743.159754 164.754345l45.584198 45.584198 44.719504 44.725644c6.243191 6.237051 6.243191 16.35448 0 22.574135l-79.000262 78.999239L641.578194 243.754606l79.000262-79.000262C726.82267 158.518317 736.924749 158.518317 743.159754 164.754345zM138.203642 860.042811l48.523133-161.420413 432.271144-432.279331 112.882953 112.882953L299.578006 811.536051 138.203642 860.042811z" p-id="4861" fill="#1296db"></path></svg>`)
div.append(settingIcon)
div.append(editIcon)
div.append(setting)
div.appendTo(content)
return content
}
function gistsSetting (){
let objs={ comments : $('.discussion-timeline-actions')}
let setobjs = { comments : $("#setting-comments")}
let setgistShowAll = $("#setting-show-all-gist")
let editIcon = $(".edit-icon")
globalDecoration.checkbox(objs,setobjs)
setgistShowAll.attr("checked",getValue("gistShowAll") ||false)
setgistShowAll.change(function(){
let checked = setgistShowAll.is(":checked")
setValue("gistShowAll",checked?"checked":"")
if(checked){
showAllGist()
}else{
showGist()
}
})
editIcon.click(function(){
let currentUrl = document.URL.replace(/#.*/,"")
window.location.href = currentUrl +"/edit"
})
let chooseGists = $(".choose-gists")
for(let i = 0;i<chooseGists.length;i++){
let choose = $(chooseGists[i])
choose.click(function(){
for(let index in filesTab){
if(i == index){
filesTab[index].show = true
}else{
filesTab[index].show = false
}
}
showGist()
})
}
}
function showGist(){
filesTab.map(function(val,index){
if(val.show){
val.content.show()
}else{
val.content.hide()
}
})
$(".choose-files").show()
$(".turn-files").hide()
}
function showAllGist(){
filesTab.map(function(val){
val.content.show()
})
$(".choose-files").hide()
$(".turn-files").show()
}
}
function eidtDecorationContent(){
let showIndex = 0
editShow()
function editShow(){
// 设置
let gists = $("#gists")
let div = $(`<div class="edit-decoration"></div>`)
let setting = $(`
<form class="gists-content-setting">
no header:<input id="setting-header" type="checkbox">
no gistshead:<input id="setting-gisthead" type="checkbox">
no footer:<input id="setting-footer" type="checkbox">
no cancel:<input id="setting-return" type="checkbox">
no 显示所有:<input id="setting-show-all" type="checkbox">
</form>
`)
let settingIcon = $(`<svg t="1556706192571" class="setting-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4701" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M924.4 464.9c-3.4-25.4-25.2-44.6-50.5-44.6-1.2 0-4 0.2-5.2 0.3v0.1c-0.6 0.1-1.2 0.2-1.8 0.2-1.3 0.1-2.7 0.3-4 0.6-0.4 0.1-2.3 0.6-2.7 0.7-20 5.2-40.9-4.1-51.8-21.3-6.4-10.6-8.1-23-4.9-35.1 3.1-11.9 11-22.2 21.9-28.3 11.7-6.8 20.1-17.9 23.5-31.2 3.3-12.8 1.6-26.2-5.9-39.2l-4.1-6c-20.8-26.4-43.5-49.2-69.6-69.6-0.3-0.3-0.7-0.6-1.1-0.9-20.8-16.4-52.8-13-70.3 7.4l-2.1 2.7-3.3 5.1c-10.3 17.1-33.1 25.6-51.7 20.7-24.7-6.6-39.6-31.9-33.1-56.5 0.2-0.7 0.3-1.4 0.5-2.1 6-26.6-10.3-53.5-38.5-61.1-1-0.3-3.9-0.6-5-0.8-32.8-3.8-67.4-3.9-100 0-0.4 0-0.7 0.1-1.1 0.1-13.3 1.5-25.3 8.2-33.6 18.8-8.2 10.3-12 23.6-10.3 38.9 0.1 1 0.3 2.1 0.5 3.1 0.1 0.4 0.6 2.4 0.7 2.7 5 19.5-3.8 40.9-21.3 51.8-0.4 0.2-0.8 0.5-1.1 0.8-21.1 12-50 3.7-62.2-17.6-13.4-22.9-41.2-34.2-70.1-17.8L259 191c-26.7 21-49.8 44.1-70.3 70.4-8.5 10.7-12.3 23.9-10.7 37.3 1.5 12.9 8 24.8 18.2 33.3 0.8 0.7 1.7 1.3 2.6 1.9l5 3.2c17.2 10.4 25.7 31.7 21.5 49.3-0.3 0.8-0.6 1.9-0.8 2.7-5.3 20.4-23.7 34.6-44.5 34.6-3.8 0-7.8-0.5-12.7-1.8-29.1-7.3-54.9 9.8-62.5 38.6-0.2 0.9-0.6 3.7-0.7 4.7-3.9 33.2-3.9 66.8-0.1 99.9 0 0.3 0 0.6 0.1 0.9 2.7 25.4 24 44.6 51.4 44.6 1.2-0.1 3.4-0.2 5.3-0.6 1.4-0.1 2.9-0.3 4.3-0.6 0.7-0.1 1.5-0.3 2.2-0.5 18.6-4.9 41.1 3.8 52 21.3 6.4 10.6 8.1 23 4.9 35.1-3.2 11.9-11 22.2-22 28.4-11.6 6.8-19.9 17.9-23.4 31.2-3.3 12.8-1.6 26.1 6 39.3l4 5.8c20.8 26.5 43.6 49.3 69.9 69.9 0.3 0.2 0.5 0.4 0.8 0.6 20.8 16.4 52.8 13 70.3-7.4l2.1-2.7 3.3-5.1c10.3-17.2 33.2-25.7 51.7-20.7 24.7 6.6 39.6 31.9 33.1 56.5-0.2 0.6-0.3 1.3-0.5 2-5.9 26.3 10 53.2 36.7 60.7 0.6 0.2 2 0.6 2.7 0.7 0.9 0.2 3.2 0.6 4.1 0.7 16.8 1.9 33.8 2.8 50.5 2.8 16.6 0 33.5-1 51.1-3 13.3-1.9 25.1-8.8 33.5-19.5 8.4-10.8 12-24.2 9.9-40-0.2-1.6-0.6-3.1-0.9-4.4-5.1-19.7 3.6-41.2 21.2-52.1 0.4-0.2 0.8-0.5 1.2-0.8 21.1-11.9 50.1-3.7 62.2 17.6 13.5 23.2 42.1 34.1 70.2 17.7l6-4.1c26.7-21 49.7-44.1 70.2-70.4 8.5-10.7 12.3-24 10.7-37.3-1.5-12.9-8-24.8-18.2-33.3-0.8-0.7-1.7-1.3-2.6-1.9l-5-3.2c-17.2-10.4-25.7-31.7-21.5-49.3 0.3-0.8 0.6-1.9 0.9-2.7 5.3-20.4 23.6-34.6 44.5-34.6 3.9 0 7.9 0.5 12.7 1.8 28.8 7.3 54.4-9.4 62.4-38.5 0.5-2.1 0.8-2.9 0.8-5 4.5-31.9 4.7-65.5 0.6-100.1z m-27.8 96.5l-0.3 2.2v0.3c-0.1 0.4-0.2 0.9-0.3 1.3-2.9 10.3-12.2 17.5-22.8 17.5-2 0-3.9-0.3-5.8-0.8l-0.4-0.1-0.4-0.1c-6.3-1.6-12.6-2.4-18.7-2.4-33.3 0-62.6 22.7-71.1 55.2l-0.1 0.3-0.1 0.3c-7.8 31.8 5.8 65.4 33.3 81.9l4.1 2.7c4.8 4 7.8 9.5 8.5 15.4 0.5 4.2 0.1 10.6-4.9 16.9-19.4 24.9-40.9 46.4-65.7 65.9l-4.2 2.8c-3.5 2-7.2 3-11.1 3-8.2 0-16-4.4-20.2-11.6-13-22.9-37.5-37.1-64-37.1-13.2 0-26.2 3.6-37.5 10.5l-0.1 0.1-0.1 0.1c-27.8 17.4-41.4 51.3-33.3 82.4l0.1 0.3 0.1 0.3 0.1 0.4v0.3l0.3 2.1c0.8 6.1-0.9 12.2-4.7 17.1-3.9 5-9.5 8.2-15.7 9.1-15.8 1.8-31.7 2.7-47.1 2.7-15.5 0-31.5-0.9-47.4-2.7l-1.4-0.2c-0.5-0.1-1-0.3-1.5-0.4-12.5-3.5-20-16.4-16.6-28.9v-0.2c10.3-39.2-13.3-79.7-52.7-90.2-6-1.6-12.3-2.4-18.9-2.4-26 0-50.2 13.5-63.5 35.5l-2.7 4.1c-4.7 5.5-11.3 8.7-18.3 8.7-3.5 0-8.9-0.9-14.1-5l-0.1-0.1-0.1-0.1c-24.9-19.4-46.4-40.9-65.9-65.7l-2.8-4.2c-2.9-5.1-3.7-11.2-2.2-17.1 1.6-6.1 5.4-11.2 10.7-14.3 17.1-9.6 29.7-26.1 34.7-45.1 5.1-19.3 2.3-39.2-7.9-56.3l-0.2-0.3-0.2-0.3c-13.7-22-38.2-35.5-63.9-35.5-6.3 0-12.5 0.8-18.5 2.4h-0.2l-0.6 0.2h-1.1l-2.6 0.5c-0.1 0-0.6 0.1-1.7 0.1-11.4 0-21.3-8.8-22.5-20.2v-0.2c-3.7-31.4-3.7-63.1 0-94.5l0.2-1.8 0.2-0.9c2.8-10.5 12.2-18 22.9-18 2 0 3.9 0.3 5.8 0.8l0.4 0.1 0.4 0.1c6.3 1.6 12.6 2.4 18.7 2.4 33.3 0 62.6-22.7 71.1-55.2l0.1-0.3 0.1-0.3c7.8-31.8-5.8-65.4-33.3-81.9l-4.1-2.7c-4.8-4-7.8-9.5-8.5-15.4-0.5-4.2-0.1-10.6 4.9-17 19.4-24.9 40.9-46.4 65.7-65.9l4.3-2.8c3.4-1.9 7.2-3 11.1-3 8.2 0 15.9 4.4 20.2 11.6 13 22.9 37.5 37.1 64 37.1 13.2 0 26.2-3.6 37.5-10.5l0.1-0.1 0.1-0.1c27.6-17.3 41.3-50.9 33.4-81.9-0.1-0.6-0.3-1.1-0.4-1.6v-0.1l-0.3-2.1c-0.8-6.1 0.9-12.2 4.7-17 3.8-4.8 9.2-7.8 15.2-8.5h0.2c15.8-1.9 31.8-2.8 47.3-2.8 15.5 0 31.5 0.9 47.1 2.7l1.8 0.2 0.8 0.2c12.7 3.4 20.4 16.4 17.1 29v0.2c-10.3 39.2 13.3 79.7 52.7 90.2 6 1.6 12.3 2.4 18.9 2.4 26 0 50.2-13.5 63.5-35.5l2.7-4.1c4.7-5.5 11.3-8.7 18.2-8.7 3.5 0 8.9 0.9 14.1 5l0.1 0.1 0.1 0.1c24.9 19.4 46.4 40.9 65.9 65.7l2.8 4.2c2.9 5.1 3.7 11.2 2.2 17.1-1.6 6.1-5.4 11.2-10.7 14.3-17.1 9.6-29.7 26.1-34.7 45.1-5.1 19.3-2.3 39.2 7.9 56.3l0.2 0.3 0.2 0.3c13.7 22 38.2 35.5 63.9 35.5 6.1 0 12.1-0.8 18-2.3 0.5-0.1 1.1-0.3 1.6-0.4h0.8l2.6-0.5c0.1 0 0.6-0.1 1.7-0.1 11.6 0 21.7 8.9 23.3 20.8 3.8 32.3 3.6 63.5-0.5 93.1z" fill="#1296db" p-id="4702"></path><path d="M513.7 403c-68.5 0-124 55.5-124 124 0 7.1 1.1 15 2.3 21.8 0 0.1 0.3 0.1 0.3 0.1 1.5 6 6.6 10.5 13.1 10.5 7.6 0 13.8-6.2 13.8-13.8 0-1.1-0.4-2-0.6-3l0.2-0.1c-0.8-5.1-1.6-10.3-1.6-15.6 0-53.2 43.3-96.5 96.5-96.5s96.5 43.3 96.5 96.5-43.3 96.5-96.5 96.5c-23.6 0-44.9-8.8-61.7-22.9l-0.2 0.2c-2.4-1.9-5.2-3.2-8.5-3.2-7.6 0-13.8 6.2-13.8 13.8 0 4.3 2.1 8 5.2 10.5 0.1 0.1-0.1 0.2 0 0.3 21.5 17.9 48.7 28.9 78.9 28.9 68.5 0 124-55.5 124-124 0.2-68.5-55.4-124-123.9-124z" fill="#1296db" p-id="4703"></path></svg>`)
let all = $(`<div class="gist-operate"></div>`)
// 获取原生
let add = $(".js-add-gist-file");
add.text("+")
add.addClass("btn-sm")
//add.removeClass("")
add.removeClass("folat-left")
let action = $(".form-actions")
let update = action.children("button")
let cancel = action.children("a")
cancel.addClass("btn-sm return-gists")
cancel.text("返回")
update.addClass("btn-sm");update.removeClass("btn-primary")
update.text("更新")
all.append(add)
all.append(cancel)
all.append(update)
// gist-operate
let showAll = $(`<span class="show-all-gist btn btn-sm">显示所有</span>`)
showAll.click(function(){
showAllGist()
})
all.append(showAll)
div.append(all)
div.append($(`<div class="choose-gist-edit"></div>`))
div.append(settingIcon)
div.append(setting)
gists.prepend(div)
editsetting()
}
function editsetting(){
let objs={ editReturn : $('.return-gists'),'edit-setting-show-all':$(".show-all-gist")}
let setobjs = { editReturn : $("#setting-return"),'edit-setting-show-all':$("#setting-show-all")}
globalDecoration.checkbox(objs,setobjs)
getFile()
$(".js-add-gist-file").on("click",function(){
getFile() // 刷新内容
hideAllGist() // 单个页面显示,出现问题然后进行修正
//editGistFiles.map(function(val,index){
//console.log("val",index,val)
//})
})
}
/*
let editShowAll = $("#setting-show-all")
let showAll = $(".show-all-gist")
let checked = getValue("editShowAll")
editShowAll.attr("checked",checked ||false)
if(checked){
showAll.hide()
}else{
showAll.show()
}
editShowAll.change(function(){
let checked = editShowAll.is(":checked")
setValue("editShowAll",checked?"checked":"")
if(checked){
showAll.hide()
}else{
showAll.show()
}
})
*/
function menu(){
let gEdit = $(".choose-gist-edit")
gEdit.empty()
editGistFiles.map(function(val,index){
gEdit.append($(`<span> <input name="change-gist-radio" type="radio" id="change-gist-tab-${val.id}" ${val.show?"checked":""} hidden><label class="change-gist btn btn-sm" for="change-gist-tab-${val.id}">${val.name||"未定义"}</label></span>`))
//console.log(index,val)
})
let changeGist = $(".change-gist")
for(let i = 0;i<changeGist.length;i++){
let change = $(changeGist[i])
change.click(function(){
showGist(i)
})
}
}
function getFile(){ // 每次更新更新重新绑定,增加和删除操作会修改
editGistFiles = []
let gistFiles = $(".js-gist-file")
console.log("length",gistFiles.length)
for(let index = 0;index < gistFiles.length;index++){
let gistFile = $(gistFiles[index])
let nameField = gistFile.find(".js-gist-filename")
let name = nameField.val()
let e = {} //editGistFile
//gistFile.hide()
e.show = false
e.id = index
e.content = gistFile
e.name = name
e.nameField = nameField
editGistFiles.push(e)
}
//showAllGist()
if(gistFiles.length>0){
//editGistFiles[showIndex].content.show()
editGistFiles[showIndex].show = true
}
//show()
menu() //设置菜单
editGistFiles.map(function(val,index){
val.nameField.change(function(){
val.name = val.nameField.val()
//console.log("index:",index,"val:",val.nameField.val())
menu()
})
})
}
function showGist(i){
editGistFiles.map(function(val,index){
if(i == index){
val.show = true
}else{
val.show = false
}
})
show()
}
function show(){
editGistFiles.map(function(val,index){
if(val.show){
val.content.show()
}else{
val.content.hide()
}
})
}
function showAllGist(){
editGistFiles.map(function(val,index){
val.content.show()
})
}
function hideAllGist(){
editGistFiles.map(function(val,index){
val.content.hide()
})
}
}
function getValue(key){
// GM.getValue()
return localStorage.getItem(key)
}
function setValue(key,val){
localStorage.setItem(key,val)
}
function removeValue(key){
localStorage.removeItem(key)
}
var tabTitles ={
"zh": "目录",
"zh-CN": "目录",
"en": "tab of content"
}
function getLanguageTitle(){
var lang = navigator.language //["zh-CN", "en", "zh"]
//console.log("title",tabTitles[lang])
return tabTitles[lang]
}
<div class="hhh" style="color:red"> 哈哈哈2 孤鬼</div>
// ==UserScript==
// @name 关于gists内容的目录显示
// @name:en gists show tab of content
// @namespace Abearxiong
// @version 0.2.1
// @description 悬浮显示目录,达到最上页和最下跳转
// @author Abearxiong
// @match https://gist.github.com/*
// @grant none
// @require https://cdn.jsdelivr.net/npm/jquery@3.4.0/dist/jquery.min.js
// @run-at document-end //脚本运行在之后
// ==/UserScript==
$(document).ready(function() {
//'use strict';
//var jq = jQuery.noConflict( ); // $冲突 解决办法
decoration()
});
var routers = {
discover: Symbol("discover"),
edit: Symbol("edit"),
index: Symbol("index"),
gists: Symbol("gists")
}
function endwith(){
var url = document.URL
if(url.endsWith("/discover")){
// 是discover页面
return routers.discover
}
if(url.endsWith("/edit")){
// 是编辑内容
return routers.edit
}
if(url.split('/').length == 4){
// 是用户首页
return routers.index
}
// 是gists显示页面
return routers.gists
}
function decoration(){
var result = endwith()
switch(result){
case routers.edit:
// 装饰编辑页面
break;
case routers.gists:
decorateGists()
break
default:
break
}
}
function decorateGists(){
var tabs = $("#file-table-of-content-markdown-readme");
console.log("长度:",tabs.length,tabs);
if(tabs.length==0){ return ;}
console.log(tabs[0]);
var showTabs = $("<div class='gists-tab-of-content' style='position:fixed;left:2px;top:5px;z-index:20;color:red;'></div>")
showTabs.append(tabs[0])
showTabs.appendTo($("body"))
}
// ==UserScript==
// @name 关于web gists 的装饰
// @name:en web gists decoration
// @namespace https://github.com/abearxiong/
// @namespace https://gists.github.com/
// @version 0.2.2
// @description 悬浮显示目录
// @homepage https://gist.github.com/abearxiong/dab578c4c075993c16757f774ab09927/
// @author Abearxiong
// @updateURL https://gist.github.com/abearxiong/dab578c4c075993c16757f774ab09927/raw/7017d54ae01e4475a64ea6af82d23e5d7732beb7/new-web.gists.decoration.user.js
// @match https://gist.github.com/*
// grant none
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_getResourceURL
// @grant GM_getResourceText
// @require https://cdn.jsdelivr.net/npm/jquery@3.4.0/dist/jquery.min.js
// @resource bootstrap https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css
// @run-at document-end //脚本运行在之后
// ==/UserScript==
// 描述
var $ = jQuery.noConflict( )
//$("head").append(`<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">`) // 现在因为csp问题 关于一些其他的script或者link是不能直接运行在网站上面的
var bootstrap = GM_getResourceText("bootstrap")
//$("head").append(`<style>${bootstrap}</style>`) //添加CSS模块
$(document).ready(function() {
//'use strict';
//var jq = jQuery.noConflict( ); // $冲突 解决办法
decoration()
});
// 判断gists处于某个页面
var routers = {
discover: Symbol("discover"),
edit: Symbol("edit"),
index: Symbol("index"),
gists: Symbol("gists")
}
function endwith(){
var url = document.URL
if(url.endsWith("/discover")){
// 是discover页面
return routers.discover
}
if(url.endsWith("/edit")){
// 是编辑内容
return routers.edit
}
if(url.split('/').length == 4){
// 是用户首页
return routers.index
}
// 是gists显示页面
return routers.gists
}
function decoration(){
var result = endwith()
switch(result){
case routers.edit:
// 装饰编辑页面
break;
case routers.gists:
gistsDecorationContent()
break
default:
break
}
}
// 选择1. 把页面中的file-table-of-contnt-markdown-readme文件内容悬浮
// 选择2. 直接获取文件列表 到内容
var css = {
gistsTabOfContent: {
position: "fixed",
left: "30px",
top: "30px",
'z-index': 20
}
}
var showTabs = $("<div class='gists-decoration card'></div>") // 如何实现拖动??? 或者 实现浏览器打开像APP
function gistsDecorationContent(){
showTabs.append(gistsTabOfContent()) // 添加TabOfContent
//showTabs.append(gistsFileShow()) // 添加gists文件
showTabs.appendTo($("body")) // 添加内容到body
}
function gistsTabOfContent(){
var tabs = $("#file-table-of-content-markdown-readme");
console.log("长度:",tabs.length,tabs);
if(tabs.length==0){ return ;}
//console.log(tabs[0]);
showTabs.css(css.gistsTabOfContent)
return tabs[0]
}
var filesTab = {}
function gistsFileShow(){
let files = $(".file")
console.log("file个数",files.length,"内容")
for(let i=0;i<files.length; i++){
console.log($(files[i]).attr("id"))
let filesname = $(files[i]).attr("id")
filesTab[filesname] = filesname.slice(5).replace(/-/g,".")
}
// 判断浏览器语言
let tabTitle = getLanguageTitle() || "tab of content"
let ol = $("<ol></ol>")
for(let index in filesTab){
console.log(filesTab[index])
let link = $(`<li><a href="#${index}">${filesTab[index]}</a></li>`)
link.appendTo(ol)
}
let content = $(`<div class="gists-decoration"></div>`)
let contentTitle = $(`<div class="gists-decoration-title">${tabTitle}</div>`)
contentTitle.appendTo(content)
ol.appendTo(content)
return content
}
var tabTitles ={
"zh": "目录",
"zh-CN": "目录",
"en": "tab of content"
}
function getLanguageTitle(){
var lang = navigator.language //["zh-CN", "en", "zh"]
console.log("title",tabTitles[lang])
return tabTitles[lang]
}
// ==UserScript==
// @name 关于gists内容的目录显示
// @name:en gists show tab of content
// @namespace Abearxiong
// @version 0.2
// @description 悬浮显示目录,达到最上页和最下跳转
// @author Abearxiong
// @match https://gist.github.com/*
// @grant none
// @require https://cdn.jsdelivr.net/npm/jquery@3.4.0/dist/jquery.min.js
// @run-at document-end //脚本运行在之后
// ==/UserScript==
$(document).ready(function() {
//'use strict';
//var jq = jQuery.noConflict( ); // $冲突 解决办法
var tabs = $("#file-table-of-content-markdown-readme");
console.log("长度:",tabs.length,tabs);
if(tabs.length==0){ return ;}
console.log(tabs[0]);
var showTabs = $("<div class='gists-tab-of-content' style='position:fixed;left:2px;top:2px;z-index:20;color:red;'></div>")
showTabs.append(tabs[0])
showTabs.appendTo($("body"))
});
// ==UserScript==
// @name 关于web gists 的装饰
// @name:en web gists decoration
// @namespace https://github.com/abearxiong/
// namespace https://gists.github.com/
// @version 1.0.0
// @icon https://github.githubassets.com/favicon.ico
// @description 悬浮显示目录
// @homepageURL https://github.com/abearxiong/web-gists-decoration
// homepage https://gist.github.com/abearxiong/dab578c4c075993c16757f774ab09927/
// @author Abearxiong
// updateURL https://gist.github.com/abearxiong/dab578c4c075993c16757f774ab09927/raw/7017d54ae01e4475a64ea6af82d23e5d7732beb7/new-web.gists.decoration.user.js
// @updateURL https://github.com/abearxiong/web-gists-decoration/raw/master/web.gists.decoration.user.js
// @supportURL https://github.com/abearxiong/web-gists-decoration/issues
// @match https://gist.github.com/*
// grant none
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_getResourceURL
// @grant GM_getResourceText
// @require https://cdn.jsdelivr.net/npm/jquery@3.4.0/dist/jquery.min.js
// @require https://cdn.jsdelivr.net/npm/jquery-ui@1.12.1/ui/widget.min.js
// @resource bootstrap https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css
// @run-at document-end //脚本运行在之后
// ==/UserScript==
// 描述
var $ = jQuery.noConflict( )
//$("head").append(`<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">`) // 现在因为csp问题 关于一些其他的script或者link是不能直接运行在网站上面的
var bootstrap = GM_getResourceText("bootstrap")
//$("head").append(`<style>${bootstrap}</style>`) //添加CSS模块
function cssText(){
let c= `
<style>
input[type=radio]:checked + label{
color: blue;
}
</style>
`
return c
}
$("head").append(cssText());
$(document).ready(function() {
//'use strict';
//var jq = jQuery.noConflict( ); // $冲突 解决办法
decoration()
globalDecoration.decoration()
});
// 路由: 判断gists处于某个页面
var routers = {
discover: Symbol("discover"),
edit: Symbol("edit"),
index: Symbol("index"),
gists: Symbol("gists")
}
var filesTab = []
var editGistFiles = []
var globalDecoration ={
decoration: function(){
let topIcon = $(`<svg t="1556761856290" class="top-icon" style="position:fixed;bottom: 25px;right: 15px;z-index:20" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5236" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M535.12 442.432v210.016a16 16 0 0 1-16 16h-16.16a16 16 0 0 1-16-16V440.208l-32.88 32.864a16 16 0 0 1-11.312 4.688h-28.304a14.464 14.464 0 0 1-10.24-24.688l97.824-97.808a11.136 11.136 0 0 1 15.744 0l97.808 97.808a14.464 14.464 0 0 1-10.24 24.688h-28.288a16 16 0 0 1-11.312-4.688l-30.64-30.64zM512 800c159.056 0 288-128.944 288-288s-128.944-288-288-288-288 128.944-288 288 128.944 288 288 288z m0 48c-185.568 0-336-150.432-336-336s150.432-336 336-336 336 150.432 336 336-150.432 336-336 336z" p-id="5237" fill="#1296db"></path></svg>`)
topIcon.css("display","none")
$("body").append(topIcon)
this.setting()
},
setting: function(){
let topIcon = $(".top-icon")
$(window).scroll(function(){
//console.log("ttt",$(window).scrollTop())
if($(window).scrollTop()>200){
topIcon.show();
}else{
topIcon.hide()
}
})
topIcon.click(function(){
//$(window).scoll()
$("body,html").animate({
scrollTop:0 //scroll_offset.top //让body的scrollTop等于pos的top,就实现了滚动
})
})
let objs={ header : $('.Header'), footer : $('.footer'), gisthead : $('.gisthead')}
let setobjs = { header : $("#setting-header"), footer : $("#setting-footer"), gisthead : $("#setting-gisthead")}
let settingIcon = $(".setting-icon")
let editIcon = $(".edit-icon")
let gistsContentSetting = $(".gists-content-setting")
//console.log(getValue("gistContentSetting"))
if(getValue("gistContentSetting")){
gistsContentSetting.hide()
}
settingIcon.click(function(){
let show = getValue("gistContentSetting")
setValue("gistContentSetting",show=="show"?"":"show")
gistsContentSetting.slideToggle()
})
this.checkbox(objs,setobjs)
}
,checkbox: function(objs,setobjs){
for(let index in objs){//设置保存的内容勾选
let checked = getValue(index) || false
//console.log(index,checked)
setobjs[index].attr("checked",checked ||false)
if(checked){
objs[index].hide()
}else{
objs[index].show()
}
}
for(let index in setobjs){
setobjs[index].change(function(){
let checked = setobjs[index].is(":checked")
setValue(index,checked?"checked":"")
//console.log("index:",index,"setobjs",checked)
if(checked){
objs[index].hide()
}else{
objs[index].show()
}
})
}
}
}
// 工具
function endwith(){
var url = document.URL
if(url.endsWith("/discover")){
// 是discover页面
return routers.discover
}
if(url.endsWith("/edit")){
// 是编辑内容
return routers.edit
}
if(url.split('/').length == 4){
// 是用户首页
return routers.index
}
// 是gists显示页面
return routers.gists
}
function decoration(){
let result = endwith()
switch(result){
case routers.edit:
// 装饰编辑页面
eidtDecorationContent()
break;
case routers.gists:
gistsDecorationContent()
break
default:
break
}
}
function gistsDecorationContent(){
let gistContent = $(".gist-content")
gistContent.prepend(gistsFileShow())
gistsSetting()
let body = $("body")
function gistsFileShow(){
let files = $(".file")
//console.log("file个数",files.length,"内容")
for(let i=0;i<files.length; i++){
//console.log($(files[i]).attr("id"))
let filesname = $(files[i]).attr("id")
let fileTab = {}
fileTab.id = filesname
fileTab.name = filesname.slice(5).replace(/-/g,".")
fileTab.show = false
fileTab.tab = filesname+"-tab"
fileTab.content = $(`#${filesname}`)
filesTab.push(fileTab)
}
if(files.length>0)filesTab[0].show = true
// 判断浏览器语言
let tabTitle = getLanguageTitle() || "tab of content"
let div = $("<div></div>")
let choose = $(`<div class="choose-files"></div>`)
let turnFile =$(`<div class="turn-files"></div>`)
filesTab.map(function(val){
let span = $("<span></span>")
let link = $(`<label class="choose-gists btn btn-sm" for="${val.id}-tab"> ${val.name}</label>`)
let inputLink = $(`<input name="choose-radio" type="radio" id="${val.id}-tab" ${val.show?"checked":''} hidden>`)
inputLink.appendTo(span)
link.appendTo(span)
span.appendTo(choose)
let a = $(`<a class="turn-file btn btn-sm" href="#${val.id}"> ${val.name} </a>`)
turnFile.append(a)
})
turnFile.appendTo(div)
choose.appendTo(div)
if(!getValue("gistShowAll")){
showGist()
turnFile.css("display","none")
}
else{
showAllGist()
choose.css("display","none")
}
let content = $(`<div class="gists-decoration"></div>`)
let contentTitle = $(`<div class="gists-decoration-title">${tabTitle}</div>`)
//contentTitle.appendTo(content)
let setting = $(`
<form class="gists-content-setting">
<fieldset>
no header:<input id="setting-header" type="checkbox">
no gistshead:<input id="setting-gisthead" type="checkbox">
no comments:<input id="setting-comments" type="checkbox">
no footer:<input id="setting-footer" type="checkbox">
show all gist:<input id="setting-show-all-gist" type="checkbox">
</fieldset>
</form>
`)
let settingIcon = $(`<svg t="1556706192571" class="setting-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4701" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M924.4 464.9c-3.4-25.4-25.2-44.6-50.5-44.6-1.2 0-4 0.2-5.2 0.3v0.1c-0.6 0.1-1.2 0.2-1.8 0.2-1.3 0.1-2.7 0.3-4 0.6-0.4 0.1-2.3 0.6-2.7 0.7-20 5.2-40.9-4.1-51.8-21.3-6.4-10.6-8.1-23-4.9-35.1 3.1-11.9 11-22.2 21.9-28.3 11.7-6.8 20.1-17.9 23.5-31.2 3.3-12.8 1.6-26.2-5.9-39.2l-4.1-6c-20.8-26.4-43.5-49.2-69.6-69.6-0.3-0.3-0.7-0.6-1.1-0.9-20.8-16.4-52.8-13-70.3 7.4l-2.1 2.7-3.3 5.1c-10.3 17.1-33.1 25.6-51.7 20.7-24.7-6.6-39.6-31.9-33.1-56.5 0.2-0.7 0.3-1.4 0.5-2.1 6-26.6-10.3-53.5-38.5-61.1-1-0.3-3.9-0.6-5-0.8-32.8-3.8-67.4-3.9-100 0-0.4 0-0.7 0.1-1.1 0.1-13.3 1.5-25.3 8.2-33.6 18.8-8.2 10.3-12 23.6-10.3 38.9 0.1 1 0.3 2.1 0.5 3.1 0.1 0.4 0.6 2.4 0.7 2.7 5 19.5-3.8 40.9-21.3 51.8-0.4 0.2-0.8 0.5-1.1 0.8-21.1 12-50 3.7-62.2-17.6-13.4-22.9-41.2-34.2-70.1-17.8L259 191c-26.7 21-49.8 44.1-70.3 70.4-8.5 10.7-12.3 23.9-10.7 37.3 1.5 12.9 8 24.8 18.2 33.3 0.8 0.7 1.7 1.3 2.6 1.9l5 3.2c17.2 10.4 25.7 31.7 21.5 49.3-0.3 0.8-0.6 1.9-0.8 2.7-5.3 20.4-23.7 34.6-44.5 34.6-3.8 0-7.8-0.5-12.7-1.8-29.1-7.3-54.9 9.8-62.5 38.6-0.2 0.9-0.6 3.7-0.7 4.7-3.9 33.2-3.9 66.8-0.1 99.9 0 0.3 0 0.6 0.1 0.9 2.7 25.4 24 44.6 51.4 44.6 1.2-0.1 3.4-0.2 5.3-0.6 1.4-0.1 2.9-0.3 4.3-0.6 0.7-0.1 1.5-0.3 2.2-0.5 18.6-4.9 41.1 3.8 52 21.3 6.4 10.6 8.1 23 4.9 35.1-3.2 11.9-11 22.2-22 28.4-11.6 6.8-19.9 17.9-23.4 31.2-3.3 12.8-1.6 26.1 6 39.3l4 5.8c20.8 26.5 43.6 49.3 69.9 69.9 0.3 0.2 0.5 0.4 0.8 0.6 20.8 16.4 52.8 13 70.3-7.4l2.1-2.7 3.3-5.1c10.3-17.2 33.2-25.7 51.7-20.7 24.7 6.6 39.6 31.9 33.1 56.5-0.2 0.6-0.3 1.3-0.5 2-5.9 26.3 10 53.2 36.7 60.7 0.6 0.2 2 0.6 2.7 0.7 0.9 0.2 3.2 0.6 4.1 0.7 16.8 1.9 33.8 2.8 50.5 2.8 16.6 0 33.5-1 51.1-3 13.3-1.9 25.1-8.8 33.5-19.5 8.4-10.8 12-24.2 9.9-40-0.2-1.6-0.6-3.1-0.9-4.4-5.1-19.7 3.6-41.2 21.2-52.1 0.4-0.2 0.8-0.5 1.2-0.8 21.1-11.9 50.1-3.7 62.2 17.6 13.5 23.2 42.1 34.1 70.2 17.7l6-4.1c26.7-21 49.7-44.1 70.2-70.4 8.5-10.7 12.3-24 10.7-37.3-1.5-12.9-8-24.8-18.2-33.3-0.8-0.7-1.7-1.3-2.6-1.9l-5-3.2c-17.2-10.4-25.7-31.7-21.5-49.3 0.3-0.8 0.6-1.9 0.9-2.7 5.3-20.4 23.6-34.6 44.5-34.6 3.9 0 7.9 0.5 12.7 1.8 28.8 7.3 54.4-9.4 62.4-38.5 0.5-2.1 0.8-2.9 0.8-5 4.5-31.9 4.7-65.5 0.6-100.1z m-27.8 96.5l-0.3 2.2v0.3c-0.1 0.4-0.2 0.9-0.3 1.3-2.9 10.3-12.2 17.5-22.8 17.5-2 0-3.9-0.3-5.8-0.8l-0.4-0.1-0.4-0.1c-6.3-1.6-12.6-2.4-18.7-2.4-33.3 0-62.6 22.7-71.1 55.2l-0.1 0.3-0.1 0.3c-7.8 31.8 5.8 65.4 33.3 81.9l4.1 2.7c4.8 4 7.8 9.5 8.5 15.4 0.5 4.2 0.1 10.6-4.9 16.9-19.4 24.9-40.9 46.4-65.7 65.9l-4.2 2.8c-3.5 2-7.2 3-11.1 3-8.2 0-16-4.4-20.2-11.6-13-22.9-37.5-37.1-64-37.1-13.2 0-26.2 3.6-37.5 10.5l-0.1 0.1-0.1 0.1c-27.8 17.4-41.4 51.3-33.3 82.4l0.1 0.3 0.1 0.3 0.1 0.4v0.3l0.3 2.1c0.8 6.1-0.9 12.2-4.7 17.1-3.9 5-9.5 8.2-15.7 9.1-15.8 1.8-31.7 2.7-47.1 2.7-15.5 0-31.5-0.9-47.4-2.7l-1.4-0.2c-0.5-0.1-1-0.3-1.5-0.4-12.5-3.5-20-16.4-16.6-28.9v-0.2c10.3-39.2-13.3-79.7-52.7-90.2-6-1.6-12.3-2.4-18.9-2.4-26 0-50.2 13.5-63.5 35.5l-2.7 4.1c-4.7 5.5-11.3 8.7-18.3 8.7-3.5 0-8.9-0.9-14.1-5l-0.1-0.1-0.1-0.1c-24.9-19.4-46.4-40.9-65.9-65.7l-2.8-4.2c-2.9-5.1-3.7-11.2-2.2-17.1 1.6-6.1 5.4-11.2 10.7-14.3 17.1-9.6 29.7-26.1 34.7-45.1 5.1-19.3 2.3-39.2-7.9-56.3l-0.2-0.3-0.2-0.3c-13.7-22-38.2-35.5-63.9-35.5-6.3 0-12.5 0.8-18.5 2.4h-0.2l-0.6 0.2h-1.1l-2.6 0.5c-0.1 0-0.6 0.1-1.7 0.1-11.4 0-21.3-8.8-22.5-20.2v-0.2c-3.7-31.4-3.7-63.1 0-94.5l0.2-1.8 0.2-0.9c2.8-10.5 12.2-18 22.9-18 2 0 3.9 0.3 5.8 0.8l0.4 0.1 0.4 0.1c6.3 1.6 12.6 2.4 18.7 2.4 33.3 0 62.6-22.7 71.1-55.2l0.1-0.3 0.1-0.3c7.8-31.8-5.8-65.4-33.3-81.9l-4.1-2.7c-4.8-4-7.8-9.5-8.5-15.4-0.5-4.2-0.1-10.6 4.9-17 19.4-24.9 40.9-46.4 65.7-65.9l4.3-2.8c3.4-1.9 7.2-3 11.1-3 8.2 0 15.9 4.4 20.2 11.6 13 22.9 37.5 37.1 64 37.1 13.2 0 26.2-3.6 37.5-10.5l0.1-0.1 0.1-0.1c27.6-17.3 41.3-50.9 33.4-81.9-0.1-0.6-0.3-1.1-0.4-1.6v-0.1l-0.3-2.1c-0.8-6.1 0.9-12.2 4.7-17 3.8-4.8 9.2-7.8 15.2-8.5h0.2c15.8-1.9 31.8-2.8 47.3-2.8 15.5 0 31.5 0.9 47.1 2.7l1.8 0.2 0.8 0.2c12.7 3.4 20.4 16.4 17.1 29v0.2c-10.3 39.2 13.3 79.7 52.7 90.2 6 1.6 12.3 2.4 18.9 2.4 26 0 50.2-13.5 63.5-35.5l2.7-4.1c4.7-5.5 11.3-8.7 18.2-8.7 3.5 0 8.9 0.9 14.1 5l0.1 0.1 0.1 0.1c24.9 19.4 46.4 40.9 65.9 65.7l2.8 4.2c2.9 5.1 3.7 11.2 2.2 17.1-1.6 6.1-5.4 11.2-10.7 14.3-17.1 9.6-29.7 26.1-34.7 45.1-5.1 19.3-2.3 39.2 7.9 56.3l0.2 0.3 0.2 0.3c13.7 22 38.2 35.5 63.9 35.5 6.1 0 12.1-0.8 18-2.3 0.5-0.1 1.1-0.3 1.6-0.4h0.8l2.6-0.5c0.1 0 0.6-0.1 1.7-0.1 11.6 0 21.7 8.9 23.3 20.8 3.8 32.3 3.6 63.5-0.5 93.1z" fill="#1296db" p-id="4702"></path><path d="M513.7 403c-68.5 0-124 55.5-124 124 0 7.1 1.1 15 2.3 21.8 0 0.1 0.3 0.1 0.3 0.1 1.5 6 6.6 10.5 13.1 10.5 7.6 0 13.8-6.2 13.8-13.8 0-1.1-0.4-2-0.6-3l0.2-0.1c-0.8-5.1-1.6-10.3-1.6-15.6 0-53.2 43.3-96.5 96.5-96.5s96.5 43.3 96.5 96.5-43.3 96.5-96.5 96.5c-23.6 0-44.9-8.8-61.7-22.9l-0.2 0.2c-2.4-1.9-5.2-3.2-8.5-3.2-7.6 0-13.8 6.2-13.8 13.8 0 4.3 2.1 8 5.2 10.5 0.1 0.1-0.1 0.2 0 0.3 21.5 17.9 48.7 28.9 78.9 28.9 68.5 0 124-55.5 124-124 0.2-68.5-55.4-124-123.9-124z" fill="#1296db" p-id="4703"></path></svg>`)
//let editIcon = $(`<svg t="1556718087866" class="edit-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4633" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M187.076923 657.723077l175.261539 175.261538c7.876923 7.876923 19.692308 7.876923 27.56923 0L827.076923 393.846154c7.876923-7.876923 7.876923-19.692308 0-27.569231l-173.292308-173.292308c-7.876923-7.876923-19.692308-7.876923-27.56923 0L187.076923 632.123077c-7.876923 7.876923-7.876923 19.692308 0 25.6zM710.892308 112.246154c-7.876923 7.876923-7.876923 19.692308 0 27.569231l173.292307 173.292307c7.876923 7.876923 19.692308 7.876923 27.569231 0l49.230769-49.230769c31.507692-29.538462 31.507692-76.8 0-108.307692l-92.553846-92.553846c-31.507692-31.507692-80.738462-31.507692-112.246154 0l-45.292307 49.230769z m-669.538462 836.923077c-3.938462 19.692308 13.784615 37.415385 33.476923 33.476923l214.646154-51.2c7.876923-1.969231 13.784615-5.907692 17.723077-9.846154l3.938462-3.938462c3.938462-3.938462 5.907692-17.723077-1.969231-25.6l-177.230769-177.230769c-7.876923-7.876923-21.661538-5.907692-25.6-1.969231l-3.938462 3.938462c-5.907692 5.907692-7.876923 11.815385-9.846154 17.723077L41.353846 949.169231z" p-id="4634" fill="#1296db"></path></svg>`)
let editIcon = $(`<svg t="1556718766471" class="edit-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4860" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M331.162352 847.656713 889.919259 288.923342c12.44852-12.45466 12.44852-32.69054 0-45.146223l-67.744917-67.734684-67.713194-67.720358c-12.471033-12.472056-32.69054-12.472056-45.170782 0L150.441361 667.186432c-3.585665 2.915399-6.359848 6.898107-7.786337 11.659551L80.811514 884.612393c-2.619664 8.745175-0.024559 17.810644 6.002714 23.843034l1.676176 1.302669 1.300622 1.674129c6.03239 6.02625 15.09786 8.622378 23.845081 6.009877l205.77255-61.850673C324.226383 854.142427 328.231603 851.303776 331.162352 847.656713zM743.159754 164.754345l45.584198 45.584198 44.719504 44.725644c6.243191 6.237051 6.243191 16.35448 0 22.574135l-79.000262 78.999239L641.578194 243.754606l79.000262-79.000262C726.82267 158.518317 736.924749 158.518317 743.159754 164.754345zM138.203642 860.042811l48.523133-161.420413 432.271144-432.279331 112.882953 112.882953L299.578006 811.536051 138.203642 860.042811z" p-id="4861" fill="#1296db"></path></svg>`)
div.append(settingIcon)
div.append(editIcon)
div.append(setting)
div.appendTo(content)
return content
}
function gistsSetting (){
let objs={ comments : $('.discussion-timeline-actions')}
let setobjs = { comments : $("#setting-comments")}
let setgistShowAll = $("#setting-show-all-gist")
let editIcon = $(".edit-icon")
globalDecoration.checkbox(objs,setobjs)
setgistShowAll.attr("checked",getValue("gistShowAll") ||false)
setgistShowAll.change(function(){
let checked = setgistShowAll.is(":checked")
setValue("gistShowAll",checked?"checked":"")
if(checked){
showAllGist()
}else{
showGist()
}
})
editIcon.click(function(){
let currentUrl = document.URL.replace(/#.*/,"")
window.location.href = currentUrl +"/edit"
})
let chooseGists = $(".choose-gists")
for(let i = 0;i<chooseGists.length;i++){
let choose = $(chooseGists[i])
choose.click(function(){
for(let index in filesTab){
if(i == index){
filesTab[index].show = true
}else{
filesTab[index].show = false
}
}
showGist()
})
}
}
function showGist(){
filesTab.map(function(val,index){
if(val.show){
val.content.show()
}else{
val.content.hide()
}
})
$(".choose-files").show()
$(".turn-files").hide()
}
function showAllGist(){
filesTab.map(function(val){
val.content.show()
})
$(".choose-files").hide()
$(".turn-files").show()
}
}
function eidtDecorationContent(){
let showIndex = 0
editShow()
function editShow(){
// 设置
let gists = $("#gists")
let div = $(`<div class="edit-decoration"></div>`)
let setting = $(`
<form class="gists-content-setting">
no header:<input id="setting-header" type="checkbox">
no gistshead:<input id="setting-gisthead" type="checkbox">
no footer:<input id="setting-footer" type="checkbox">
no cancel:<input id="setting-return" type="checkbox">
no 显示所有:<input id="setting-show-all" type="checkbox">
</form>
`)
let settingIcon = $(`<svg t="1556706192571" class="setting-icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4701" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><defs><style type="text/css"></style></defs><path d="M924.4 464.9c-3.4-25.4-25.2-44.6-50.5-44.6-1.2 0-4 0.2-5.2 0.3v0.1c-0.6 0.1-1.2 0.2-1.8 0.2-1.3 0.1-2.7 0.3-4 0.6-0.4 0.1-2.3 0.6-2.7 0.7-20 5.2-40.9-4.1-51.8-21.3-6.4-10.6-8.1-23-4.9-35.1 3.1-11.9 11-22.2 21.9-28.3 11.7-6.8 20.1-17.9 23.5-31.2 3.3-12.8 1.6-26.2-5.9-39.2l-4.1-6c-20.8-26.4-43.5-49.2-69.6-69.6-0.3-0.3-0.7-0.6-1.1-0.9-20.8-16.4-52.8-13-70.3 7.4l-2.1 2.7-3.3 5.1c-10.3 17.1-33.1 25.6-51.7 20.7-24.7-6.6-39.6-31.9-33.1-56.5 0.2-0.7 0.3-1.4 0.5-2.1 6-26.6-10.3-53.5-38.5-61.1-1-0.3-3.9-0.6-5-0.8-32.8-3.8-67.4-3.9-100 0-0.4 0-0.7 0.1-1.1 0.1-13.3 1.5-25.3 8.2-33.6 18.8-8.2 10.3-12 23.6-10.3 38.9 0.1 1 0.3 2.1 0.5 3.1 0.1 0.4 0.6 2.4 0.7 2.7 5 19.5-3.8 40.9-21.3 51.8-0.4 0.2-0.8 0.5-1.1 0.8-21.1 12-50 3.7-62.2-17.6-13.4-22.9-41.2-34.2-70.1-17.8L259 191c-26.7 21-49.8 44.1-70.3 70.4-8.5 10.7-12.3 23.9-10.7 37.3 1.5 12.9 8 24.8 18.2 33.3 0.8 0.7 1.7 1.3 2.6 1.9l5 3.2c17.2 10.4 25.7 31.7 21.5 49.3-0.3 0.8-0.6 1.9-0.8 2.7-5.3 20.4-23.7 34.6-44.5 34.6-3.8 0-7.8-0.5-12.7-1.8-29.1-7.3-54.9 9.8-62.5 38.6-0.2 0.9-0.6 3.7-0.7 4.7-3.9 33.2-3.9 66.8-0.1 99.9 0 0.3 0 0.6 0.1 0.9 2.7 25.4 24 44.6 51.4 44.6 1.2-0.1 3.4-0.2 5.3-0.6 1.4-0.1 2.9-0.3 4.3-0.6 0.7-0.1 1.5-0.3 2.2-0.5 18.6-4.9 41.1 3.8 52 21.3 6.4 10.6 8.1 23 4.9 35.1-3.2 11.9-11 22.2-22 28.4-11.6 6.8-19.9 17.9-23.4 31.2-3.3 12.8-1.6 26.1 6 39.3l4 5.8c20.8 26.5 43.6 49.3 69.9 69.9 0.3 0.2 0.5 0.4 0.8 0.6 20.8 16.4 52.8 13 70.3-7.4l2.1-2.7 3.3-5.1c10.3-17.2 33.2-25.7 51.7-20.7 24.7 6.6 39.6 31.9 33.1 56.5-0.2 0.6-0.3 1.3-0.5 2-5.9 26.3 10 53.2 36.7 60.7 0.6 0.2 2 0.6 2.7 0.7 0.9 0.2 3.2 0.6 4.1 0.7 16.8 1.9 33.8 2.8 50.5 2.8 16.6 0 33.5-1 51.1-3 13.3-1.9 25.1-8.8 33.5-19.5 8.4-10.8 12-24.2 9.9-40-0.2-1.6-0.6-3.1-0.9-4.4-5.1-19.7 3.6-41.2 21.2-52.1 0.4-0.2 0.8-0.5 1.2-0.8 21.1-11.9 50.1-3.7 62.2 17.6 13.5 23.2 42.1 34.1 70.2 17.7l6-4.1c26.7-21 49.7-44.1 70.2-70.4 8.5-10.7 12.3-24 10.7-37.3-1.5-12.9-8-24.8-18.2-33.3-0.8-0.7-1.7-1.3-2.6-1.9l-5-3.2c-17.2-10.4-25.7-31.7-21.5-49.3 0.3-0.8 0.6-1.9 0.9-2.7 5.3-20.4 23.6-34.6 44.5-34.6 3.9 0 7.9 0.5 12.7 1.8 28.8 7.3 54.4-9.4 62.4-38.5 0.5-2.1 0.8-2.9 0.8-5 4.5-31.9 4.7-65.5 0.6-100.1z m-27.8 96.5l-0.3 2.2v0.3c-0.1 0.4-0.2 0.9-0.3 1.3-2.9 10.3-12.2 17.5-22.8 17.5-2 0-3.9-0.3-5.8-0.8l-0.4-0.1-0.4-0.1c-6.3-1.6-12.6-2.4-18.7-2.4-33.3 0-62.6 22.7-71.1 55.2l-0.1 0.3-0.1 0.3c-7.8 31.8 5.8 65.4 33.3 81.9l4.1 2.7c4.8 4 7.8 9.5 8.5 15.4 0.5 4.2 0.1 10.6-4.9 16.9-19.4 24.9-40.9 46.4-65.7 65.9l-4.2 2.8c-3.5 2-7.2 3-11.1 3-8.2 0-16-4.4-20.2-11.6-13-22.9-37.5-37.1-64-37.1-13.2 0-26.2 3.6-37.5 10.5l-0.1 0.1-0.1 0.1c-27.8 17.4-41.4 51.3-33.3 82.4l0.1 0.3 0.1 0.3 0.1 0.4v0.3l0.3 2.1c0.8 6.1-0.9 12.2-4.7 17.1-3.9 5-9.5 8.2-15.7 9.1-15.8 1.8-31.7 2.7-47.1 2.7-15.5 0-31.5-0.9-47.4-2.7l-1.4-0.2c-0.5-0.1-1-0.3-1.5-0.4-12.5-3.5-20-16.4-16.6-28.9v-0.2c10.3-39.2-13.3-79.7-52.7-90.2-6-1.6-12.3-2.4-18.9-2.4-26 0-50.2 13.5-63.5 35.5l-2.7 4.1c-4.7 5.5-11.3 8.7-18.3 8.7-3.5 0-8.9-0.9-14.1-5l-0.1-0.1-0.1-0.1c-24.9-19.4-46.4-40.9-65.9-65.7l-2.8-4.2c-2.9-5.1-3.7-11.2-2.2-17.1 1.6-6.1 5.4-11.2 10.7-14.3 17.1-9.6 29.7-26.1 34.7-45.1 5.1-19.3 2.3-39.2-7.9-56.3l-0.2-0.3-0.2-0.3c-13.7-22-38.2-35.5-63.9-35.5-6.3 0-12.5 0.8-18.5 2.4h-0.2l-0.6 0.2h-1.1l-2.6 0.5c-0.1 0-0.6 0.1-1.7 0.1-11.4 0-21.3-8.8-22.5-20.2v-0.2c-3.7-31.4-3.7-63.1 0-94.5l0.2-1.8 0.2-0.9c2.8-10.5 12.2-18 22.9-18 2 0 3.9 0.3 5.8 0.8l0.4 0.1 0.4 0.1c6.3 1.6 12.6 2.4 18.7 2.4 33.3 0 62.6-22.7 71.1-55.2l0.1-0.3 0.1-0.3c7.8-31.8-5.8-65.4-33.3-81.9l-4.1-2.7c-4.8-4-7.8-9.5-8.5-15.4-0.5-4.2-0.1-10.6 4.9-17 19.4-24.9 40.9-46.4 65.7-65.9l4.3-2.8c3.4-1.9 7.2-3 11.1-3 8.2 0 15.9 4.4 20.2 11.6 13 22.9 37.5 37.1 64 37.1 13.2 0 26.2-3.6 37.5-10.5l0.1-0.1 0.1-0.1c27.6-17.3 41.3-50.9 33.4-81.9-0.1-0.6-0.3-1.1-0.4-1.6v-0.1l-0.3-2.1c-0.8-6.1 0.9-12.2 4.7-17 3.8-4.8 9.2-7.8 15.2-8.5h0.2c15.8-1.9 31.8-2.8 47.3-2.8 15.5 0 31.5 0.9 47.1 2.7l1.8 0.2 0.8 0.2c12.7 3.4 20.4 16.4 17.1 29v0.2c-10.3 39.2 13.3 79.7 52.7 90.2 6 1.6 12.3 2.4 18.9 2.4 26 0 50.2-13.5 63.5-35.5l2.7-4.1c4.7-5.5 11.3-8.7 18.2-8.7 3.5 0 8.9 0.9 14.1 5l0.1 0.1 0.1 0.1c24.9 19.4 46.4 40.9 65.9 65.7l2.8 4.2c2.9 5.1 3.7 11.2 2.2 17.1-1.6 6.1-5.4 11.2-10.7 14.3-17.1 9.6-29.7 26.1-34.7 45.1-5.1 19.3-2.3 39.2 7.9 56.3l0.2 0.3 0.2 0.3c13.7 22 38.2 35.5 63.9 35.5 6.1 0 12.1-0.8 18-2.3 0.5-0.1 1.1-0.3 1.6-0.4h0.8l2.6-0.5c0.1 0 0.6-0.1 1.7-0.1 11.6 0 21.7 8.9 23.3 20.8 3.8 32.3 3.6 63.5-0.5 93.1z" fill="#1296db" p-id="4702"></path><path d="M513.7 403c-68.5 0-124 55.5-124 124 0 7.1 1.1 15 2.3 21.8 0 0.1 0.3 0.1 0.3 0.1 1.5 6 6.6 10.5 13.1 10.5 7.6 0 13.8-6.2 13.8-13.8 0-1.1-0.4-2-0.6-3l0.2-0.1c-0.8-5.1-1.6-10.3-1.6-15.6 0-53.2 43.3-96.5 96.5-96.5s96.5 43.3 96.5 96.5-43.3 96.5-96.5 96.5c-23.6 0-44.9-8.8-61.7-22.9l-0.2 0.2c-2.4-1.9-5.2-3.2-8.5-3.2-7.6 0-13.8 6.2-13.8 13.8 0 4.3 2.1 8 5.2 10.5 0.1 0.1-0.1 0.2 0 0.3 21.5 17.9 48.7 28.9 78.9 28.9 68.5 0 124-55.5 124-124 0.2-68.5-55.4-124-123.9-124z" fill="#1296db" p-id="4703"></path></svg>`)
let all = $(`<div class="gist-operate"></div>`)
// 获取原生
let add = $(".js-add-gist-file");
add.text("+")
add.addClass("btn-sm")
//add.removeClass("")
add.removeClass("folat-left")
let action = $(".form-actions")
let update = action.children("button")
let cancel = action.children("a")
cancel.addClass("btn-sm return-gists")
cancel.text("返回")
update.addClass("btn-sm");update.removeClass("btn-primary")
update.text("更新")
all.append(add)
all.append(cancel)
all.append(update)
// gist-operate
let showAll = $(`<span class="show-all-gist btn btn-sm">显示所有</span>`)
showAll.click(function(){
showAllGist()
})
all.append(showAll)
div.append(all)
div.append($(`<div class="choose-gist-edit"></div>`))
div.append(settingIcon)
div.append(setting)
gists.prepend(div)
editsetting()
}
function editsetting(){
let objs={ editReturn : $('.return-gists'),'edit-setting-show-all':$(".show-all-gist")}
let setobjs = { editReturn : $("#setting-return"),'edit-setting-show-all':$("#setting-show-all")}
globalDecoration.checkbox(objs,setobjs)
getFile()
$(".js-add-gist-file").on("click",function(){
getFile() // 刷新内容
hideAllGist() // 单个页面显示,出现问题然后进行修正
//editGistFiles.map(function(val,index){
//console.log("val",index,val)
//})
})
}
/*
let editShowAll = $("#setting-show-all")
let showAll = $(".show-all-gist")
let checked = getValue("editShowAll")
editShowAll.attr("checked",checked ||false)
if(checked){
showAll.hide()
}else{
showAll.show()
}
editShowAll.change(function(){
let checked = editShowAll.is(":checked")
setValue("editShowAll",checked?"checked":"")
if(checked){
showAll.hide()
}else{
showAll.show()
}
})
*/
function menu(){
let gEdit = $(".choose-gist-edit")
gEdit.empty()
editGistFiles.map(function(val,index){
gEdit.append($(`<span> <input name="change-gist-radio" type="radio" id="change-gist-tab-${val.id}" ${val.show?"checked":""} hidden><label class="change-gist btn btn-sm" for="change-gist-tab-${val.id}">${val.name||"未定义"}</label></span>`))
//console.log(index,val)
})
let changeGist = $(".change-gist")
for(let i = 0;i<changeGist.length;i++){
let change = $(changeGist[i])
change.click(function(){
showGist(i)
})
}
}
function getFile(){ // 每次更新更新重新绑定,增加和删除操作会修改
editGistFiles = []
let gistFiles = $(".js-gist-file")
console.log("length",gistFiles.length)
for(let index = 0;index < gistFiles.length;index++){
let gistFile = $(gistFiles[index])
let nameField = gistFile.find(".js-gist-filename")
let name = nameField.val()
let e = {} //editGistFile
//gistFile.hide()
e.show = false
e.id = index
e.content = gistFile
e.name = name
e.nameField = nameField
editGistFiles.push(e)
}
//showAllGist()
if(gistFiles.length>0){
//editGistFiles[showIndex].content.show()
editGistFiles[showIndex].show = true
}
//show()
menu() //设置菜单
editGistFiles.map(function(val,index){
val.nameField.change(function(){
val.name = val.nameField.val()
//console.log("index:",index,"val:",val.nameField.val())
menu()
})
})
}
function showGist(i){
editGistFiles.map(function(val,index){
if(i == index){
val.show = true
}else{
val.show = false
}
})
show()
}
function show(){
editGistFiles.map(function(val,index){
if(val.show){
val.content.show()
}else{
val.content.hide()
}
})
}
function showAllGist(){
editGistFiles.map(function(val,index){
val.content.show()
})
}
function hideAllGist(){
editGistFiles.map(function(val,index){
val.content.hide()
})
}
}
function getValue(key){
// GM.getValue()
return localStorage.getItem(key)
}
function setValue(key,val){
localStorage.setItem(key,val)
}
function removeValue(key){
localStorage.removeItem(key)
}
var tabTitles ={
"zh": "目录",
"zh-CN": "目录",
"en": "tab of content"
}
function getLanguageTitle(){
var lang = navigator.language //["zh-CN", "en", "zh"]
//console.log("title",tabTitles[lang])
return tabTitles[lang]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment