Skip to content

Commit

Permalink
Site updated: 2024-02-26 20:07:21
Browse files Browse the repository at this point in the history
  • Loading branch information
zunpan committed Feb 26, 2024
1 parent d6b0218 commit 30d8665
Show file tree
Hide file tree
Showing 156 changed files with 97,335 additions and 0 deletions.
693 changes: 693 additions & 0 deletions 2019/12/26/比特币的密码学原理/index.html

Large diffs are not rendered by default.

669 changes: 669 additions & 0 deletions 2019/12/26/比特币的数据结构/index.html

Large diffs are not rendered by default.

709 changes: 709 additions & 0 deletions 2019/12/27/比特币协议/index.html

Large diffs are not rendered by default.

729 changes: 729 additions & 0 deletions 2020/01/06/比特币实现/index.html

Large diffs are not rendered by default.

666 changes: 666 additions & 0 deletions 2020/01/06/比特币挖矿难度/index.html

Large diffs are not rendered by default.

656 changes: 656 additions & 0 deletions 2020/01/06/比特币网络/index.html

Large diffs are not rendered by default.

660 changes: 660 additions & 0 deletions 2020/01/07/比特币的分叉/index.html

Large diffs are not rendered by default.

676 changes: 676 additions & 0 deletions 2020/01/07/比特币的匿名性/index.html

Large diffs are not rendered by default.

744 changes: 744 additions & 0 deletions 2020/01/07/比特币的脚本/index.html

Large diffs are not rendered by default.

738 changes: 738 additions & 0 deletions 2020/01/08/以太坊/index.html

Large diffs are not rendered by default.

669 changes: 669 additions & 0 deletions 2020/01/18/MetaMask连接私有链发生的转账问题/index.html

Large diffs are not rendered by default.

695 changes: 695 additions & 0 deletions 2020/02/10/truffle部署合约到远程私有链/index.html

Large diffs are not rendered by default.

922 changes: 922 additions & 0 deletions 2022/05/06/Git学习笔记/index.html

Large diffs are not rendered by default.

1,037 changes: 1,037 additions & 0 deletions 2022/05/07/LeetCode刷题记录-cpp/index.html

Large diffs are not rendered by default.

773 changes: 773 additions & 0 deletions 2022/05/07/MIT-Missing-Semester学习笔记/index.html

Large diffs are not rendered by default.

700 changes: 700 additions & 0 deletions 2022/05/07/Maven学习笔记/index.html

Large diffs are not rendered by default.

666 changes: 666 additions & 0 deletions 2022/05/07/Maven问题记录/index.html

Large diffs are not rendered by default.

697 changes: 697 additions & 0 deletions 2022/05/13/基于区块链的安全电子选举系统/index.html

Large diffs are not rendered by default.

661 changes: 661 additions & 0 deletions 2022/05/23/2022-5-23-某区块链公司面试记录/index.html

Large diffs are not rendered by default.

1,923 changes: 1,923 additions & 0 deletions 2022/06/04/CryptographyⅠ笔记/index.html

Large diffs are not rendered by default.

688 changes: 688 additions & 0 deletions 2022/06/22/跨域问题/index.html

Large diffs are not rendered by default.

1,153 changes: 1,153 additions & 0 deletions 2022/06/23/Effective-Java学习笔记(一)/index.html

Large diffs are not rendered by default.

871 changes: 871 additions & 0 deletions 2022/06/30/Effective-Java学习笔记(二)/index.html

Large diffs are not rendered by default.

825 changes: 825 additions & 0 deletions 2022/07/07/Effective-Java学习笔记(三)/index.html

Large diffs are not rendered by default.

1,075 changes: 1,075 additions & 0 deletions 2022/07/14/Effective-Java学习笔记(四)/index.html

Large diffs are not rendered by default.

841 changes: 841 additions & 0 deletions 2022/07/23/Effective-Java学习笔记(五)/index.html

Large diffs are not rendered by default.

831 changes: 831 additions & 0 deletions 2022/07/30/Effective-Java学习笔记(六)/index.html

Large diffs are not rendered by default.

811 changes: 811 additions & 0 deletions 2022/08/01/Effective-Java学习笔记(七)/index.html

Large diffs are not rendered by default.

869 changes: 869 additions & 0 deletions 2022/08/06/Effective-Java学习笔记(八)/index.html

Large diffs are not rendered by default.

864 changes: 864 additions & 0 deletions 2022/08/13/Effective-Java学习笔记(九)/index.html

Large diffs are not rendered by default.

668 changes: 668 additions & 0 deletions 2022/12/03/2022.06-2022.11实习总结/index.html

Large diffs are not rendered by default.

1,386 changes: 1,386 additions & 0 deletions 2023/01/13/Java并发编程实战学习笔记/index.html

Large diffs are not rendered by default.

2,241 changes: 2,241 additions & 0 deletions 2023/02/01/MySQL实战45讲学习笔记/index.html

Large diffs are not rendered by default.

754 changes: 754 additions & 0 deletions 2023/03/03/Excel比对与合并系统/index.html

Large diffs are not rendered by default.

1,136 changes: 1,136 additions & 0 deletions 2023/06/10/深入理解Java虚拟机学习笔记/index.html

Large diffs are not rendered by default.

574 changes: 574 additions & 0 deletions 404.html

Large diffs are not rendered by default.

541 changes: 541 additions & 0 deletions about/index.html

Large diffs are not rendered by default.

479 changes: 479 additions & 0 deletions archives/2019/12/index.html

Large diffs are not rendered by default.

479 changes: 479 additions & 0 deletions archives/2019/index.html

Large diffs are not rendered by default.

529 changes: 529 additions & 0 deletions archives/2020/01/index.html

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions archives/2020/02/index.html

Large diffs are not rendered by default.

539 changes: 539 additions & 0 deletions archives/2020/index.html

Large diffs are not rendered by default.

519 changes: 519 additions & 0 deletions archives/2022/05/index.html

Large diffs are not rendered by default.

489 changes: 489 additions & 0 deletions archives/2022/06/index.html

Large diffs are not rendered by default.

489 changes: 489 additions & 0 deletions archives/2022/07/index.html

Large diffs are not rendered by default.

479 changes: 479 additions & 0 deletions archives/2022/08/index.html

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions archives/2022/12/index.html

Large diffs are not rendered by default.

575 changes: 575 additions & 0 deletions archives/2022/index.html

Large diffs are not rendered by default.

565 changes: 565 additions & 0 deletions archives/2022/page/2/index.html

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions archives/2023/01/index.html

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions archives/2023/02/index.html

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions archives/2023/03/index.html

Large diffs are not rendered by default.

459 changes: 459 additions & 0 deletions archives/2023/06/index.html

Large diffs are not rendered by default.

489 changes: 489 additions & 0 deletions archives/2023/index.html

Large diffs are not rendered by default.

593 changes: 593 additions & 0 deletions archives/index.html

Large diffs are not rendered by default.

575 changes: 575 additions & 0 deletions archives/page/2/index.html

Large diffs are not rendered by default.

593 changes: 593 additions & 0 deletions archives/page/3/index.html

Large diffs are not rendered by default.

543 changes: 543 additions & 0 deletions archives/page/4/index.html

Large diffs are not rendered by default.

578 changes: 578 additions & 0 deletions atom.xml

Large diffs are not rendered by default.

604 changes: 604 additions & 0 deletions books/index.html

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions categories/Git/index.html

Large diffs are not rendered by default.

576 changes: 576 additions & 0 deletions categories/Java/index.html

Large diffs are not rendered by default.

512 changes: 512 additions & 0 deletions categories/Java/page/2/index.html

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions categories/Linux/index.html

Large diffs are not rendered by default.

486 changes: 486 additions & 0 deletions categories/Maven/index.html

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions categories/MySQL/index.html

Large diffs are not rendered by default.

923 changes: 923 additions & 0 deletions categories/index.html

Large diffs are not rendered by default.

576 changes: 576 additions & 0 deletions categories/区块链/index.html

Large diffs are not rendered by default.

520 changes: 520 additions & 0 deletions categories/区块链/page/2/index.html

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions categories/基础知识/index.html

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions categories/密码学/index.html

Large diffs are not rendered by default.

486 changes: 486 additions & 0 deletions categories/杂项/index.html

Large diffs are not rendered by default.

478 changes: 478 additions & 0 deletions categories/算法/index.html

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions content.json

Large diffs are not rendered by default.

9,213 changes: 9,213 additions & 0 deletions css/style.css

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions css/style.min.css

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions css/vs2015.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/* highlight.js: vs2015.css */
.hljs {
/* 其余部分略 */
background: #1e1e1e;
}

/* Material Theme: style.css*/
#post-content pre {
/* 其余部分略 */
background-color: #f7f7f7;
}

/* 在config_css.ejs中加入的内容,使用!important提高优先级 */
/* 如果不使用公用CDN库,可以直接修改CSS文件 */
pre {
background-color: #1e1e1e !important;
font-size: 15px !important;
}

.hljs {
margin: 0 0 0 0 !important;
padding-left: 0 !important;
line-height: 1.5em !important;
}

/* (可选)把highlight.js主题加入的斜体去掉,Visual Studio的注释并不是斜体啊喂! */
.hljs-comment {
font-style: normal;
}
Binary file added favicon.ico
Binary file not shown.
8 changes: 8 additions & 0 deletions fonts/README.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<h1 id="font-assets"><a class="markdownIt-Anchor" href="#font-assets"></a> Font Assets</h1>
<p>If you are providing web font files, this is the place to put them. The fonts task will copy them over to the destination specified in <code>config.json</code>, and file names will be reved in production builds (if enabled).</p>
<p>If you don’t plan using web fonts, or are relying on an external service like Google Fonts, feel free to delete this folder and the <code>tasks.fonts</code> config in <code>gulpfile.js/config.json</code>.</p>
<h3 id="tasks-and-files"><a class="markdownIt-Anchor" href="#tasks-and-files"></a> Tasks and Files</h3>
<pre class="highlight"><code class="">gulpfile.js/tasks/fonts
</code></pre>
<p>All this task does is copy fonts from <code>./src/fonts</code> to <code>./public/fonts</code>.</p>
<p>A sass <code>+font-face</code> mixin is included in <code>./src/stylesheets/base/mixins</code>.</p>
Binary file added fonts/iconfont.eot
Binary file not shown.
321 changes: 321 additions & 0 deletions fonts/iconfont.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added fonts/iconfont.ttf
Binary file not shown.
Binary file added fonts/iconfont.woff
Binary file not shown.
File renamed without changes.
Binary file added images/avatar.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/donate/alipayimg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/donate/wechatpayimg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/favatar/SzsFox-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/favatar/chuangzaoshi-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/favatar/idesign-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/favicon.ico
Binary file not shown.
Binary file added images/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/thumb-default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/xingqiu-qrcode.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
892 changes: 892 additions & 0 deletions index.html

Large diffs are not rendered by default.

77 changes: 77 additions & 0 deletions js/application.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
$(function() {
// bootstrap tooltip
$('[data-toggle="tooltip"]').tooltip();

// slimscroll
if (typeof $.fn.slimScroll != 'undefined') {
$(".sidebar .slimContent").slimScroll({
height: $(window).height(),
color: "rgba(0,0,0,0.15)",
size: "5px",
position: 'right',
// allowPageScroll: true
});
}

$('#collapseToc').on('shown.bs.collapse', function() {
// do something…
// slimscroll
if (typeof $.fn.slimScroll != 'undefined') {
$(".sidebar .slimContent").slimScroll().on('slimscroll');
}
});

// geopattern 背景生成
$(".geopattern").each(function() {
$(this).geopattern($(this).data('pattern-id'));
});

// okayNav
var navigation = $('#nav-main').okayNav({
swipe_enabled: false, // If true, you'll be able to swipe left/right to open the navigation
});

// modal居中
// $('.modal').on('shown.bs.modal', function(e) {
// $(this).show();
// var modalDialog = $(this).find(".modal-dialog");
// // Applying the top margin on modal dialog to align it vertically center
// modalDialog.css("margin-top", Math.max(0, ($(window).height() - modalDialog.height()) / 2));
// });

// sticky
$('[data-stick-bottom]').keepInView({
fixed: false,
parentClass: "has-sticky",
customClass: "sticky",
trigger: 'bottom',
zindex: 42,
edgeOffset: 0
});

$('[data-stick-top]').keepInView({
fixed: true,
parentClass: "has-sticky",
customClass: "sticky",
trigger: 'top',
zindex: 42,
edgeOffset: 0
});

// menu auto highlight
var menuHighlight = $("ul.main-nav").hasClass('menu-highlight');
if (menuHighlight) {
var currentPathname = location.pathname,
$menuList = $("ul.main-nav>li"),
activeIndex = -1;
for (var i = 0, length = $menuList.length; i < length; i++) {
var itemHref = $($menuList[i]).find('a').attr('href');
if (currentPathname.indexOf(itemHref) > -1 ||
(currentPathname === '/' && (itemHref === '/.' || itemHref === '/' || itemHref === 'index.html' || itemHref === '/index.html'))) {
activeIndex = i;
}
$($menuList[i]).removeClass('active');
}
$menuList[activeIndex] && $($menuList[activeIndex]).addClass('active');
}
});
1 change: 1 addition & 0 deletions js/application.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

240 changes: 240 additions & 0 deletions js/insight.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
/**
* Insight search plugin
* @author PPOffice { @link https://github.com/ppoffice }
*/
(function ($, CONFIG) {
var $main = $('.ins-search');
var $input = $main.find('.ins-search-input');
var $wrapper = $main.find('.ins-section-wrapper');
var $container = $main.find('.ins-section-container');
$main.parent().remove('.ins-search');
$('body').append($main);

function section (title) {
return $('<section>').addClass('ins-section')
.append($('<header>').addClass('ins-section-header').text(title));
}

function searchItem (icon, title, slug, preview, url) {
return $('<div>').addClass('ins-selectable').addClass('ins-search-item')
.append($('<header>').append($('<i>').addClass('icon').addClass('icon-' + icon)).append(title != null && title != '' ? title : CONFIG.TRANSLATION['UNTITLED'])
.append(slug ? $('<span>').addClass('ins-slug').text(slug) : null))
.append(preview ? $('<p>').addClass('ins-search-preview').text(preview) : null)
.attr('data-url', url);
}

function sectionFactory (type, array) {
var sectionTitle;
var $searchItems;
if (array.length === 0) return null;
sectionTitle = CONFIG.TRANSLATION[type];
switch (type) {
case 'POSTS':
case 'PAGES':
$searchItems = array.map(function (item) {
// Use config.root instead of permalink to fix url issue
return searchItem('file', item.title, null, item.text.slice(0, 150), CONFIG.ROOT_URL + item.path);
});
break;
case 'CATEGORIES':
case 'TAGS':
$searchItems = array.map(function (item) {
return searchItem(type === 'CATEGORIES' ? 'folder' : 'tag', item.name, item.slug, null, item.permalink);
});
break;
default:
return null;
}
return section(sectionTitle).append($searchItems);
}

function extractToSet (json, key) {
var values = {};
var entries = json.pages.concat(json.posts);
entries.forEach(function (entry) {
if (entry[key]) {
entry[key].forEach(function (value) {
values[value.name] = value;
});
}
});
var result = [];
for (var key in values) {
result.push(values[key]);
}
return result;
}

function parseKeywords (keywords) {
return keywords.split(' ').filter(function (keyword) {
return !!keyword;
}).map(function (keyword) {
return keyword.toUpperCase();
});
}

/**
* Judge if a given post/page/category/tag contains all of the keywords.
* @param Object obj Object to be weighted
* @param Array<String> fields Object's fields to find matches
*/
function filter (keywords, obj, fields) {
var result = false;
var keywordArray = parseKeywords(keywords);
var containKeywords = keywordArray.filter(function (keyword) {
var containFields = fields.filter(function (field) {
if (!obj.hasOwnProperty(field))
return false;
if (obj[field].toUpperCase().indexOf(keyword) > -1)
return true;
});
if (containFields.length > 0)
return true;
return false;
});
return containKeywords.length === keywordArray.length;
}

function filterFactory (keywords) {
return {
POST: function (obj) {
return filter(keywords, obj, ['title', 'text']);
},
PAGE: function (obj) {
return filter(keywords, obj, ['title', 'text']);
},
CATEGORY: function (obj) {
return filter(keywords, obj, ['name', 'slug']);
},
TAG: function (obj) {
return filter(keywords, obj, ['name', 'slug']);
}
};
}

/**
* Calculate the weight of a matched post/page/category/tag.
* @param Object obj Object to be weighted
* @param Array<String> fields Object's fields to find matches
* @param Array<Integer> weights Weight of every field
*/
function weight (keywords, obj, fields, weights) {
var value = 0;
parseKeywords(keywords).forEach(function (keyword) {
var pattern = new RegExp(keyword, 'img'); // Global, Multi-line, Case-insensitive
fields.forEach(function (field, index) {
if (obj.hasOwnProperty(field)) {
var matches = obj[field].match(pattern);
value += matches ? matches.length * weights[index] : 0;
}
});
});
return value;
}

function weightFactory (keywords) {
return {
POST: function (obj) {
return weight(keywords, obj, ['title', 'text'], [3, 1]);
},
PAGE: function (obj) {
return weight(keywords, obj, ['title', 'text'], [3, 1]);
},
CATEGORY: function (obj) {
return weight(keywords, obj, ['name', 'slug'], [1, 1]);
},
TAG: function (obj) {
return weight(keywords, obj, ['name', 'slug'], [1, 1]);
}
};
}

function search (json, keywords) {
var WEIGHTS = weightFactory(keywords);
var FILTERS = filterFactory(keywords);
var posts = json.posts;
var pages = json.pages;
var tags = extractToSet(json, 'tags');
var categories = extractToSet(json, 'categories');
return {
posts: posts.filter(FILTERS.POST).sort(function (a, b) { return WEIGHTS.POST(b) - WEIGHTS.POST(a); }).slice(0, 5),
pages: pages.filter(FILTERS.PAGE).sort(function (a, b) { return WEIGHTS.PAGE(b) - WEIGHTS.PAGE(a); }).slice(0, 5),
categories: categories.filter(FILTERS.CATEGORY).sort(function (a, b) { return WEIGHTS.CATEGORY(b) - WEIGHTS.CATEGORY(a); }).slice(0, 5),
tags: tags.filter(FILTERS.TAG).sort(function (a, b) { return WEIGHTS.TAG(b) - WEIGHTS.TAG(a); }).slice(0, 5)
};
}

function searchResultToDOM (searchResult) {
$container.empty();
for (var key in searchResult) {
$container.append(sectionFactory(key.toUpperCase(), searchResult[key]));
}
}

function scrollTo ($item) {
if ($item.length === 0) return;
var wrapperHeight = $wrapper[0].clientHeight;
var itemTop = $item.position().top - $wrapper.scrollTop();
var itemBottom = $item[0].clientHeight + $item.position().top;
if (itemBottom > wrapperHeight + $wrapper.scrollTop()) {
$wrapper.scrollTop(itemBottom - $wrapper[0].clientHeight);
}
if (itemTop < 0) {
$wrapper.scrollTop($item.position().top);
}
}

function selectItemByDiff (value) {
var $items = $.makeArray($container.find('.ins-selectable'));
var prevPosition = -1;
$items.forEach(function (item, index) {
if ($(item).hasClass('active')) {
prevPosition = index;
return;
}
});
var nextPosition = ($items.length + prevPosition + value) % $items.length;
$($items[prevPosition]).removeClass('active');
$($items[nextPosition]).addClass('active');
scrollTo($($items[nextPosition]));
}

function gotoLink ($item) {
if ($item && $item.length) {
location.href = $item.attr('data-url');
}
}

$.getJSON(CONFIG.CONTENT_URL, function (json) {
if (location.hash.trim() === '#ins-search') {
$main.addClass('show');
}
$input.on('input', function () {
var keywords = $(this).val();
searchResultToDOM(search(json, keywords));
});
$input.trigger('input');
});


$(document).on('click focus', '.search-form-input', function () {
$main.addClass('show');
$main.find('.ins-search-input').focus();
}).on('click', '.ins-search-item', function () {
gotoLink($(this));
}).on('click', '.ins-close', function () {
$main.removeClass('show');
}).on('keydown', function (e) {
if (!$main.hasClass('show')) return;
switch (e.keyCode) {
case 27: // ESC
$main.removeClass('show'); break;
case 38: // UP
selectItemByDiff(-1); break;
case 40: // DOWN
selectItemByDiff(1); break;
case 13: //ENTER
gotoLink($container.find('.ins-selectable.active').eq(0)); break;
}
});
})(jQuery, window.INSIGHT_CONFIG);
5 changes: 5 additions & 0 deletions js/jquery.min.js

Large diffs are not rendered by default.

Loading

0 comments on commit 30d8665

Please sign in to comment.