62 Commits

Author SHA1 Message Date
b666bd16b2 Update file 2025-01-01-temp.md 2025-01-01 10:06:30 +00:00
bc094788c2 Update 2 files
- /_posts/2025-01-01-summary.md
- /_posts/2025-01-01-temp.md
2025-01-01 10:05:08 +00:00
c0b1009935 Update file 2024-12-29-vm.md 2024-12-29 15:00:35 +00:00
129c4d1b5b Update 2024-12-08-simulator.md 2024-12-08 15:07:29 +00:00
a8b9118a20 Update 2 files
- /links.md
- /_posts/2024-12-08-simulator.md
2024-12-08 11:50:52 +00:00
dff8a2d2c9 Update 2 files
- /_layouts/post.html
- /service.md
2024-11-20 06:32:07 +00:00
2952d9f63e Update 3 files
- /Live2dHistoire/live2d/js/message.js
- /proxylist.md
- /README.md
2024-11-19 08:50:58 +00:00
3de3d63d77 Update 2 files
- /links.md
- /_posts/2024-11-02-trojan.md
2024-11-02 12:32:13 +00:00
3dab9f333a Update file default.html 2024-10-21 11:21:43 +00:00
85aa965218 Update 3 files
- /Live2dHistoire/live2d/js/message.js
- /Live2dHistoire/live2d/css/live2d.css
- /_layouts/default.html
2024-10-21 11:16:17 +00:00
0e065bf282 Update file message.js 2024-10-21 10:12:21 +00:00
680afdca5a Update 2 files
- /index.html
- /service.md
2024-10-15 10:10:20 +00:00
9e7e727897 Update file message.js 2024-10-15 08:38:03 +00:00
f5accbcad4 Update 2 files
- /_posts/2024-10-13-arm-linux.md
- /proxylist.md
2024-10-14 02:27:17 +00:00
d3ef0a278b Update file 2024-10-13-arm-linux.md 2024-10-13 12:13:18 +00:00
38c549606e Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /_posts/2024-10-01-suggest.md
- /js/main.js
2024-10-04 07:13:10 +00:00
443d65ac50 Update 4 files
- /_layouts/default.html
- /_layouts/post.html
- /js/main.js
- /_posts/2024-10-01-suggest.md
2024-10-04 06:19:24 +00:00
c8ce8de1d9 Update 3 files
- /js/main.js
- /_posts/2024-10-01-suggest.md
- /_posts/2024-09-27-rag.md
2024-10-01 10:12:03 +00:00
03d9517241 Update 2 files
- /js/main.js
- /_layouts/post.html
2024-09-30 14:59:32 +00:00
9b9efd0f60 Update 3 files
- /js/main.js
- /_layouts/default.html
- /_layouts/post.html
2024-09-30 13:59:21 +00:00
07a3d18350 Update 3 files
- /js/main.js
- /_layouts/post.html
- /search.json
2024-09-30 13:51:26 +00:00
550321e80a Update 2 files
- /_layouts/default.html
- /search.html
2024-09-29 15:20:22 +00:00
50c6c49c4c Update 2 files
- /_posts/2024-09-27-rag.md
- /_posts/2024-07-03-ai-summary.md
2024-09-27 03:24:54 +00:00
593b4fa003 Update main.js 2024-09-26 10:15:00 +00:00
46f1b8d742 Update file 2024-09-02-gmssl.md 2024-09-02 09:40:45 +00:00
7a525073f9 Update file 2024-08-17-mac-mini.md 2024-08-17 11:40:35 +00:00
dc37b70586 Update file 2024-08-03-cangjie.md 2024-08-03 17:33:00 +00:00
2fd191d418 Update file 2024-07-03-ai-summary.md 2024-07-03 13:41:02 +00:00
99ec7de3cd Update file 2024-07-03-ai-summary.md 2024-07-03 13:32:37 +00:00
cd294479e0 Update file 2024-07-03-ai-summary.md 2024-07-03 13:01:14 +00:00
b7ab4e6356 Update file post.html 2024-07-02 08:46:57 +00:00
934c04aea7 Update file post.html 2024-07-02 08:25:21 +00:00
5c7773fb59 Update 2 files
- /_layouts/post.html
- /js/main.js
2024-07-02 08:09:28 +00:00
41ce7aabb0 Update 2 files
- /proxylist.md
- /js/main.js
2024-07-02 03:59:47 +00:00
cbe4db5992 Update file 2024-06-16-hackintosh.md 2024-06-16 12:26:12 +00:00
04e63388b6 Update 2 files
- /_posts/2024-05-19-bt-ops.md
- /proxylist.md
2024-05-19 11:10:53 +00:00
106aa95def Update default.html 2024-04-15 07:29:05 +00:00
f1e7070380 Update 2 files
- /js/main.js
- /_posts/2024-04-06-old-pc.md
2024-04-08 12:52:09 +00:00
10a3521795 Update file 2024-04-06-old-pc.md 2024-04-06 09:43:54 +00:00
881ed13576 Update 2 files
- /_posts/2024-04-06-old-pc.md
- /index.html
2024-04-06 09:41:50 +00:00
982a87e0bf Update file proxylist.md 2024-03-21 01:54:03 +00:00
5097364988 Update 3 files
- /images/offline.svg
- /images/online.svg
- /proxylist.md
2024-03-21 01:45:48 +00:00
c437b255f1 Update file 2024-03-16-ssl-pinning.md 2024-03-16 13:17:54 +00:00
efaaa32674 Update default.html 2024-02-24 16:02:33 +00:00
8a51f7a942 Update 3 files
- /images/17966333.png
- /_config.yml
- /_layouts/default.html
2024-02-24 15:58:24 +00:00
afe8b95115 Update 4 files
- /proxylist.md
- /images/17966333.png
- /_config.yml
- /_posts/2024-02-24-luckfox.md
2024-02-24 15:53:16 +00:00
2aad4be863 Update 2 files
- /_posts/2024-02-03-1panel.md
- /_posts/2024-01-20-renpy.md
2024-02-03 14:04:27 +00:00
74cb7d028c Update 4 files
- /llama.html
- /_posts/2024-01-20-renpy.md
- /index.html
- /proxylist.md
2024-01-20 11:01:55 +00:00
d74fe7b4b8 Update file index.html 2024-01-01 10:54:46 +00:00
8f7d02697d Update 5 files
- /card.html
- /llama.html
- /index.html
- /Live2dHistoire/live2d/js/message.js
- /js/main.js
2024-01-01 10:53:46 +00:00
4afea923c5 Update 3 files
- /package.json
- /_posts/2023-04-05-ai.md
- /_posts/2024-01-01-summary.md
2024-01-01 09:01:21 +00:00
e6281bfa5f Update file Gemfile 2023-12-30 15:27:02 +00:00
a4e9d17cf1 Update file Gemfile 2023-12-30 15:16:27 +00:00
975fcf9d8e Update 2 files
- /Gemfile
- /.gitlab-ci.yml
2023-12-30 15:12:33 +00:00
1734d36dd5 Update file Gemfile 2023-12-30 15:02:50 +00:00
eefdb73475 Update 3 files
- /Gemfile
- /.gitlab-ci.yml
- /Live2dHistoire/live2d/js/message.js
2023-12-30 14:59:15 +00:00
c622346eaa Update 2 files
- /Gemfile
- /Live2dHistoire/live2d/js/message.js
2023-12-30 13:58:00 +00:00
7609bb0b8f Update message.js 2023-12-30 13:41:55 +00:00
2298c9b271 更新.gitlab-ci.yml文件 2023-12-24 16:49:42 +00:00
f9abd1e5d7 Update file 2023-12-24-android.md 2023-12-24 12:30:52 +00:00
62ea62e8e8 Update file 2023-12-10-openfyde.md 2023-12-09 17:42:34 +00:00
3dc82a814a Update 2 files
- /_posts/2023-02-03-mbp.md
- /_posts/2023-10-21-game.md
2023-10-21 15:24:08 +00:00
42 changed files with 3768 additions and 312 deletions

View File

@ -6,14 +6,14 @@
# Template project: https://gitlab.com/pages/jekyll # Template project: https://gitlab.com/pages/jekyll
# Docs: https://docs.gitlab.com/ee/pages/ # Docs: https://docs.gitlab.com/ee/pages/
image: ruby:2.6 image: ruby:2.7
variables: variables:
JEKYLL_ENV: production JEKYLL_ENV: production
LC_ALL: C.UTF-8 LC_ALL: C.UTF-8
before_script: before_script:
- gem install bundler - gem install bundler -v 2.4.22
- bundle install - bundle install
pages: pages:

16
Gemfile
View File

@ -1,11 +1,13 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "jekyll", "~> 4.1.0" gem "jekyll", "~> 3.9.3"
group :jekyll_plugins do group :jekyll_plugins do
gem "jekyll-gist" gem "jekyll-gist", "~> 1.5.0"
gem "jekyll-coffeescript" gem "jekyll-coffeescript", "~> 1.1.1"
gem "jekyll-assets" gem "jekyll-assets", "~> 1.0.0"
gem "jekyll-sitemap" gem "jekyll-sitemap", "~> 1.4.0"
gem "jekyll-feed" gem "jekyll-feed", "~> 0.15.1"
gem "jekyll-theme-minimal" gem "jekyll-theme-minimal"
gem "jekyll-paginate" gem "jekyll-paginate", "~> 1.1.0"
gem "kramdown-parser-gfm", "~> 1.1.0"
gem "kramdown", "~> 2.3.2"
end end

View File

@ -79,7 +79,7 @@
background-color: rgba(74, 59, 114,0.9); background-color: rgba(74, 59, 114,0.9);
} }
.live_talk_input_name_body{ .live_talk_input_name_body{
width:70px; width:100px;
box-sizing:border-box; box-sizing:border-box;
height:24px; height:24px;
border: 2px solid rgb(223, 179, 241); border: 2px solid rgb(223, 179, 241);

View File

@ -158,7 +158,7 @@ if(!norunFlag){
function showHitokoto(){ function showHitokoto(){
if(sessionStorage.getItem("Sleepy")!=="1"){ if(sessionStorage.getItem("Sleepy")!=="1"){
if(!AITalkFlag){ if(!AITalkFlag){
$.getJSON('https://v1.hitokoto.cn/',function(result){ $.getJSON('https://hitokoto.mayx.eu.org/',function(result){
talkValTimer(); talkValTimer();
showMessage(result.hitokoto, 0); showMessage(result.hitokoto, 0);
}); });
@ -188,7 +188,26 @@ if(!norunFlag){
if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1]; if(Array.isArray(text)) text = text[Math.floor(Math.random() * text.length + 1)-1];
//console.log('showMessage', text); //console.log('showMessage', text);
$('.message').stop(); $('.message').stop();
$('.message').html(text); if(text instanceof EventSource){
var outputContainer = $('.message')[0];
var eventFlag = false;
text.onmessage = (event) => {
if (event.data == "[DONE]") {
text.close();
return;
} else {
if(!eventFlag){
talkValTimer();
outputContainer.textContent = "";
eventFlag = true;
}
const data = JSON.parse(event.data);
outputContainer.textContent += data.response;
}
}
}else{
$('.message').html(text);
}
$('.message').fadeTo(200, 1); $('.message').fadeTo(200, 1);
//if (timeout === null) timeout = 5000; //if (timeout === null) timeout = 5000;
//hideMessage(timeout); //hideMessage(timeout);
@ -275,36 +294,18 @@ if(!norunFlag){
}); });
$('#talk_send').on('click',function(){ $('#talk_send').on('click',function(){
var info_ = $('#AIuserText').val(); var info_ = $('#AIuserText').val();
var userid_ = $('#AIuserName').val(); // var userid_ = $('#AIuserName').val();
let add_id = "";
if($('#load_this').prop("checked")){
add_id = "&id="+encodeURIComponent($('#post_id').val());
}
if(info_ == "" ){ if(info_ == "" ){
showMessage('写点什么吧!',0); showMessage('写点什么吧!',0);
return; return;
} }
if(userid_ == ""){
showMessage('聊之前请告诉我你的名字吧!',0);
return;
}
showMessage('思考中~', 0); showMessage('思考中~', 0);
$.ajax({ const evSource = new EventSource(talkAPI + "?info=" + encodeURIComponent(info_) + add_id);
type: 'POST', showMessage(evSource);
url: talkAPI,
data: {
"info":info_,
"userid":userid_
},
success: function(res) {
if(res.code !== 100000){
talkValTimer();
showMessage('似乎有什么错误,请和站长联系!',0);
}else{
talkValTimer();
showMessage(res.text,0);
}
console.log(res);
$('#AIuserText').val("");
sessionStorage.setItem("live2duser", userid_);
}
});
}); });
}else{ }else{
$('#showInfoBtn').hide(); $('#showInfoBtn').hide();
@ -379,11 +380,11 @@ if(!norunFlag){
showMessage('音乐似乎加载不出来了呢!',0); showMessage('音乐似乎加载不出来了呢!',0);
}); });
} }
//获取用户名 // //获取用户名
var live2dUser = sessionStorage.getItem("live2duser"); // var live2dUser = sessionStorage.getItem("live2duser");
if(live2dUser !== null){ // if(live2dUser !== null){
$('#AIuserName').val(live2dUser); // $('#AIuserName').val(live2dUser);
} // }
//获取位置 //获取位置
var landL = sessionStorage.getItem("historywidth"); var landL = sessionStorage.getItem("historywidth");
var landB = sessionStorage.getItem("historyheight"); var landB = sessionStorage.getItem("historyheight");

View File

@ -16,13 +16,16 @@ Powered by [Jekyll](https://github.com/jekyll/jekyll)
[Simple-Jekyll-Search](https://github.com/christian-fei/Simple-Jekyll-Search) [Simple-Jekyll-Search](https://github.com/christian-fei/Simple-Jekyll-Search)
## 使用的网络资源 ## 使用的网络资源
[Github](https://github.com/) | 包含: [Github](https://github.com/) | 包含
- Issue - Issue
- Pages - Pages
- Git - Git
[Cloudflare](https://www.cloudflare.com/) | 包含:
- CDN、规则以及缓存
- Workers、D1 SQL 数据库、Vectorize 数据库、AI
[网易云音乐](https://music.163.com/) [网易云音乐](https://music.163.com/)
[一言](https://hitokoto.cn/)
[CDNJS](https://cdnjs.com/) [CDNJS](https://cdnjs.com/)
[unpkg](https://unpkg.com/) [unpkg](https://unpkg.com/)

File diff suppressed because one or more lines are too long

View File

@ -2,89 +2,161 @@
layout: default layout: default
--- ---
<small>{{ page.date | date: "%-d %B %Y" }} - 字数统计:{% if page.layout == "encrypt" %}God Knows {% else %}{{ page.content | strip_html | strip_newlines | remove: " " | size }} - 阅读大约需要{{ page.content | strip_html | strip_newlines | remove: " " | size | divided_by: 350 | plus: 1 }}分钟{% endif %} - Hits: <span id="{{ page.url }}" class="visitors" >Loading...</span> <small>{{ page.date | date: "%-d %B %Y" }} - 字数统计:{% if page.layout == "encrypt" %}God Knows {% else %}{{ page.content | strip_html | strip_newlines | remove: " " | size }} - 阅读大约需要{{ page.content | strip_html | strip_newlines | remove: "" | size | divided_by: 350 | plus: 1 }}分钟{% endif %} - Hits: <span id="{{ page.url }}" class="visitors">Loading...</span></small>
</small>
<h1>{{ page.title }}</h1> <h1>{{ page.title }}</h1>
<p class="view">by <a href="//github.com/{{ page.author | default: "Mabbs" }}">{{ page.author | default: site.author }}</a></p> <p class="view">by <a href="//github.com/{{ page.author | default: "Mabbs" }}">{{ page.author | default: site.author }}</a></p>
<div id="outdate" style="display:none;"> <div id="outdate" style="display:none;">
<hr /> <hr />
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。 这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
<br /><br /> <br /><br />
</div> </div>
<script> <script>
BirthDay = new Date("{{ page.date | date: "%m/%d/%Y" }} 00:00:00"); BirthDay = new Date("{{ page.date | date: "%m/%d/%Y" }} 00:00:00");
today = new Date(); today = new Date();
timeold = (today.getTime() - BirthDay.getTime()); timeold = (today.getTime() - BirthDay.getTime());
secondsold = Math.floor(timeold / 1000); secondsold = Math.floor(timeold / 1000);
e_daysold = timeold / (24 * 60 * 60 * 1000); e_daysold = timeold / (24 * 60 * 60 * 1000);
daysold = Math.floor(e_daysold); daysold = Math.floor(e_daysold);
if (daysold > 90) { if (daysold > 90) {
document.getElementById("outdate").style.display = "block"; document.getElementById("outdate").style.display = "block";
document.getElementById("outime").innerHTML = daysold; document.getElementById("outime").innerHTML = daysold;
} }
</script> </script>
<hr /> <hr />
{% if page.layout != "encrypt" %}
<!--[if !IE]> -->
<b>AI摘要</b>
<p id="ai-output">正在生成中……</p>
<script>
async function sha(str) {
const encoder = new TextEncoder();
const data = encoder.encode(str);
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
const hashArray = Array.from(new Uint8Array(hashBuffer)); // convert buffer to byte array
const hashHex = hashArray
.map((b) => b.toString(16).padStart(2, "0"))
.join(""); // convert bytes to hex string
return hashHex;
}
async function ai_gen(){
var postContent = "文章标题:" + {{ page.title | jsonify }} + ";文章内容:" + {{ page.content | strip_html | strip_newlines | jsonify }};
var postContentSign = await sha(postContent);
var outputContainer = document.getElementById("ai-output");
$.get(BlogAPI + "/is_uploaded?id={{ page.url }}&sign=" + postContentSign, function (data) {
if (data == "yes") {
$.get(BlogAPI + "/get_summary?id={{ page.url }}&sign=" + postContentSign, function (data2) {
outputContainer.textContent = data2;
});
} else {
$.post(BlogAPI + "/upload_blog?id={{ page.url }}", postContent, function (data) {
$.get(BlogAPI + "/get_summary?id={{ page.url }}&sign=" + postContentSign);
const evSource = new EventSource(BlogAPI + "/summary?id={{ page.url }}");
outputContainer.textContent = "";
evSource.onmessage = (event) => {
if (event.data == "[DONE]") {
evSource.close();
return;
} else {
const data = JSON.parse(event.data);
outputContainer.textContent += data.response;
}
}
});
}
});
}
ai_gen();
</script>
<hr />
<!-- <![endif]-->
{% endif %}
{% include toc.html html=content sanitize=true h_max=3 %} {% include toc.html html=content sanitize=true h_max=3 %}
{{content}} {{content}}
{% if page.tags %} {% if page.tags %}
<small>tags: <em>{{ page.tags | join: "</em> - <em>" }}</em></small> <small>tags: <em>{{ page.tags | join: "</em> - <em>" }}</em></small>
{% endif %} {% endif %}
<br />
<br />
<p id="suggest-container"></p>
<script>
var blogurl = "{{ page.url }}";
var suggest = $("#suggest-container")[0];
suggest.innerHTML = "Loading...";
$.get(BlogAPI + "/suggest?id=" + blogurl + "&update=" + lastUpdated.valueOf(), function (data) {
if (data.length) {
getSearchJSON(function (search) {
suggest.innerHTML = '<b>推荐文章</b><hr style="margin: 0 0 5px"/>';
const searchMap = new Map(search.map(item => [item.url, item]));
const merged = data.map(suggestObj => {
const searchObj = searchMap.get(suggestObj.id);
return searchObj ? { ...searchObj } : null;
});
merged.forEach(element => {
if (element) {
suggest.innerHTML += "<a href=" + element.url + ">" + element.title + "</a> - " + element.date + "<br />";
}
});
});
} else {
suggest.innerHTML = "暂无推荐文章……";
}
});
</script>
<div class="pagination"> <div class="pagination">
{% if page.previous.url %} {% if page.previous.url %}
<span class="prev" > <span class="prev">
<a href="{{ site.baseurl }}{{ page.previous.url }}"> <a href="{{ site.baseurl }}{{ page.previous.url }}">
上一篇:{{ page.previous.title }} 上一篇:{{ page.previous.title }}
</a> </a>
</span> </span>
{% endif %} {% endif %}
<br /> <br />
{% if page.next.url %} {% if page.next.url %}
<span class="next" > <span class="next">
<a href="{{ site.baseurl }}{{ page.next.url }}"> <a href="{{ site.baseurl }}{{ page.next.url }}">
下一篇:{{ page.next.title }} 下一篇:{{ page.next.title }}
</a> </a>
</span> </span>
{% endif %} {% endif %}
</div> </div>
<!--[if !IE]> --> <!--[if !IE]> -->
<link rel="stylesheet" href="/css/gitalk.css"> <link rel="stylesheet" href="/css/gitalk.css">
<script src="/js/gitalk.min.js"></script> <script src="/js/gitalk.min.js"></script>
<div id="gitalk-container"></div> <div id="gitalk-container"></div>
<script> <script>
if (window.location.host != "mabbs.github.io") if (window.location.host != "mabbs.github.io") {
{ var gitalk = new Gitalk({
var gitalk = new Gitalk({ clientID: '098934a2556425f19d6e',
clientID: '098934a2556425f19d6e', clientSecret: '0bd44eed8425e5437ce43c4ba9b2791fbc04581d',
clientSecret: '0bd44eed8425e5437ce43c4ba9b2791fbc04581d', repo: 'mabbs.github.io',
repo: 'mabbs.github.io', owner: 'Mabbs',
owner: 'Mabbs', admin: ['Mabbs'],
admin: ['Mabbs'], id: '{{ page.id }}', // Ensure uniqueness and length less than 50
id: '{{ page.id }}', // Ensure uniqueness and length less than 50 distractionFreeMode: false, // Facebook-like distraction free mode
distractionFreeMode: false // Facebook-like distraction free mode proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
}) })
} }
else else {
{ var gitalk = new Gitalk({
var gitalk = new Gitalk({ clientID: '36557aec4c3cb04f7ac6',
clientID: '36557aec4c3cb04f7ac6', clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb', repo: 'mabbs.github.io',
repo: 'mabbs.github.io', owner: 'Mabbs',
owner: 'Mabbs', admin: ['Mabbs'],
admin: ['Mabbs'], id: '{{ page.id }}', // Ensure uniqueness and length less than 50
id: '{{ page.id }}', // Ensure uniqueness and length less than 50 distractionFreeMode: false, // Facebook-like distraction free mode
distractionFreeMode: false // Facebook-like distraction free mode proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
}) })
} }
gitalk.render('gitalk-container') gitalk.render('gitalk-container')
</script> </script>
<!-- <![endif]--> <!-- <![endif]-->

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

33
_posts/2023-10-21-game.md Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

213
_posts/2024-04-06-old-pc.md Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More