นี่คือซอร์สโค้ดสำหรับเว็บไซต์ที่ให้บริการที่ https://seagl.org
ใช้ Jekyll เป็นตัวสร้างไซต์แบบคงที่ด้วย GitHub Pages
ไซต์จะแสดงผลโดยอัตโนมัติทุกครั้งที่มีการพุชโค้ดไปยังพื้นที่เก็บข้อมูลที่ใช้ร่วมกันที่ GitHub
โดยพื้นฐานแล้ว ขั้นตอนในการอัปเดตไซต์ (เช่น เพื่อเผยแพร่โพสต์บล็อกใหม่) คือ:
มีคำแนะนำสำหรับแต่ละขั้นตอนด้านล่าง คำแนะนำจะถือว่าผู้ที่มีประสบการณ์ด้าน git/GitHub/ด้านเทคนิคน้อยกว่ากำลังทำงานอยู่ ผู้ที่มีประสบการณ์มากกว่าสามารถคาดการณ์ได้ตามนั้น -
แม้ว่าคุณ จะสามารถ ทำงานบนพื้นที่เก็บข้อมูลนี้ได้โดยตรง แต่แนวปฏิบัติที่ดีที่สุดก็คือคุณทำไม่ได้ แต่คุณสามารถแยกหรือโคลน repo แล้วทำการเปลี่ยนแปลงกับสำเนานั้นได้ ซึ่งช่วยให้สามารถทดสอบก่อนทำการเปลี่ยนแปลงได้จริง และลดความเสี่ยงของการเปลี่ยนแปลงที่มีรูปแบบไม่ดีหรือการใช้คำที่หายไปจากโลกภายนอก
วิธีแยกที่เก็บ:
เอาล่ะ! นั่นคือทั้งหมดที่มีให้มัน
หากคุณกำลังเพิ่มโพสต์ในบล็อกใหม่ โปรดปฏิบัติตามกฎชื่อไฟล์เหล่านี้:
_posts
YYYY-MM-DD
สิ่งนี้ สำคัญมาก เนื่องจากจะควบคุมลำดับที่เว็บไซต์แสดงโพสต์ในบล็อก--future
เมื่อทดสอบการเปลี่ยนแปลงของคุณ ในขณะนี้ คุณจำเป็นต้องทริกเกอร์การสร้างไซต์ใหม่ภายในหรือหลังวันที่กำหนด เพื่อให้โพสต์ปรากฏ ซึ่งสามารถทำได้ด้วย: git commit -m 'rebuild pages' --allow-empty && git push origin main
หรือโดยทำการเปลี่ยนแปลงที่เกิดขึ้นจริงกับไซต์-
) แล้วตามด้วยชื่อเรื่องที่คั่นด้วยเครื่องหมายขีดกลาง ชื่อนี้ไม่ปรากฏ มันเป็นเพียงการตั้งชื่อไฟล์ โปรดเขียนให้กระชับแต่มีคำอธิบาย.md
เพื่อแสดงว่าโพสต์นั้นประกอบด้วยรูปแบบ Markdown (และโปรดเขียนโพสต์โดยใช้ Markdown เท่านั้น)ตามกฎเหล่านี้ โพสต์ในบล็อกที่ประกาศการเปิด CFP ปี 2017 อาจมีชื่อไฟล์เป็น:
2017-06-19-CFP-open.md
โปรดเพิ่มสิ่งต่อไปนี้ที่ด้านบนของไฟล์ด้วย:
---
layout: post
title: 'Example Title'
status: publish
type: post
published: true
categories: news
tags: '2013'
---
ตั้ง title
ให้กับชื่อโพสต์ในบล็อกของคุณและแก้ไข tags
เพื่อรวมปีการประชุมที่โพสต์นั้นเชื่อมโยงอยู่ (เว้นว่างไว้หากไม่มี) โปรดปล่อยค่าที่เหลือไว้ตามที่เป็นอยู่
สำหรับเนื้อหาไฟล์จริง คุณสามารถทำการเปลี่ยนแปลงได้บนเว็บอินเทอร์เฟซ GitHub หรือบนเครื่องภายในของคุณ
_posts
)Create a new file
Create a new file
Commit changes
ด้านล่างอินเทอร์เฟซการแก้ไข#
) ตามด้วยหมายเลขปัญหา ( #74
) สิ่งนี้จะเชื่อมโยงโดยอัตโนมัติในคำขอดึงซึ่งมีประโยชน์มากTBD (สันนิษฐานว่าเป็นผู้ที่ใช้ git บนเครื่องในพื้นที่ของตนรู้เรื่องนี้อยู่แล้ว จะ กรอกข้อมูลในภายหลัง)
โปรดทดสอบการเปลี่ยนแปลงทั้งหมดในเครื่องก่อนที่จะพุชไปที่ GitHub
การเริ่มต้นเซิร์ฟเวอร์การพัฒนาท้องถิ่นจะทำให้สำเนาของไซต์ของคุณพร้อมใช้งานที่ http://localhost:4000 มีหลายวิธีในการรันเซิร์ฟเวอร์ เลือกของคุณ!
การพึ่งพา:
การตั้งค่าครั้งเดียว:
bundle install
เริ่มเซิร์ฟเวอร์:
bundle exec jekyll serve --watch
หากต้องการดูตัวอย่างโพสต์ในอนาคตและโพสต์ที่ยังไม่ได้เผยแพร่ ให้เพิ่ม --future --unpublished
ในคำสั่งด้านบน
การพึ่งพา:
docker
ด้วย podman
)การตั้งค่าครั้งเดียว:
docker build --tag ' seagldev ' ' . '
เริ่มเซิร์ฟเวอร์:
docker run --rm --interactive --tty --publish ' 4000:4000 ' --volume " $PWD :/usr/src/app " ' seagldev '
หากต้องการดูตัวอย่างโพสต์ในอนาคตและโพสต์ที่ยังไม่ได้เผยแพร่ ให้เพิ่ม --future --unpublished
ต่อท้ายคำสั่งด้านบน
คุณสามารถส่ง PR ในอินเทอร์เฟซ GitHub หรือจากเครื่องภายในเครื่องของคุณได้
Pull requests
New pull request button
Create pull request
#
) ตามด้วยหมายเลขปัญหา ( #74
) สิ่งนี้จะเชื่อมโยงโดยอัตโนมัติในคำขอดึงซึ่งมีประโยชน์มาก[Allow edits from maintainers](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
เพื่อให้สมาชิกในทีมคนอื่นๆ สามารถทำการแก้ไขได้ หากจำเป็นCreate pull request
TBD (สันนิษฐานว่าเป็นผู้ที่ใช้ git บนเครื่องในพื้นที่ของตนรู้เรื่องนี้อยู่แล้ว จะ กรอกข้อมูลในภายหลัง)
ตอนนี้บางคน (บางทีอาจเป็นคุณ หากคุณมีสิทธิ์เข้าถึง Repo ระดับนั้น) ต้องตรวจสอบและรวมคำขอดึงของคุณ
เมื่อรวมคำขอดึงของคุณแล้ว จะมีการเผยแพร่บนเว็บไซต์
NOTA BENE : การผสานตัวเองจะไม่ทำให้เกิดการสร้างไซต์ใหม่ หากต้องการสร้างไซต์ใหม่ คุณจะต้องกดคอมมิตว่างดังนี้:
git commit --allow-empty -m " Rebuild the site, please " && git push
เพิ่มรูปภาพของคุณลงในไดเร็กทอรี img/posts/
จากนั้นใช้มาร์กดาวน์ต่อไปนี้:
![ Example description ] ( /img/posts/example.jpg )
เคล็ดลับ:
หากต้องการจัดแนวรูปภาพไปทางด้านข้าง ให้เพิ่มคลาส align-left
หรือ align-right
:
![ Example description ] ( /img/posts/example.jpg ) {:.align-left}
เพื่อประโยชน์ของเวลาในการโหลดหน้าเว็บ ให้ปรับขนาดรูปภาพให้มีขนาดที่เหมาะสมก่อนนำไปใช้ในโพสต์
การประชุมที่ผ่านมาจะถูกจัดเก็บแบบคงที่เป็นคอลเลกชัน Jekyll:
archive-conferences
archive-sessions
หากต้องการสร้างไฟล์เก็บถาวรของปีที่กำหนด ให้นำเข้าข้อมูลจากกำหนดการก่อน—
bundle exec rake import[2020]
—จากนั้นแก้ไขไฟล์เก็บถาวรด้วยตนเองหากจำเป็นต้องแก้ไขใดๆ