2013-08-02 3 views
14

웹 사이트를 만들고 git 허브 페이지에서 호스팅하려고합니다. 내 사이트에서 사용할 수 있습니다 -정적 리소스가 git 허브 페이지에로드되지 않습니다.

http://<username>.github.io/<project name>/ 

하지만 내 사이트의 정적 파일은 다음 경로에 사용할 수있는 - 나는 URL을 칠 때마다

http://<username>.github.io/css/site.css 
http://<username>.github.io/script/main.js 

위의 경로 그래서 <project name>

을 생략 내 정적 파일이로드되지 않습니다.

github URL로 작동시키는 방법이 있습니까?

참고 : 사용자 정의 도메인을 사용할 때 모든 경우에 상대 경로가 정상적으로 작동하므로 문제가 없습니다.

임시 해결책 나는이 문제를 극복하기 위해 User page instead of a Project page을 만들었습니다. documentation to setup a custom domain에서

+0

'username.github.io'에도 웹 사이트가 있습니까? 브라우저에서'username.github.io/css/site.css'로 가면 어떻게 될까요? 'raw.username.github.io/css/site.css'를 시도해야 할 수도 있습니다. – ChelseaStats

+0

username.github.io에 웹 사이트가 없으며 해당 위치에서 css 파일을 사용할 수 없습니다. '원시'란 무엇입니까? – Tushar

+0

CSS 및 스크립트가 올바른 위치를 가리 키도록 정적 URL을 변경해야합니다. '/ css/site.css'를 시도해보십시오. – ChelseaStats

답변

10

:

경고 : http://username.github.io/projectname 같은 프로젝트 페이지 서브 패스가 프로젝트의 사용자 정의 도메인으로 리디렉션되지 않습니다.

이 때문에 상대 경로로 사용자 정의 도메인에 대한 당신의 username.github.io/project-name또는에 자산을 가질 수 있습니다 것을 의미한다.

baseurl 구성에 대한 설명서의 내용을 확인하려면 페이지 하단의 "프로젝트 URL 구조"를 참조하십시오. 그것은 당신이 당신의 _config.yml

baseurl: /project-name 

행을 추가하고, 지킬가 대체 할 것이다 영구 링크에서 {{ baseurl }} 태그를 사용할 필요가 간단합니다. 그리고 로컬로 테스트하려면이 옵션을 사용하여 서버를 실행하십시오.

jekyll serve --baseurl '' 

희망이 있습니다. :) 해피 코딩!

+0

이것은 정확히 내가 찾고있는 것입니다. 감사 ! – Tushar

+1

퍼멀 링크 태그는 {{baseurl}} 대신 {{site.baseurl}}이어야한다고 생각합니다. – mikeybeck

+0

FWIW, 내 사이트를 만들기 위해 webpack을 사용하는 동안 동일한 문제가있었습니다. 'webpack.config.js'에서 [output.publicPath'] (https://github.com/webpack/docs/wiki/configuration#outputpublicpath)':/project-name'을 설정하십시오. 그렇더라도 build config에 게시 된 URL 경로를 설정하는 기본 원칙이 올바른 해결책입니다. – gfullam

15

다른 옵션은 github이 페이지를 파괴하려고 시도하지 않고 github에 알려주는 최상위 디렉토리에 .nojekyll 파일을 포함시키는 것입니다 (이 방법은 스플라인에서 oputput을 게시하려고 시도 할 때 유용합니다. 더 이상 구문 분석/munging/rewriting 필요).

relevant link

+0

나는 이것으로 내 머리카락을 찢어 버리고있었습니다! 간단한 2 파일 사이트 ('index.html'과'_bundle.js')는'.nojekyll' 파일이 필요했습니다. – xavdid