0x709394
get lazyload!很有用的插件。另外zeit now大赞!正好看到

0x709394 那个%20真是玄学!!!没道理官方文档都会有问题啊。。。 图片好像没问题?谁再看看。。。

    Bintou
    开源的看看代码就知道了。
    下面看的是它的旧版。我从footer那里的链接点进去是旧版所以猜测老师用的是旧版的Next。
    https://github.com/iissnan/hexo-theme-next/blob/master/layout/_partials/header.swig#L43
    这里就是生成url的地方。

     {% for name, path in theme.menu %}

    这里的theme.menu就是主题的config。https://github.com/iissnan/hexo-theme-next/blob/master/_config.yml#L94
    name是键, path 就是值,然后经过模板的这么一个函数和pipe就成了渲染出来的url。
    url_for(path.split('||')[0]) | trim
    config文件中也有注释的。我不太了解swig的trim。还有为什么他要先url_for 然后再trim而不是先trim。所以我才会说

    0x709394 估计是yaml哪里多了个空格。

    但是如果trim了的话是不应该有%20。老师可以试试在模板里面log看看是什么原因吧。

    图片的话首页确实可以显示,但是点到文章里面就不行了 https://lbwang.github.io/2020/04/07/sidh/ 路径在那堆日期后面的相对路径了。

      0x709394
      折腾了一个上午,似乎都不成功:
      1、插入图片那里,我按帖子装了asset-folders,但是现实不成功。hexo g有这个输出:update link as:-->/.io//ec.jpg ,ec.jpg只是我测试用的图片。这个link显然不对啊!

      2、还有,支持LaTex那里,按hexo-renderer-markdown-it-plus 去做,也不行。不知道为何。想用hexo-renderer-markdown-it-plus的原因,就是hexo-math的LaTex语法好奇怪。不知道在theme那里需要设置什么。我用的是next。next支持mathjax和katex的。

      有空帮忙看看。

        Bintou hexo g有这个输出:update link as:-->/.io//ec.jpg ,ec.jpg

        这个应该不是 hexo-asset-image 的输出来的。除了安装,图片也应该放在assert folder也就是跟md文件同名的文件夹里面。在 site config 里打开之后每次hexo new都会自动创建。用不到的话可以删掉。然后markdown的路径也按照README写的那样应该就好了。

        Bintou 看了这个帖子 . 似乎可行。需要修改一个index.js 文件。

        我记得之前是要改,但是某个版本更新了之后不改也行了现在。毕竟直接手改node_modules不是什么好习惯。

        LaTex 具体什么问题我也不清楚。hexo-math 和 markdown-it-katex 是不能同时装的。排查的话首先看一下public有没有引入到 katex 的 CSS。 如果有的话,看看是不是因为 markdown 中 LaTex 的一些转义的坑或者是markdown-it-plus 的config 的问题吧。可以copy一份现成的然后再去调整(控制变量😂)。如无意外应该是这样的

        7 天 后

        刚好前不久重整了下自己的GitHub page博客,分享一下。
        这次我用了GitHub action,主分支放所有的md文件,再开一个分支放hexo的所有配置,让action去自动build+deploy博客,我只需要写好md推上去就行了。
        这样的好处有几个(发这个评论时只凑出三个23333):

        1. 不想氪金又没得白嫖GitHub会员的情况下,可以让自己的博客源文件闭源
        2. 基本不用担心迁移的问题,因为只需要维护md文件,甚至可以直接在GitHub网页上写博客
        3. 博客项目看起来更清晰

        另外,我还在action里监控着我这个私有仓库的star事件,点一下star就可以发布博客。目前还有很多有趣的骚操作在酝酿中,没具体做出来就不说了,不知道可行性有多大。
        或许可以搞一个通用的action来简化所有操作?进一步的,或许可以搞个东西来自动生成定制化的action.yml,方便各种群体?第二个是写评论时想到的,因为突然想起我物理系的朋友听完我这个博客方案懵掉了哈哈哈,这个东西可以直接前端js生成就好了,就酱~

          重开一条评论,对于hexo,我一直有个问题没能解决。我写文章都是:post下所有的md文件所用到的图片都放在post/images里面,而网上的hexo图片方案都是要xxx.md的图片放到xxx文件夹,这对我很不方便呀。同时,我一般是相对路径引用图片。对于这两个问题,有什么解决办法吗?
          我现在是自己写个小插件处理图片路径到博客的根目录,然后build完后把整个images移动到根目录。

            Error 不想氪金又没得白嫖GitHub会员的情况下,可以让自己的博客源文件闭源

            大概是去年 GitHub 的私有仓库就免费了。

            昨天他们又进一步放开了免费方案(

              重开一条评论,对于hexo,我一直有个问题没能解决。我写文章都是:post下所有的md文件所用到的图片都放在post/images里面,而网上的hexo图片方案都是要xxx.md的图片放到xxx文件夹,这对我很不方便呀。同时,我一般是相对路径引用图片。对于这两个问题,有什么解决办法吗?
              我现在是自己写个小插件处理图片路径到博客的根目录,然后build完后把整个images移动到根目录。

                0x0001 对,但是不氪金的话,私有仓库是不能开GitHub page的,我这个曲线救国23333,在私有仓库上存源文件,自动部署到公开仓库

                  Error 还有这一层的限制 🤯

                  有个远程的构建机的确可以做很多事情哈哈!

                    0x0001 对,而且私有化之后,issue什么的那些全部都没用了,毕竟这个仓库存的还是自己私人的东西,不会有其他maintainer,所以我们可以利用action的监控功能,重新定义仓库的其他功能,这就等待挖掘了,虽然可能算是滥用了

                      Error 不记得在哪里看到的,好像是有人拿 issue 做博客评论,然后有讨论这是否构成滥用,然后咨询了 GitHub 之后回复是只要符合 GitHub Terms of Service - GitHub Help 就可以做。

                      不清楚私有仓库和 Actions 是否有违反规则,大致翻了一遍,似乎没有相关的说法。

                      Error 我现在是自己写个小插件处理图片路径到博客的根目录,然后build完后把整个images移动到根目录。

                      可以在你使用的主题文件夹下的source创建images目录。这同样会解析到根目录下的images文件夹中。可以直接使用/images/xxx.jpg来引用。
                      好像楼上老哥的更方便一点......

                        0x709394MikyMing 的方案并不符合我的需求,可能我没说清楚,是这样的:
                        我的posts下放着所有的md文章,posts/images放着所有的图片,md里引用图片是相对路径引用,这样是为了方便我本地阅读我的笔记。也就是说,我既想保持我本地的笔记库无需大改动,又可以发布到hexo博客。

                        这样,如果把images放到source下,那么就会变成./post放md,./images放图片,这样文件会比较乱了,md里引用图片路径还得全部改成../images/xxx.jpg

                        还有一点,使用/images/xxx.jpg是不行的,会导致我本地阅读器找不到图片。我后来发现,使用images/xxx.jpg后,hexo生成的html是引用根目录,而./images/xxx.jpg却不行。现在我的小插件就是把路径全部处理成images/xxx.jpg

                          Error 先吐槽一下,老哥你一段话就一个句号中间一直逗号还和路径混着读着有点累。。。

                          Error 使用images/xxx.jpg后,hexo生成的html是引用根目录

                          不是这样的。是当前网页的相对路径,首页的时候是相对根目录,不同网页是不一样的。所以才会说

                          0x709394 直接用markdown会有路径问题

                          想要本地跟网页路径同时没问题就麻烦咯。 网页的话Web Server都会有root可以设置。对于本地的markdown编辑器,/那就是磁盘根目录了。应该你现在这样改路径的方式算是比较好的方案了吧。

                          图片其实真不建议放本地了。图片这样的二进制文件如果用Git管理,随着图片多起来,.git目录会变得很大。而且因为Git版本管理的特殊性,你删了它,.git也不会小,于是乎这个repo越来越占空间。我尝试用git-lfs解决这个问题,确实很有效。但是静态托管的网站对lfs的支持都不是很完善而且私有仓库的LFS的流量和容量都有限额(免费)

                            0x709394 好嘞,明白了。.git变大的确是个问题,之前没有没考虑到,我去看看git-lfs吧。谢谢啦~
                            被你一提醒,我去review了自己的评论才发现真的很累,我的锅。前面也忘了可以给路径套上那个markdown语法,我去编辑一下吧。

                            4 个月 后

                            分享一个自己给 Hexo 博客做 SEO 的记录 https://rapiz.me/2020/blog-seo/
                            博客自己写了两三年了一直没在意搜索引擎收录,最近开始关心这一块,想办法提高在搜索结果中的出现频率和排名。
                            因为是自己写的主题,所以我需要从 0 开始加 <meta> 标签。如果用的是成熟的博客主题,可能已经包含 <meta>, 就不需要这一点优化了。

                            © 2018-2025 0xFFFF