闂鏄繖鏍风殑锛氫粖澶╂兂鍘荤敵璇蜂竴涓闂畉witter鐨勫紑鍙戣€卆pi鏉冮檺锛屼絾鏄渶鍚庝竴姝ョ‘璁ら偖浠讹紝缃戞槗閭鏀朵笉鍒?/p>
鍥犱负鎴戠殑twitter璐﹀彿鏄綉鏄?63閭锛宼witter鍙戦獙璇佺爜锛岄偖绠遍兘鑳芥甯告敹鍒帮紝浠ヤ负娌¢棶棰橈紝璋佺煡閬撳湪鏈€鍚庝竴姝?/p>
twitter浼氬彂涓€涓‘璁ら偖浠跺埌缃戞槗閭锛岀劧鍚庝粠閭鐐瑰嚮纭锛屼絾鏄垜缈婚亶浜嗛偖绠遍兘娌℃壘鍒扮‘璁ら偖浠讹紝閲嶆柊鍙戦€佷篃杩樻槸鎼滀笉鍒帮紝15鍒嗛挓鎵嶈兘鍙戜竴娆★紝鎼炰簡濂介暱鏃堕棿杩樻槸娌℃湁
聽
瑙e喅鏂规硶锛氬叾瀹炴病鏈夎в鍐筹紝鎴戝彧鑳戒娇鐢╣mail鍙堟敞鍐屼簡涓€涓处鍙峰幓鐢宠
gmail灏辨甯哥殑鏀跺埌浜嗛偖浠讹紝閭欢濡備笅锛岀偣鍑荤‘璁わ紝绛夊緟瀹℃牳灏卞ソ浜?/p>
闄勪笂鐢宠twitter寮€鍙戣€呮潈闄愮殑鍦板潃锛歨ttps://apps.twitter /
涓汉鍗氬
缃戦〉棰勮锛歨ttps://benn314.github.io/
hexo-next 鏄竴娆炬垜寰堝枩娆㈢殑涓婚锛屽竷灞€绠€绾︼紝寰堥€傚悎鐢ㄤ簬鎼厤 live-2d 鍜?缃戞牸鍔ㄧ敾锛屾墦閫犲睘浜庤嚜宸辩殑涓汉鍗氬銆傚崥瀹㈢洰鍓嶉儴缃蹭簬 github pages
鐩稿叧github浠撳簱
github /benn314/benn314.github.io鍗氬婧愮爜
浣跨敤宸ュ叿锛歂ode.js銆乂scode銆丟it
1 瀹夎hexo
鏂板缓 blog 鏂囦欢澶癸紝杩涘叆姝ょ洰褰曚笅
瀹夎hexo鑴氭墜鏋?/p>
npm install -g hexo-cli
鍒濆鍖朒exo
hexo init
涓嬭浇 next 涓婚锛?/p>
cd themes
git clone github /theme-next/hexo-theme-next
鎴栬€?鍒?next 鐨?github 浠撳簱涓嬭浇鍘嬬缉鍖呮坊鍔?themes 鐩綍涓嬪苟閲嶅懡鍚嶄负 hexo-theme-next
鍚姩鏈湴鏈嶅姟鏌ョ湅
hexo s
common instruction
hexo clean锛氭竻闄?public 闈欐€佺洰褰昲exo s锛氭湰鍦板惎鍔ㄩ粯璁ゆ寚瀹?4000 绔彛棰勮 (s 鏄?server 鏄缉鍐?涔熷氨鏄惎鍔?hexo 鏈嶅姟)hexo g锛氱敓鎴?public 闈欐€佺洰褰昲exo d锛?閮ㄧ讲
鍦?hexo 涓湁涓や唤涓昏鐨勯厤缃枃浠讹紝鍏跺悕绉伴兘鏄?_config.yml
绔欑偣閰嶇疆鏂囦欢锛氫綅浜庣珯鐐规牴鐩綍涓嬶紙/_config.yml锛夛紝涓昏鍖呭惈 hexo 鏈韩鐨勭珯鐐归厤缃富棰橀厤缃枃浠讹細浣嶄簬涓婚鐩綍涓嬶紙themes/hexo-theme-next/_config.yml锛夛紝杩欎唤閰嶇疆鐢变富棰樹綔鑰呮彁渚涳紝涓昏鐢ㄤ簬閰嶇疆涓婚鐩稿叧鐨勯€夐」
鈥?/p>
2 涓婚(gemini)
涓婚閰嶇疆鏂囦欢
# schemes
# scheme: muse
# scheme: mist
# scheme: pisces
scheme: gemini
鈥?/p>
3 閰嶇疆menu
绔欑偣閰嶇疆鏂囦欢
# site
title: ben's blog
subtitle: "code builds world !"
description: "娆㈣繋鏉ュ埌鎴戠殑涓栫晫馃挏"
keywords:
author: ben
language: zh-cn
timezone: "asia/shanghai"
涓婚閰嶇疆鏂囦欢
# usage: `key: /link/ || icon`
# key is the name of menu item. if the translation for this item is available, the translated text will be loaded, otherwise the key name will be used. key is case-sensitive.
# value before `||` delimiter is the target link, value after `||` delimiter is the name of font awesome icon.
# external url should start with or
menu:
home: / || fa fa-home
about: /about/ || fa fa-user
tags: /tags/ || fa fa-tags
categories: /categories/ || fa fa-th
archives: /archives/ || fa fa-archive
# schedule: /schedule/ || fa fa-calendar
# sitemap: /sitemap.xml || fa fa-sitemap
#commonweal: /404/ || fa fa-heartbeat
# enable / disable menu icons / item badges.
menu_settings:
icons: true # 鏄惁鏄剧ず鍚勪釜椤甸潰鐨勫浘鏍?/p>
badges: false # 鏄惁鏄剧ず鍒嗙被/鏍囩/褰掓。椤电殑鍐呭閲?/p>
鈥?/p>
4 闅愯棌缃戦〉搴曢儴 powered by hexo / 寮哄姏椹卞姩
鍏ㄥ眬鎼滅储骞舵敞閲婃帀鐩稿簲浠g爜鍗冲彲
鈥?/p>
5 閰嶇疆浠g爜鍧楅珮浜鏍?/p>
highlight 鍜?prismjs 鏄袱绉嶄唬鐮佸潡椋庢牸锛岀幇鍦?highlight 鏄富娴侊紝涓斾簩鑰呭彧鑳藉紑鍚叾涓€
绔欑偣閰嶇疆鏂囦欢
highlight:
enable: true #鏄惁寮€鍚唬鐮侀珮浜?/p>
line_number: true #鏄惁澧炲姞浠g爜琛屽彿
auto_detect: true #鑷姩鍒ゆ柇浠g爜璇█
tab_replace: ""
wrap: true
hljs: false
prismjs:
enable: false
preprocess: true
line_number: true
tab_replace: ""
涓婚閰嶇疆鏂囦欢
codeblock:
# code highlight theme
# all available themes: theme-next.js.org/highlight/
theme:
# light: github-dark
light: github-dark
dark: github-dark
prism:
light: prism
dark: prism-dark
# add copy button on codeblock
copy_button: # 涓€閿鍒?/p>
enable: true
# available values: default | flat | mac
style: mac
澶嶅埗鎸夐挳鎴戦€夋嫨浜?mac 椋庢牸锛岀‘瀹炴槸濂界湅馃槃
鍙湪 theme-next.js.org/highlight/ 涓煡鐪嬪悇涓唬鐮侀鏍间富棰橈紝閫夋嫨鑷繁鍠滄鐨勪唬鐮侀鏍?/p>
鈥?/p>
6 鏂囩珷娣诲姞闃村奖
blog\themes\hexo-theme-next\source\css_common\components\post\index.styl
if (hexo-config('motion.transition.post_block')) {
.post-block {
visibility: hidden;
margin-top: 60px;
margin-bottom: 60px;
padding: 25px;
border-radius: 20px 20px 20px 20px;
-webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5);
-moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5);
}
.pagination, ments {
visibility: hidden;
}
}
鈥?/p>
7 鏄剧ず褰撳墠娴忚杩涘害
涓婚閰嶇疆鏂囦欢
back2top:
enable: true
# back to top in sidebar.
sidebar: true
# scroll percent label in b2t button.
scrollpercent: true
鈥?/p>
8 鏂囩珷鍒嗕韩鍔熻兘
绛夋湁浜嗗煙鍚嶄互鍚庢墠鑳藉湪addthis涓厤缃?/p>
鈥?/p>
9 local search鏈湴鎼滅储
瀹夎鎻掍欢 hexo-generator-searchdb锛屾墽琛屼互涓嬪懡浠?
npm install hexo-generator-searchdb --save
淇敼 hexo/_config.yml 绔欑偣閰嶇疆鏂囦欢锛屾柊澧炰互涓嬪唴瀹瑰埌鏈熬浣嶇疆锛?/p>
search:
path: search.xml
field: post
format: html
limit: 10000
淇敼 涓婚閰嶇疆鏂囦欢锛屽惎鐢ㄦ湰鍦版悳绱㈠姛鑳斤細
# local search
local_search:
enable: true
鈥?/p>
10 璁剧疆favicon.ico鍥炬爣
鍦?easyicon 涓壘涓€寮狅紙32 * 32锛夌殑 ico 鍥炬爣锛屾垨鑰呭幓鍒殑缃戠珯涓嬭浇鎴栬€呭埗浣滐紝骞跺皢鍥炬爣鍚嶇о鏀逛负 favicon.ico锛岀劧鍚庢妸鍥炬爣鏀惧湪 /themes/next/source/images 閲岋紝骞朵笖淇敼涓婚閰嶇疆鏂囦欢锛?/p>
favicon:
small: /images/favicon-16x16-next.png
medium: /images/favicon-32x32-next.png
apple_touch_icon: /images/apple-touch-icon-next.png
safari_pinned_tab: /images/logo.svg
#android_manifest: /manifest.json
娌℃壘鍒版弧鎰忕殑 鎵€浠ヨ繕鏄敤瀹樻柟榛樿鐨勫浘鏍囸煒?/p>
鈥?/p>
11 淇敼鏂囩珷搴曢儴鐨?鍙风殑鏍囩
鏂扮増鏈殑next鏃犻渶淇敼
鈥?/p>
12 澧炲姞鏂囩珷瀛楁暟缁熻鍜岄槄璇绘椂闀?/p>
瀹夎 hexo-word-counter 鎻掍欢
npm install hexo-word-counter
绔欑偣閰嶇疆鏂囦欢
# 澧炲姞鏂囩珷瀛楁暟缁熻鍙婇槄璇绘椂闀垮姛鑳?/p>
symbols_count_time:
symbols: true
time: true
total_symbols: true
total_time: true
exclude_codeblock: false
wpm: 275
suffix: "mins."
鈥?/p>
13 闃呰鍏ㄦ枃
鐩存帴鍦ㄦ枃绔犱腑娣诲姞 鏉ョ簿纭帶鍒舵憳瑕佸唴瀹癸紝鍗虫帶鍒?read more锛堥槄璇诲叏鏂囷級 鐨勪綅缃?/p>
鎴戜滑鍙互娣诲姞鍓嶈█寮曠敤鏉ュ鏂囩珷杩涜鎬荤粨鎻愮偧 璇︽儏鍙偣鍑婚槄璇诲叏鏂噡
鈥?/p>
14 娣诲姞浣滆€呭ご鍍?/p>
杩涘叆涓婚閰嶇疆鏂囦欢锛屾壘鍒颁笅闈㈣繖琛?/p>
avatar:
# replace the default image and set the url here.
url: /images/avatar.gif
涓婁紶鑷畾涔夌殑鍥剧墖鍒颁笅鍒楃洰褰曪細/themes/next/source/images/锛屾洿鏀?avatar 璺緞瀹屾垚锛?/p>
# sidebar avatar
avatar:
# replace the default image and set the url here.
url: /images/ben.jpg
rounded: true # 璁剧疆澶村儚涓哄渾褰㈡樉绀?/p>
rotated: true # 褰撻紶鏍囬€変腑澶村儚鍚?澶村儚浼氭棆杞竴鍛?/p>
鈥?/p>
15 淇敼鍔犺浇鍔ㄧ敾
鍏ㄥ眬鎼滅储 pace 鐒跺悗璁剧疆 pace: true 寮€鍚?/p>
pace:
enable: true
# all available colors:
# black | blue | green | orange | pink | purple | red | silver | white | yellow
color: blue
# all available themes:
# big-counter | bounce | barber-shop | center-atom | center-circle | center-radar | center-simple
# corner-indicator | fill-left | flat-top | flash | loading-bar | mac-osx | material | minimal
theme: bounce
鈥?/p>
16 娣诲姞鏈珯杩愯鏃堕棿
淇敼 /blog/themes/next/layout/_partials/footer.njk 鏂囦欢锛屽湪鏈熬鍔犲叆濡備笅浠g爜锛?/p>
杞藉叆澶╂暟...
鈥?/p>
17 榧犳爣鐐瑰嚮鍔ㄧ敾
鐖卞績鐗规晥
鍦?/themes/next/source/js/ 涓嬫柊寤烘枃浠?clicklove.js 骞舵坊鍔犱唬鐮侊細
!function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e
鍦?\themes\next\layout_layout.njk 鏂囦欢鏈熬娣诲姞锛?/p>
鐑熻姳鍔ㄧ敾
鍦?themes/next/source/js/ 閲岄潰鏂板缓鏂囦欢 fireworks.js 骞舵坊鍔犱唬鐮侊細
"use strict"; function updatecoords(e) { pointerx = (e.clientx || e.touches[0].clientx) - canvasel.getboundingclientrect().left, pointery = e.clienty || e.touches[0].clienty - canvasel.getboundingclientrect() } function setparticuledirection(e) { var t = anime.random(0, 360) * math.pi / 180, a = anime.random(50, 180), n = [-1, 1][anime.random(0, 1)] * a; return { x: e.x n * math.cos(t), y: e.y n * math.sin(t) } } function createparticule(e, t) { var a = {}; return a.x = e, a.y = t, a.color = colors[anime.random(0, colors.length - 1)], a.radius = anime.random(16, 32), a.endpos = setparticuledirection(a), a.draw = function () { ctx.beginpath(), ctx.arc(a.x, a.y, a.radius, 0, 2 * math.pi, !0), ctx.fillstyle = a.color, ctx.fill() }, a } function createcircle(e, t) { var a = {}; return a.x = e, a.y = t, a.color = "#f00", a.radius = 0.1, a.alpha = 0.5, a.linewidth = 6, a.draw = function () { ctx.globalalpha = a.alpha, ctx.beginpath(), ctx.arc(a.x, a.y, a.radius, 0, 2 * math.pi, !0), ctx.linewidth = a.linewidth, ctx.strokestyle = a.color, ctx.stroke(), ctx.globalalpha = 1 }, a } function renderparticule(e) { for (var t = 0; t < e.animatables.length; t ) { e.animatables[t].target.draw() } } function animateparticules(e, t) { for (var a = createcircle(e, t), n = [], i = 0; i < numberofparticules; i ) { n.push(createparticule(e, t)) } anime.timeline().add({ targets: n, x: function (e) { return e.endpos.x }, y: function (e) { return e.endpos.y }, radius: 0.1, duration: anime.random(1200, 1800), easing: "easeoutexpo", update: renderparticule }).add({ targets: a, radius: anime.random(80, 160), linewidth: 0, alpha: { value: 0, easing: "linear", duration: anime.random(600, 800) }, duration: anime.random(1200, 1800), easing: "easeoutexpo", update: renderparticule, offset: 0 }) } function debounce(e, t) { var a; return function () { var n = this, i = arguments; cleartimeout(a), a = settimeout(function () { e.apply(n, i) }, t) } } var canvasel = document.queryselector(".fireworks"); if (canvasel) { var ctx = canvasel.getcontext("2d"), numberofparticules = 30, pointerx = 0, pointery = 0, tap = "mousedown", colors = ["#ff1461", "#18ff92", "#5a87ff", "#fbf38c"], setcanvassize = debounce(function () { canvasel.width = 2 * window.innerwidth, canvasel.height = 2 * window.innerheight, canvasel.style.width = window.innerwidth "px", canvasel.style.height = window.innerheight "px", canvasel.getcontext("2d").scale(2, 2) }, 500), render = anime({ duration: 1 / 0, update: function () { ctx.clearrect(0, 0, canvasel.width, canvasel.height) } }); document.addeventlistener(tap, function (e) { "sidebar" !== e.target.id && "toggle-sidebar" !== e.target.id && "a" !== e.target.nodename && "img" !== e.target.nodename && (render.play(), updatecoords(e), animateparticules(pointerx, pointery)) }, !1), setcanvassize(), window.addeventlistener("resize", setcanvassize, !1) } "use strict"; function updatecoords(e) { pointerx = (e.clientx || e.touches[0].clientx) - canvasel.getboundingclientrect().left, pointery = e.clienty || e.touches[0].clienty - canvasel.getboundingclientrect() } function setparticuledirection(e) { var t = anime.random(0, 360) * math.pi / 180, a = anime.random(50, 180), n = [-1, 1][anime.random(0, 1)] * a; return { x: e.x n * math.cos(t), y: e.y n * math.sin(t) } } function createparticule(e, t) { var a = {}; return a.x = e, a.y = t, a.color = colors[anime.random(0, colors.length - 1)], a.radius = anime.random(16, 32), a.endpos = setparticuledirection(a), a.draw = function () { ctx.beginpath(), ctx.arc(a.x, a.y, a.radius, 0, 2 * math.pi, !0), ctx.fillstyle = a.color, ctx.fill() }, a } function createcircle(e, t) { var a = {}; return a.x = e, a.y = t, a.color = "#f00", a.radius = 0.1, a.alpha = 0.5, a.linewidth = 6, a.draw = function () { ctx.globalalpha = a.alpha, ctx.beginpath(), ctx.arc(a.x, a.y, a.radius, 0, 2 * math.pi, !0), ctx.linewidth = a.linewidth, ctx.strokestyle = a.color, ctx.stroke(), ctx.globalalpha = 1 }, a } function renderparticule(e) { for (var t = 0; t < e.animatables.length; t ) { e.animatables[t].target.draw() } } function animateparticules(e, t) { for (var a = createcircle(e, t), n = [], i = 0; i < numberofparticules; i ) { n.push(createparticule(e, t)) } anime.timeline().add({ targets: n, x: function (e) { return e.endpos.x }, y: function (e) { return e.endpos.y }, radius: 0.1, duration: anime.random(1200, 1800), easing: "easeoutexpo", update: renderparticule }).add({ targets: a, radius: anime.random(80, 160), linewidth: 0, alpha: { value: 0, easing: "linear", duration: anime.random(600, 800) }, duration: anime.random(1200, 1800), easing: "easeoutexpo", update: renderparticule, offset: 0 }) } function debounce(e, t) { var a; return function () { var n = this, i = arguments; cleartimeout(a), a = settimeout(function () { e.apply(n, i) }, t) } } var canvasel = document.queryselector(".fireworks"); if (canvasel) { var ctx = canvasel.getcontext("2d"), numberofparticules = 30, pointerx = 0, pointery = 0, tap = "mousedown", colors = ["#ff1461", "#18ff92", "#5a87ff", "#fbf38c"], setcanvassize = debounce(function () { canvasel.width = 2 * window.innerwidth, canvasel.height = 2 * window.innerheight, canvasel.style.width = window.innerwidth "px", canvasel.style.height = window.innerheight "px", canvasel.getcontext("2d").scale(2, 2) }, 500), render = anime({ duration: 1 / 0, update: function () { ctx.clearrect(0, 0, canvasel.width, canvasel.height) } }); document.addeventlistener(tap, function (e) { "sidebar" !== e.target.id && "toggle-sidebar" !== e.target.id && "a" !== e.target.nodename && "img" !== e.target.nodename && (render.play(), updatecoords(e), animateparticules(pointerx, pointery)) }, !1), setcanvassize(), window.addeventlistener("resize", setcanvassize, !1) };
鎵撳紑 themes/next/layout/_layout.njk锛屽湪
閲屾坊鍔犲涓嬩唬鐮侊細{% if theme.fireworks %}
{% endif %}
鎵撳紑涓婚閰嶇疆鏂囦欢锛屾坊鍔狅細
# 榧犳爣鐐瑰嚮鍔ㄧ敾 fireworks
fireworks: true
鈥?/p>
18 鑳屾櫙鍔ㄧ敾
涓濆甫鑳屾櫙鍔ㄧ敾
# 涓濆甫鑳屾櫙鍔ㄧ敾
# generate a ribbon in your website with html5 canvas.
# for more information: github /hustcc/ribbon.js
canvas_ribbon: # 涓濆甫鑳屾櫙鍔ㄧ敾
enable: false
size: 300 # the width of the ribbon
alpha: 0.6 # the transparency of the ribbon
zindex: -1 # the display level of the ribbon
缃戞牸鑳屾櫙鍔ㄧ敾
鎵撳紑 next/layout/_layout.njk锛屽湪
鏍囩鍐呮坊鍔犱唬鐮?/p>{% if theme.canvas_nest %}
{% endif %}
杩欓噷鎬€鐤憇rc閲岀殑閾炬帴閰嶇疆鐨?count=99锛屾墍浠ヨ缃簡鍐呰仈寮?count=150锛堥粯璁や篃鏄?50锛? 璁剧疆鍚巆ount鐨勬暟閲忔槑鏄惧鍔?/p>
閰嶇疆椤?/p>
color锛氱嚎鏉¢鑹? 榛樿: 鈥?,0,0鈥?锛涗笁涓暟瀛楀垎鍒负(r,g,b)锛屾敞鎰忕敤, 鍒嗗壊opacity锛氱嚎鏉¢€忔槑搴︼紙0锝?锛夛紝榛樿 0.5count锛氱嚎鏉$殑鎬绘暟閲忥紝榛樿 150zindex锛氳儗鏅殑z-index灞炴€э紝css灞炴€х敤浜庢帶鍒舵墍鍦ㄥ眰鐨勪綅缃紝榛樿锛?1
鎵撳紑涓婚閰嶇疆鏂囦欢锛屾坊鍔犱互涓嬩唬鐮侊細
# canvas-nest
# dependencies: github /theme-next/theme-next-canvas-nest
# for more information: github /hustcc/canvas-nest.js
# canvas_nest
canvas_nest: true # 寮€鍚姩鐢?鑰佺増鐨勪笉鑳界敤enable: true
canvas_nest: false # 鍏抽棴鍔ㄧ敾
鈥?/p>
19 鏂囩珷缁撴潫鏍囧織
鍦ㄨ矾寰?\themes\next\layout\_macro 涓柊寤?passage-end-tag.swig 鏂囦欢,骞舵坊鍔犱互涓嬪唴瀹?/p>
{% if not is_index %}
{% endif %}
鎵撳紑 \themes\next\layout\_macro\post.njk 鏂囦欢锛屽湪post-body 涔嬪悗(end post body)锛宲ost-footer 涔嬪墠娣诲姞浠ヤ笅浠g爜锛?/p>
{% if not is_index %}
{% include 'passage-end-tag.swig' %}
{% endif %}
鈥?/p>
20 閰嶇疆live-2d妯″瀷
瀹夎 hexo-helper-live2d 鎻掍欢
npm install -save hexo-helper-live2d
杩欎釜榛樿鏄?shizuku 涓嶇敤閰嶇疆锛屽畨瑁呭悗鐩存帴鍦ㄧ珯鐐规樉绀猴紝浣嗗鏋滄兂瑕佹€ц兘浼樺寲锛岄厤缃ā鍨嬬浉鍏充俊鎭殑璇濓紝闇€瑕佸啀瀹夎 shizuku
鍦ㄧ珯鐐归厤缃枃浠朵腑娣诲姞鍙傛暟锛氾紙鎯宠閰嶇疆鍙傛暟鐨勮瘽锛岄渶瑕侀噸鏂颁笅杞戒笓闂ㄧ殑妯″瀷鍖咃級
live2d:
enable: true
scriptfrom: local
pluginrootpath: live2dw/
pluginjspath: lib/
pluginmodelpath: assets/
tagmode: false
log: false
model:
use: live2d-widget-model-<浣犲枩娆㈢殑妯″瀷鍚嶅瓧>
display:
position: right
# width: 150 # 澶у皬鏍规嵁妯″瀷缁撴瀯鑷繁璋冩暣鍚堥€傜殑
# height: 300
mobile:
show: true # 鏄惁鍦ㄦ墜鏈虹鏄剧ず
鍙緵閫夋嫨妯″瀷锛?/p>
live2d-widget-model-chitose
live2d-widget-model-epsilon2_1
live2d-widget-model-gf
live2d-widget-model-haru/01 (use npm install --save live2d-widget-model-haru)
live2d-widget-model-haru/02 (use npm install --save live2d-widget-model-haru)
live2d-widget-model-haruto
live2d-widget-model-hibiki
live2d-widget-model-hijiki
live2d-widget-model-izumi
live2d-widget-model-koharu
live2d-widget-model-miku
live2d-widget-model-ni-j
live2d-widget-model-nico
live2d-widget-model-nietzsche
live2d-widget-model-nipsilon
live2d-widget-model-nito
live2d-widget-model-shizuku
live2d-widget-model-tororo
live2d-widget-model-tsumiki
live2d-widget-model-unitychan
live2d-widget-model-wanko
live2d-widget-model-z16
涓婇潰妯″瀷鐨勯€夋嫨鍙湪lived2d涓€夋嫨锛屽苟涓嬭浇鐩稿簲鐨勬ā鍨嬶細锛堣繖閲屽厛閫夋嫨浜?wanko锛屼釜浜烘渶鍠滄鐨勪袱涓ā鍨?wanko 鍜?shizuku锛?/p>
npm install live2d-widget-model-wanko --save
瀹夎 shizuku 妯″瀷鏃跺缓璁?cnpm锛岄€熷害寰堝揩涓旂敤npm瀹夎杩欎釜妯″瀷瀹规槗鍑虹幇 network error
涓嬭浇cnpm娣樺疂婧?/p>
npm install -g cnpm --registry= registry.npm.taobao.org
瀹夎 shizuku 妯″瀷
npm install live2d-widget-model-shizuku --save
hexo-helper-live2d 鐩稿綋浜?live2d 鐨勮剼鎵嬫灦锛屼笉鑳藉彧涓嬭浇 model锛屽垹闄や簡 hexo-helper-live2d锛宭ive2d 妯″瀷鏃犳硶鐢熸垚
鈥?/p>
21 渚ц竟鏍忕ぞ浜ら摼鎺?/p>
鍦ㄤ富棰橀厤缃枃浠朵腑锛屽紑鍚?social 骞堕€夋嫨鎯宠鐨勭ぞ浜ら摼鎺ワ紝鍙栨秷娉ㄩ噴
social:
# github: github /benn314 || fab fa-github
# e-mail: zekaiqiu0132@gmail || fa fa-envelope
#weibo: weibo /yourname || fab fa-weibo
#twitter: twitter /yourname || fab fa-twitter
#fb page: facebook /yourname || fab fa-facebook
#stackoverflow: stackoverflow /yourname || fab fa-stack-overflow
#youtube: youtube /yourname || fab fa-youtube
#instagram: instagram /yourname || fab fa-instagram
#skype: skype:yourname?call|chat || fab fa-skype
濡傛灉瀹樻柟鑷甫鐨勭ぞ浜ら摼鎺ヤ笉婊¤冻鑷繁鐨勯渶姹傦紝鎴戜滑鍙互鑷畾涔夋兂瑕佺殑鍥炬爣骞堕檮涓婇摼鎺ヰ煍?/p>
鑷畾涔塱con鍥炬爣
棣栧厛鍘?iconfont-闃块噷宸村反鐭㈤噺鍥惧簱 涓嬭浇 svg 鏍煎紡鐨勫浘鏍囷紝闇€瑕佷粈涔堝浘鏍囧垯鎼滅储鐩稿簲鍥炬爣骞朵笅杞斤紝鐒跺悗鎶婂浘鏍囨斁鍦?\themes\next\source\images 鐩綍涓?/p>
杩欓噷浠?bilibili 鍜?csdn 涓轰緥锛?/p>
鍦?\themes\next\source\css 鐩綍涓嬬殑 main.styl 娣诲姞浠g爜
/* 渚ц竟鏍忓浘鏍囨牸寮忚缃?*/
.bilibili {
background-image: ;
background-size: 1em 1em;
opacity: 0.55;
background-position: 0.05rem 0.2rem;
background-repeat: no-repeat;
height: 1rem;
width: 1rem;
border-radius: 0rem;
/*榧犳爣鍋滅暀鍦ㄥ浘鏍囦笂鏃讹紝鍥炬爣鍛堢幇鍙戝厜鏁堟灉*/
&:hover {
opacity: 1;
}
}
.csdn {
background-image: ;
background-size: 1em 1em; /*绗竴涓弬鏁版槸瀹?绗簩涓槸楂?/
opacity: 0.55;
background-position: 0.05rem 0.2rem;
background-repeat: no-repeat;
height: 1rem;
width: 1rem;
border-radius: 0rem;
/*榧犳爣鍋滅暀鍦ㄥ浘鏍囦笂鏃讹紝鍥炬爣鍛堢幇鍙戝厜鏁堟灉*/
&:hover {
opacity: 1;
}
}
鍦ㄤ富棰橀厤缃枃浠朵腑锛屽紑鍚?social 骞跺湪 social 椤逛笅鍥剧墖鏉ユ簮璁剧疆涓?fa bilibili 鍜?fa csdn
social:
# 鏃犳枃瀛楃増鏈缃?/p>
github: github /benn314 || fab fa-github
e-mail: zekaiqiu0132@gmail || fa fa-envelope
bilibili: space.bilibili /362721207?spm_id_from=333.1007.0.0 || fa bilibili
csdn: blog.csdn /bennnnnnn?spm=1000.2115.3001.5343 || fa csdn
# 濡傛灉涓嶆兂鏈夊浘鏍囨弿杩版枃瀛楃殑璇?鍙互鎶奿cons_only璁剧疆涓簍rue
social_icons:
enable: true
icons_only: true # 璁剧疆鍙樉绀哄浘鏍囦笉鏄剧ず鏂囧瓧
transition: false
鈥?/p>
22 娣诲姞fork me on github鍏ュ彛
棣栧厛鍒?github corners 鎴栬€?github ribbons 閫夋嫨鑷繁鍠滄鐨勫浘鏍囷紝鐒跺悗copy鐩稿簲鐨勪唬鐮佺矘璐村埌 themes/next/layout/_layout.njk 鏂囦欢涓紝鎶婁唬鐮佷腑鐨刪ref鍚庨潰鐨勫€兼浛鎹㈡垚浣犺璺宠浆鐨勫湴鍧€锛屾瘮濡備綘鐨凣ithub涓婚〉
鈥?/p>
23 鏇存崲鍗氬鑳屾櫙
鏇存崲涓昏儗鏅?/p>
鎶婂噯澶囧ソ鐨勮儗鏅浘鏀惧叆 themes\hexo-theme-next\source\images 涓?/p>
鏂扮増鏈渶瑕佹柊寤?hexo/source/_data/styles.styl锛屽嵆鍦?hexo鐩綍鐨?source鏂囦欢澶逛笅鏂板缓 _data 鏂囦欢澶癸紝鏂囦欢澶逛腑鏂板缓 styles.styl
娉ㄦ剰锛氭槸鏂板缓鍦?hexo鐩綍涓?source鏂囦欢澶归噷锛岃€屼笉鏄富棰樻枃浠?next鐩綍涓嬬殑 source鏂囦欢澶?/p>
鎵撳紑 styles.styl锛屾坊鍔犲涓嬶細
//鑳屾櫙鍥剧墖璁剧疆
body {
background-image: ;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: 100% 100%;
}
閰嶇疆椤?/p>
background-image:url 涓哄浘鐗囪矾寰勶紝鍙互鐩存帴浣跨敤閾炬帴锛屼篃鍙互鏄浘鐗囪矾寰勶紙灏嗚嚜瀹氫箟鍥剧墖鏀惧叆hexo\public\images璺緞涓嬶級background-repeat锛氳嫢鏋滆儗鏅浘鐗囦笉鑳藉叏灞忥紝閭d箞鏄惁骞抽摵鏄剧ず锛屽厖婊″睆骞昩ackground-attachment锛氳儗鏅槸鍚﹂殢鐫€缃戦〉涓婁笅婊氬姩鑰屾粴鍔紝fixed 涓哄浐瀹歜ackground-size锛氬浘鐗囧睍绀哄ぇ灏忥紝杩欓噷璁剧疆 100%锛?00% 鐨勬剰涔変负锛氬鏋滆儗鏅浘鐗囦笉鑳藉叏灞忥紝閭d箞鏄惁閫氳繃鎷変几鐨勬柟寮忓皢鑳屾櫙寮哄埗鎷変几鑷冲叏灞忔樉绀篵ackground-size: cover // 濉厖
鎵撳紑涓婚閰嶇疆鏂囦欢锛屽皢 custom_file_path 鐨?sytle 娉ㄩ噴鎵撳紑
custom_file_path:
#head: source/_data/head.njk
#header: source/_data/header.njk
#sidebar: source/_data/sidebar.njk
#postmeta: source/_data/post-meta.njk
#postbodyend: source/_data/post-body-end.njk
#footer: source/_data/footer.njk
#bodyend: source/_data/body-end.njk
variable: source/_data/variables.styl
#mixin: source/_data/mixins.styl
style: source/_data/styles.styl
娣诲姞渚ц竟鏍忚儗鏅?/p>
[澶栭摼鍥剧墖杞瓨澶辫触,婧愮珯鍙兘鏈夐槻鐩楅摼鏈哄埗,寤鸿灏嗗浘鐗囦繚瀛樹笅鏉ョ洿鎺ヤ笂浼?img-wqmix7zs-1669188613116)( images.unsplash /photo-1668871333606-ef8461d43922?ixlib=rb-4.0.3&ixid=mnwxmja3fdb8mhxlzgl0b3jpywwtzmvlzhw0fhx8zw58mhx8fhw=&auto=format&fit=crop&w=600&q=60)]
瀵?themes\hexo-theme-next\source\css_schemes\pisces_header.styl 涓?site-brand-container鐨刡ackground杩涜淇敼
.site-brand-container {
// background: var(--theme-color); // 榛樿鑳屾櫙
background: ;
// background: ;
// background: ;
// background: ;
//background: ;
background-size: cover; // 濉厖
//background-size: 100% 100%;
.site-nav-on & {
tablet-mobile() {
box-shadow: 0 0 16px rgba(0, 0, 0, .5);
}
}
}
鎵╁睍
unsplash鏄竴涓珮娓呭ぇ鍥惧厤璐逛笅杞界殑濂界綉绔欙紝鎻愪緵浜嗗ぇ閲忕殑鍥剧墖鍜屽閾続pi锛屽彲浠ョ敤鏉ュ綋浣滆嚜宸辩殑鍗氬鑳屾櫙
鈥?/p>
24 璁剧疆閫忔槑搴?/p>
鍗曠嫭缁欐瘡涓尯鍩熻缃畂pacity浼氬嚭鐜板緢澶氶棶棰橈紝渚嬪鎼滅储妗嗗脊鍑轰細琚鐩栧浘灞傚鑷存棤娉曡繘琛屾湰鍦版悳绱?/p>
鏈€鐞嗘兂鏄繘琛屽叏灞€璁剧疆锛屽湪 blog\source\_data\styles.styl 涓?鐩存帴璁剧疆body鐨勯€忔槑搴︿负0.85 鍏ㄤ綋閫忔槑鍖栵紝opacity鐨勫€煎彲浠ヨ嚜琛岃皟鏁?/p>
//鑳屾櫙鍥剧墖璁剧疆
body {
background-image: ;
background-repeat: no-repeat;
background-attachment: fixed;
background-size: 100% 100%;
opacity: 0.85;
//鍙€?/p>
mobile(){
background-image: ;
background-size: cover;
}
}
鏂囩珷鍖哄煙浣嶇疆璋冩暣
璁剧疆浜嗗竷灞€锛堣皟鏁翠綅缃俊鎭級 涓嶉渶瑕佸彲浠ュ垹鎺変笅闈㈢殑margin鍜宲adding锛堥粯璁ゅ€兼病鏈夎缃甿argin鍜宲adding锛夋垨鑰呬慨鏀瑰叾鍊?/p>
blog\themes\hexo-theme-next\source\css_common\components\post\index.styl
.use-motion {
if (hexo-config('motion.transition.post_block')) {
.post-block {
visibility: hidden;
margin-top: 60px;
margin-bottom: 60px;
margin-left: 2px;
padding-top: 45px;
// border-radius: 20px 20px 20px 20px;
-webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5);
-moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5);
opacity: 0.95; // 娣诲姞閫忔槑搴?/p>
}
.pagination, ments {
visibility: hidden;
}
}
鈥?/p>
25 杈规鍦嗚
鍦ㄤ箣鍓嶆柊寤虹殑 _data 鐩綍涓嬫柊寤?variables.styl锛岀被浼兼柊寤?styles.styl銆傛墦寮€ variables.styl锛屾坊鍔犲涓嬶細
// 鍦嗚璁剧疆
$border-radius-inner = 20px 20px 20px 20px;
$border-radius = 20px;
鎵撳紑 custom_file_path 涓?variable 鐨勬敞閲?/p>
custom_file_path:
variable: source/_data/variables.styl
姝ゆ椂鏈変竴涓棶棰樺氨鏄?渚ц竟鏍?鍒嗙被宸︿笅/鍙充笅 鐨勫渾瑙掓槑鏄炬湁涓€灞傞槾褰憋紝涓嬪浘鏄慨姝h繃鐨勶紙鍥剧墖鍙槸涓轰簡鎸囨槑浣嶇疆锛?/p>
鍘熷洜鏄紑鍚?back2top 鐨?sidebar 鍜?scrollpercent锛宐ack2top鐨勯槾褰辫儗鏅鐩栦簡鍦嗚锛屾妸闃村奖鑳屾櫙鏀逛负閫忔槑渚垮彲瑙e喅锛屽洜涓烘垜浠渶瑕佺殑鍙槸scrollpercent
/themes/next/source/css/_variables/gemini.styl 鍐呬唬鐮?灏?$body-bg-color 璧嬪€间负閫忔槑 transparent
// variables of gemini scheme
// ==================================================
@import "pisces.styl";
// settings for some of the most global styles.
// --------------------------------------------------
$body-bg-color = #eee;
// $body-bg-color = transparent;
// borders.
// --------------------------------------------------
$box-shadow-inner = 0 2px 2px 0 rgba(0, 0, 0, .12), 0 3px 1px -2px rgba(0, 0, 0, .06), 0 1px 5px 0 rgba(0, 0, 0, .12);
$box-shadow = 0 2px 2px 0 rgba(0, 0, 0, .12), 0 3px 1px -2px rgba(0, 0, 0, .06), 0 1px 5px 0 rgba(0, 0, 0, .12), 0 -1px .5px 0 rgba(0, 0, 0, .09);
// $border-radius-inner = 20px;
// $border-radius = 20px;
$border-radius-inner = initial;
$border-radius = initial;
// $border-radius-inner = 0 0 3px 3px;
// $border-radius = 3px;
淇敼渚ц竟鏍忛《閮ㄥ渾瑙?/p>
鍦?blog\themes\hexo-theme-next\source\css\_common\outline\header\index.styl 涓 site-brand-container锛堝鏌ュ厓绱犲緱鐭ワ級 杩涜淇敼
.site-brand-container {
display: flex;
flex-shrink: 0;
padding: 0 10px;
border-radius: 18.8px 18.8px 0 0; // 涓婅竟鍦嗚 涓嬭竟灏栬 涓嶈缃?0px 20px 0 0鐨勫師鍥犳槸鍥犱负涓嬮潰鐨剆idebar鐨刢lass="header"鏈変竴鐐圭櫧鑹叉孩鍑?鎵€浠ユ妸鍦嗚璁剧疆灏忕偣瀵瑰叾杩涜瑕嗙洊
}
宸︿笅/鍙充笅瑙掍笉闇€瑕佽缃渾瑙掞紝涓嶇劧鍙嶈€屼笉缇庤
鈥?/p>
26 璋冩暣back2top閫忔槑搴﹀拰浣嶇疆
璋冩暣閫忔槑搴?/p>
杩涘叆 blog\themes\hexo-theme-next\source\css\_variables\pisces.styl锛屾牴鎹嚜韬崥瀹慨鏀归€忔槑搴﹁嚦婊℃剰鍊?/p>
// 璋冩暣閫忔槑搴?/p>
// back to top
$b2t-opacity = .94; // 榛樿 .6
$b2t-opacity-hover = .99; // 榛樿 .8
璋冩暣浣嶇疆闈犲乏
璋冩暣浣嶇疆闈犲乏鐨勫師鍥犳槸璁捐鎶妉ive-2d鏀惧埌鍙宠竟锛岃€屾鏃禸ack2top鎸夐挳涓嶇鏄湪live-2d鍥惧眰涓婃柟(涓嶇編瑙?杩樻槸涓嬫柟(鎸夐挳鏃犳硶琚偣鍑讳笖鐪嬩笉鍒扮櫨鍒嗘瘮)鏁堟灉閮戒笉鐞嗘兂锛屾晠鎶婃寜閽皟鏁磋嚦闈犲乏浣嶇疆
鍦?blog\themes\hexo-theme-next\source\css_variables\base.styl 涓湁back to top鐨勫熀鏈弬鏁颁俊鎭紝鎴戜滑鎶?$b2t-position-right 鍜?$b2t-position-right-mobile 娉ㄩ噴鎺夛紝浣垮叾榛樿闈犲乏
// components
// --------------------------------------------------
// back to top
$b2t-opacity = .8;
$b2t-opacity-hover = 1;
$b2t-position-bottom = -100px;
$b2t-position-bottom-on = 30px;
// $b2t-position-right = 30px; //娉ㄩ噴鎺?themes\hexo-theme-next\source\css\_mixins.styl鐨勯€昏緫涔熷彲浠ユ敞閲婃帀 涓嶇劧鍙兘鏈墂arnning
// $b2t-position-right-mobile = 20px;//娉ㄩ噴鎺?themes\hexo-theme-next\source\css\_mixins.styl鐨勯€昏緫涔熷彲浠ユ敞閲婃帀 涓嶇劧鍙兘鏈墂arnning
$b2t-font-size = 12px;
$b2t-color = white;
$b2t-bg-color = $black-deep;
$sidebar-toggle-inner-size = 16px;
$sidebar-toggle-padding = 5px;
$sidebar-toggle-size = $sidebar-toggle-inner-size $sidebar-toggle-padding * 2;
杩欓噷浠巖ight淇敼鎴恖eft鏃犳晥鐨勫師鍥犳槸鍊兼病鏈夊彉 鍙槸鎹簡涓彉閲忓悕 褰撶劧娌$敤鍛€ 鍚嶅瓧鍙槸鐢ㄦ潵鍖哄垎鑰屽凡 浣犲彨鍙宠竟鍙仛tan90閮芥病闂
鐒跺悗鍦?themes\hexo-theme-next\source\css_common\components\back-to-top.styl 鏈熬娣诲姞濡備笅涓よ浠g爜骞舵敞閲?margin-right: 8px;
if (hexo-config('back2top.enable')) {
.back-to-top {
font-size: $b2t-font-size;
span {
//margin-right: 8px; // 娉ㄩ噴鎺夛紙榛樿璁剧疆鏄繖涓?缁欐敼鎴愭湯灏句袱琛岋級
}
...
...
padding-right: 5px; // 鏂版坊鍔犵殑浠g爜
left: 30px; // // 鏂版坊鍔犵殑浠g爜
}
}
鈥?/p>
27 娣诲姞readme.md鏂囦欢
姣忎釜椤圭洰涓嬩竴鑸兘鏈変竴涓?readme.md 鏂囦欢锛屼絾鏄娇鐢?hexo 閮ㄧ讲鍒颁粨搴撳悗锛岄」鐩笅鏄病鏈?readme.md 鏂囦欢鐨?/p>
鍦?hexo 鐩綍涓嬬殑 source 鏍圭洰褰曚笅娣诲姞涓€涓?readme.md 鏂囦欢锛屼慨鏀圭珯鐐归厤缃枃浠?_config.yml锛屽皢 skip_render 鍙傛暟鐨勫€艰缃负
skip_render: readme.md
淇濆瓨閫€鍑哄嵆鍙?鍐嶆浣跨敤 hexo d 鍛戒护閮ㄧ讲鍗氬鐨勬椂鍊欏氨涓嶄細鍦ㄦ覆鏌?readme.md 鏂囦欢浜?/p>
鈥?/p>
28 渚ф爮celeste(鏃嬭浆鐨勫皬浜?
杩欓噷缃楀垪涓ょ浣嶇疆鎽嗘斁鏁堟灉
鏀惧湪 blog\themes\hexo-theme-next\layout_macro\sidebar.njk
.twopeople{
margin: 0;
align-items: center;
justify-content: center;
text-align: center;
}
canvas {
display: block;
margin: 0 auto;
cursor: move;
}
{%- if theme.back2top.enable and theme.back2top.sidebar %}
0%
{%- endif %}
{% endmacro %}
鏀惧湪 blog\themes\hexo-theme-next\layout\_layout.njk
{%- include '_partials/header/index.njk' -%}
{%- if theme.sidebar.display !== 'remove' %}
{% block sidebar %}{% endblock %}
{%- endif %}
<-- 鏃嬭浆鐨勫皬浜?-->
.twopeople{
margin: 0;
align-items: center;
justify-content: center;
text-align: center;
}
canvas {
display: block;
margin: 0 auto;
cursor: move;
}
鎴戜釜浜烘瘮杈冨€惧悜鏀剧疆鍒?_layout.njk锛屽姩鐢讳綅缃笉浼氬浐瀹氬湪娴忚鍣ㄧ獥鍙d綅缃紝鑰屾槸浼氶殢鐫€婊氬姩鑰屾秷澶憋紝闃呰鏂囩珷涓嶅洜涓哄姩鐢昏€屽垎蹇冿紝鎵嶈兘鏇村姞涓撴敞
娣诲姞浜嗘棆杞皬浜哄悗 鍔ㄧ敾鎬ц兘涓嬮檷 浼氭湁瀛樺湪鍔ㄧ敾鍐茬獊鎴栬€呭彧鏄崟绾姩鐢诲姞杞借繃澶氬鑷存€ц兘涓嬮檷锛堝崱椤匡級
鈥?/p>
29 鎳掑姞杞藉紑鍚?鎬ц兘浼樺寲)
杩涘叆 涓婚閰嶇疆鏂囦欢锛屾坊鍔狅細
# vanilla javascript plugin for lazyloading images.
# for more information: apoorv.pro/lozad.js/demo/
lazyload: true # 鎳掑姞杞藉紑鍚?/p>
鈥?/p>
30 鍔犲叆缃戞槗浜戦煶涔愭挱鏀惧櫒
鍦ㄧ綉椤垫悳绱㈢綉鏄撲簯闊充箰锛岄€夋嫨闊充箰锛屽苟鐢熸垚澶栭摼鎾斁鍣紝鑾峰彇 iframe 鏍囩
寤鸿鎶婃爣绛炬斁鍒颁晶杈规爮锛屽湪 blog/themes/next/layout/_macro/sidebar.njk 鎴?themes\hexo-theme-next\layout\_layout.njk 鏂囦欢涓嬶紝閫夋嫨浣嶇疆绮樿创杩涘幓锛屼笉鍚屼綅缃晥鏋滀笉鍚?/p>
鐢变簬缃戞槗浜戝閾炬挱鏀惧櫒姣忔鍙兘閫夋嫨涓€棣栨瓕锛屽鏋滄兂瑕佽鎾斁鍣ㄧ殑鍔熻兘鏇村姞鍏ㄩ潰涓板瘜锛屾垜浠彲浠ラ€氳繃瀹夎鎻掍欢 aplayer鏉ユ弧瓒虫垜浠殑闇€姹?/p>
鈥?/p>
31 娣诲姞aplayer闊充箰鎾斁鍣?杩涢樁)
瀹夎
npm install aplayer --save
灏嗘枃浠朵腑鐨刣ist鏂囦欢澶瑰鍒跺埌璺緞锛歜log/themes/next/source
鍦ㄧ洰褰?blog/themes/next/source/dist 涓嬫柊寤?music.js 鏂囦欢锛屽唴瀹规槸锛?/p>
鎴戠殑鐗堟湰
const ap = new aplayer({
container: document.getelementbyid('aplayer'),
fixed: true,
// autoplay: true,
audio: [
{
name: '婧紙閽㈢惔鐗堬級',
artist: '鏌宠交棰?,
url: ' music.163 /song/media/outer/url?id=1433584979.mp3',
cover: ' p1.music.126 /qx7knuilpmbj34ubzccs6w==/109951164802366812.jpg?param=130y130',
},
{
name: "澶㈢伅绫?,
artist: 'radwimps',
url: '/images/澶㈢伅绫?mp3',
cover: ' p2.music.126 /ssxbrt9rpc6s_maewydjfa==/18597139672292692.jpg?param=130y130',
},
{
name: '鍓嶅墠鍓嶄笘 (movie ver.)',
artist: 'radwimps',
url: '/images/鍓嶅墠鍓嶄笘-_movie-ver._-radwimps.mp3',
cover: ' p2.music.126 /ssxbrt9rpc6s_maewydjfa==/18597139672292692.jpg?param=130y130',
},
{
name: 'supermarket flowers',
artist: 'ed sheeran',
url: '/images/supermarket flowers.mp3',
cover: ' p2.music.126 /99_i681e6ze74t_xue6pua==/109951166151204092.jpg?param=130y130',
},
{
name: '銈广儜銉笺偗銉紙鐏姳锛夆€斺€斻€婁綘鐨勫悕瀛椼€傘€嬫彃鏇?,
artist: '銈嗐亞鍗?,
url: ' music.163 /song/media/outer/url?id=1984045303.mp3',
cover: ' p2.music.126 /sitinuuumspdsdndv1mcyw==/109951167903888878.jpg?param=130y130',
},
{
name: 'euphoria',
artist: ' ',
url: ' music.163 /song/media/outer/url?id=1814327255.mp3',
cover: '/images/susan1.jpg',
},
{
name: 'friend',
artist: 'kozoro',
url: ' music.163 /song/media/outer/url?id=33004707.mp3',
cover: ' p2.music.126 /fr7zkyb8ujnrowqugchbgg==/109951163288692527.jpg?param=130y130',
},
{
name: 'one last time',
artist: '寤栨辰钃?,
url: ' music.163 /song/media/outer/url?id=1870680152.mp3',
cover: ' p1.music.126 /y_io_ln1-ujil9efdyqvmq==/109951166291345875.jpg?param=130y130',
}
]
});
姝屾洸淇℃伅鍙嚜琛屾坊鍔犺嚜宸卞枩娆㈢殑
閰嶇疆椤?/p>
name锛氭瓕鏇插悕绉癮rtist锛氫綔鑰卽rl锛氳繛鎺ワ紙鍏蜂綋鎬庢牱鎿嶄綔鐪嬩笅闈㈡楠わ級cover锛氭槸鍥剧墖杩炴帴锛屽彲浠ユ槸鏈湴鍥剧墖锛屼篃鍙互鏄湪绾垮浘鐗囷紝鏈湴鏀惧湪 source/images鐒跺悗淇敼璺緞鍗冲彲
url娣诲姞姝屾洸鏂规硶
缃戞槗浜戠綉椤垫挱鏀句竴棣栨瓕鏇插皢缃戝潃涓殑 id 杩涜澶嶅埗锛歨ttps://music.163 /#/song?id=1411358329灏嗕笅闈唬鐮佷腑鐨?id 淇敼涓轰綘鎯虫坊鍔犳瓕鏇茬殑 id锛歨ttp://music.163 /song/media/outer/url?id=xxx.mp3 锛堢綉鏄撲簯闊充箰鍦ㄧ嚎鎾斁姝屾洸妯℃澘锛?/p>
寮曠敤澶存枃浠?/p>
鍦ㄨ矾寰勶細blog/themes/next/layout涓嬫壘鍒?_layout.njk 鏂囦欢锛岀劧鍚庡皢涓嬮潰鐨勪唬鐮佹坊鍔犲埌锛?body itemscope ...> 锛堝湪body閲岄潰灏卞彲浠ワ級
瀹屾垚鍚庨渶瑕侀噸鏂伴儴缃叉墠鑳界湅鍒版晥鏋?/p>
aplayer鎴戦噰鐢ㄧ殑鏄惛搴曠殑鏁堟灉锛岃缁嗕俊鎭鏌ラ槄 瀹樻柟鏂囨。
鍥犱负浜嗘湁浜?aplayer 鎻掍欢 鎵€鏈夊師鍏堢殑 back2top 浼氳閬尅 闇€瑕侀噸鏂拌皟鏁翠綅缃?/p>
padding-right: 5px;
// left: 30px; // 鍘熷厛淇敼杩囧悗鐨勪綅缃?鍔犱簡aplayer鍚?閲嶆柊瀹氫箟浣嶇疆濡備笅
left: 15%
鈥?/p>
32 鍒犻櫎浜嗛粯璁ょ殑landscope涓婚(鎬ц兘浼樺寲)
鍘嬬缉鍐呭瓨
鈥?/p>
33 璇勮绯荤粺
鏍规嵁缃戜笂瀵瑰浗鍐呭浗澶栫殑璇勪环绯荤粺瀵规瘮锛屽彲鐭aline鏄繎鍑犲勾澶у彈娆㈣繋鐨勫崥瀹㈣瘎浠风郴缁燂紝浣嗙敱浜庝綔鑰呭凡缁忔斁寮冧簡瀵?valine 鐨勭淮鎶わ紝bug涓€鍫嗗皻鏈в鍐筹紝鎵€浠ユ渶缁堟暡瀹氱敤鍩轰簬valine寮€鍙戠殑鏂扮増鏈琖aline浣滀负鏈崥瀹㈢殑璇勪环绯荤粺
leancloud 璁剧疆 (鏁版嵁搴?
鐧诲綍open in new window 鎴?娉ㄥ唽open in new window leancloud 鍥介檯鐗?骞惰繘鍏?鎺у埗鍙皁pen in new window鐐瑰嚮宸︿笂瑙?鍒涘缓搴旂敤open in new window 骞惰捣涓€涓綘鍠滄鐨勫悕瀛?(璇烽€夋嫨鍏嶈垂鐨勫紑鍙戠増):杩涘叆搴旂敤锛岄€夋嫨宸︿笅瑙掔殑 璁剧疆 > 搴旂敤 key銆備綘鍙互鐪嬪埌浣犵殑 app id,app key 鍜?master key銆傝璁板綍瀹冧滑锛屼互渚垮悗缁娇鐢ㄣ€?/p>
鍥藉唴鐗堥渶瑕佸畬鎴愬妗堟帴鍏?/p>
濡傛灉浣犳鍦ㄤ娇鐢?leancloud 鍥藉唴鐗?(leancloud open in new window)锛屾垜浠帹鑽愪綘鍒囨崲鍒板浗闄呯増 (leancloud.appopen in new window)銆傚惁鍒欙紝浣犻渶瑕佷负搴旂敤棰濆缁戝畾宸插妗堢殑鍩熷悕锛屽悓鏃惰喘涔扮嫭绔?ip 骞跺畬鎴愬妗堟帴鍏?
鐧诲綍鍥藉唴鐗堝苟杩涘叆闇€瑕佷娇鐢ㄧ殑搴旂敤閫夋嫨 璁剧疆 > 鍩熷悕缁戝畾 > api 璁块棶鍩熷悕 > 缁戝畾鏂板煙鍚?> 杈撳叆鍩熷悕 > 纭畾銆傛寜鐓ч〉闈笂鐨勬彁绀烘寜瑕佹眰鍦?dns 涓婂畬鎴?cname 瑙f瀽銆傝喘涔扮嫭绔?ip 骞舵彁浜ゅ伐鍗曞畬鎴愬妗堟帴鍏ャ€?鐙珛 ip 鐩墠浠锋牸涓?锟?50/涓?鏈?
vercel 閮ㄧ讲 (鏈嶅姟绔?
[澶栭摼鍥剧墖杞瓨澶辫触,婧愮珯鍙兘鏈夐槻鐩楅摼鏈哄埗,寤鸿灏嗗浘鐗囦繚瀛樹笅鏉ョ洿鎺ヤ笂浼?img-tpoitsxd-1669188613146)( vercel /button)]
鐐瑰嚮涓婃柟鎸夐挳锛岃烦杞嚦 vercel 杩涜 server 绔儴缃层€?/p>
濡傛灉浣犳湭鐧诲綍鐨勮瘽锛孷ercel 浼氳浣犳敞鍐屾垨鐧诲綍锛岃浣跨敤 github 璐︽埛杩涜蹇嵎鐧诲綍銆?/p>
杈撳叆涓€涓綘鍠滄鐨?vercel 椤圭洰鍚嶇о骞剁偣鍑?create 缁х画: 姝ゆ椂 vercel 浼氬熀浜?waline 妯℃澘甯姪浣犳柊寤哄苟鍒濆鍖栦粨搴擄紝浠撳簱鍚嶄负浣犱箣鍓嶈緭鍏ョ殑椤圭洰鍚嶃€?
涓€涓ゅ垎閽熷悗锛屾弧灞忕殑鐑熻姳浼氬簡绁濅綘閮ㄧ讲鎴愬姛銆傛鏃剁偣鍑?go to dashboard 鍙互璺宠浆鍒板簲鐢ㄧ殑鎺у埗鍙般€?/p>
鐐瑰嚮椤堕儴鐨?settings - environment variables 杩涘叆鐜鍙橀噺閰嶇疆椤碉紝骞堕厤缃笁涓幆澧冨彉閲?lean_id, lean_key 鍜?lean_master_key 銆傚畠浠殑鍊煎垎鍒搴斾笂涓€姝ュ湪 leancloud 涓幏寰楃殑 app id, app key, master key銆?/p>
闇€瑕佽繘鍏ラ」鐩腑鐨?settings锛岃€屼笉鏄€昏缃噷锛屾€昏缃噷娌℃湁 environment variables 閫夐」閰嶇疆
濡傛灉浣犱娇鐢?leancloud 鍥藉唴鐗堬紝璇烽澶栭厤缃?lean_server 鐜鍙橀噺锛屽€间负浣犵粦瀹氬ソ鐨勫煙鍚嶃€?/p>
鐜鍙橀噺閰嶇疆瀹屾垚涔嬪悗鐐瑰嚮椤堕儴鐨?deployments 鐐瑰嚮椤堕儴鏈€鏂扮殑涓€娆¢儴缃插彸渚х殑 redeploy 鎸夐挳杩涜閲嶆柊閮ㄧ讲銆傝姝ラ鏄负浜嗚鍒氭墠璁剧疆鐨勭幆澧冨彉閲忕敓鏁堛€傛鏃朵細璺宠浆鍒?overview 鐣岄潰寮€濮嬮儴缃诧紝绛夊緟鐗囧埢鍚?status 浼氬彉鎴?ready銆傛鏃惰鐐瑰嚮 visit 锛屽嵆鍙烦杞埌閮ㄧ讲濂界殑缃戠珯鍦板潃锛屾鍦板潃鍗充负浣犵殑鏈嶅姟绔湴鍧€銆?/p>
缁戝畾鍩熷悕 (鍙€?
鐐瑰嚮椤堕儴鐨?settings - domains 杩涘叆鍩熷悕閰嶇疆椤佃緭鍏ラ渶瑕佺粦瀹氱殑鍩熷悕骞剁偣鍑?add鍦ㄥ煙鍚嶆湇鍔″櫒鍟嗗娣诲姞鏂扮殑 cname 瑙f瀽璁板綍
typenamevaluecnameexamplecname.vercel-dns
绛夊緟鐢熸晥锛屼綘鍙互閫氳繃鑷繁鐨勫煙鍚嶆潵璁块棶浜嗮煄?/p>
璇勮绯荤粺锛歟xample.yourdomain 璇勮绠$悊锛歟xample.yourdomain /ui
鍦∟ext涓厤缃?/p>
鍏堝埌浣爃exo鐨勭珯鐐圭洰褰曚笅瀹夎waline锛?/p>
npm install @waline/hexo-next --save
鎵惧埌next涓婚閰嶇疆鏂囦欢锛宊config.yml杩涜濡備笅閰嶇疆锛屾柟渚挎棩鍚庡崌绾ц鐩栵細
# waline 璇勮
# for more information: waline.js.org, github /walinejs/waline
waline:
enable: true #鏄惁寮€鍚?/p>
serverurl: blog-waline-comment.vercel.app # waline #鏈嶅姟绔湴鍧€锛屾垜浠繖閲屽氨鏄笂闈㈤儴缃茬殑 vercel 鍦板潃
placeholder: 璇锋枃鏄庤瘎璁哄憖~ # #璇勮妗嗙殑榛樿鏂囧瓧
avatar: mm # 澶村儚椋庢牸
meta: [nick, mail, link] # 鑷畾涔夎瘎璁烘涓婇潰鐨勪笁涓緭鍏ユ鐨勫唴瀹?/p>
pagesize: 10 # 璇勮鏁伴噺澶氬皯鏃舵樉绀哄垎椤?/p>
lang: zh-cn # 璇█, 鍙€夊€? en, zh-cn
# warning: 涓嶈鍚屾椂鍚敤 `waline.visitor` 浠ュ強 `leancloud_visitors`.
visitor: true # 鏂囩珷闃呰缁熻
comment_count: true # 濡傛灉涓?false , 璇勮鏁伴噺鍙細鍦ㄥ綋鍓嶈瘎璁洪〉闈㈡樉绀? 涓婚〉鍒欎笉鏄剧ず
requiredfields: [nick, mail] # 璁剧疆鐢ㄦ埛璇勮鏃跺繀濉殑淇℃伅锛孾nick,mail]: [nick] | [nick, mail]
liburl: # set custom library cdn url
璇勮-閭閫氱煡
璇︾粏鍙煡鐪嬪畼鏂规枃妗?/p>
褰撶綉绔欐湁鐢ㄦ埛鍙戝竷璇勮鎴栬€呯敤鎴峰洖澶嶈瘎璁烘椂锛學aline 鏀寔瀵瑰崥涓诲拰鍥炲璇勮浣滆€呰繘琛岄€氱煡銆?/p>
鍗氫富閫氱煡鏀寔澶氱鏂瑰紡锛屽寘鎷?qq銆佸井淇°€侀偖浠剁瓑銆傚綋璁垮鐨勮瘎璁烘敹鍒板洖澶嶆椂锛屾垜浠細瀵硅瀹㈣繘琛岄偖浠堕€氱煡銆?/p>
杩欓噷涓昏浠嬬粛閭欢閫氱煡
閭欢閫氱煡闇€瑕侀厤缃互涓嬬幆澧冨彉閲?
smtp_service: smtp 閭欢鍙戦€佹湇鍔℃彁渚涘晢銆傦紙渚嬪锛歈q锛?/p>
浣犲彲浠ュ湪 杩欓噷 鏌ョ湅鎵€鏈夋敮鎸佺殑杩愯惀鍟嗐€?/p>
濡傛灉浣犵殑杩愯惀鍟嗕笉鍙楁敮鎸侊紝浣犲繀椤诲~鍐?smtp_host 鍜?smtp_port銆?/p>
smtp_host: smtp 鏈嶅姟鍣ㄥ湴鍧€锛屼竴鑸彲浠ュ湪閭鐨勮缃腑鎵惧埌銆係mtp_port: smtp 鏈嶅姟鍣ㄧ鍙o紝涓€鑸彲浠ュ湪閭鐨勮缃腑鎵惧埌銆?/p>
smtp_user: smtp 閭欢鍙戦€佹湇鍔$殑鐢ㄦ埛鍚嶏紝涓€鑸负鐧诲綍閭銆係mtp_pass: smtp 閭欢鍙戦€佹湇鍔$殑瀵嗙爜锛屼竴鑸负閭鐧诲綍瀵嗙爜锛岄儴鍒嗛偖绠?渚嬪 163)鏄崟鐙殑 smtp 瀵嗙爜銆係mtp_secure: 鏄惁浣跨敤 ssl 杩炴帴 smtp銆係ite_name: 缃戠珯鍚嶇о锛岀敤浜庡湪娑堟伅涓樉绀恒€係ite_url: 缃戠珯鍦板潃锛岀敤浜庡湪娑堟伅涓樉绀恒€侫uthor_email: 鍗氫富閭锛岀敤鏉ユ帴鏀舵柊璇勮閫氱煡銆傚鏋滄槸鍗氫富鍙戝竷鐨勮瘎璁哄垯涓嶈繘琛屾彁閱掗€氱煡銆?/p>
浠ヤ笅鏄€夊~鐨勭幆澧冨彉閲?
sender_name: 鑷畾涔夊彂閫侀偖浠剁殑鍙戜欢浜?锛堝彲閫夐」鎴戝彧娣诲姞浜嗚繖涓級sender_email: 鑷畾涔夊彂閫侀偖浠剁殑鍙戜欢鍦板潃mail_subject: 鑷畾涔夎瘎璁哄洖澶嶉偖浠舵爣棰楳ail_template: 鑷畾涔夎瘎璁哄洖澶嶉偖浠跺唴瀹筂ail_subject_admin: 鑷畾涔夋柊璇勮閫氱煡閭欢鏍囬mail_template_admin: 鑷畾涔夋柊璇勮閫氱煡閭欢鍐呭
娉細smtp_user 鍜?author_email閮介渶瑕佹槸瀹屾暣鐨勯偖绠卞湴鍧€(xxx@xxx )
濡傛灉浣犺窡鎴戜竴鏍蜂娇鐢≦q閭浣滀负娑堟伅閫氱煡鐨勮瘽锛屼娇鐢ㄧ殑 smtp_pass 濉叆鐨勬槸鎺堟潈鐮佽€屼笉鏄偖绠辩櫥褰曞瘑鐮侊紝smtp_pass 瑕佸埌浣犻偖绠卞紑鍚紝濉叆鎺堟潈鐮侊細
鈥?/p>
娣诲姞璇勮琛ㄦ儏鍖?/p>
鍦ㄤ富棰橀厤缃枃浠朵笅鐨?waline 娣诲姞濡備笅 emoji 浠g爜
# waline 璇勮
# for more information: waline.js.org, github /walinejs/waline
waline:
enable: true #鏄惁寮€鍚?/p>
......
emoji: [
unpkg /@waline/emojis@1.1.0/tw-emoji, # 鍔犱笉鍔爃ttps澶撮兘鍙互
//unpkg /@waline/emojis@1.1.0/bilibili,
//unpkg /@waline/emojis@1.1.0/alus,
unpkg /@waline/emojis@1.1.0/weibo,
]
鏇村琛ㄦ儏鍙傝€?鑷畾涔夎〃鎯?/p>
涓嶈蹇樿浜嗛噸鏂伴儴缃?deployed 鍠旓紒涓嶇劧鏁堟灉鏃犳硶鏄剧ず
杩樻湁涓€涓棶棰?灏辨槸澶т紮璇勮鐨勪笢瑗?涓嶇炕澧欏埛鏂颁笉鍑烘潵
鍘熷洜 jsdeliver琚 鍙傝€冮摼鎺ヰ煍? jsdelivr琚,hexo-next鍒囨崲涓鸿嚜瀹氫箟cdn
leanclound浣滀负鏁版嵁搴擄紝鍚屾椂鍙互鐢ㄦ潵浣滀负鍥惧簥瀛樺偍鏂囦欢锛屼娇鍏舵枃浠舵坊鍔爑rl鍦板潃
鈥?/p>
34 鑳屾櫙鍥句笂浼燙dn鍥惧簥(鎬ц兘浼樺寲)
鐢变簬鏃犵紦瀛樺埛鏂帮紙鎴栬€呯涓€娆″姞杞介〉闈級鐨勬椂鍊?鑳屾櫙鍥剧墖鍔犺浇寰堟參锛堝彧鏈?00澶歬锛夋墍浠ヤ笂浼犲埌cdn鍥惧簥 cdnjson /
鎴戠殑鑳屾櫙鍥鹃摼鎺ワ細 cdnjson /images/2022/11/21/bg1.jpg
鈥?/p>
35 瑙e喅鍥爈ive-2d涓巄usuanzi浠g爜鍐茬獊瀵艰嚧闃呰娆℃暟鏃犳硶鏄剧ず鐨勯棶棰?/p>
鍚愭ы锛氫綅缃俊鎭笉鎳傛洿鏀癸紙bullshit锛?/p>
閫氳繃淇敼 busuanzi 鐨勮в鍐?/p>
鍥犱负 busuanzi 鐨勪唬鐮佽緝鐭紝鑰屼笖鏈韩鐢ㄧ殑澶栭儴鐨勪唬鐮侊紝鏀硅捣鏉ユ瘮杈冨鏄撱€?/p>
鏂板缓 busuanzi.js 鍒?themes\hexo-theme-next\source\js\ 鐩綍涓嬶紝骞禼opy
var bszcaller, bsztag; !function () { var c, d, e, a = !1, b = []; ready = function (c) { return a || "interactive" === document.readystate || "complete" === document.readystate ? c.call(document) : b.push(function () { return c.call(this) }), this }, d = function () { for (var a = 0, c = b.length; c > a; a )b[a].apply(document); b = [] }, e = function () { a || (a = !0, d.call(window), document.removeeventlistener ? document.removeeventlistener("domcontentloaded", e, !1) : document.attachevent && (document.detachevent("onreadystatechange", e), window == window && (clearinterval(c), c = null))) }, document.addeventlistener ? document.addeventlistener("domcontentloaded", e, !1) : document.attachevent && (document.attachevent("onreadystatechange", function () { /loaded|complete/.test(document.readystate) && e() }), window == window && (c = setinterval(function () { try { a || document.documentelement.doscroll("left") } catch (b) { return } e() }, 5))) }(), bszcaller = { fetch: function (a, b) { var c = "busuanzicallback_" math.floor(1099511627776 * math.random()); window[c] = this.evalcall(b), a = a.replace("=busuanzicallback", "=" c), scripttag = document.createelement("script"), scripttag.type = "text/javascript", scripttag.defer = !0, scripttag.src = a, scripttag.referrerpolicy = "no-referrer-when-downgrade", document.getelementsbytagname("head")[0].appendchild(scripttag) }, evalcall: function (a) { return function (b) { ready(function () { try { a(b), s = document.queryselector('[src*=busuanzicallback]'), s.parentelement.removechild(s) } catch (c) { bsztag.hides() } }) } } }, bszcaller.fetch("//busuanzi.ibruce.info/busuanzi?jsonpcallback=busuanzicallback", function (a) { bsztag.texts(a), bsztag.shows() }), bsztag = { bszs: ["site_pv", "page_pv", "site_uv"], texts: function (a) { this.bszs.map(function (b) { var c = document.getelementbyid("busuanzi_value_" b); c && (c.innerhtml = a[b]) }) }, hides: function () { this.bszs.map(function (a) { var b = document.getelementbyid("busuanzi_container_" a); b && (b.style.display = "none") }) }, shows: function () { this.bszs.map(function (a) { var b = document.getelementbyid("busuanzi_container_" a); b && (b.style.display = "inline") }) } };
鍙互鎶婁慨鏀瑰悗鐨勯潤鎬佹枃浠舵斁鍦ㄥ崥瀹㈤噷锛岀劧鍚庝慨鏀?themes\hexo-theme-next\layout_third-party\statistics\busuanzi-counter.njk
{%- endif %}
鍐茬獊瑙e喅鍘熺悊鍙傝€冮摼鎺ヰ煍楋細 ouuan.moe/post/2022/08/busuanzi-and-live2d
next涓婚宸查泦鎴愪簡涓嶈挏瀛愮殑璁垮浜烘暟鍜屾枃绔犻槄璇荤粺璁″姛鑳?/p>
涓婚閰嶇疆鏂囦欢
# show views / visitors of the website / page with busuanzi.
# for more information: ibruce.info/2015/04/04/busuanzi/
busuanzi_count:
enable: true
total_visitors: false # 鎬昏闂汉鏁?/p>
total_visitors_icon: fa fa-user
total_views: false # 鎬昏闂鏁?/p>
total_views_icon: fa fa-eye
post_views: true # 鏂囩珷璁块棶娆℃暟 娉ㄦ剰锛氫笉鍦ㄩ椤垫樉绀烘瘡绡囨枃绔犵殑闃呰娆℃暟锛岀偣鍑诲叏鏂囬槄璇诲嵆鏄剧ず闃呰娆℃暟锛堣捣鍒濅互涓烘槸涓巐ive-2d浠g爜鍐茬獊鐨勯棶棰橈級
post_views_icon: far fa-eye
鎴戝彧寮€鍚簡鏂囩珷璁块棶娆℃暟 鎬昏闂汉鏁板拰鎬昏闂鏁版湁bug灏氭湭淇 濡傞渶寮€鍚鍏堜慨澶?/p>
淇鍙傝€冮摼鎺ヰ煍? muyuuuu.github.io/2019/11/22/busuanzi-notdisplay/
鈥?/p>
閮ㄥ垎鍙傝€冩枃绔?/p>
鎰熻阿鍚勪綅鍗氫富鎾板啓浜嗕竴绡囩瘒鍗氬鎼缓鐨勬暀瀛︽枃绔狅紝浣挎垜(灏忕櫧)鐨勫崥瀹㈢綉绔欒兘澶熶竴姝ユ鎼缓璧锋潵锛屼笅闈㈡槸鍙傝€冩枃绔犻摼鎺ヰ煍?/p>
鍩轰簬hexo-next涓婚鍗氬鐨勭編鍖朒exo 鍗氬 next 涓婚鐨勫畨瑁呬娇鐢╤exo鐨刵ext涓婚涓€у寲鏁欑▼:鎵撻€犵偒閰风綉绔橦exo鍗氬浼樺寲涔婲ext涓婚缇庡寲hexo-next 涓婚鍗氬涓€у寲閰嶇疆瓒呰缁嗭紝瓒呭叏闈?涓や竾瀛?next涓婚浼樺寲hexo鐨凬ext涓婚缇庡寲璁剧疆hexo鍗氬next涓婚缇庡寲next highlight theme previewnext 涓婚璁剧疆浠g爜楂樹寒hexo鎼缓鍗氬next涓婚涔婣ddthis鍒嗕韩鏂囩珷鐨勯厤缃甴exo绗旇鍥涳細next涓婚娣诲姞浣滆€呭ご鍍弉ext涓婚濡備綍娣诲姞鍔ㄦ€佽儗鏅痗anvas_nestnext涓婚鍗氬娣诲姞canvas_nest鍔ㄧ敾鑳屾櫙next涓婚鑷畾涔変晶杈规爮閾炬帴鍥炬爣锛堟柊鏂规硶锛塶ext涓婚鏇存敼鑳屾櫙鍥剧墖鍜岃竟妗嗗渾瑙扝exo鍗氬绗笁鏂逛富棰榥ext杩涢樁鏁欑▼銆岄€氱煡銆嶅崥瀹㈠凡娣诲姞澶滈棿锛堟殫鑹茶皟锛夋ā寮弉ext涓婚閰嶇疆閫忔槑鑹茬瓑next涓婚缇庡寲鈥斺€旇儗鏅浘鐗囥€佸姩鐢籋exo next涓婚涓娇鐢╣itment璇勮鍔熻兘hexo next8.1 waline韪╁潙璁板綍hexo鍗氬鐨勪紭鍖?鎻愬崌璁块棶閫熷害锛孲eopjax鍘熺悊鍜屼娇鐢℉exo: next 涓婚浣跨敤 waline 璇勮绯荤粺[涓嶈挏瀛怾鏂囩珷闃呰娆℃暟淇ˉhexo-next涓嶈挏瀛愪笉鏄剧ず闂busuanzi 璁块棶閲忕粺璁′笌 live2d 鎻掍欢鍚屾椂浣跨敤瀵艰嚧 busuanzi 涓嶆樉绀虹殑鏍规湰鍘熷洜浠ュ強瑙e喅鏂规硶銆恜ython銆憇mtp鍙戦€侀偖浠讹紙璐﹀彿瀵嗙爜 璐﹀彿鎺堟潈鐮佽鏄庯級fluid -15- waline 閭欢閫氱煡
杩欑瘒鏂囩珷鐪嬪埌鍒板悧锛屽ソ鍍忓睆钄戒簡
鍛€鍛€鍛€鍛€甯屾湜杩欐涓嶈鍒犱簡鍛€姹傛眰浜嗭紝锛岋紝鎴戜篃涓嶇煡閬撲负鍟ュ氨琚垹鍛滃憸鍛?/p>
鎴戝彧鏄兂鍐欑偣鍏充簬娉ㄥ唽鎺ㄧ壒鐨勯棶棰樺搸灏辫繖涔堥毦鐨勫悧
涓嬮潰鎴戝氨寮€濮嬭鍚у敖閲忛伩鍏嶆晱鎰熻瘝鍚?/p>
锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒锛侊紒
绗竴涓€佹渶鏈€鏈€鏈€鏈€鏈€閲嶈鐨勫氨鏄敹涓嶅埌楠岃瘉鐮佽繖涓緢澶氫汉鐢ㄨ繖涓棶棰橈紝鏂规硶锛氥€愭崲涓澶囥€戣繖鏄渶鏈夋晥鐨勬柟娉曪紝鍏舵灏辨槸鎹釜宸ュ叿鍝堣繖涓お鏁忔劅浜嗘垜灏变笉鐩存帴璇翠簡锛?/p>
绗簩涓紝娉ㄥ唽涓嶄簡姝ゆ儏鍐典細鏄剧ず銆愬嚭閿欒銆戙€愭棤娉曟敞鍐屻€戙€愭棤娉曢獙璇佹偍鐨勫嚟璇併€戠瓑銆傘€傘€傘€傘€傘€傝繖涓氨鐩存帴鐢ㄧ綉椤靛氨鍙互浜喡犅爃ttp://twitter
绗笁涓紝闂€€銆併€併€併€佽蒋浠剁増鏈棶棰橈紝娌¤胺姝屾鏋?/p>
濂藉惂搴旇灏辨槸杩欎箞澶氬惂锛岃繕鏈夊叾浠栭棶棰樺啀璇?/p>
还没有评论,来说两句吧...