สอนใช้ Github Pages สร้างเว็ปไซต์ใช้ฟรีตลอดไป

Github Pages Blog Background

สวัสดีครับ บทความนี้บีมจะมาสอนเพื่อนๆใช้ Github Pages พื้นที่ Hosting Website ที่เราสามารถสร้าง Website แบบง่ายๆแค่อัพโหลดขึ้นไป Github จัดการให้หมดเลยและที่สำคัญที่สุดคือ มันฟรีครับบ 😂

Github Pages

Github คือพื้นที่เก็บ Code ของชาวเราเหล่า Developer แต่ส่วนใหญ่จะเก็บเป็นไฟล์ Text ซะส่วนใหญ่ ยังทำอะไรไม่ได้จนกว่าเราจะเอาไปประกอบร่างละอัพขึ้น Server

แต่ทาง Github ก็ได้ซ่อนของดีเอาไว้ใน Feature ชื่อ Github Pages ที่สามารถเอา Code เว็ปหน้าบ้านไป Deploy ละ Build ขึ้น Server ให้ใช้และแสดงผลออกมาผ่าน Domain จริงเลย สุดยอดมาก

จุดเด่น

ง่าย + ฟรี 100% แล้ว Domain ที่ให้มาก็เป็น HTTPS ด้วยปลอดภัยตามหลักสากล ส่วนจะฟรีตลอดไปมั้ยขึ้นอยู่กับลูกพี่ Github ละครับ 55

เวลา Update แค่ Push โค้ดขึ้นทาง Server Github ก็จะไป Build และอัพเดตหน้าเว็ปให้ทันที

เอาไปใช้ทำอะไรได้บ้าง

เหมาะกับเอามาใช้เป็น Static Site หรือ Single Page Application พูดง่ายๆคือใช้ภาษาหน้าบ้านพวก HTML, CSS, JavaScript, รูปภาพ มาแสดง ไม่สามารถใช้เป็นหลังบ้านหรือ Database ได้ (เรียก API ได้ปกติ)

ดังนั้นมันมีลิมิตก็คือทำได้เท่าที่หน้าบ้านจะทำได้ เลยเหมาะกับใช้ทำ

  • เว็ปแสดง Portfolio
  • Resume
  • Project Open Source
  • Document

เว็ปของ Framework ดังๆก็ใช้ Github Pages ทำ Document กันนะ เช่น

  • Bootstrap
  • Jekyll
  • Homebrew
  • Github: หรือแม้กระทั่ง Document เว็ป Github เอง (ก็แน่ละสิ 55)
  • Sindre Sornhus Portfolio: พอร์ตของ Developer ชื่อดังวงการ Open source
  • Learn Bitcoin Proof of Work mini game: ส่วนอันนี้ Mini Project ของผมเอง 😆 ลองไปเล่นกันดูได้ค้าบ ใช้ Github Pages เหมือนกัน

Get Start

1. สร้างบัญชี

แรกสุดต้องมีบัญชีกับทาง Github ก่อน ยังไม่มีก็สมัคร ใครมีแล้วข้ามเลย

ส่วนใครมี Repo กับ HTML Code พร้อมแล้วข้ามไป Step 5 ได้เลยครับ

Github-Pages Instruction Photo 01

2. สร้าง Repository

ถ้ามีบัญชีแล้วไปที่หัวข้อ Repositories แล้วกด New ได้เลย เพื่อสร้าง Repository ใหม่

Repository = คลังเก็บโค้ด

Github-Pages Instruction Photo 02

3. เลือกชื่อที่ชอบ

⚠️ สำคัญคือต้องติ๊กช่องให้ Repo เป็น Public นะไม่งั้นใช้ Github Pages ไม่ได้ เสร็จละกดสร้างเลย

Github-Pages Instruction Photo 03

4. สร้าง File หน้าเว็ป (HTML)

มาลองสร้าง File HTML กัน ไปที่ปุ่ม Add file คลิก Create new file

Github-Pages Instruction Photo 04

5. ตั้งชื่อไฟล์

จำเป็นต้องเป็น index.html เพื่อให้ Github Pages รู้ว่าต้องอ่านไฟล์นี้ไปแสดงเป็นหน้าเว็ป

ทีนี้ลองใส่ Format ของ HTML เข้าไป (ต้องมี) ส่วนสีม่วงๆอันนี้ผมเพิ่ม Content ข้อความกับ Gif เข้าไปจะลบออกหรือปรับเพิ่มได้ตามใจชอบเลย

ตัวอย่างโค้ด

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Happy Friday</title>
</head>
<body>
    <h1>Happy Friday 😄 Have a Nice Weekend</h1>

    <div class="tenor-gif-embed" data-postid="24196108" data-share-method="host" data-aspect-ratio="1" data-width="20%"><a href="https://tenor.com/view/leo-toast-gif-24196108">Leo Toast GIF</a>from <a href="https://tenor.com/search/leo+toast-gifs">Leo Toast GIFs</a>
</div> 

<script type="text/javascript" async src="https://tenor.com/embed.js"></script>
</body>
</html>
Github-Pages Instruction Photo 05

6. Commit

การ Commit ก็คล้ายๆกับกด Save นั่นเอง พอใจแล้วก็กด Commit Changes โลดด ใส่ Commit Message ใส่เพื่อบอกว่าเราจะเปลี่ยนอะไร

Github-Pages Instruction Photo 06

7. Setup Pages

เสร็จแล้วกลับไปที่ Settings ตรงนี้หยุดก่อนเผื่อถ้าไม่พอใจกับชื่อที่เราตั้งตอนแรกก็สามารถเปลี่ยนได้ เพราะชื่อ Repo เราจะกลายเป็น Slug หรือชื่อ URL ข้างหลังชื่อเว็ปเรานั่นเอง

เช่นชื่อ Repo: Happy-Friday จะกลายเป็น beamtan.github.io/Happy-Friday

ถ้าพอใจแล้วไปที่ Pages กันเลย

Github-page instruction Image 05

8. Deployment

เลือก Branch main และใช้ /(root) ตรงนี้คือที่บอก Github ว่าเราจะใช้ Branch หรือ โค้ด Version ไหนในการส่งให้มันไปจัดการขึ้น Server

ซึ่งถ้าทำท่า Basic ก็ใช้ Main ไปเลยดีแล้ว

เสร็จแล้วกด Save เลยเพื่อส่งให้ Server Build 😎

Github-Pages Instruction Photo 08

เบื้องหลังการทำงาน (Build) ไปดูได้ที่ Tab Actions ทุกครั้งที่เรา Commit และ Push ขึ้นไปใหม่ มันจะเข้าไปทำงานในนี้และ Update ตัวเว็ปให้เราเองทุกรอบ ต้องรอแปปนึงถึงจะ Update เสร็จ

9. Done ✅

ถ้าเสร็จแล้วที่หน้าเดิมจะมี URL ของเว็ปเราออกมา ก็กดเข้าไปดูได้เลย

10. Happy Friday Website

ได้หน้าเว็ปออกมาตามที่ต้องการ 🎉 ดูตัวอย่างแบบ Live ได้ที่นี่

Github-Pages Instruction Photo 10

คุยกันหลังทำเสร็จ

เป็นไงครับง่ายมากเลยใช่มั้ย จริงๆแล้ว Feature นี้ Github ให้ไว้กับทุก Repo เลยนะสมมุติเรามี Project ของอะไรก็ได้แค่เรามีไฟล์ index.html ไว้ที่ root folder เราก็สามารถโชว์หน้าเว็ป ใช้เป็น Document ของ Project ก็ได้สะดวกมากแถมเท่สุดๆ

เท่าที่ดูมาสามารถทำได้ทุก Repo เลยด้วยนะหมายความว่าเราสามารถมี Github Pages ที่ Run พร้อมๆกันหลายๆอันได้เลย 🤩 ของดีขนาดนี้ทีแรกผมนึกว่าให้ใช้แค่ Repo เดียว 55

ส่วนจะทำให้หน้าเว็ปออกมาให้ดีได้ยังไง อันนี้ขึ้นอยู่กับ Skill Web Font-End ซะแล้ว แนะนำให้ลองไปดูตัวอย่างของคนอื่นได้ที่ Link นี้ [GithubPage Collections] ลองไป Clone Template ของคนอื่นมาเล่นดูก็ได้

Additional

จริงๆเราสามารถใช้ Custom Domain ของเราได้อีกนะแต่ต้องไป Setup เพิ่มในหน้า Pages เลยคับลองเล่นดู

หรือจะใช้ Jekyll (ตัวช่วยสร้าง Static Web ที่ Github แนะนำ) มาช่วยสร้างเว็ปก็ได้ อันนี้ส่วนตัวยังไม่ได้ลองเหมือนกันแต่จากที่ดูแล้วน่าสนใจเพราะเราไม่ต้องมา Custom หน้าเว็ปเองมันมาเป็น Theme ให้เลือกพร้อมโครงสร้างเลย

อาจจะยากขึ้นนิดนึงเพราะต้องลง Ruby มา Setup ก่อนตอนแรกและใช้ MarkDown เป็นโครงสร้างเว็ป ไว้ถ้าได้ลองทำเดียวมาเขียนต่อ EP2 ครับ

⚠️ ท้ายสุดอย่าลืมนะว่า Repo เราต้องเป็น Public ก่อน Github ถึงอนุญาติให้ใช้ Feature นี้หมายความว่าสิ่งที่เราอัพขึ้นไปจะกลายเป็น Open Source ทันทีข้อมูลที่มัน Sensitive เช่น Key ข้อมูลเราที่มันส่วนตัวมากๆหรือ Code ที่เป็นความลับก็ไม่ควรเอามาใช้ครับผม

ขอให้สนุกกับการเขียนโค้ดครับ


ผมเขียนเรื่องแบบนี้เรื่อยๆ ถ้าเพื่อนๆชอบบทความที่อ่านช้าๆและมีสาระแบบนี้ ฝากกดติดตาม 🍌

Leave a Reply

Discover more from Beamtan's Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading