💻 Software development engineer
🎉 Open source enthusiast
:rainbow: A simple and light theme for Hexo. It makes you more focused on writing.
Home Page: https://xpoet.cn
License: GNU Affero General Public License v3.0
如题,希望能够增加对Mermaid的主题支持。我尝试了hexo-filter-mermaid-diagrams
,并没有奏效。
请问我部署之后siderbar 的标题无法链接到对应部分是什么原因呀?
F12 可以得到链接,也可以在打开标签页然后访问到该位置,但是无法在当前页通过siderbar定位。
js报错
Uncaught TypeError: Cannot read property 'getBoundingClientRect' of null at HTMLAnchorElement.<anonymous> (toc.js:15) (anonymous) @ toc.js:15
如果在写文章的时候添加了标签,文章在博客里就无法显示。
猜想的原因是没有在source里面添加tag的index?
请问如果是我猜想的原因的话tag的index页该是什么格式呢
第二个问题就是我文章里的图片无法在博客中显示,图片的是放在图床中的,请问有可能是什么原因导致的呢?
找了这么久,就这个主题实在是太满意了,能否提供一下文章归档的页面呢?就是按年份列出所有文章的那种
RT,感觉目前的目录由于移动了整个页面布局,在子标题没有那么多的文章就显得很突兀,如果可以默认折叠左边栏,需要时候再点开就好了。
采用hexo-blog-encrypt插件设置文章静态加密的时候,会影响部分正常功能。目前发现的,包括解密后toc无法显示,以及表格无法正常显示。
辛苦大大!
我在magic:中开启sidebar:之后 会出现侧边栏,分别是 标签云、文章分类
在您的教程中似乎并没有说明这一部分的使用方式
git clone --depath=1 [email protected]:XPoet/hexo-theme-ils.git themes/ils,
应该是depth吧?
主题十分简约漂亮,十分喜欢,希望尽快支持数学公式渲染。
菜单中标签多了之后的排版问题。
一些其他的丰富功能,比如打赏,分享。
建议增加有限图标。
还有分类目录中最多显示十篇文章的问题
希望增加必要社交模块小图标 如github等
系统:Android Q
浏览器:Chrome 83.0.4103.96
问题描述:
在手机上用chrome打开博客文章时,发现目录会遮住文章,图片如下所示。上下移动文章时目录不变,始终在同一个位置。
图片
ERROR {
err: TypeError: /Users/macos/Desktop/v/blog/themes/keep/layout/layout.ejs:3
1|
2|
3| <%- partial('_partial/head') %>
4|
5| <%- body %>
6| <%- partial('_partial/scripts') %>
/Users/macos/Desktop/v/blog/themes/keep/layout/_partial/head.ejs:32
30| <%- favicon_tag(theme.style.favicon) %>
31| <%- css('css/style') %>
32| <%- __css('css/font-awesome.min.css') %>
33| <%- export_config() %>
34|
35|
this.url_for is not a function
at /Users/macos/Desktop/v/blog/node_modules/hexo/lib/plugins/helper/css.js:27:54
at Array.forEach ()
at Hexo.cssHelper (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/plugins/helper/css.js:20:17)
at Object. (/Users/macos/Desktop/vue/blog/themes/keep/scripts/helpers/helper.js:73:12)
at eval (/Users/macos/Desktop/vue/blog/themes/keep/layout/_partial/head.ejs:57:17)
at head (/Users/macos/Desktop/vue/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/macos/Desktop/vue/blog/themes/keep/layout/layout.ejs:13:17)
at layout (/Users/macos/Desktop/vue/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiled (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:136:50)
at _View.render (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:39:17)
at /Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:51:25
at tryCatcher (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/macos/Desktop/v/blog/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/async.js:102:5) {
path: '/Users/macos/Desktop/vue/blog/themes/keep/layout/layout.ejs'
}
} Render HTML failed: index.html
Unhandled rejection TypeError: /Users/macos/Desktop/v/blog/themes/keep/layout/layout.ejs:3
1|
2|
3| <%- partial('_partial/head') %>
4|
5| <%- body %>
6| <%- partial('_partial/scripts') %>
/Users/macos/Desktop/v/blog/themes/keep/layout/_partial/head.ejs:32
30| <%- favicon_tag(theme.style.favicon) %>
31| <%- css('css/style') %>
32| <%- __css('css/font-awesome.min.css') %>
33| <%- export_config() %>
34|
35|
this.url_for is not a function
at /Users/macos/Desktop/v/blog/node_modules/hexo/lib/plugins/helper/css.js:27:54
at Array.forEach ()
at Hexo.cssHelper (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/plugins/helper/css.js:20:17)
at Object. (/Users/macos/Desktop/vue/blog/themes/keep/scripts/helpers/helper.js:73:12)
at eval (/Users/macos/Desktop/vue/blog/themes/keep/layout/_partial/head.ejs:57:17)
at head (/Users/macos/Desktop/vue/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiledSync (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:132:24)
at _View.renderSync (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:59:25)
at Object.partial (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/plugins/helper/partial.js:34:15)
at eval (/Users/macos/Desktop/vue/blog/themes/keep/layout/layout.ejs:13:17)
at layout (/Users/macos/Desktop/vue/blog/node_modules/ejs/lib/ejs.js:682:17)
at _View._compiled (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:136:50)
at _View.render (/Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:39:17)
at /Users/macos/Desktop/vue/blog/node_modules/hexo/lib/theme/view.js:51:25
at tryCatcher (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler
(/Users/macos/Desktop/v/blog/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/Users/macos/Desktop/vue/blog/node_modules/bluebird/js/release/async.js:102:5)
v2.1 下箭头点击一次后,再滑动鼠标滚轮,页面会反复抖动。上箭头键没有这个问题
您好博主,我非常喜欢这一款主题,但在我打算将他用在我的博客上的时候,有一些乱码的问题:
1.创建了 about 页面在md文件写入中文,在网页端显示出来的是乱码。
2. valine 评论系统的 placeholder: 关键字,填入中文,也显示乱码。
遇到一个问题:点进文章分类之后默认显示条数是和首页的文章显示条数一致麽?如果一致,在文章分类页没有分页功能,默认就只能显示满足设置值的最新条数。请问这个是因为我设置的问题,还是一个bug呀?
Keep v3.0.0
起,主题源文件和主题配置文件 _config.yml
的配置项做了较大的改动,为不影响正常使用,请使用最新版本的主题和最新版的主题配置文件_config.yml
,对应的把旧版的配置项填写在新版的配置文件里。
请勿在新版主题里,使用旧版的主题配置文件_config.yml
,会导致样式错乱。
每个新版本的配置文件里都带有版本号的配置项,请勿删除和修改主题配置文件_config.yml
的版本配置项。
参考如下:
# ---------------------------------------------------------------------------------------
# Keep version (Please don't modify)
# ---------------------------------------------------------------------------------------
version: 3.3.0
填写名字也是Anonymous
求解
查了下,默认CDN 链接的,怎么修改,谢谢
你好,我从ils升级到keep之后主题的配置文件好像不管用了。我按照keep官方文档里的主题配置文件来写我的主题配置文件,在开启code_copy之类的功能之后好像不管用,而且好以前在左边的目录也没有了。我记得这几个是不用装插件的吧。用的是esay hexo里hexo clean && hexo d -g这个命令部署的。能帮忙看下什么问题吗,谢谢。
昨晚折腾了一下这个主题,很满意,有几个小问题咨询,第一次用hexo,还不是太熟
这样的配置有问题吗?请回复下,谢谢
暗色模式下的 三连反引号包含的长代码片段背景仍然是纯白色,在暗色模式下非常扎眼。
另外单反引号扩起来的单行代码同样有这个问题。
如果更新了主题,是否设置的yml文件要重新设置一遍? 有没有其他方法?
墙裂建议加入数学公式支持 hexo-math
移动端首页文章列表点击会自动缩小
hexo根目录下的配置文件中代码高亮的配置
highlight:
enable: true
auto_detect: true
line_number: false
tab_replace: ''
wrap: false
hljs: false
按照如上配置,我在使用pure主题时,一切都正常,当换成hexo-theme-ils时,代码高亮很少,如图。
当我把hljs
改为true
,代码全部变成灰色。目前正在困惑中,怎样才能在不大动配置的情况下,让代码能够通过 hexo 原有方案正常高亮呢。希望得到帮助,谢谢。
release v1.1.1的响应式布局,缩小到手机尺寸的时候,两边间距过大,master 分支的没这个问题
在之前的issue有提到一个link页面出现“link”标题的问题,但未深究。
我看了Repo主的博客没有出现这个问题,后查代码得知问题出在themes/keep/layout/_partial/empty-page.ejs
下:
<div class="empty-page-content markdown-body">
<% if (page.content) { %>
<%- page.content %>
<% } else { %>
<h1><%- page.title %></h1>
<% } %>
</div>
这一段会使得任何类似友链的空页面在内容为空时出现一个<h1><%- page.title %></h1>
。而在主题的逻辑里,page.title作为hexo判断页面分类的依据不可缺少。
而恰好Repo主的博客,友链页面有一段介绍文字(即page.content
结果为真),而我的却刚好没有😂。
我个人有两个解决方案:一是简单的将上文代码中else
改写为额外的else if
并判断page.title
是否为link(s)
。另一种是将整个主题的页面分类依据从title
改为type
,不过这样需要更新所有旧的md。
举例:
版本号不符合规范,其中,都添加了新的 feature,直接改动次版本号就好了,你直接 v3.1.1 -> v3.1.2
只改动了修订号,很容易误导用户,某些情况下甚至会引起 Hexo 启动报错。
https://semver.org/lang/zh-CN/
可能你觉着就加了一个小功能而已,没必要改动次版本号,这是不对的。举个例子:假如你刚发布了 v2.4.0
,然后新的 commit 中,提交了一个 feat:
,如果想再发布新版本,就得直接 v2.5.0
。
另外建议你,涉及改动配置(_config.yml
)的 commit,你心里要清楚,改动配置相当于 Breaking Changes,如果改动配置就得发布新的主版本号,哪怕只新提交了一个 commit。
众所周知,发布新的主版本号不是小事情,因此需要谨慎对待。所以建议把涉及 配置改动的
、用法和之前完全不一样的(哪怕配置完全相同)
都放入计划中,等积攒多了再去实现,然后发布一个大的主版本号。
我是 hexo-theme-stun 主题的作者,以上是我的愚见(都是坑过来的,,,),也是我诚心的建议,如有不妥,恳请斧正,希望多多交流。
还有就是不显示cnzz的图案或者文字,小白页也不会ejs
新主题很漂亮,感谢作者
今天开了评论插件之后 样式炸了 没有改动主题代码
求教
如题,npm 只会更新node_modules里的文件内容,要复制到themes文件夹下吗?
自 v3.0.0
起,原Hexo 主题 ILS 已改名 Keep。
Keep 在 ILS 基础上做了大量改进、优化和代码重构,全新设计、全面提升、更轻、更快。
希望你积极提出反馈及建议。
PR已经提交~
INFO Validating config
INFO Start processing
INFO Files loaded in 160 ms
ERROR {
err: OperationalError: F:/Blog/node_modules/stylus/lib/functions/index.styl:133:3
129|
130| // lighten by the given amount
131|
132| lighten(color, amount)
133| adjust(color, 'lightness', amount)
----------^
134|
135| // decrease opacity by amount
136|
TypeError: expected rgba or hsla, but got ident:$default-text-color
at Object.exports.assertColor (F:\Blog\node_modules\stylus\lib\utils.js:255:13)
at Evaluator.adjust (F:\Blog\node_modules\stylus\lib\functions\adjust.js:14:9)
at Evaluator.invokeBuiltin (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1054:30)
at Evaluator.visitCall (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:516:16)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitExpression (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:644:26)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.eval (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1238:23)
at Evaluator.invoke (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1083:16)
at Evaluator.invokeFunction (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1012:15)
at Evaluator.visitCall (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:522:16)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitExpression (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:644:26)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitIdent (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:551:22)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitRoot (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:707:27) {
cause: Error: F:/Blog/node_modules/stylus/lib/functions/index.styl:133:3
129|
130| // lighten by the given amount
131|
132| lighten(color, amount)
133| adjust(color, 'lightness', amount)
----------^
134|
135| // decrease opacity by amount
136|
TypeError: expected rgba or hsla, but got ident:$default-text-color
at Object.exports.assertColor (F:\Blog\node_modules\stylus\lib\utils.js:255:13)
at Evaluator.adjust (F:\Blog\node_modules\stylus\lib\functions\adjust.js:14:9)
at Evaluator.invokeBuiltin (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1054:30)
at Evaluator.visitCall (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:516:16)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitExpression (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:644:26)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.eval (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1238:23)
at Evaluator.invoke (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1083:16)
at Evaluator.invokeFunction (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:1012:15)
at Evaluator.visitCall (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:522:16)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitExpression (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:644:26)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitIdent (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:551:22)
at Evaluator.Visitor.visit (F:\Blog\node_modules\stylus\lib\visitor\index.js:28:40)
at Evaluator.visit (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:160:18)
at Evaluator.visitRoot (F:\Blog\node_modules\stylus\lib\visitor\evaluator.js:707:27) {
lineno: 133,
column: 3,
filename: 'F:/Blog/node_modules/stylus/lib/functions/index.styl',
stylusStack: '',
input: 'called-from = ()\n' +
'\n' +
'vendors = moz webkit o ms official\n' +
'\n' +
'// stringify the given arg\n' +
'\n' +
'-string(arg)\n' +
" type(arg) + ' ' + arg\n" +
'\n' +
'// require a color\n' +
'\n' +
'require-color(color)\n' +
" unless color is a 'color'\n" +
" error('RGB or HSL value expected, got a ' + -string(color))\n" +
'\n' +
'// require a unit\n' +
'\n' +
'require-unit(n)\n' +
" unless n is a 'unit'\n" +
" error('unit expected, got a ' + -string(n))\n" +
'\n' +
'// require a string\n' +
'\n' +
'require-string(str)\n' +
" unless str is a 'string' or str is a 'ident'\n" +
" error('string expected, got a ' + -string(str))\n" +
'\n' +
'// Math functions\n' +
'\n' +
"abs(n) { math(n, 'abs') }\n" +
'min(a, b) { a < b ? a : b }\n' +
'max(a, b) { a > b ? a : b }\n' +
'\n' +
'// Trigonometrics\n' +
"PI = -math-prop('PI')\n" +
'\n' +
'radians-to-degrees(angle)\n' +
' angle * (180 / PI)\n' +
'\n' +
'degrees-to-radians(angle)\n' +
' angle * (PI / 180)\n' +
'\n' +
'sin(n)\n' +
" n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n" +
" round(math(n, 'sin'), 9)\n" +
'\n' +
'cos(n)\n' +
" n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n" +
" round(math(n, 'cos'), 9)\n" +
'\n' +
'// Rounding Math functions\n' +
'\n' +
'ceil(n, precision = 0)\n' +
' multiplier = 10 ** precision\n' +
" math(n * multiplier, 'ceil') / multiplier\n" +
'\n' +
'floor(n, precision = 0)\n' +
' multiplier = 10 ** precision\n' +
" math(n * multiplier, 'floor') / multiplier\n" +
'\n' +
'round(n, precision = 0)\n' +
' multiplier = 10 ** precision\n' +
" math(n * multiplier, 'round') / multiplier\n" +
'\n' +
'// return the sum of the given numbers\n' +
'\n' +
'sum(nums)\n' +
' sum = 0\n' +
' sum += n for n in nums\n' +
'\n' +
'// return the average of the given numbers\n' +
'\n' +
'avg(nums)\n' +
' sum(nums) / length(nums)\n' +
'\n' +
'// return a unitless number, or pass through\n' +
'\n' +
'remove-unit(n)\n' +
' if typeof(n) is "unit"\n' +
' unit(n, "")\n' +
' else\n' +
' n\n' +
'\n' +
'// convert a percent to a decimal, or pass through\n' +
'\n' +
'percent-to-decimal(n)\n' +
' if unit(n) is "%"\n' +
' remove-unit(n) / 100\n' +
' else\n' +
' n\n' +
'\n' +
'// check if n is an odd number\n' +
'\n' +
'odd(n)\n' +
' 1 == n % 2\n' +
'\n' +
'// check if n is an even number\n' +
'\n' +
'even(n)\n' +
' 0 == n % 2\n' +
'\n' +
'// check if color is light\n' +
'\n' +
'light(color)\n' +
' lightness(color) >= 50%\n' +
'\n' +
'// check if color is dark\n' +
'\n' +
'dark(color)\n' +
' lightness(color) < 50%\n' +
'\n' +
'// desaturate color by amount\n' +
'\n' +
'desaturate(color, amount)\n' +
" adjust(color, 'saturation', - amount)\n" +
'\n' +
'// saturate color by amount\n' +
'\n' +
"saturate(color = '', amount = 100%)\n" +
" if color is a 'color'\n" +
" adjust(color, 'saturation', amount)\n" +
' else\n' +
' unquote( "saturate(" + color + ")" )\n' +
'\n' +
'// darken by the given amount\n' +
'\n' +
'darken(color, amount)\n' +
" adjust(color, 'lightness', - amount)\n" +
'\n' +
'// lighten by the given amount\n' +
'\n' +
'lighten(color, amount)\n' +
" adjust(color, 'lightness', amount)\n" +
'\n' +
'// decrease opacity by amount\n' +
'\n' +
'fade-out(color, amount)\n' +
' color - rgba(black, percent-to-decimal(amount))\n' +
'\n' +
'// increase opacity by amount\n' +
'\n' +
'fade-in(color, amount)\n' +
' color + rgba(black, percent-to-decimal(amount))\n' +
'\n' +
'// spin hue by a given amount\n' +
'\n' +
'spin(color, amount)\n' +
' color + unit(amount, deg)\n' +
'\n' +
'// mix two colors by a given amount\n' +
'\n' +
'mix(color1, color2, weight = 50%)\n' +
' unless weight in 0..100\n' +
' error("Weight must be between 0% and 100%")\n' +
'\n' +
' if length(color1) == 2\n' +
' weight = color1[0]\n' +
' color1 = color1[1]\n' +
'\n' +
' else if length(color2) == 2\n' +
' weight = 100 - color2[0]\n' +
' color2 = color2[1]\n' +
'\n' +
' require-color(color1)\n' +
' require-color(color2)\n' +
'\n' +
" p = unit(weight / 100, '')\n" +
' w = p * 2 - 1\n' +
'\n' +
' a = alpha(color1) - alpha(color2)\n' +
'\n' +
' w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2\n' +
' w2 = 1 - w1\n' +
'\n' +
' channels = (red(color1) red(color2)) (green(color1) green(color2)) (blue(color1) blue(color2))\n' +
' rgb = ()\n' +
'\n' +
' for pair in channels\n' +
' push(rgb, floor(pair[0] * w1 + pair[1] * w2))\n' +
'\n' +
' a1 = alpha(color1) * p\n' +
' a2 = alpha(color2) * (1 - p)\n' +
' alpha = a1 + a2\n' +
'\n' +
' rgba(rgb[0], rgb[1], rgb[2], alpha)\n' +
'\n' +
'// invert colors, leave alpha intact\n' +
'\n' +
"invert(color = '')\n" +
" if color is a 'color'\n" +
' rgba(#fff - color, alpha(color))\n' +
' else\n' +
' unquote( "invert(" + color + ")" )\n' +
'\n' +
'// give complement of the given color\n' +
'\n' +
'complement( color )\n' +
' spin( color, 180 )\n' +
'\n' +
'// give grayscale of the given color\n' +
'\n' +
"grayscale( color = '' )\n" +
" if color is a 'color'\n" +
' desaturate( color, 100% )\n' +
' else\n' +
' unquote( "grayscale(" + color + ")" )\n' +
'\n' +
'// mix the given color with white\n' +
'\n' +
'tint( color, percent )\n' +
' mix( white, color, percent )\n' +
'\n' +
'// mix the given color with black\n' +
'\n' +
'shade( color, percent )\n' +
' mix( black, color, percent )\n' +
'\n' +
'// return the last value in the given expr\n' +
'\n' +
'last(expr)\n' +
' expr[length(expr) - 1]\n' +
'\n' +
'// return keys in the given pairs or object\n' +
'\n' +
'keys(pairs)\n' +
' ret = ()\n' +
" if type(pairs) == 'object'\n" +
' for key in pairs\n' +
' push(ret, key)\n' +
' else\n' +
' for pair in pairs\n' +
' push(ret, pair[0]);\n' +
' ret\n' +
'\n' +
'// return values in the given pairs or object\n' +
'\n' +
'values(pairs)\n' +
' ret = ()\n' +
" if type(pairs) == 'object'\n" +
' for key, val in pairs\n' +
' push(ret, val)\n' +
' else\n' +
' for pair in pairs\n' +
' push(ret, pair[1]);\n' +
' ret\n' +
'\n' +
'// join values with the given delimiter\n' +
'\n' +
'join(delim, vals...)\n' +
" buf = ''\n" +
' vals = vals[0] if length(vals) == 1\n' +
' for val, i in vals\n' +
' buf += i ? delim + val : val\n' +
'\n' +
'// add a CSS rule to the containing block\n' +
'\n' +
'// - This definition allows add-property to be used as a mixin\n' +
'// - It has the same effect as interpolation but allows users\n' +
'// to opt for a functional style\n' +
'\n' +
'add-property-function = add-property\n' +
'add-property(name, expr)\n' +
' if mixin\n' +
' {name} expr\n' +
' else\n' +
' add-property-function(name, expr)\n' +
'\n' +
'prefix-classes(prefix)\n' +
' -prefix-classes(prefix, block)\n' +
'\n' +
'// Caching mixin, use inside your functions to enable caching by extending.\n' +
'\n' +
'$stylus_mixin_cache = {}\n' +
'cache()\n' +
" $key = (current-media() or 'no-media') + '__' + called-from[0] + '__' + arguments\n" +
' if $key in $stylus_mixin_cache\n' +
' @extend {"$cache_placeholder_for_" + $stylus_mixin_cache[$key]}\n' +
" else if 'cache' in called-from\n" +
' {block}\n' +
' else\n' +
' $id = length($stylus_mixin_cache)\n' +
'\n' +
' &,\n' +
' /$cache_placeholder_for_{$id}\n' +
' $stylus_mixin_cache[$key] = $id\n' +
' {block}\n' +
'\n' +
'// Percentage function to convert a number, e.g. ".45", into a percentage, e.g. "45%"\n' +
'\n' +
'percentage(num)\n' +
" return unit(num * 100, '%')\n" +
'\n' +
'// Returns the position of a `value` within a `list`\n' +
'\n' +
'index(list, value)\n' +
' for val, i in list\n' +
' return i if val == value\n'
},
isOperational: true,
lineno: 133,
column: 3,
filename: 'F:/Blog/node_modules/stylus/lib/functions/index.styl',
stylusStack: '',
input: 'called-from = ()\n' +
'\n' +
'vendors = moz webkit o ms official\n' +
'\n' +
'// stringify the given arg\n' +
'\n' +
'-string(arg)\n' +
" type(arg) + ' ' + arg\n" +
'\n' +
'// require a color\n' +
'\n' +
'require-color(color)\n' +
" unless color is a 'color'\n" +
" error('RGB or HSL value expected, got a ' + -string(color))\n" +
'\n' +
'// require a unit\n' +
'\n' +
'require-unit(n)\n' +
" unless n is a 'unit'\n" +
" error('unit expected, got a ' + -string(n))\n" +
'\n' +
'// require a string\n' +
'\n' +
'require-string(str)\n' +
" unless str is a 'string' or str is a 'ident'\n" +
" error('string expected, got a ' + -string(str))\n" +
'\n' +
希望作者能把head部分优化下,博客都上线几个月了,尽然没有被百度,google收录
--
|
|
|
|
| <title>
|
| 门心叼龙的个人博客
| </title>
|
|
|
|
请问 links 界面的外链 md 怎么写的?
两栏链接那行
希望作者大大可以在页面左/右/中下角,提供一个页面访问人次的展示,好想看看到底有多少人来了我的博客~
谢谢大大!主题很可爱!
网站地址如下,
https://blog.gooday.press
首先,感谢作者写的这个主题,我真的是太喜欢了,这个就是我一直在寻找的极简风格的 Hexo 主题。
然后就是一个建议,目前放到每篇文章或者博客 Header 部分都是有放大,我觉得如果把这个放大的效果去掉,改为加深阴影(虽然目前也有这个效果,但是比较浅),整个主题的气质会上升一个档次。
希望作者大大采纳,或者做一个选项让用户自己选择,您看这么样?
再次感谢。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.