1

정적 파일에 링크 할 수 없습니다.는 <code>config.toml</code>에서 나는이 가지고 휴고

지금, content/posts/bar.md에, 나는 다음과 같은 내용이 있습니다

--- 
title: "Bar" 
--- 

![foo](img/foo.png) 

나는 hugo server을 시작한 후 사진이 표시되지 않는, 그래서 요소를 검사하고, 휴고는 다음 URL을 생성 된 것을 발견 :

http://localhost:1313/blog/posts/bar/img/hireme.png 

이것은 예상 한 것이 아닙니다. 내가 왜 다시 입력해야합니까, /blog/baseURL의 일부입니다 :이 그림이 제대로 표시되지만이 매우 이상하다,

http://localhost:1313/blog/img/hireme.png 

내가 ![foo](/blog/img/foo.png) 사용

해야 하는가?

+0

휴고 링크 마크 업, 그래서 그냥 아이디어를 처리하는 방법을 모르고 :

그래서 당신은 당신이 쉽게 할 수있는 CDN로 전환하기로 결정한 당신이 시도해 봤어'/img/foo.png '? – unor

+1

@unor 'http : // localhost : 1313/img/hireme.png' : 즉,'foo '로 렌더링됩니다. –

답변

1

사이트가 도메인 루트에있는 간단한 설정에서 이미지에 대한 절대적인 참조는 표준 사례입니다. 그러나 사이트가 중첩 된 경우에는 더 교묘 한 해결책이 필요합니다.

귀하의 딜레마를 해결하기 위해 짧은 코드를 사용하는 것이 좋습니다. 리소스 파일 경로를 취하여 매번 원하는 절대 경로를 뱉어내는 단축 코드를 작성하기 만하면됩니다. 이 접근법의 이점은 예를 들어 cdn에 대한 향후 자원 재배치를위한 융통성이다.

귀하의 인하의 코드는 다음과 같이 될 것입니다 : ![foo]({{< resource url="img/foo.png" >}})

귀하의 단축 코드 템플릿이 같은 것입니다 : {{ .Site.BaseURL }}{{ .Get "url" }}

에서 'resource.html'라는 이름의 파일을 만듭니다 '레이아웃/단축 코드 /' 폴더에 저장하고 위의 단축 코드 템플릿 코드를 드롭하십시오. ://cdn.example.com/{{ .Get "url" }}