Code Monkey home page Code Monkey logo

Comments (11)

youyim avatar youyim commented on July 26, 2024 4

@Mlearn @dayudodo 请问有公开可复现的 repo 么,现在的 0.0.4 版本是否还会出现?

Me too. I have to rollback to v0.0.2 to make it work.

npm install [email protected] --save

The problem is if the blog post is hello-world.md, then image path generated using v0.0.3 will be /2018/07/02/hello-world/hello-world/img.jpg. The expected path is /2018/07/02/hello-world/img.jpg

Thanks.

使用这个方法搞定了

from hexo-asset-image.

dayudodo avatar dayudodo commented on July 26, 2024 1

我也是一样的错误!

from hexo-asset-image.

Mlearn avatar Mlearn commented on July 26, 2024

附,我的hexo版本如下
image

from hexo-asset-image.

nuynait avatar nuynait commented on July 26, 2024

Me too. I have to rollback to v0.0.2 to make it work.

npm install [email protected] --save

The problem is if the blog post is hello-world.md, then image path generated using v0.0.3 will be /2018/07/02/hello-world/hello-world/img.jpg. The expected path is /2018/07/02/hello-world/img.jpg

Thanks.

from hexo-asset-image.

xcodebuild avatar xcodebuild commented on July 26, 2024

@Mlearn @dayudodo 请问有公开可复现的 repo 么,现在的 0.0.4 版本是否还会出现?

from hexo-asset-image.

Mlearn avatar Mlearn commented on July 26, 2024

@xcodebuild 更新到 0.0.4 还是无法显示图片。查看网页如下:

0.0.2 版本:
Snipaste_2019-06-04_15-58-35

0.0.4 版本:
Snipaste_2019-06-04_15-58-13

0.0.2 版本下可以显示图片, 0.0.4 版本无法显示图片。

from hexo-asset-image.

xcodebuild avatar xcodebuild commented on July 26, 2024

@Mlearn 可以提供一个最小复现么,我在你的 github 只看到部署后的文件

from hexo-asset-image.

Mlearn avatar Mlearn commented on July 26, 2024

@xcodebuild

链接: https://pan.baidu.com/s/1l3y7m4nmBt30oFVkwYBW1Q 提取码: wd6m

PS D:\Users\AM\Hexo_Blog_test> nvm list

  * 11.0.0 (Currently using 64-bit executable)
    10.12.0
PS D:\Users\AM\Hexo_Blog_test> npm version
{ 'hexo-site': '0.0.0',
  npm: '6.4.1',
  ares: '1.14.0',
  cldr: '33.1',
  http_parser: '2.8.0',
  icu: '62.1',
  modules: '67',
  napi: '3',
  nghttp2: '1.34.0',
  node: '11.0.0',
  openssl: '1.1.0i \n',
  tz: '2018e',
  unicode: '11.0',
  uv: '1.23.2',
  v8: '7.0.276.28-node.5',
  zlib: '1.2.11' }

from hexo-asset-image.

xcodebuild avatar xcodebuild commented on July 26, 2024

@Mlearn 非常感谢,我在 macOS 10.14.4 下下载你提供的复现代码后 hexo s 是没有问题的(即使我的文件夹在 finder 里都乱码了)

image

怀疑和 Windows 系统有关,等我晚上用 Windows 电脑排查看看

from hexo-asset-image.

xcodebuild avatar xcodebuild commented on July 26, 2024

换了台电脑发现是我 publish 错了代码,试一下 1.0.0 😢

from hexo-asset-image.

rstyro avatar rstyro commented on July 26, 2024

不知道为啥,反正用的是新版的就会出问题,所以我找了一下我以前的版本然后根据我的情况改了下。内容如下:

'use strict';
var cheerio = require('cheerio');

// http://stackoverflow.com/questions/14480345/how-to-get-the-nth-occurrence-in-a-string
function getPosition(str, m, i) {
  return str.split(m, i).join(m).length;
}

hexo.extend.filter.register('after_post_render', function(data){
  var config = hexo.config;
  if(config.post_asset_folder){
	var isIndex =false;
    var link = data.permalink;
	if(/.*\/index\.html$/.test(link)) {
      isIndex=true;
    }
	var beginPos = getPosition(link, '/', 3) + 1;
	// In hexo 3.1.1, the permalink of "about" page is like ".../about/index.html".
	var endPos = link.lastIndexOf('/') + 1;
    link = link.substring(beginPos, endPos);
	if(!isIndex) {
		 link= link.substr(0,link.lastIndexOf('/'));
		 link= link.substr(0,link.lastIndexOf('/')+1);
    }

    var toprocess = ['excerpt', 'more', 'content'];
    for(var i = 0; i < toprocess.length; i++){
      var key = toprocess[i];
 
      var $ = cheerio.load(data[key], {
        ignoreWhitespace: false,
        xmlMode: false,
        lowerCaseTags: false,
        decodeEntities: false
      });

      $('img').each(function(){
		// For windows style path, we replace '\' to '/'.
        var src = $(this).attr('src').replace('\\', '/');
        if(!/http[s]*.*|\/\/.*/.test(src)){
		  // For "about" page, the first part of "src" can't be removed.
		  // In addition, to support multi-level local directory.
		  var linkArray = link.split('/').filter(function(elem){
		    return elem != '';
		  });
		  var srcArray = src.split('/').filter(function(elem){
		    return elem != '';
		  });
		  if(linkArray[linkArray.length - 1] == srcArray[0])
		    srcArray.shift();
          src = srcArray.join('/');
          $(this).attr('src', '/' + link + src);
        }
      });
      data[key] = $.html();
    }
  }
});

from hexo-asset-image.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.