cansin-blogdata 3.0.90 → 3.0.92

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/css/index.css CHANGED
@@ -1335,16 +1335,6 @@ body {
1335
1335
  line-height: 2;
1336
1336
  -webkit-tap-highlight-color: rgba(0,0,0,0);
1337
1337
  }
1338
- *::-webkit-scrollbar {
1339
- width: 8px;
1340
- height: 8px;
1341
- }
1342
- *::-webkit-scrollbar-thumb {
1343
- background: var(--scrollbar-color);
1344
- }
1345
- *::-webkit-scrollbar-track {
1346
- background-color: transparent;
1347
- }
1348
1338
  input::placeholder {
1349
1339
  color: var(--font-color);
1350
1340
  }
@@ -4874,7 +4864,150 @@ span.mathjax-overflow {
4874
4864
  #article-container .btn-beautify.outline:hover {
4875
4865
  color: #fff !important;
4876
4866
  }
4877
- .card_box {
4867
+ .cardgoods_box {
4868
+ display: -webkit-box;
4869
+ display: -moz-box;
4870
+ display: -webkit-flex;
4871
+ display: -ms-flexbox;
4872
+ display: box;
4873
+ display: flex;
4874
+ -webkit-box-orient: vertical;
4875
+ -moz-box-orient: vertical;
4876
+ -o-box-orient: vertical;
4877
+ -webkit-flex-direction: column;
4878
+ -ms-flex-direction: column;
4879
+ flex-direction: column;
4880
+ border-radius: 13px;
4881
+ border: 1px solid var(--gavin-border-color);
4882
+ overflow: hidden;
4883
+ position: relative;
4884
+ --cardgoods-gap: 20px;
4885
+ --cardgoods-width: calc((100% - 3 * var(--cardgoods-gap)) / 4);
4886
+ width: var(--cardgoods-width);
4887
+ -webkit-box-shadow: var(--gavin-shadow-2);
4888
+ box-shadow: var(--gavin-shadow-2);
4889
+ -webkit-transition: 0.3s;
4890
+ -moz-transition: 0.3s;
4891
+ -o-transition: 0.3s;
4892
+ -ms-transition: 0.3s;
4893
+ transition: 0.3s;
4894
+ }
4895
+ .cardgoods_box .cardgoods_top {
4896
+ height: 200px;
4897
+ width: 100%;
4898
+ background: var(--gavin-widget-bg1);
4899
+ }
4900
+ .cardgoods_box .cardgoods_top img {
4901
+ height: 100%;
4902
+ }
4903
+ .cardgoods_box .cardgoods_bottom {
4904
+ height: 200px;
4905
+ width: 100%;
4906
+ background: var(--card-bg);
4907
+ padding: 15px;
4908
+ display: -webkit-box;
4909
+ display: -moz-box;
4910
+ display: -webkit-flex;
4911
+ display: -ms-flexbox;
4912
+ display: box;
4913
+ display: flex;
4914
+ -webkit-box-orient: vertical;
4915
+ -moz-box-orient: vertical;
4916
+ -o-box-orient: vertical;
4917
+ -webkit-flex-direction: column;
4918
+ -ms-flex-direction: column;
4919
+ flex-direction: column;
4920
+ color: var(--dis-f-0);
4921
+ }
4922
+ .cardgoods_box .cardgoods_bottom .cardgoods_name {
4923
+ font-size: 1.2rem;
4924
+ line-height: 1.5;
4925
+ font-weight: bold;
4926
+ margin-bottom: 5px;
4927
+ }
4928
+ .cardgoods_box .cardgoods_bottom .cardgoods_model {
4929
+ font-size: 0.9rem;
4930
+ line-height: 1.3;
4931
+ font-weight: bold;
4932
+ margin-bottom: 5px;
4933
+ opacity: 0.5;
4934
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
4935
+ filter: alpha(opacity=50);
4936
+ }
4937
+ .cardgoods_box .cardgoods_bottom .cardgoods_descr {
4938
+ font-size: 0.85rem;
4939
+ line-height: 1.5;
4940
+ opacity: 0.9;
4941
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
4942
+ filter: alpha(opacity=90);
4943
+ }
4944
+ .cardgoods_box .cardgoods_bottom > div {
4945
+ display: -webkit-box;
4946
+ display: -moz-box;
4947
+ display: -webkit-flex;
4948
+ display: -ms-flexbox;
4949
+ display: box;
4950
+ display: flex;
4951
+ -webkit-box-pack: justify;
4952
+ -moz-box-pack: justify;
4953
+ -o-box-pack: justify;
4954
+ -ms-flex-pack: justify;
4955
+ -webkit-justify-content: space-between;
4956
+ justify-content: space-between;
4957
+ -webkit-box-align: center;
4958
+ -moz-box-align: center;
4959
+ -o-box-align: center;
4960
+ -ms-flex-align: center;
4961
+ -webkit-align-items: center;
4962
+ align-items: center;
4963
+ position: absolute;
4964
+ bottom: 15px;
4965
+ width: calc(100% - 30px);
4966
+ }
4967
+ .cardgoods_box .cardgoods_bottom > div a {
4968
+ width: 3rem;
4969
+ height: 1.8rem;
4970
+ background: var(--gavin-widget-bg1);
4971
+ border-radius: 8px;
4972
+ font-size: 0.85rem;
4973
+ color: var(--gavin-note-font-color);
4974
+ text-align: center;
4975
+ line-height: 1.8rem;
4976
+ }
4977
+ .cardgoods_box .cardgoods_bottom > div a:hover {
4978
+ color: var(--gavin-highlight);
4979
+ background: var(--gavin-highlight-op);
4980
+ }
4981
+ .cardgoods_box .cardgoods_bottom > div button {
4982
+ width: 3rem;
4983
+ height: 1.8rem;
4984
+ background: var(--gavin-widget-bg1);
4985
+ border-radius: 8px;
4986
+ color: var(--gavin-note-font-color);
4987
+ }
4988
+ .cardgoods_box .cardgoods_bottom > div button i {
4989
+ font-size: 1.2rem;
4990
+ }
4991
+ .cardgoods_box .cardgoods_bottom > div button:hover {
4992
+ color: var(--gavin-highlight);
4993
+ background: var(--gavin-highlight-op);
4994
+ }
4995
+ @media screen and (max-width: 1300px) {
4996
+ .cardgoods_box {
4997
+ --cardgoods-width: calc((100% - 2 * var(--cardgoods-gap)) / 3);
4998
+ }
4999
+ }
5000
+ @media screen and (max-width: 1000px) {
5001
+ .cardgoods_box {
5002
+ --cardgoods-width: calc((100% - var(--cardgoods-gap)) / 2);
5003
+ }
5004
+ }
5005
+ @media screen and (max-width: 600px) {
5006
+ .cardgoods_box {
5007
+ --cardgoods-width: 100%;
5008
+ }
5009
+ }
5010
+ .cardmovie_box {
4878
5011
  display: -webkit-box;
4879
5012
  display: -moz-box;
4880
5013
  display: -webkit-flex;
@@ -4899,12 +5032,26 @@ span.mathjax-overflow {
4899
5032
  border: 1px solid var(--gavin-border-color);
4900
5033
  position: relative;
4901
5034
  overflow: hidden;
4902
- padding: 10px 13px;
5035
+ --cardmovie-gap: 15px;
5036
+ --cardmovie-star-w: 100px;
5037
+ --cardmovie-star-h: 20px;
5038
+ --cardmovie-padding: 15px;
5039
+ --cardmovie-fontsize: 100%;
5040
+ --cardmovie-width: calc((100% - 5 * var(--cardmovie-gap)) / 6);
5041
+ padding: var(--cardmovie-padding);
5042
+ width: var(--cardmovie-width);
5043
+ height: auto;
4903
5044
  color: #fff !important;
4904
- margin: 10px auto;
4905
5045
  line-height: 2rem;
5046
+ -webkit-box-shadow: var(--gavin-shadow-2);
5047
+ box-shadow: var(--gavin-shadow-2);
5048
+ -webkit-transition: 0.3s;
5049
+ -moz-transition: 0.3s;
5050
+ -o-transition: 0.3s;
5051
+ -ms-transition: 0.3s;
5052
+ transition: 0.3s;
4906
5053
  }
4907
- .card_box::after {
5054
+ .cardmovie_box::after {
4908
5055
  content: '';
4909
5056
  position: absolute;
4910
5057
  height: 100%;
@@ -4919,13 +5066,13 @@ span.mathjax-overflow {
4919
5066
  transition: 0.5s;
4920
5067
  z-index: 0;
4921
5068
  }
4922
- .card_box:hover .card_mask {
5069
+ .cardmovie_box:hover .cardmovie_mask {
4923
5070
  opacity: 1;
4924
5071
  -ms-filter: none;
4925
5072
  filter: none;
4926
5073
  pointer-events: auto;
4927
5074
  }
4928
- .card_box .card_top {
5075
+ .cardmovie_box .cardmovie_top {
4929
5076
  display: -webkit-box;
4930
5077
  display: -moz-box;
4931
5078
  display: -webkit-flex;
@@ -4946,7 +5093,13 @@ span.mathjax-overflow {
4946
5093
  -webkit-justify-content: space-between;
4947
5094
  justify-content: space-between;
4948
5095
  }
4949
- .card_box .card_mask {
5096
+ .cardmovie_box .cardmovie_top i {
5097
+ font-size: var(--cardmovie-fontsize);
5098
+ }
5099
+ .cardmovie_box .cardmovie_top .cardmovie_tag {
5100
+ font-size: var(--cardmovie-fontsize);
5101
+ }
5102
+ .cardmovie_box .cardmovie_mask {
4950
5103
  position: absolute;
4951
5104
  pointer-events: none;
4952
5105
  z-index: 2;
@@ -4962,13 +5115,14 @@ span.mathjax-overflow {
4962
5115
  height: 100%;
4963
5116
  left: 0;
4964
5117
  top: 0;
4965
- padding: 15px;
5118
+ padding: var(--cardmovie-padding);
4966
5119
  -webkit-backdrop-filter: blur(7px);
4967
5120
  backdrop-filter: blur(7px);
4968
5121
  background: rgba(0,0,0,0.1);
4969
5122
  }
4970
- .card_box .card_mask span {
5123
+ .cardmovie_box .cardmovie_mask span {
4971
5124
  display: block;
5125
+ scrollbar-width: none;
4972
5126
  font-size: 15px;
4973
5127
  line-height: 1.2;
4974
5128
  height: calc(100% - 45px);
@@ -4977,28 +5131,28 @@ span.mathjax-overflow {
4977
5131
  -webkit-mask-image: linear-gradient(0deg, transparent, #fff 8px, #fff calc(100% - 8px), transparent);
4978
5132
  mask-image: linear-gradient(0deg, transparent, #fff 8px, #fff calc(100% - 8px), transparent);
4979
5133
  }
4980
- .card_box .card_mask a {
5134
+ .cardmovie_box .cardmovie_mask a {
4981
5135
  text-align: center;
4982
5136
  background: #eee;
4983
5137
  color: #000 !important;
4984
5138
  font-size: 15px;
4985
5139
  border-radius: 6px;
4986
5140
  position: absolute;
4987
- width: calc(100% - 40px);
4988
- bottom: 20px;
4989
- left: 20px;
5141
+ width: calc(100% - var(--cardmovie-padding) * 2);
5142
+ bottom: var(--cardmovie-padding);
5143
+ left: var(--cardmovie-padding);
4990
5144
  }
4991
- .card_box .card_mask a:hover {
5145
+ .cardmovie_box .cardmovie_mask a:hover {
4992
5146
  text-decoration: none !important;
4993
5147
  color: #fff !important;
4994
5148
  background: var(--gavin-nav-hover);
4995
5149
  }
4996
- .card_box .card_content {
5150
+ .cardmovie_box .cardmovie_content {
4997
5151
  z-index: 1;
4998
5152
  margin-top: 86%;
4999
5153
  }
5000
- .card_box .card_content span {
5001
- font-size: 18px;
5154
+ .cardmovie_box .cardmovie_content span {
5155
+ font-size: var(--cardmovie-fontsize);
5002
5156
  font-weight: bold;
5003
5157
  white-space: nowrap;
5004
5158
  overflow: hidden;
@@ -5007,7 +5161,11 @@ span.mathjax-overflow {
5007
5161
  display: block;
5008
5162
  text-shadow: 0 0 5px rgba(0,0,0,0.5);
5009
5163
  }
5010
- .card_box .card_content > div {
5164
+ .cardmovie_box .cardmovie_content .cardmovie_name {
5165
+ font-size: calc(var(--cardmovie-fontsize) * 1.1);
5166
+ line-height: 1.3;
5167
+ }
5168
+ .cardmovie_box .cardmovie_content > div {
5011
5169
  display: -webkit-box;
5012
5170
  display: -moz-box;
5013
5171
  display: -webkit-flex;
@@ -5020,17 +5178,111 @@ span.mathjax-overflow {
5020
5178
  -ms-flex-pack: justify;
5021
5179
  -webkit-justify-content: space-between;
5022
5180
  justify-content: space-between;
5181
+ -webkit-box-align: center;
5182
+ -moz-box-align: center;
5183
+ -o-box-align: center;
5184
+ -ms-flex-align: center;
5185
+ -webkit-align-items: center;
5186
+ align-items: center;
5187
+ }
5188
+ .cardmovie_box .cardmovie_content > div .cardmovie_star_bottom {
5189
+ position: relative;
5190
+ width: var(--cardmovie-star-w);
5191
+ height: var(--cardmovie-star-h);
5192
+ background-size: auto 100%;
5193
+ background-repeat: repeat;
5194
+ background-image: url("/img/star_blank.svg");
5023
5195
  }
5024
- .card_box .card_content > div span {
5196
+ .cardmovie_box .cardmovie_content > div .cardmovie_star_top {
5197
+ position: absolute;
5198
+ left: 0;
5199
+ height: 100%;
5200
+ background-size: auto 100%;
5201
+ background-repeat: repeat;
5202
+ background-image: url("/img/star_fill.svg");
5203
+ }
5204
+ .cardmovie_box .cardmovie_content > div .cardmovie_score {
5025
5205
  font-weight: 500;
5026
- font-size: 1rem;
5027
5206
  }
5028
- [data-theme='dark'] .card_box {
5207
+ [data-theme='dark'] .cardmovie_box {
5029
5208
  color: #ddd !important;
5030
5209
  }
5031
- [data-theme='dark'] .card_box::after {
5210
+ [data-theme='dark'] .cardmovie_box::after {
5032
5211
  background: rgba(0,0,0,0.4);
5033
5212
  }
5213
+ @media screen and (max-width: 1300px) {
5214
+ .cardmovie_box {
5215
+ --cardmovie-width: calc((100% - 4 * var(--cardmovie-gap)) / 5);
5216
+ --cardmovie-padding: 15px;
5217
+ }
5218
+ }
5219
+ @media screen and (max-width: 1170px) {
5220
+ .cardmovie_box {
5221
+ --cardmovie-padding: 10px;
5222
+ }
5223
+ }
5224
+ @media screen and (max-width: 1000px) {
5225
+ .cardmovie_box {
5226
+ --cardmovie-width: calc((100% - 3 * var(--cardmovie-gap)) / 4);
5227
+ --cardmovie-padding: 15px;
5228
+ }
5229
+ }
5230
+ @media screen and (max-width: 900px) {
5231
+ .cardmovie_box {
5232
+ --cardmovie-padding: 10px;
5233
+ }
5234
+ }
5235
+ @media screen and (max-width: 810px) {
5236
+ .cardmovie_box {
5237
+ --cardmovie-width: calc((100% - 2 * var(--cardmovie-gap)) / 3);
5238
+ --cardmovie-padding: 15px;
5239
+ }
5240
+ }
5241
+ @media screen and (max-width: 680px) {
5242
+ .cardmovie_box {
5243
+ --cardmovie-padding: 10px;
5244
+ }
5245
+ }
5246
+ @media screen and (max-width: 560px) {
5247
+ .cardmovie_box {
5248
+ --cardmovie-star-w: 90px;
5249
+ --cardmovie-star-h: 18px;
5250
+ --cardmovie-fontsize: 90%;
5251
+ }
5252
+ }
5253
+ @media screen and (max-width: 520px) {
5254
+ .cardmovie_box {
5255
+ --cardmovie-width: calc((100% - var(--cardmovie-gap)) / 2);
5256
+ --cardmovie-padding: 15px;
5257
+ --cardmovie-star-w: 100px;
5258
+ --cardmovie-star-h: 20px;
5259
+ --cardmovie-fontsize: 100%;
5260
+ }
5261
+ }
5262
+ @media screen and (max-width: 440px) {
5263
+ .cardmovie_box {
5264
+ --cardmovie-padding: 10px;
5265
+ --cardmovie-star-w: 90px;
5266
+ --cardmovie-star-h: 18px;
5267
+ --cardmovie-fontsize: 90%;
5268
+ }
5269
+ }
5270
+ @media screen and (max-width: 360px) {
5271
+ .cardmovie_box {
5272
+ --cardmovie-star-w: 80px;
5273
+ --cardmovie-star-h: 16px;
5274
+ --cardmovie-fontsize: 80%;
5275
+ }
5276
+ }
5277
+ @media screen and (max-width: 320px) {
5278
+ .cardmovie_box {
5279
+ --cardmovie-width: 100%;
5280
+ --cardmovie-padding: 15px;
5281
+ --cardmovie-star-w: 100px;
5282
+ --cardmovie-star-h: 20px;
5283
+ --cardmovie-fontsize: 100%;
5284
+ }
5285
+ }
5034
5286
  details.folding-tag {
5035
5287
  display: block;
5036
5288
  margin: 1em 0;
@@ -5519,6 +5771,7 @@ blockquote.pullquote.right {
5519
5771
  #article-container a.link-card div.right {
5520
5772
  overflow: hidden;
5521
5773
  margin-right: 1.6rem;
5774
+ max-width: calc(100% - 3.2rem - 48px);
5522
5775
  }
5523
5776
  #article-container a.link-card p {
5524
5777
  margin: 0;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ <svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path d="M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3-12.3 12.7-12.1 32.9.6 45.3l183.7 179.1-43.4 252.9c-1.2 6.9-.1 14.1 3.2 20.3 8.2 15.6 27.6 21.7 43.2 13.4L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z" fill="#f99b01"/></svg>
@@ -0,0 +1 @@
1
+ <svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path d="M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3-12.3 12.7-12.1 32.9.6 45.3l183.7 179.1-43.4 252.9c-1.2 6.9-.1 14.1 3.2 20.3 8.2 15.6 27.6 21.7 43.2 13.4L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z" fill="#f99b01"/></svg>
@@ -1 +1 @@
1
- function sendTextToClipboard(){var _id=document.querySelector(".clipboard .select-item.id").value,_text=document.querySelector(".clipboard textarea").value;fetch(`https://apis.cancin.cn/clipboard?mode=send&id=${_id}&content=${encodeURIComponent(_text)}`).then(response=>response.json()).then(data=>{200==data.code?set_notice.checked&&tools.showMessage(data.message,"success",2):(console.log(data.message),set_notice.checked&&tools.showMessage(data.message,"error",2))}).catch(error=>console.error(error))}function getTextFromClipboard(){var _id=document.querySelector(".clipboard .select-item.id").value,_text=document.querySelector(".clipboard textarea");fetch(`https://apis.cancin.cn/clipboard?mode=get&id=${_id}&content=`).then(response=>response.json()).then(data=>{200==data.code?(_text.value=data.content[0].content,set_notice.checked&&tools.showMessage(data.message,"success",2)):(console.log(data.message),set_notice.checked&&tools.showMessage(data.message,"error",2))}).catch(error=>console.error(error))}
1
+ function sendTextToClipboard(){var e=document.querySelector(".clipboard .select-item.id").value,o=document.querySelector(".clipboard textarea").value;fetch(`https://apis.cancin.cn/clipboard?mode=send&id=${e}&content=${encodeURIComponent(o)}`).then(e=>e.json()).then(e=>{200==e.code?set_notice.checked&&tools.showMessage(e.message,"success",2):(console.log(e.message),set_notice.checked&&tools.showMessage(e.message,"error",2))}).catch(e=>console.error(e))}function getTextFromClipboard(){var e=document.querySelector(".clipboard .select-item.id").value,o=document.querySelector(".clipboard textarea");fetch(`https://apis.cancin.cn/clipboard?mode=get&id=${e}&content=`).then(e=>e.json()).then(e=>{200==e.code?(o.value=e.content[0].content,set_notice.checked&&tools.showMessage(e.message,"success",2)):(console.log(e.message),set_notice.checked&&tools.showMessage(e.message,"error",2))}).catch(e=>console.error(e))}
package/js/countup.min.js CHANGED
@@ -1 +1 @@
1
- var CountUp=function(target,startVal,endVal,decimals,duration,options){var self=this;if(self.version=function(){return"1.9.2"},self.options={useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:easeOutExpo,formattingFn:formatNumber,prefix:"",suffix:"",numerals:[]},options&&"object"==typeof options)for(var key in self.options)options.hasOwnProperty(key)&&null!==options[key]&&(self.options[key]=options[key]);""===self.options.separator?self.options.useGrouping=!1:self.options.separator=""+self.options.separator;for(var lastTime=0,vendors=["webkit","moz","ms","o"],x=0;x<vendors.length&&!window.requestAnimationFrame;++x)window.requestAnimationFrame=window[vendors[x]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[vendors[x]+"CancelAnimationFrame"]||window[vendors[x]+"CancelRequestAnimationFrame"];function formatNumber(num){var x,x1,x2,x3,i,l;if(num=num.toFixed(self.decimals),x1=(x=(num+="").split("."))[0],x2=x.length>1?self.options.decimal+x[1]:"",self.options.useGrouping){for(x3="",i=0,l=x1.length;i<l;++i)0!==i&&i%3==0&&(x3=self.options.separator+x3),x3=x1[l-i-1]+x3;x1=x3}return self.options.numerals.length&&(x1=x1.replace(/[0-9]/g,(function(w){return self.options.numerals[+w]})),x2=x2.replace(/[0-9]/g,(function(w){return self.options.numerals[+w]}))),self.options.prefix+x1+x2+self.options.suffix}function easeOutExpo(t,b,c,d){return c*(1-Math.pow(2,-10*t/d))*1024/1023+b}function ensureNumber(n){return"number"==typeof n&&!isNaN(n)}window.requestAnimationFrame||(window.requestAnimationFrame=function(callback,element){var currTime=(new Date).getTime(),timeToCall=Math.max(0,16-(currTime-lastTime)),id=window.setTimeout((function(){callback(currTime+timeToCall)}),timeToCall);return lastTime=currTime+timeToCall,id}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(id){clearTimeout(id)}),self.initialize=function(){return!!self.initialized||(self.error="",self.d="string"==typeof target?document.getElementById(target):target,self.d?(self.startVal=Number(startVal),self.endVal=Number(endVal),ensureNumber(self.startVal)&&ensureNumber(self.endVal)?(self.decimals=Math.max(0,decimals||0),self.dec=Math.pow(10,self.decimals),self.duration=1e3*Number(duration)||2e3,self.countDown=self.startVal>self.endVal,self.frameVal=self.startVal,self.initialized=!0,!0):(self.error="[CountUp] startVal ("+startVal+") or endVal ("+endVal+") is not a number",!1)):(self.error="[CountUp] target is null or undefined",!1))},self.printValue=function(value){var result=self.options.formattingFn(value);"INPUT"===self.d.tagName?this.d.value=result:"text"===self.d.tagName||"tspan"===self.d.tagName?this.d.textContent=result:this.d.innerHTML=result},self.count=function(timestamp){self.startTime||(self.startTime=timestamp),self.timestamp=timestamp;var progress=timestamp-self.startTime;self.remaining=self.duration-progress,self.options.useEasing?self.countDown?self.frameVal=self.startVal-self.options.easingFn(progress,0,self.startVal-self.endVal,self.duration):self.frameVal=self.options.easingFn(progress,self.startVal,self.endVal-self.startVal,self.duration):self.countDown?self.frameVal=self.startVal-(self.startVal-self.endVal)*(progress/self.duration):self.frameVal=self.startVal+(self.endVal-self.startVal)*(progress/self.duration),self.countDown?self.frameVal=self.frameVal<self.endVal?self.endVal:self.frameVal:self.frameVal=self.frameVal>self.endVal?self.endVal:self.frameVal,self.frameVal=Math.round(self.frameVal*self.dec)/self.dec,self.printValue(self.frameVal),progress<self.duration?self.rAF=requestAnimationFrame(self.count):self.callback&&self.callback()},self.start=function(callback){self.initialize()&&(self.callback=callback,self.rAF=requestAnimationFrame(self.count))},self.pauseResume=function(){self.paused?(self.paused=!1,delete self.startTime,self.duration=self.remaining,self.startVal=self.frameVal,requestAnimationFrame(self.count)):(self.paused=!0,cancelAnimationFrame(self.rAF))},self.reset=function(){self.paused=!1,delete self.startTime,self.initialized=!1,self.initialize()&&(cancelAnimationFrame(self.rAF),self.printValue(self.startVal))},self.update=function(newEndVal){self.initialize()&&(ensureNumber(newEndVal=Number(newEndVal))?(self.error="",newEndVal!==self.frameVal&&(cancelAnimationFrame(self.rAF),self.paused=!1,delete self.startTime,self.startVal=self.frameVal,self.endVal=newEndVal,self.countDown=self.startVal>self.endVal,self.rAF=requestAnimationFrame(self.count))):self.error="[CountUp] update() - new endVal is not a number: "+newEndVal)},self.initialize()&&self.printValue(self.startVal)};
1
+ var CountUp=function(a,n,t,e,i,r){function o(a){var n,t,e,i,r,o;if(a=a.toFixed(u.decimals),a+="",n=a.split("."),t=n[0],e=n.length>1?u.options.decimal+n[1]:"",u.options.useGrouping){for(i="",r=0,o=t.length;r<o;++r)0!==r&&r%3==0&&(i=u.options.separator+i),i=t[o-r-1]+i;t=i}return u.options.numerals.length&&(t=t.replace(/[0-9]/g,function(a){return u.options.numerals[+a]}),e=e.replace(/[0-9]/g,function(a){return u.options.numerals[+a]})),u.options.prefix+t+e+u.options.suffix}function l(a,n,t,e){return t*(1-Math.pow(2,-10*a/e))*1024/1023+n}function s(a){return"number"==typeof a&&!isNaN(a)}var u=this;if(u.version=function(){return"1.9.2"},u.options={useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:l,formattingFn:o,prefix:"",suffix:"",numerals:[]},r&&"object"==typeof r)for(var m in u.options)r.hasOwnProperty(m)&&null!==r[m]&&(u.options[m]=r[m]);""===u.options.separator?u.options.useGrouping=!1:u.options.separator=""+u.options.separator;for(var d=0,c=["webkit","moz","ms","o"],p=0;p<c.length&&!window.requestAnimationFrame;++p)window.requestAnimationFrame=window[c[p]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[c[p]+"CancelAnimationFrame"]||window[c[p]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(a,n){var t=(new Date).getTime(),e=Math.max(0,16-(t-d)),i=window.setTimeout(function(){a(t+e)},e);return d=t+e,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(a){clearTimeout(a)}),u.initialize=function(){return!!u.initialized||(u.error="",u.d="string"==typeof a?document.getElementById(a):a,u.d?(u.startVal=Number(n),u.endVal=Number(t),s(u.startVal)&&s(u.endVal)?(u.decimals=Math.max(0,e||0),u.dec=Math.pow(10,u.decimals),u.duration=1e3*Number(i)||2e3,u.countDown=u.startVal>u.endVal,u.frameVal=u.startVal,u.initialized=!0,!0):(u.error="[CountUp] startVal ("+n+") or endVal ("+t+") is not a number",!1)):(u.error="[CountUp] target is null or undefined",!1))},u.printValue=function(a){var n=u.options.formattingFn(a);"INPUT"===u.d.tagName?this.d.value=n:"text"===u.d.tagName||"tspan"===u.d.tagName?this.d.textContent=n:this.d.innerHTML=n},u.count=function(a){u.startTime||(u.startTime=a),u.timestamp=a;var n=a-u.startTime;u.remaining=u.duration-n,u.options.useEasing?u.countDown?u.frameVal=u.startVal-u.options.easingFn(n,0,u.startVal-u.endVal,u.duration):u.frameVal=u.options.easingFn(n,u.startVal,u.endVal-u.startVal,u.duration):u.countDown?u.frameVal=u.startVal-(u.startVal-u.endVal)*(n/u.duration):u.frameVal=u.startVal+(u.endVal-u.startVal)*(n/u.duration),u.countDown?u.frameVal=u.frameVal<u.endVal?u.endVal:u.frameVal:u.frameVal=u.frameVal>u.endVal?u.endVal:u.frameVal,u.frameVal=Math.round(u.frameVal*u.dec)/u.dec,u.printValue(u.frameVal),n<u.duration?u.rAF=requestAnimationFrame(u.count):u.callback&&u.callback()},u.start=function(a){u.initialize()&&(u.callback=a,u.rAF=requestAnimationFrame(u.count))},u.pauseResume=function(){u.paused?(u.paused=!1,delete u.startTime,u.duration=u.remaining,u.startVal=u.frameVal,requestAnimationFrame(u.count)):(u.paused=!0,cancelAnimationFrame(u.rAF))},u.reset=function(){u.paused=!1,delete u.startTime,u.initialized=!1,u.initialize()&&(cancelAnimationFrame(u.rAF),u.printValue(u.startVal))},u.update=function(a){u.initialize()&&(a=Number(a),s(a)?(u.error="",a!==u.frameVal&&(cancelAnimationFrame(u.rAF),u.paused=!1,delete u.startTime,u.startVal=u.frameVal,u.endVal=a,u.countDown=u.startVal>u.endVal,u.rAF=requestAnimationFrame(u.count))):u.error="[CountUp] update() - new endVal is not a number: "+a)},u.initialize()&&u.printValue(u.startVal)};
@@ -1 +1 @@
1
- var _type=document.querySelector(".encryption .select-item.type"),_code=document.querySelector(".encryption .select-item.code"),_case=document.querySelector(".encryption .select-item.case"),_mode=document.querySelector(".encryption .select-item.mode"),_pad=document.querySelector(".encryption .select-item.pad"),_key=document.querySelector(".encryption .select-item.key"),_iv=document.querySelector(".encryption .select-item.iv"),textIn=document.querySelector(".encryption .inner"),textOut=document.querySelector(".encryption .outer");function copyTranscode(){textOut.select(),document.execCommand("copy")}function clearTranscode(){document.querySelector(".encryption .inner").value="",textOut.value="",textOut.disabled=!0,textOut.classList.add("lock")}function transcode(){var a="",b="",__mode="",__pad="",__text="",__key=CryptoJS.enc.Utf8.parse(_key.value),__iv=CryptoJS.enc.Utf8.parse(_iv.value);switch(_mode.value){case"CBC":__mode=CryptoJS.mode.CBC;break;case"CFB":__mode=CryptoJS.mode.CFB;break;case"CTR":__mode=CryptoJS.mode.CTR;break;case"OFB":__mode=CryptoJS.mode.OFB;break;case"ECB":__mode=CryptoJS.mode.ECB;break;default:__mode=CryptoJS.mode.CBC}switch(_pad.value){case"Pkcs7":__pad=CryptoJS.pad.Pkcs7;break;case"Iso97971":__pad=CryptoJS.pad.Iso97971;break;case"Iso10126":__pad=CryptoJS.pad.Iso10126;break;case"AnsiX923":__pad=CryptoJS.pad.AnsiX923;break;case"ZeroPadding":__pad=CryptoJS.pad.ZeroPadding;break;case"NoPadding":__pad=CryptoJS.pad.NoPadding;break;default:__pad=CryptoJS.pad.Pkcs7}switch(_type.value){case"MD5":a=CryptoJS.MD5(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"SHA1":a=CryptoJS.SHA1(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"SHA3":a=CryptoJS.SHA3(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"SHA224":a=CryptoJS.SHA224(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"SHA256":a=CryptoJS.SHA256(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"SHA384":a=CryptoJS.SHA384(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"SHA512":a=CryptoJS.SHA512(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"RIPEMD160":a=CryptoJS.RIPEMD160(textIn.value),b="Hex"==_code.value?a.toString():CryptoJS.enc.Base64.stringify(a),textOut.value="Lower"==_case.value?b:b.toUpperCase();break;case"AESEncode":__text=CryptoJS.enc.Utf8.parse(textIn.value),a=CryptoJS.AES.encrypt(__text,__key,{iv:__iv,mode:__mode,padding:__pad}),b="Hex"==_code.value?CryptoJS.enc.Hex.stringify(a.ciphertext):a.toString(),textOut.value=b;break;case"AESDecode":var base64Regex,hexRegex=/^(?:[0-9a-fA-F]{4})*$/;if(/^[A-Za-z0-9+/]*={1,2}$/.test(textIn.value)){console.log("base64"),__text=CryptoJS.enc.Base64.stringify(CryptoJS.enc.Base64.parse(textIn.value)),textOut.value=CryptoJS.AES.decrypt(__text,__key,{iv:__iv,mode:__mode,padding:__pad}).toString(CryptoJS.enc.Utf8);break}if(hexRegex.test(textIn.value)){console.log("hex"),__text=CryptoJS.enc.Hex.parse(textIn.value),textOut.value=CryptoJS.AES.decrypt({ciphertext:__text},__key,{iv:__iv,mode:__mode,padding:__pad}).toString(CryptoJS.enc.Utf8);break}console.log("数据错误"),alert("数据错误")}textOut.disabled=!1,textOut.classList.remove("lock")}textOut.addEventListener("input",()=>{""==textOut.value?(textOut.disabled=!0,textOut.classList.add("lock")):(textOut.disabled=!1,textOut.classList.remove("lock"))}),_type.addEventListener("change",()=>{"AESEncode"==_type.value?(_case.classList.add("hide"),_code.classList.remove("hide"),_mode.classList.remove("hide"),_pad.classList.remove("hide"),_key.classList.remove("hide"),_iv.classList.remove("hide")):"AESDecode"==_type.value?(_code.classList.add("hide"),_case.classList.add("hide"),_mode.classList.remove("hide"),_pad.classList.remove("hide"),_key.classList.remove("hide"),_iv.classList.remove("hide")):(_code.classList.remove("hide"),_case.classList.remove("hide"),_mode.classList.add("hide"),_pad.classList.add("hide"),_key.classList.add("hide"),_iv.classList.add("hide"))}),_mode.addEventListener("change",()=>{"ECB"!=_mode.value?_iv.classList.contains("lock")&&(_iv.classList.remove("lock"),_iv.disabled=!1):_iv.classList.contains("lock")||(_iv.classList.add("lock"),_iv.disabled=!0)});
1
+ function copyTranscode(){textOut.select(),document.execCommand("copy")}function clearTranscode(){document.querySelector(".encryption .inner").value="",textOut.value="",textOut.disabled=!0,textOut.classList.add("lock")}function transcode(){var e="",t="",a="",o="",s="",c=CryptoJS.enc.Utf8.parse(_key.value),r=CryptoJS.enc.Utf8.parse(_iv.value);switch(_mode.value){case"CBC":a=CryptoJS.mode.CBC;break;case"CFB":a=CryptoJS.mode.CFB;break;case"CTR":a=CryptoJS.mode.CTR;break;case"OFB":a=CryptoJS.mode.OFB;break;case"ECB":a=CryptoJS.mode.ECB;break;default:a=CryptoJS.mode.CBC}switch(_pad.value){case"Pkcs7":o=CryptoJS.pad.Pkcs7;break;case"Iso97971":o=CryptoJS.pad.Iso97971;break;case"Iso10126":o=CryptoJS.pad.Iso10126;break;case"AnsiX923":o=CryptoJS.pad.AnsiX923;break;case"ZeroPadding":o=CryptoJS.pad.ZeroPadding;break;case"NoPadding":o=CryptoJS.pad.NoPadding;break;default:o=CryptoJS.pad.Pkcs7}switch(_type.value){case"MD5":e=CryptoJS.MD5(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"SHA1":e=CryptoJS.SHA1(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"SHA3":e=CryptoJS.SHA3(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"SHA224":e=CryptoJS.SHA224(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"SHA256":e=CryptoJS.SHA256(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"SHA384":e=CryptoJS.SHA384(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"SHA512":e=CryptoJS.SHA512(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"RIPEMD160":e=CryptoJS.RIPEMD160(textIn.value),t="Hex"==_code.value?e.toString():CryptoJS.enc.Base64.stringify(e),textOut.value="Lower"==_case.value?t:t.toUpperCase();break;case"AESEncode":s=CryptoJS.enc.Utf8.parse(textIn.value),e=CryptoJS.AES.encrypt(s,c,{iv:r,mode:a,padding:o}),t="Hex"==_code.value?CryptoJS.enc.Hex.stringify(e.ciphertext):e.toString(),textOut.value=t;break;case"AESDecode":var i=/^[A-Za-z0-9+/]*={1,2}$/,d=/^(?:[0-9a-fA-F]{4})*$/;if(i.test(textIn.value)){console.log("base64"),s=CryptoJS.enc.Base64.stringify(CryptoJS.enc.Base64.parse(textIn.value)),textOut.value=CryptoJS.AES.decrypt(s,c,{iv:r,mode:a,padding:o}).toString(CryptoJS.enc.Utf8);break}if(d.test(textIn.value)){console.log("hex"),s=CryptoJS.enc.Hex.parse(textIn.value),textOut.value=CryptoJS.AES.decrypt({ciphertext:s},c,{iv:r,mode:a,padding:o}).toString(CryptoJS.enc.Utf8);break}console.log("数据错误"),alert("数据错误")}textOut.disabled=!1,textOut.classList.remove("lock")}var _type=document.querySelector(".encryption .select-item.type"),_code=document.querySelector(".encryption .select-item.code"),_case=document.querySelector(".encryption .select-item.case"),_mode=document.querySelector(".encryption .select-item.mode"),_pad=document.querySelector(".encryption .select-item.pad"),_key=document.querySelector(".encryption .select-item.key"),_iv=document.querySelector(".encryption .select-item.iv"),textIn=document.querySelector(".encryption .inner"),textOut=document.querySelector(".encryption .outer");textOut.addEventListener("input",()=>{""==textOut.value?(textOut.disabled=!0,textOut.classList.add("lock")):(textOut.disabled=!1,textOut.classList.remove("lock"))}),_type.addEventListener("change",()=>{"AESEncode"==_type.value?(_case.classList.add("hide"),_code.classList.remove("hide"),_mode.classList.remove("hide"),_pad.classList.remove("hide"),_key.classList.remove("hide"),_iv.classList.remove("hide")):"AESDecode"==_type.value?(_code.classList.add("hide"),_case.classList.add("hide"),_mode.classList.remove("hide"),_pad.classList.remove("hide"),_key.classList.remove("hide"),_iv.classList.remove("hide")):(_code.classList.remove("hide"),_case.classList.remove("hide"),_mode.classList.add("hide"),_pad.classList.add("hide"),_key.classList.add("hide"),_iv.classList.add("hide"))}),_mode.addEventListener("change",()=>{"ECB"!=_mode.value?_iv.classList.contains("lock")&&(_iv.classList.remove("lock"),_iv.disabled=!1):_iv.classList.contains("lock")||(_iv.classList.add("lock"),_iv.disabled=!0)});
package/js/fcircle.min.js CHANGED
@@ -1 +1 @@
1
- var fdata={jsonurl:"",apiurl:"",apipublieurl:"https://fcircle-pub.rct.cool/",initnumber:24,stepnumber:12,article_sort:"created",error_img:"https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/error-img.webp"};if("undefined"!=typeof fdataUser)for(var key in fdataUser)fdataUser[key]&&(fdata[key]=fdataUser[key]);var article_num="",sortNow="",UrlNow="",friends_num="",container=document.getElementById("cf-container")||document.getElementById("fcircleContainer"),localSortNow=localStorage.getItem("sortNow"),localUrlNow=localStorage.getItem("urlNow");function loadStatistical(sdata){article_num=sdata.article_num,friends_num=sdata.friends_num;var messageBoard=`\n <div id="cf-state" class="cf-new-add">\n <div class="cf-state-data">\n <div class="cf-data-friends" onclick="openToShow()">\n <span class="cf-label">订阅</span>\n <span class="cf-message">${sdata.friends_num}</span>\n </div>\n <div class="cf-data-active" onclick="changeEgg()">\n <span class="cf-label">活跃</span>\n <span class="cf-message">${sdata.active_num}</span>\n </div>\n <div class="cf-data-article" onclick="clearLocal()">\n <span class="cf-label">日志</span>\n <span class="cf-message">${sdata.article_num}</span>\n </div>\n </div>\n <div id="cf-change">\n <span id="cf-change-created" data-sort="created" onclick="changeSort(event)" class="${"created"==sortNow?"cf-change-now":""}">Created</span> | <span id="cf-change-updated" data-sort="updated" onclick="changeSort(event)" class="${"updated"==sortNow?"cf-change-now":""}" >Updated</span>\n </div>\n </div>\n `,loadMoreBtn=`\n <div id="cf-more" class="cf-new-add" onclick="loadNextArticle()"><i class="fas fa-angle-double-down"></i></div>\n <div id="cf-footer" class="cf-new-add">\n <span id="cf-version-up" onclick="checkVersion()"></span>\n <span class="cf-data-lastupdated">更新于:${sdata.last_updated_time}</span>\n Powered by <a target="_blank" href="https://github.com/Rock-Candy-Tea/hexo-circle-of-friends" target="_blank">FriendCircle</a>\n <br>\n Designed by <a target="_blank" href="https://immmmm.com" target="_blank">林木木</a>\n <br>\n Adapted by <a target="_blank" href="https://blog.cancin.cn" target="_blank">南方嘉木</a>\n </div>\n <div id="cf-overlay" class="cf-new-add" onclick="closeShow()"></div>\n <div id="cf-overshow" class="cf-new-add"></div>\n `;container&&(container.insertAdjacentHTML("beforebegin",messageBoard),container.insertAdjacentHTML("afterend",loadMoreBtn))}function loadArticleItem(datalist,start,end){var articleItem="",articleNum=article_num,endFor=end;if(end>article_num&&(endFor=article_num),start<article_num){for(var i=start;i<endFor;i++){var item=datalist[i],id;articleItem+=`\n <div class="cf-article ${"cf-"+CryptoJS.MD5(item.link).toString()}">\n <a class="cf-article-title" href="${item.link}" target="_blank" rel="noopener nofollow" data-title="${item.title}">${item.title}</a>\n <a class="cf-star" onclick="switchSecretInput(event)"><i class="fa-regular fa-star"></i></a>\n <div class="cf-article-avatar flink-item-icon">\n <img class="cf-img-avatar no-lightbox avatar" src="${item.avatar}" alt="avatar" onerror="this.src='${fdata.error_img}'; this.onerror = null;">\n <a onclick="openMeShow(event)" data-link="${item.link}" class="" target="_blank" rel="noopener nofollow" href="javascript:;"><span class="cf-article-author">${item.author}</span></a>\n </div>\n <span class="cf-article-time">\n <span class="cf-time-created" style="${"created"==sortNow?"":"display:none"}">${item.created}</span>\n <span class="cf-time-updated" style="${"updated"==sortNow?"":"display:none"}">${item.updated}</span>\n </span>\n </div>\n `}container.insertAdjacentHTML("beforeend",articleItem),null!=savedArticlesIndex&&checkStared(savedArticlesIndex),fetchNextArticle()}else document.getElementById("cf-more").outerHTML='<div id="cf-more" class="cf-new-add" onclick="loadNoArticle()"><small>一切皆有尽头!</small></div>'}function loadFcircleShow(userinfo,articledata){for(var showHtml=`\n <div class="cf-overshow">\n <div class="cf-overshow-head">\n <img class="cf-img-avatar avatar" src="${userinfo.avatar}" alt="avatar" onerror="this.src='${fdata.error_img}'; this.onerror = null;">\n <a class="" target="_blank" rel="noopener nofollow" href="${userinfo.link}">${userinfo.name}</a>\n </div>\n <div class="cf-overshow-content">\n `,i=0;i<userinfo.article_num;i++){var item=articledata[i];showHtml+=`\n <p><a class="cf-article-title" href="${item.link}" target="_blank" rel="noopener nofollow" data-title="${item.title}">${item.title}</a><span>${item.created}</span></p>\n `}showHtml+="</div></div>",document.getElementById("cf-overshow").insertAdjacentHTML("beforeend",showHtml),document.getElementById("cf-overshow").className="cf-show-now"}function fetchNextArticle(){var start=document.querySelectorAll("#cf-container .cf-article").length,end=start+fdata.stepnumber,articleNum=article_num;if(end>articleNum&&(end=articleNum),start<articleNum){UrlNow=localStorage.getItem("urlNow");var fetchUrl=UrlNow+"rule="+sortNow+"&start="+start+"&end="+end;fetch(fetchUrl).then(res=>res.json()).then(json=>{var nextArticle=eval(json.article_data);console.log("已预载?rule="+sortNow+"&start="+start+"&end="+end),localStorage.setItem("nextArticle",JSON.stringify(nextArticle))})}else(start=articleNum)&&(document.getElementById("cf-more").outerHTML='<div id="cf-more" class="cf-new-add" onclick="loadNoArticle()"><small>一切皆有尽头!</small></div>')}function loadNextArticle(){for(var nextArticle=JSON.parse(localStorage.getItem("nextArticle")),articleItem="",i=0;i<nextArticle.length;i++){var item=nextArticle[i],id;articleItem+=`\n <div class="cf-article ${"cf-"+CryptoJS.MD5(item.link).toString()}">\n <a class="cf-article-title" href="${item.link}" target="_blank" rel="noopener nofollow" data-title="${item.title}">${item.title}</a>\n <a class="cf-star" onclick="switchSecretInput(event)"><i class="fa-regular fa-star"></i></a>\n <div class="cf-article-avatar flink-item-icon">\n <img class="cf-img-avatar no-lightbox avatar" src="${item.avatar}" alt="avatar" onerror="this.src='${fdata.error_img}'; this.onerror = null;">\n <a onclick="openMeShow(event)" data-link="${item.link}" class="" target="_blank" rel="noopener nofollow" href="javascript:;"><span class="cf-article-author">${item.author}</span></a>\n </div>\n <span class="cf-article-time">\n <span class="cf-time-created" style="${"created"==sortNow?"":"display:none"}">${item.created}</span>\n <span class="cf-time-updated" style="${"updated"==sortNow?"":"display:none"}">${item.updated}</span>\n </span>\n </div>\n `}container.insertAdjacentHTML("beforeend",articleItem),null!=savedArticlesIndex&&checkStared(savedArticlesIndex),fetchNextArticle()}function loadNoArticle(){var articleSortData=sortNow+"ArticleData";localStorage.removeItem(articleSortData),localStorage.removeItem("statisticalData"),document.getElementById("cf-more").remove(),window.scrollTo(0,document.getElementsByClassName("cf-state").offsetTop)}function clearLocal(){localStorage.removeItem("updatedArticleData"),localStorage.removeItem("createdArticleData"),localStorage.removeItem("nextArticle"),localStorage.removeItem("statisticalData"),localStorage.removeItem("sortNow"),localStorage.removeItem("urlNow"),location.reload()}function checkVersion(){var url=fdata.apiurl+"version";fetch(url).then(res=>res.json()).then(json=>{console.log(json);var nowStatus=json.status,nowVersion=json.current_version,newVersion=json.latest_version,versionID=document.getElementById("cf-version-up");versionID.innerHTML=0==nowStatus?"当前版本:v"+nowVersion:1==nowStatus?"发现新版本:v"+nowVersion+" ↦ "+newVersion:"网络错误,检测失败!"})}function changeEgg(){if(fdata.jsonurl||fdata.apiurl){document.querySelectorAll(".cf-new-add").forEach(el=>el.remove()),localStorage.removeItem("updatedArticleData"),localStorage.removeItem("createdArticleData"),localStorage.removeItem("nextArticle"),localStorage.removeItem("statisticalData"),container.innerHTML="",UrlNow=localStorage.getItem("urlNow");var UrlNowPublic=fdata.apipublieurl+"all?";UrlNow!==UrlNowPublic?changeUrl=fdata.apipublieurl+"all?":fdata.jsonurl?changeUrl=fdata.apipublieurl+"postjson?jsonlink="+fdata.jsonurl+"&":fdata.apiurl&&(changeUrl=fdata.apiurl+"all?"),localStorage.setItem("urlNow",changeUrl),FetchFriendCircle(sortNow,changeUrl)}else clearLocal()}function FetchFriendCircle(sortNow,changeUrl){var end=fdata.initnumber,fetchUrl=UrlNow+"rule="+sortNow+"&start=0&end="+end;changeUrl&&(fetchUrl=changeUrl+"rule="+sortNow+"&start=0&end="+end),fetch(fetchUrl).then(res=>res.json()).then(json=>{var statisticalData=json.statistical_data,articleData=eval(json.article_data),articleSortData=sortNow+"ArticleData";loadStatistical(statisticalData),loadArticleItem(articleData,0,end),localStorage.setItem("statisticalData",JSON.stringify(statisticalData)),localStorage.setItem(articleSortData,JSON.stringify(articleData))})}function changeSort(event){sortNow=event.currentTarget.dataset.sort,localStorage.setItem("sortNow",sortNow),document.querySelectorAll(".cf-new-add").forEach(el=>el.remove()),container.innerHTML="",changeUrl=localStorage.getItem("urlNow"),initFriendCircle(sortNow,changeUrl),fdata.apiurl&&checkVersion()}function openMeShow(event){event.preventDefault();var parse_url=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/,meLink=event.currentTarget.dataset.link.replace(parse_url,"$1:$2$3");console.log(meLink);var fetchUrl="";fetchUrl=fdata.apiurl?fdata.apiurl+"post?num=5&link="+meLink:fdata.apipublieurl+"post?num=5&link="+meLink,"ok"==noClick&&(noClick="no",fetchShow(fetchUrl))}function closeShow(){document.getElementById("cf-overlay").className-="cf-show-now",document.getElementById("cf-overshow").className-="cf-show-now",document.getElementById("cf-overshow").innerHTML=""}localSortNow&&localUrlNow?(sortNow=localSortNow,UrlNow=localUrlNow):(sortNow=fdata.article_sort,UrlNow=fdata.jsonurl?fdata.apipublieurl+"postjson?jsonlink="+fdata.jsonurl+"&":fdata.apiurl?fdata.apiurl+"all?":fdata.apipublieurl+"all?",console.log("当前模式:"+UrlNow),localStorage.setItem("urlNow",UrlNow),localStorage.setItem("sortNow",sortNow));var noClick="ok";function openToShow(){var fetchUrl="";fetchUrl=fdata.apiurl?fdata.apiurl+"post":fdata.apipublieurl+"post","ok"==noClick&&(noClick="no",fetchShow(fetchUrl))}function fetchShow(url){var closeHtml='\n <div class="cf-overshow-close" onclick="closeShow()"></div>\n ';document.getElementById("cf-overlay").className="cf-show-now",document.getElementById("cf-overshow").insertAdjacentHTML("afterbegin",closeHtml),console.log("开往"+url),fetch(url).then(res=>res.json()).then(json=>{noClick="ok";var statisticalData=json.statistical_data,articleData=eval(json.article_data);loadFcircleShow(statisticalData,articleData)})}function initFriendCircle(sortNow,changeUrl){var articleSortData=sortNow+"ArticleData",localStatisticalData=JSON.parse(localStorage.getItem("statisticalData")),localArticleData=JSON.parse(localStorage.getItem(articleSortData));if(container.innerHTML="",localStatisticalData&&localArticleData){loadStatistical(localStatisticalData),loadArticleItem(localArticleData,0,fdata.initnumber),console.log("本地数据加载成功");var fetchUrl=UrlNow+"rule="+sortNow+"&start=0&end="+fdata.initnumber;fetch(fetchUrl).then(res=>res.json()).then(json=>{var statisticalData=json.statistical_data,articleData=eval(json.article_data),localSnum=localStatisticalData.article_num,newSnum=statisticalData.article_num,localAtile=localArticleData[0].title,newAtile=articleData[0].title;if(localSnum!==newSnum||localAtile!==newAtile){document.getElementById("cf-state").remove(),document.getElementById("cf-more").remove(),document.getElementById("cf-footer").remove(),container.innerHTML="";var articleSortData=sortNow+"ArticleData";loadStatistical(statisticalData),loadArticleItem(articleData,0,fdata.initnumber),localStorage.setItem("statisticalData",JSON.stringify(statisticalData)),localStorage.setItem(articleSortData,JSON.stringify(articleData)),console.log("热更新完成")}else console.log("API数据未更新")})}else FetchFriendCircle(sortNow,changeUrl),console.log("第一次加载完成")}initFriendCircle(sortNow);
1
+ function loadStatistical(a){article_num=a.article_num,friends_num=a.friends_num;var t=`\n <div id="cf-state" class="cf-new-add">\n <div class="cf-state-data">\n <div class="cf-data-friends" onclick="openToShow()">\n <span class="cf-label">订阅</span>\n <span class="cf-message">${a.friends_num}</span>\n </div>\n <div class="cf-data-active" onclick="changeEgg()">\n <span class="cf-label">活跃</span>\n <span class="cf-message">${a.active_num}</span>\n </div>\n <div class="cf-data-article" onclick="clearLocal()">\n <span class="cf-label">日志</span>\n <span class="cf-message">${a.article_num}</span>\n </div>\n </div>\n <div id="cf-change">\n <span id="cf-change-created" data-sort="created" onclick="changeSort(event)" class="${"created"==sortNow?"cf-change-now":""}">Created</span> | <span id="cf-change-updated" data-sort="updated" onclick="changeSort(event)" class="${"updated"==sortNow?"cf-change-now":""}" >Updated</span>\n </div>\n </div>\n `,e=`\n <div id="cf-more" class="cf-new-add" onclick="loadNextArticle()"><i class="fas fa-angle-double-down"></i></div>\n <div id="cf-footer" class="cf-new-add">\n <span id="cf-version-up" onclick="checkVersion()"></span>\n <span class="cf-data-lastupdated">更新于:${a.last_updated_time}</span>\n Powered by <a target="_blank" href="https://github.com/Rock-Candy-Tea/hexo-circle-of-friends" target="_blank">FriendCircle</a>\n <br>\n Designed by <a target="_blank" href="https://immmmm.com" target="_blank">林木木</a>\n <br>\n Adapted by <a target="_blank" href="https://blog.cancin.cn" target="_blank">南方嘉木</a>\n </div>\n <div id="cf-overlay" class="cf-new-add" onclick="closeShow()"></div>\n <div id="cf-overshow" class="cf-new-add"></div>\n `;container&&(container.insertAdjacentHTML("beforebegin",t),container.insertAdjacentHTML("afterend",e))}function loadArticleItem(a,t,e){var l="",r=article_num,n=e;if(e>r&&(n=r),t<r){for(var o=t;o<n;o++){var c=a[o],i="cf-"+CryptoJS.MD5(c.link).toString();l+=`\n <div class="cf-article ${i}">\n <a class="cf-article-title" href="${c.link}" target="_blank" rel="noopener nofollow" data-title="${c.title}">${c.title}</a>\n <a class="cf-star" onclick="switchSecretInput(event)"><i class="fa-regular fa-star"></i></a>\n <div class="cf-article-avatar flink-item-icon">\n <img class="cf-img-avatar no-lightbox avatar" src="${c.avatar}" alt="avatar" onerror="this.src='${fdata.error_img}'; this.onerror = null;">\n <a onclick="openMeShow(event)" data-link="${c.link}" class="" target="_blank" rel="noopener nofollow" href="javascript:;"><span class="cf-article-author">${c.author}</span></a>\n </div>\n <span class="cf-article-time">\n <span class="cf-time-created" style="${"created"==sortNow?"":"display:none"}">${c.created}</span>\n <span class="cf-time-updated" style="${"updated"==sortNow?"":"display:none"}">${c.updated}</span>\n </span>\n </div>\n `}container.insertAdjacentHTML("beforeend",l),null!=savedArticlesIndex&&checkStared(savedArticlesIndex),fetchNextArticle()}else document.getElementById("cf-more").outerHTML='<div id="cf-more" class="cf-new-add" onclick="loadNoArticle()"><small>一切皆有尽头!</small></div>'}function loadFcircleShow(a,t){for(var e=`\n <div class="cf-overshow">\n <div class="cf-overshow-head">\n <img class="cf-img-avatar avatar" src="${a.avatar}" alt="avatar" onerror="this.src='${fdata.error_img}'; this.onerror = null;">\n <a class="" target="_blank" rel="noopener nofollow" href="${a.link}">${a.name}</a>\n </div>\n <div class="cf-overshow-content">\n `,l=0;l<a.article_num;l++){var r=t[l];e+=`\n <p><a class="cf-article-title" href="${r.link}" target="_blank" rel="noopener nofollow" data-title="${r.title}">${r.title}</a><span>${r.created}</span></p>\n `}e+="</div></div>",document.getElementById("cf-overshow").insertAdjacentHTML("beforeend",e),document.getElementById("cf-overshow").className="cf-show-now"}function fetchNextArticle(){var start=document.querySelectorAll("#cf-container .cf-article").length,end=start+fdata.stepnumber,articleNum=article_num;if(end>articleNum&&(end=articleNum),start<articleNum){UrlNow=localStorage.getItem("urlNow");var fetchUrl=UrlNow+"rule="+sortNow+"&start="+start+"&end="+end;fetch(fetchUrl).then(a=>a.json()).then(json=>{var nextArticle=eval(json.article_data);console.log("已预载?rule="+sortNow+"&start="+start+"&end="+end),localStorage.setItem("nextArticle",JSON.stringify(nextArticle))})}else(start=articleNum)&&(document.getElementById("cf-more").outerHTML='<div id="cf-more" class="cf-new-add" onclick="loadNoArticle()"><small>一切皆有尽头!</small></div>')}function loadNextArticle(){for(var a=JSON.parse(localStorage.getItem("nextArticle")),t="",e=0;e<a.length;e++){var l=a[e],r="cf-"+CryptoJS.MD5(l.link).toString();t+=`\n <div class="cf-article ${r}">\n <a class="cf-article-title" href="${l.link}" target="_blank" rel="noopener nofollow" data-title="${l.title}">${l.title}</a>\n <a class="cf-star" onclick="switchSecretInput(event)"><i class="fa-regular fa-star"></i></a>\n <div class="cf-article-avatar flink-item-icon">\n <img class="cf-img-avatar no-lightbox avatar" src="${l.avatar}" alt="avatar" onerror="this.src='${fdata.error_img}'; this.onerror = null;">\n <a onclick="openMeShow(event)" data-link="${l.link}" class="" target="_blank" rel="noopener nofollow" href="javascript:;"><span class="cf-article-author">${l.author}</span></a>\n </div>\n <span class="cf-article-time">\n <span class="cf-time-created" style="${"created"==sortNow?"":"display:none"}">${l.created}</span>\n <span class="cf-time-updated" style="${"updated"==sortNow?"":"display:none"}">${l.updated}</span>\n </span>\n </div>\n `}container.insertAdjacentHTML("beforeend",t),null!=savedArticlesIndex&&checkStared(savedArticlesIndex),fetchNextArticle()}function loadNoArticle(){var a=sortNow+"ArticleData";localStorage.removeItem(a),localStorage.removeItem("statisticalData"),document.getElementById("cf-more").remove(),window.scrollTo(0,document.getElementsByClassName("cf-state").offsetTop)}function clearLocal(){localStorage.removeItem("updatedArticleData"),localStorage.removeItem("createdArticleData"),localStorage.removeItem("nextArticle"),localStorage.removeItem("statisticalData"),localStorage.removeItem("sortNow"),localStorage.removeItem("urlNow"),location.reload()}function checkVersion(){var a=fdata.apiurl+"version";fetch(a).then(a=>a.json()).then(a=>{console.log(a);var t=a.status,e=a.current_version,l=a.latest_version,r=document.getElementById("cf-version-up");r.innerHTML=0==t?"当前版本:v"+e:1==t?"发现新版本:v"+e+" ↦ "+l:"网络错误,检测失败!"})}function changeEgg(){if(fdata.jsonurl||fdata.apiurl){document.querySelectorAll(".cf-new-add").forEach(a=>a.remove()),localStorage.removeItem("updatedArticleData"),localStorage.removeItem("createdArticleData"),localStorage.removeItem("nextArticle"),localStorage.removeItem("statisticalData"),container.innerHTML="",UrlNow=localStorage.getItem("urlNow");var a=fdata.apipublieurl+"all?";UrlNow!==a?changeUrl=fdata.apipublieurl+"all?":fdata.jsonurl?changeUrl=fdata.apipublieurl+"postjson?jsonlink="+fdata.jsonurl+"&":fdata.apiurl&&(changeUrl=fdata.apiurl+"all?"),localStorage.setItem("urlNow",changeUrl),FetchFriendCircle(sortNow,changeUrl)}else clearLocal()}function FetchFriendCircle(sortNow,changeUrl){var end=fdata.initnumber,fetchUrl=UrlNow+"rule="+sortNow+"&start=0&end="+end;changeUrl&&(fetchUrl=changeUrl+"rule="+sortNow+"&start=0&end="+end),fetch(fetchUrl).then(a=>a.json()).then(json=>{var statisticalData=json.statistical_data,articleData=eval(json.article_data),articleSortData=sortNow+"ArticleData";loadStatistical(statisticalData),loadArticleItem(articleData,0,end),localStorage.setItem("statisticalData",JSON.stringify(statisticalData)),localStorage.setItem(articleSortData,JSON.stringify(articleData))})}function changeSort(a){sortNow=a.currentTarget.dataset.sort,localStorage.setItem("sortNow",sortNow),document.querySelectorAll(".cf-new-add").forEach(a=>a.remove()),container.innerHTML="",changeUrl=localStorage.getItem("urlNow"),initFriendCircle(sortNow,changeUrl),fdata.apiurl&&checkVersion()}function openMeShow(a){a.preventDefault();var t=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/,e=a.currentTarget.dataset.link.replace(t,"$1:$2$3");console.log(e);var l="";l=fdata.apiurl?fdata.apiurl+"post?num=5&link="+e:fdata.apipublieurl+"post?num=5&link="+e,"ok"==noClick&&(noClick="no",fetchShow(l))}function closeShow(){document.getElementById("cf-overlay").className-="cf-show-now",document.getElementById("cf-overshow").className-="cf-show-now",document.getElementById("cf-overshow").innerHTML=""}function openToShow(){var a="";a=fdata.apiurl?fdata.apiurl+"post":fdata.apipublieurl+"post","ok"==noClick&&(noClick="no",fetchShow(a))}function fetchShow(url){var closeHtml='\n <div class="cf-overshow-close" onclick="closeShow()"></div>\n ';document.getElementById("cf-overlay").className="cf-show-now",document.getElementById("cf-overshow").insertAdjacentHTML("afterbegin",closeHtml),console.log("开往"+url),fetch(url).then(a=>a.json()).then(json=>{noClick="ok";var statisticalData=json.statistical_data,articleData=eval(json.article_data);loadFcircleShow(statisticalData,articleData)})}function initFriendCircle(sortNow,changeUrl){var articleSortData=sortNow+"ArticleData",localStatisticalData=JSON.parse(localStorage.getItem("statisticalData")),localArticleData=JSON.parse(localStorage.getItem(articleSortData));if(container.innerHTML="",localStatisticalData&&localArticleData){loadStatistical(localStatisticalData),loadArticleItem(localArticleData,0,fdata.initnumber),console.log("本地数据加载成功");var fetchUrl=UrlNow+"rule="+sortNow+"&start=0&end="+fdata.initnumber;fetch(fetchUrl).then(a=>a.json()).then(json=>{var statisticalData=json.statistical_data,articleData=eval(json.article_data),localSnum=localStatisticalData.article_num,newSnum=statisticalData.article_num,localAtile=localArticleData[0].title,newAtile=articleData[0].title;if(localSnum!==newSnum||localAtile!==newAtile){document.getElementById("cf-state").remove(),document.getElementById("cf-more").remove(),document.getElementById("cf-footer").remove(),container.innerHTML="";var articleSortData=sortNow+"ArticleData";loadStatistical(statisticalData),loadArticleItem(articleData,0,fdata.initnumber),localStorage.setItem("statisticalData",JSON.stringify(statisticalData)),localStorage.setItem(articleSortData,JSON.stringify(articleData)),console.log("热更新完成")}else console.log("API数据未更新")})}else FetchFriendCircle(sortNow,changeUrl),console.log("第一次加载完成")}var fdata={jsonurl:"",apiurl:"",apipublieurl:"https://fcircle-pub.rct.cool/",initnumber:24,stepnumber:12,article_sort:"created",error_img:"https://blog-hexo-img.oss-cn-shanghai.aliyuncs.com/error-img.webp"};if("undefined"!=typeof fdataUser)for(var key in fdataUser)fdataUser[key]&&(fdata[key]=fdataUser[key]);var article_num="",sortNow="",UrlNow="",friends_num="",container=document.getElementById("cf-container")||document.getElementById("fcircleContainer"),localSortNow=localStorage.getItem("sortNow"),localUrlNow=localStorage.getItem("urlNow");localSortNow&&localUrlNow?(sortNow=localSortNow,UrlNow=localUrlNow):(sortNow=fdata.article_sort,UrlNow=fdata.jsonurl?fdata.apipublieurl+"postjson?jsonlink="+fdata.jsonurl+"&":fdata.apiurl?fdata.apiurl+"all?":fdata.apipublieurl+"all?",console.log("当前模式:"+UrlNow),localStorage.setItem("urlNow",UrlNow),localStorage.setItem("sortNow",sortNow));var noClick="ok";initFriendCircle(sortNow);