Trang GitHub không có chỉ mục html

Thật không may, điều này chỉ hoạt động đối với các tệp HTML

  • Chuyển đến Yêu cầu kéo hoặc Cam kết bạn muốn xem trước
  • Chuyển đến tab “tệp đã thay đổi” và nhấp vào tệp bạn muốn xem trước (chỉ mục. html)
  • Chọn “xem” ở bên phải
  • Sao chép url
  • Dán url vào https. // thô. lừa đảo. com
  • Sử dụng url “trong sản xuất” để xem phiên bản kết xuất

Trang GitHub là một nền tảng lưu trữ miễn phí tuyệt vời, nhưng tài liệu thiếu một số chi tiết quan trọng

Hôm nay tôi đã tạo một repo simonw/ Playing-with-github-pages. Đây là những gì tôi học được

thêm một. tập tin nojekyll để tắt Jekyll

Trang GitHub ban đầu được xây dựng xung quanh khung trang web tĩnh Jekyll Ruby. Bạn có thể tắt tính năng đó bằng cách thêm tệp .nojekyll vào thư mục gốc của kho lưu trữ của mình

Thật kỳ lạ, tôi thấy rằng điều này cũng khắc phục sự cố trong đó các tệp trong thư mục có tên node_modules/ đang phục vụ như một lỗi 404. Thêm .nojekyll đã sửa lỗi đó

/foo sẽ phục vụ nội dung từ foo. html, nếu nó tồn tại

Nếu bạn tạo một tệp có tên foo.html trong repo và truy cập trang /foo, bạn sẽ thấy nội dung từ tệp đó

  • https. //simonw. github. io/play-with-github-pages/ phục vụ index.html
  • https. //simonw. github. io/ Playing-with-github-pages/foo phục vụ foo.html
  • https. //simonw. github. io/chơi-với-github-trang/foo. html phục vụ foo.html

/thư mục sẽ chuyển hướng đến /thư mục/

  • https. //simonw. github. io/ Playing-with-github-pages/thư mục chuyển hướng đến
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    0

Điều này chỉ xảy ra nếu thư mục tồn tại

/thư mục/ sẽ phục vụ thư mục/chỉ mục. html

  • https. //simonw. github. io/ Playing-with-github-pages/folder/ phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    1
  • https. //simonw. github. io/ Playing-with-github-pages/folder/index phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    1
  • https. //simonw. github. io/chơi-với-github-pages/thư mục/chỉ mục. html phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    1

404. tệp html sẽ được sử dụng cho lỗi 404

Tạo tệp

% curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
HTTP/2 200 
server: GitHub.com
content-type: text/html; charset=utf-8
...
4 trong thư mục gốc sẽ tùy chỉnh trang phục vụ cho lỗi 404

Các. quy tắc html đánh bại quy tắc chuyển hướng thư mục

Tôi đã tạo

% curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
HTTP/2 200 
server: GitHub.com
content-type: text/html; charset=utf-8
...
5 và
% curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
HTTP/2 200 
server: GitHub.com
content-type: text/html; charset=utf-8
...
6

  • https. //simonw. github. io/ Playing-with-github-pages/folder2 phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    5 (không chuyển hướng)
  • https. //simonw. github. io/ Playing-with-github-pages/folder2/ phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    6
  • https. //simonw. github. io/ Playing-with-github-pages/folder2/index phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    6
  • https. //simonw. github. io/chơi-với-github-pages/thư mục2/chỉ mục. html phục vụ
    % curl -i 'https://codepo8.github.io/github-redirection-demo/plain-redirect'
    HTTP/2 200 
    server: GitHub.com
    content-type: text/html; charset=utf-8
    ...
    
    6

mục lục. json cũng hoạt động như một tài liệu chỉ mục

Đây là về điều này

Tôi đã tạo .nojekyll1

  • https. //simonw. github. io/ Playing-with-github-pages/json chuyển hướng đến .nojekyll2
  • https. //simonw. github. io/ Playing-with-github-pages/json/ phục vụ .nojekyll1
  • https. //simonw. github. io/ Playing-with-github-pages/json/index phục vụ lỗi 404
  • https. //simonw. github. io/play-with-github-pages/json/index. json phục vụ .nojekyll1

Lưu ý rằng .nojekyll5 đã phục vụ 404 - vì vậy không giống như .nojekyll6, tiện ích mở rộng .nojekyll7 không được tự động thêm vào

Nếu không có chỉ số. html hoặc chỉ mục. json một thư mục sẽ 404

Tôi đã tạo .nojekyll8 bằng tệp .nojekyll9 nhưng không có tệp index.html hoặc node_modules/1

  • https. //simonw. github. io/ Playing-with-github-pages/folder-with-no-index chuyển hướng đến node_modules/2
  • https. //simonw. github. io/ Playing-with-github-pages/folder-with-no-index/ phục vụ lỗi 404

Chuyển hướng tùy chỉnh không được hỗ trợ

Không có cơ chế để đặt chuyển hướng tùy chỉnh của riêng bạn. Giải pháp thay thế được đề xuất là cung cấp một trang HTML có 200 mã trạng thái và nội dung giống như thế này

<html lang="en">
<head>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="refresh" content="0;url=https://example.com"/>
    <link rel="canonical" href="https://example.com"/>
    <title>Redirecting to https://example.comtitle>
    <style>
        body {
            font-family: sans-serif;
            max-width: 40em;
            margin: 1em auto;
        }
    style>
head>
<body>
    <h1>Redirecting to https://example.comh1>
    <p>This document has moved!p>
    <p>Redirecting to <a href="https://example.com">https://example.coma> in 0 seconds.p>
body>
html>

Tôi đã tìm ra điều này từ codepo8/github-redirection-demo/ (sử dụng Jekyll) sau đó chạy node_modules/3 với node_modules/4

Trang GitHub có cần lập chỉ mục HTML không?

Đang chuẩn bị mã của bạn để tải lên . g. với điểm vào chính là một tệp HTML có tên là chỉ mục. your code should be structured as a typical website, e.g. with the primary entry point being an HTML file called index. html .

Bạn có thể sử dụng HTML trong Trang GitHub không?

Bất cứ nơi nào HTML được hiển thị trên GitHub (ý chính, tệp README trong kho lưu trữ, nhận xét về sự cố và yêu cầu kéo,. ), bạn có thể sử dụng bất kỳ thành phần HTML nào mà GitHub Flavored Markdown (GFM) cung cấp cú pháp cú pháp cho.

Tôi có thể xem trước HTML trên GitHub không?

Xem trước HTML GitHub & BitBucket . GitHub buộc họ sử dụng loại nội dung "văn bản/đơn giản", vì vậy họ không thể hiểu được. If you try to open raw version of any HTML, CSS or JS file in a web browser directly from GitHub, all you will see is a source code. GitHub forces them to use the "text/plain" content-type, so they cannot be interpreted.

Chúng ta nên cẩn thận điều gì trước khi triển khai lên Trang GitHub?

Ngay cả khi kho lưu trữ là riêng tư, trang web vẫn có sẵn công khai trên internet — vì vậy nhà phát triển phải luôn kiểm tra mọi dữ liệu nhạy cảm . Đương nhiên, gửi dữ liệu nhạy cảm (e. g. mật khẩu hoặc thông tin thẻ tín dụng) cũng không an toàn.