ข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุที่เราเลิกสนับสนุนโปรเจ็กต์นี้อยู่ที่นี่
fastpages
แพลตฟอร์มบล็อกที่ใช้งานง่าย พร้อมรองรับโน้ตบุ๊ก Jupyter, เอกสาร Word และ Markdown
fastpages
ใช้ GitHub Actions เพื่อลดความซับซ้อนของกระบวนการสร้างโพสต์บล็อก Jekyll บน GitHub Pages จากรูปแบบอินพุตที่หลากหลาย
fastpages
มีคุณสมบัติดังต่อไปนี้:ดูรายการคุณสมบัติโดยละเอียดเพิ่มเติมด้านล่าง
ดูไซต์สาธิต
fastpages
fastpages
มีคุณสมบัติดังต่อไปนี้:สร้างสำเนาของ repo นี้โดยคลิกที่ลิงก์นี้ ตรวจสอบให้แน่ใจว่าได้ลงชื่อเข้าใช้บัญชีของคุณ ไม่เช่นนั้นคุณจะเห็นข้อผิดพลาด 404 ตั้งชื่อ repo ของคุณตามที่คุณต้องการ ยกเว้น {your-username}.github.io
GitHub Actions จะเปิด PR บนพื้นที่เก็บข้อมูลใหม่ของคุณโดยอัตโนมัติ ~ 30 วินาทีหลังจากสร้างสำเนา ทำตามคำแนะนำใน PR นั้นเพื่อดำเนินการต่อ
หากคุณไม่เห็น PR โปรดตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานการดำเนินการของบุคคลที่สามในองค์กรของคุณ: การตั้งค่า -> การดำเนินการ -> สิทธิ์การดำเนินการ -> เปิดใช้งานการดำเนินการในท้องถิ่นและบุคคลที่สามสำหรับพื้นที่เก็บข้อมูลนี้
หากต้องการดูขั้นตอนการตั้งค่าแบบสดๆ (พร้อมเคล็ดลับเพิ่มเติม) โปรดดูวิดีโอบทแนะนำการตั้งค่าบล็อก fastpages โดย Abdul Majed
Read and Write
และตรวจสอบ Allow GitHub Actions to create and approve pull requests
เมื่อคุณให้สิทธิ์แล้ว ให้ไปที่แท็บ Actions
ที่ด้านบนของหน้าแรกของพื้นที่เก็บข้อมูล ซึ่งคุณจะเห็นรายการการดำเนินการที่ทำงานอยู่ คลิกครั้งแรกที่การรันที่ล้มเหลว (รายการที่มีเครื่องหมาย X สีแดง):
คุณจะถูกนำไปยังหน้าจอซึ่งจะมีปุ่มที่ด้านขวาบนเพื่อให้คุณเรียกใช้งานใหม่ได้
หลังจากทำเช่นนี้ คำขอดึงควรปรากฏขึ้น
_posts
, _notebooks
หรือ _word
คุณสามารถติดตามตัวอย่างเนื้อหาในโฟลเดอร์เหล่านั้นในที่เก็บนี้เกี่ยวกับวิธีจัดโครงสร้างเนื้อหา สิ่งสำคัญที่สุดที่ต้องใส่ใจคือเรื่องหน้าซึ่งจะกล่าวถึงในรายละเอียดเพิ่มเติมด้านล่าง นอกจากนี้ คุณยังสามารถเพิ่มหน้าเว็บเพิ่มเติมที่จะปรากฏในแถบนำทางของบล็อกของคุณในไดเร็กทอรี _pages
โปรดทราบว่าเนื้อหาในไดเร็กทอรี _word
ไม่รองรับส่วนหน้า Front Matter ช่วยให้คุณสามารถสลับเปิด/ปิดตัวเลือกต่างๆ สำหรับแต่ละโพสต์บนบล็อกได้ เช่นเดียวกับการส่งผ่านข้อมูลเมตาไปยังคุณลักษณะต่างๆ ของหน้าด่วน
ในสมุดบันทึก ส่วนหน้าถูกกำหนดให้เป็นเซลล์มาร์กดาวน์ที่จุดเริ่มต้นของสมุดบันทึกโดยมีเนื้อหาดังต่อไปนี้:
# "Title"
> "Awesome summary"
- toc: false
- branch: master
- badges: true
- comments: true
- categories: [ fastpages, jupyter ]
- image: images/some_folder/your_image.png
- hide: false
- search_exclude: true
- metadata_key1: metadata_value1
- metadata_key2: metadata_value2
ในทำนองเดียวกัน ในเอกสาร markdown เรื่องหน้าเดียวกันจะถูกกำหนดเช่นนี้ที่ตอนต้นของเอกสาร:
---
title : " My Title "
description : " Awesome description "
layout : post
toc : false
comments : true
image : images/some_folder/your_image.png
hide : false
search_exclude : true
categories : [fastpages, jupyter]
metadata_key1 : metadata_value1
metadata_key2 : metadata_value2
---
ข้อมูลเมตาเพิ่มเติมเป็นทางเลือกและช่วยให้คุณตั้งค่าส่วนหน้าที่กำหนดเองได้
โปรดทราบว่าสิ่งใดก็ตามที่กำหนดไว้ในส่วนหน้าจะต้องเป็น YAML ที่ถูกต้อง การไม่ระบุ YAML ที่ถูกต้องอาจส่งผลให้เพจของคุณไม่แสดงผล ในบล็อกของคุณ ตัวอย่างเช่น หากคุณต้องการให้มีเครื่องหมายทวิภาคในชื่อของคุณ คุณต้องหลีกเลี่ยงด้วยเครื่องหมายคำพูดคู่ดังนี้:
- title: "Deep learning: A tutorial"
ดูบทช่วยสอนนี้บน YAML สำหรับข้อมูลเพิ่มเติม
Title
ด้วยชื่อที่คุณต้องการ และ Awesome summary
ด้วยบทสรุปที่คุณต้องการหมายเหตุ: ขอแนะนำให้ใส่ค่าเหล่านี้ด้วยเครื่องหมายคำพูดคู่ เพื่อให้คุณสามารถหลีกเลี่ยงเครื่องหมายทวิภาคและอักขระอื่นๆ ที่อาจทำลายตัวแยกวิเคราะห์ YAML
fast_template
จะสร้างสารบัญให้คุณโดยอัตโนมัติตามส่วนหัวของ markdown! คุณสามารถสลับเปิดหรือปิดคุณลักษณะนี้ได้โดยตั้งค่า toc:
เป็น true
หรือ false
ตัวเลือกนี้ใช้ได้กับ โน้ตบุ๊กเท่านั้น
branch
ใช้เพื่อแสดงลิงก์สมุดบันทึกของคุณไปยัง Colab และ GitHub ในบล็อกโพสต์ โดยค่าเริ่มต้นจะเป็นแบบ master
หากคุณไม่ได้ระบุไว้ในสมุดบันทึกbadges
เป็น false
ค่าเริ่มต้นนี้เป็น true
badges: true
ป้ายทั้งสี่ (GitHub, Binder, Deepnote, Colab) จะปรากฏขึ้นตามค่าเริ่มต้น คุณสามารถปรับค่าเริ่มต้นเหล่านี้ได้ด้วยพารามิเตอร์ default_badges
ในตัวเลือกการกำหนดค่าทั้งไซต์ หากต้องการเพียงซ่อนป้ายสถานะในแต่ละโพสต์ คุณสามารถตั้งค่าส่วนหน้า hide_{github,colab,binder,deepnote}_badge: true
ตัวอย่างเช่น หากคุณต้องการซ่อนป้าย Binder สำหรับสมุดบันทึกแต่ละเล่ม แต่คุณต้องการให้ป้ายอื่นๆ ปรากฏขึ้น คุณสามารถตั้งค่านี้ไว้ในส่วนด้านหน้าของคุณได้:
- badges : true
- hide_binder_badge : true
requirements.txt
ด้วยแพ็คเกจทั่วไปที่คุณใช้สำหรับโน้ตบุ๊กทั้งหมดของคุณที่รากของพื้นที่เก็บข้อมูล คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับเอกสาร Binder อย่างเป็นทางการคุณสามารถกำหนดรายการโดยคั่นด้วยเครื่องหมายจุลภาคในวงเล็บเหลี่ยมของหมวดหมู่สำหรับโพสต์บนบล็อก ซึ่งจะทำให้โพสต์ปรากฏบนหน้าแท็กของไซต์บล็อกของคุณ ตัวอย่างเช่น:
ในสมุดบันทึก:
# "My Title"
- categories: [fastpages, jupyter]
ในเอกสารมาร์กดาวน์:
---
title: "My Title"
categories: [fastpages, jupyter]
---
คุณสามารถดูตัวอย่างสิ่งที่มีลักษณะเช่นนี้ได้ที่นี่
show_tags
เป็น true
หรือ false
ใน _config.yml
: # Set this to true to display tags on each post
show_tags : true
การแสดงความคิดเห็นในบล็อกโพสต์ขับเคลื่อนโดย Utterances ซึ่งเป็นวิธีนำความคิดเห็นไปใช้แบบโอเพ่นซอร์สและไม่มีโฆษณา ความคิดเห็นทั้งหมดจะถูกจัดเก็บไว้ในปัญหาใน repo GitHub ของบล็อกของคุณ คุณสามารถเปิดการตั้งค่า comments
เป็น true
ค่าเริ่มต้นนี้เป็น false
หากต้องการเปิดใช้งานความคิดเห็นด้วยคำพูด คุณจะต้องดำเนินการดังต่อไปนี้:
บนไซต์โซเชียลมีเดีย เช่น Twitter การแสดงตัวอย่างรูปภาพสามารถแสดงพร้อมกับ URL ของคุณโดยอัตโนมัติ การระบุ image
ส่วนหน้าจะให้ข้อมูลเมตานี้แก่ไซต์โซเชียลมีเดียเพื่อแสดงรูปภาพนี้ให้กับคุณ คุณสามารถตั้งค่านี้ได้ดังนี้:
- image: images/diagram.png
หมายเหตุ: สำหรับการตั้งค่านี้ คุณสามารถอ้างอิงได้เฉพาะไฟล์รูปภาพและโฟลเดอร์ในโฟลเดอร์ /images
ของ repo ของคุณ
คุณอาจต้องการป้องกันไม่ให้โพสต์บนบล็อกแสดงอยู่ในหน้าแรก แต่ยังคงมี URL สาธารณะที่คุณสามารถดูตัวอย่างหรือแชร์อย่างรอบคอบ คุณสามารถซ่อนโพสต์ในบล็อกจากหน้าแรกได้โดยตั้ง hide
ส่วนหน้าให้เป็น true
สิ่งนี้ถูกตั้งค่าเป็น false
โดยค่าเริ่มต้น
ขอแนะนำให้คุณใช้ลิงก์ถาวรเพื่อสร้าง URL ที่คาดเดาได้สำหรับโพสต์บล็อกที่ซ่อนอยู่ คุณยังสามารถตั้งค่าส่วนหน้า search_exclude
เป็น true
หากคุณไม่ต้องการให้ผู้ใช้ค้นหาโพสต์ที่ซ่อนอยู่ของคุณในการค้นหา
ตามค่าเริ่มต้น โพสต์จะถูกจัดเรียงตามวันที่ในหน้าแรกของคุณ อย่างไรก็ตาม คุณอาจต้องการให้บล็อกโพสต์อย่างน้อยหนึ่งรายการปรากฏที่ด้านบนสุดของหน้าแรกของคุณเสมอ กล่าวอีกนัยหนึ่ง คุณอาจต้องการให้บางโพสต์ "ปักหมุด" หรือ "ติดหนึบ" เพื่อให้บรรลุเป้าหมายนี้ ให้ระบุส่วนหน้าของ sticky_rank
ตามลำดับที่คุณต้องการให้โพสต์ Sticky ของคุณปรากฏ โพสต์ในบล็อกที่ไม่ได้ตั้งค่าพารามิเตอร์นี้จะถูกจัดเรียงตามวันที่ตามค่าเริ่มต้นหลังโพสต์แบบติดหนึบ
ตัวอย่างเช่น ลองพิจารณาโพสต์ลดราคาทั้งสามนี้ (ใช้ได้กับสมุดบันทึกด้วย)
2020-01-01-Post-One.md
---
title : Post One
sticky_rank : 1
---
2020-02-01-Post-Two.md
---
title : Post Two
sticky_rank : 2
---
2020-04-01-Post-Three.md
---
title : Post Three
---
อย่างไรก็ตาม เนื่องจากมีการระบุ sticky_rank
โพสต์ในบล็อกจะ ถูกจัดเรียงตาม Sticky_rank ตามลำดับจากน้อยไปหามาก ตามด้วยวันที่ตามลำดับจากมากไปน้อย ดังนั้นลำดับของโพสต์เหล่านี้จะปรากฏดังนี้:
หากไม่มี sticky_rank
โพสต์ข้างต้นจะถูกจัดเรียงในลำดับย้อนกลับเนื่องจากวันที่ที่เกี่ยวข้องกับแต่ละโพสต์
หมายเหตุ: การปักหมุดยังใช้ได้กับสมุดบันทึกด้วย:
# "My cool blog post"
> "Description of blog post"
- sticky_rank: 2
fastpages มาพร้อมกับการค้นหาคำหลักในตัวที่ขับเคลื่อนโดย lunr.js คุณสามารถป้องกันไม่ให้บล็อกโพสต์หรือเพจปรากฏในผลการค้นหาโดยตั้งค่าส่วนหน้า search_exclude
เป็น false
สิ่งนี้ถูกตั้งค่าเป็น true
ตามค่าเริ่มต้น
ขอแนะนำให้ทุกคนปรับแต่งไซต์บล็อกของตนโดยการตั้งค่าตัวเลือกการกำหนดค่าทั่วทั้งไซต์ ตัวเลือกเหล่านี้สามารถพบได้ใน /_config.yml
ด้านล่างนี้คือคำอธิบายของตัวเลือกต่างๆ ที่มีให้เลือกใช้
title
: นี่คือชื่อที่ปรากฏที่มุมซ้ายบนในส่วนหัวของหน้าทั้งหมดของคุณ
description
: คำอธิบายนี้จะแสดงในตำแหน่งต่างๆ เมื่อมีการสร้างตัวอย่างไซต์ของคุณ (เช่น บนโซเชียลมีเดีย)
github_username
: ช่วยให้เว็บไซต์ของคุณแสดงลิงก์ไปยังหน้า GitHub ของคุณในส่วนท้าย
github_repo
: ช่วยให้เว็บไซต์ของคุณแสดงลิงก์กลับไปยังพื้นที่เก็บข้อมูลของคุณสำหรับฟีเจอร์ต่างๆ เช่น ลิงก์ไปยัง GitHub, Colab และ Deepnote สำหรับโน้ตบุ๊ก
url
: ไม่จำเป็นต้องเปลี่ยนแปลงเว้นแต่คุณจะมีโดเมนที่กำหนดเอง หมายเหตุ: ละส่วนท้าย / ออกจากค่านี้
baseurl
: ดูความคิดเห็นใน /_config.yml
สำหรับคำแนะนำ ( "คำแนะนำพิเศษสำหรับ baseurl" ในการตั้งค่านี้อย่างถูกต้อง หากคุณไม่มีโดเมนที่กำหนดเอง คุณก็สามารถเพิกเฉยต่อตัวเลือกนี้ได้
email
: ขณะนี้ไม่ได้ใช้ ไม่สนใจ.
twitter_username
: สร้างลิงก์ในส่วนท้ายของคุณไปยังหน้า Twitter ของคุณ
use_math
: ตั้งค่านี้เป็น true
เพื่อรับการสนับสนุนสมการทางคณิตศาสตร์ LaTeX สิ่งนี้จะปิดอยู่ตามค่าเริ่มต้น เนื่องจากจะโหลดจาวาสคริปต์ลงในแต่ละหน้าที่อาจไม่สามารถใช้งานได้
show_description
: แสดงคำอธิบายใต้ชื่อบทความในบล็อกของคุณบนหน้าแรกของคุณซึ่งมีรายการบทความในบล็อกของคุณ ตั้งค่าเป็น true
ตามค่าเริ่มต้น
google_analytics
: เลือกใช้รหัส Google Analytics เพื่อติดตามได้หากต้องการ
show_image
: หากตั้งค่าเป็นจริง จะใช้พารามิเตอร์ image
ในส่วนด้านหน้าของโพสต์ในบล็อกของคุณเพื่อแสดงตัวอย่างบล็อกของคุณดังที่แสดงด้านล่าง สิ่งนี้ถูกตั้งค่าเป็น false
โดยค่าเริ่มต้น เมื่อตั้งค่า show_image เป็น true
หน้าแรกของคุณจะมีลักษณะดังนี้:
show_tags
: คุณสามารถสลับการแสดงแท็กในโพสต์บล็อกของคุณโดยการตั้งค่านี้เป็น false
สิ่งนี้ถูกตั้งค่าเป็น true
ตามค่าเริ่มต้น ซึ่งจะทำให้ลิงก์ต่อไปนี้สำหรับแท็กในโพสต์บล็อกของคุณมีลักษณะดังนี้:
pagination
: นี่คือจำนวนโพสต์สูงสุดที่จะแสดงในแต่ละหน้าของหน้าแรกของคุณ โพสต์ใดๆ ที่เกินจำนวนนี้จะถูกแบ่งหน้าไปยังหน้าอื่น ซึ่งตั้งไว้ที่ 15
โดยค่าเริ่มต้น เมื่อสิ่งนี้เกิดขึ้น คุณจะเห็นการแบ่งหน้าที่ด้านล่างสุดของหน้าแรกของคุณดังนี้:
หมายเหตุ: หากคุณใช้ fastpages เวอร์ชันเก่า คุณจะไม่สามารถใช้กระบวนการอัปเกรดอัตโนมัติ เพื่อรับการแบ่งหน้าได้ คุณต้องทำตามขั้นตอนเหล่านี้แทน:
เอ็มวีindex.mdindex.html
Gemfile
และ Gemfile.lock
ในรูทของ repo ของคุณด้วยไฟล์ใน repo นี้_config.yml
ของคุณดังต่อไปนี้ (ดูตัวอย่างที่ _config.yml): gems :
- jekyll-paginate
paginate : 10
paginate_path : /page:num/
หรือคุณสามารถคัดลอกโพสต์ทั้งหมดของคุณไปยังพื้นที่เก็บข้อมูลที่สร้างขึ้นใหม่ที่สร้างจากเทมเพลต fastpages
default_badges
: ตามค่าเริ่มต้น ป้าย GitHub, Binder, Deepnote และ Colab จะปรากฏบนโพสต์บล็อกของโน้ตบุ๊ก คุณสามารถปรับค่าเริ่มต้นเหล่านี้ได้โดยตั้งค่าที่เหมาะสมใน default_badges
เป็น false ตัวอย่างเช่น หากคุณต้องการปิดป้าย Binder ตามค่าเริ่มต้น คุณจะต้องเปลี่ยน default_badges
เป็น:
default_badges :
github : true
binder : false
deepnote : false
colab : true
html_escape
: ช่วยให้คุณสามารถสลับเปิดหรือปิดการ Escape HTML ในองค์ประกอบต่างๆ ของโพสต์บนบล็อกได้ ในขณะนี้ คุณสามารถสลับได้เฉพาะช่อง description
ในโพสต์ของคุณเท่านั้น
สิ่งนี้ถูกตั้งค่าเป็น false
โดยค่าเริ่มต้น
คุณสามารถปรับความกว้างของเพจของ fastpages บนอุปกรณ์ต่างๆ ได้โดยการแก้ไข /_sass/minima/custom-variables.scss
เหล่านี้เป็นค่าเริ่มต้นซึ่งสามารถปรับให้เหมาะกับความต้องการของคุณได้:
// width of the content area
// can be set as "px" or "%"
$content-width : 1000 px ;
$on-palm : 800 px ;
$on-laptop : 1000 px ;
$on-medium : 1000 px ;
$on-large : 1200 px ;
Hypotes.is เป็นแพลตฟอร์มแบบเปิดที่ให้วิธีการใส่คำอธิบายประกอบและไฮไลต์หน้าต่างๆ ซึ่งอาจเป็นแบบสาธารณะหรือส่วนตัวก็ได้ เมื่อเปิดใช้งานคุณลักษณะนี้ ผู้อ่านบล็อกของคุณจะได้รับคำแนะนำเครื่องมือต่อไปนี้เมื่อเน้นข้อความ:
สิ่งนี้ถูกปิดใช้งานตามค่าเริ่มต้นในเพจด่วน คุณสามารถเปิดหรือปิดใช้งานสิ่งนี้ได้ในไฟล์ _config.yml ของคุณโดยตั้ง annotations
ประกอบเป็น true
หรือ false
:
# Set this to true to turn on annotations with hypothes.is
annotations : false
คุณสามารถปรับแต่งสมมุติฐานได้โดยการอ่านตัวเลือกการกำหนดค่าเหล่านี้ เป็นความคิดที่ดีที่จะอ่านเอกสารเหล่านี้หากคุณต้องการใช้ประโยชน์จากสมมุติฐานมากขึ้น อย่างไรก็ตาม ก่อนที่จะพยายามปรับแต่งคุณสมบัตินี้ คุณควรอ่านส่วนการปรับแต่งหน้าด่วนเพื่อดูคำเตือนที่สำคัญ
คุณสามารถแนะนำให้ผู้อ่านสมัครรับฟีด RSS ได้ มีบริการสมัครสมาชิก RSS มากมายบนอินเทอร์เน็ต ตัวอย่างบางส่วนได้แก่:
fastpages
จะแทนที่การเน้นไวยากรณ์เริ่มต้นของ minima ด้วยธีม Dracula
การเน้นเริ่มต้นใน fastpages มีลักษณะดังนี้:
อย่างไรก็ตาม คุณสามารถทำให้การเน้นไวยากรณ์มีลักษณะเช่นนี้ได้ หากคุณเลือก:
หากคุณต้องการเปลี่ยนกลับเป็นธีมสีอ่อนด้านบน คุณสามารถลบบรรทัดด้านล่างใน _sass/minima/custom-styles.scss
@import " minima/fastpages-dracula-highlight " ;
หากคุณไม่ชอบธีมเหล่านี้ คุณสามารถเพิ่ม CSS ของคุณเองใน _sass/minima/custom-styles.scss
ดูการปรับแต่งหน้าด่วนสำหรับรายละเอียดเพิ่มเติม
โพสต์ในบล็อกนี้จะอธิบายวิธีเปิดใช้งานโหมดมืดสำหรับเพจด่วน
ผู้ใช้ที่ต้องการใช้ระบบการอ้างอิง BibTeX ก็สามารถทำได้ ต้องเปิดใช้งานปลั๊กอิน jekyll-scholar โปรดดูการอ้างอิงใน Fastpages ผ่าน BibTeX และ jekyll-scholar สำหรับคำแนะนำในการดำเนินการนี้
วางความคิดเห็น #hide
ไว้ที่จุดเริ่มต้นของเซลล์โค้ด และจะ ซ่อนทั้งอินพุตและเอาต์พุต ของเซลล์นั้น
ความคิดเห็น #hide_input
ที่ด้านบนของเซลล์จะ ซ่อนเฉพาะอินพุตเท่านั้น
นอกจากนี้ ส่วนขยาย Jupyter hide input
สามารถใช้เพื่อซ่อนอินพุตหรือเอาต์พุตของเซลล์ ซึ่งจะถูกยึดตามเพจด่วน
คุณอาจต้องการซ่อนโค้ดบางส่วนไว้ในองค์ประกอบแบบยุบซึ่งผู้ใช้สามารถขยายได้ แทนที่จะซ่อนโค้ดทั้งหมดไม่ให้ผู้อ่านเห็น
#collapse
ที่ด้านบนของเซลล์โค้ด#collapse_show
หรือ #collapse-show
ที่ด้านบนของเซลล์โค้ด#collapse_output
หรือ #collapse-output
ที่ด้านบนของเซลล์โค้ดในเซลล์มาร์กดาวน์ในสมุดบันทึกของคุณ ให้ใช้ทางลัดมาร์กดาวน์ต่อไปนี้เพื่อฝังการ์ด Twitter และวิดีโอ YouTube
> youtube: https://youtu.be/your-link
> twitter: https://twitter.com/some-link
การเพิ่มเชิงอรรถในสมุดบันทึกแตกต่างจากมาร์กดาวน์เล็กน้อย โปรดดูคำแนะนำโดยละเอียดเกี่ยวกับเชิงอรรถในสมุดบันทึก
บันทึกสมุดบันทึกของคุณด้วยรูปแบบการตั้งชื่อ YYYY-MM-DD-*.
ลงในโฟลเดอร์ /_notebooks
หรือ /_word
ของ repo นี้ ตามลำดับ ตัวอย่างเช่น 2020-01-28-My-First-Post.ipynb
รูปแบบการตั้งชื่อนี้จำเป็นโดย Jekyll เพื่อแสดงผลโพสต์บนบล็อกของคุณ
ระวังตั้งชื่อไฟล์ของคุณให้ถูกต้อง! เป็นเรื่องง่ายที่จะลืมขีดสุดท้ายใน YYYY-MM-DD-
นอกจากนี้ อักขระที่อยู่หลังเครื่องหมายขีดกลางควรเป็นตัวอักษรเท่านั้น ตัวอย่างของชื่อไฟล์ที่ถูกต้อง ได้แก่:
2020-01-28-My-First-Post.ipynb
2012-09-12-how-to-write-a-blog.ipynb
หากคุณตั้งชื่อไฟล์ไม่ถูกต้อง fastpages
จะพยายามแก้ไขปัญหาโดยอัตโนมัติโดยนำวันที่แก้ไขล่าสุดของไฟล์ไปไว้หน้าโพสต์บนบล็อกที่คุณสร้างขึ้น อย่างไรก็ตาม ขอแนะนำให้คุณตั้งชื่อไฟล์ให้ถูกต้องด้วยตัวคุณเองเพื่อความโปร่งใสมากขึ้น
คอมมิตและพุชไฟล์ของคุณไปที่ GitHub ในสาขาหลักของพื้นที่เก็บข้อมูลของคุณ
GitHub จะแปลงไฟล์ของคุณเป็นโพสต์บนบล็อกโดยอัตโนมัติ กระบวนการแปลงจะใช้เวลาประมาณ 5 นาที คุณสามารถคลิกแท็บการดำเนินการของ repo ของคุณเพื่อดูบันทึกของกระบวนการนี้ได้ จะมีเวิร์กโฟลว์สองเวิร์กโฟลว์ที่ทริกเกอร์ทุกครั้งที่คุณทำกับสาขาหลัก: (1) "CI" และ (2) "สถานะเพจ GH" เวิร์กโฟลว์ทั้งสองต้องกรอกเครื่องหมายถูกสีเขียวสำหรับการกระทำล่าสุดของคุณก่อนที่เว็บไซต์ของคุณจะได้รับการอัปเดต
หากต้องการ คุณสามารถดูตัวอย่างว่าบล็อกของคุณจะมีลักษณะอย่างไรก่อนที่จะตัดสินใจใช้ GitHub ดูส่วนนี้สำหรับคำแนะนำโดยละเอียดเกี่ยวกับการเรียกใช้การแสดงตัวอย่างในเครื่อง
หากคุณกำลังเขียนโพสต์ในบล็อกโดยใช้มาร์กดาวน์ ให้บันทึกไฟล์ .md
ของคุณลงในโฟลเดอร์ /_posts
โดยใช้รูปแบบการตั้งชื่อเดียวกัน ( YYYY-MM-DD-*.md
) ที่ระบุไว้สำหรับโน้ตบุ๊ก
บันทึกเอกสาร Microsoft Word ของคุณลงในโฟลเดอร์ /_word
โดยใช้รูปแบบการตั้งชื่อเดียวกัน ( YYYY-MM-DD-*.docx
) ที่ระบุไว้สำหรับโน้ตบุ๊ก
หมายเหตุ: fastpages ยังไม่รองรับข้อความแสดงแทนในเอกสาร Word และจะทำให้ลิงก์ไปยังรูปภาพเสียหาย
fastpages
ไม่มีวิธีที่มีประสิทธิภาพในการระบุส่วนหน้าสำหรับเอกสาร Word ในขณะนี้ คุณสามารถระบุส่วนหน้าได้ทั่วโลกสำหรับเอกสาร Word ทั้งหมดโดยการแก้ไข _action_files/word_front_matter.txt
หากต้องการระบุส่วนหน้าที่ไม่ซ้ำกันต่อเอกสาร Word คุณจะต้องแปลง Word เป็นไฟล์มาร์กดาวน์ด้วยตนเอง คุณสามารถทำตามขั้นตอนในบล็อกโพสต์นี้ ซึ่งจะแนะนำวิธีใช้ pandoc เพื่อทำการแปลง หมายเหตุ: หากคุณต้องการปรับแต่งโพสต์บล็อกที่สร้างโดย Word ในมาร์กดาวน์ ตรวจสอบให้แน่ใจว่าคุณลบเอกสาร Word ของคุณออกจากไดเร็กทอรี _word เพื่อไม่ให้ไฟล์มาร์กดาวน์ของคุณถูกเขียนทับ!
หากวิธีการหลักในการเขียนโพสต์บนบล็อกของคุณคือเอกสาร Word และคุณวางแผนที่จะแก้ไขไฟล์มาร์กดาวน์ที่แปลงจาก Word ด้วยตนเองอยู่เสมอ คุณน่าจะดีกว่าถ้าใช้ fast_template แทน fastpages
ดูคู่มือการพัฒนา
การดำเนินการ fastpages
ช่วยให้คุณสามารถแปลงสมุดบันทึกจาก /_notebooks
และเอกสารคำจากไดเร็กทอรี /_word
ใน repo ของคุณให้เป็นไฟล์มาร์กดาวน์บล็อกโพสต์ที่สอดคล้องกับ Jekyll ซึ่งอยู่ใน /_posts
หมายเหตุ: ขณะนี้โครงสร้างไดเร็กทอรีนี้ไม่ยืดหยุ่น สำหรับการดำเนินการนี้ เนื่องจากได้รับการออกแบบมาให้ใช้กับ Jekyll
หากคุณมีความคุ้นเคยกับ Jekyll เพียงพอแล้ว และต้องการใช้ระบบอัตโนมัตินี้ในธีมของคุณเอง คุณสามารถใช้ GitHub Action นี้ได้โดยอ้างอิง fastai/fastpages@master
ดังนี้:
...
uses : fastai/fastpages@master
...
ตัวอย่างที่แสดงให้เห็นว่าขั้นตอนการทำงานที่สมบูรณ์อาจมีลักษณะดังนี้:
jobs :
build-site :
runs-on : ubuntu-latest
...
- name : convert notebooks and word docs to posts
uses : fastai/fastpages@master
...
- name : Jekyll build
uses : docker://jekyll/jekyll
with :
args : jekyll build
- name : Deploy
uses : peaceiris/actions-gh-pages@v3
if : github.event_name == 'push'
with :
deploy_key : ${{ secrets.SSH_DEPLOY_KEY }}
publish_branch : gh-pages
publish_dir : ./_site
โปรดทราบว่าการดำเนินการนี้ ไม่มีอินพุตที่จำเป็น และไม่มีตัวแปรเอาต์พุต
BOOL_SAVE_MARKDOWN
: 'จริง' หรือ 'เท็จ' ว่าจะคอมมิตไฟล์มาร์กดาวน์ที่แปลงแล้วจากโน้ตบุ๊กและเอกสาร Word ไปยังไดเร็กทอรี _posts ใน repo ของคุณหรือไม่ สิ่งนี้มีประโยชน์สำหรับการดีบัก ค่าเริ่มต้น: เท็จSSH_DEPLOY_KEY
: จำเป็นต้องใช้คีย์การปรับใช้ ssh หาก BOOL_SAVE_MARKDOWN = 'true'ดูข้อมูลจำเพาะ API สำหรับการดำเนินการนี้ใน action.yml
คำแนะนำโดยละเอียดเกี่ยวกับวิธีปรับแต่งบล็อกนี้อยู่นอกเหนือขอบเขตของ README นี้ ( เราเชิญใครบางคนจากชุมชนให้ร่วมโพสต์บนบล็อกเกี่ยวกับวิธีการทำเช่นนี้ใน repo นี้!)
โปรดดูคู่มือการมีส่วนร่วม
โปรดดูคู่มือการอัพเกรด
_posts/
ที่สร้างจากสมุดบันทึก Jupyter หรือเอกสาร word ของฉันอยู่ที่ไหน ตอบ: เวิร์กโฟลว์การดำเนินการ GitHub ใน Repo นี้แปลงสมุดบันทึกและเอกสาร Word ของคุณให้เป็นมาร์กดาวน์ได้ทันทีก่อนที่จะสร้างไซต์ของคุณ แต่จะไม่คอมมิตไฟล์มาร์กดาวน์ระดับกลางเหล่านี้กับ Repo นี้ นี่เป็นการช่วยคุณประหยัดจากความรำคาญที่สภาพแวดล้อมในเครื่องของคุณไม่ซิงค์กับพื้นที่เก็บข้อมูลของคุณอยู่ตลอดเวลา คุณสามารถเลือกดูไฟล์มาร์กดาวน์ระดับกลางเหล่านี้ได้โดยการตั้งค่าอินพุต BOOL_SAVE_MARKDOWN
และ SSH_DEPLOY_KEY
ให้เป็นการดำเนินการ fastpages ในไฟล์ .github/workflows/ci.yaml
ของคุณดังต่อไปนี้: ...
- name : convert notebooks and word docs to posts
uses : fastai/fastpages@master
with :
BOOL_SAVE_MARKDOWN : true
SSH_DEPLOY_KEY : ${{ secrets.SSH_DEPLOY_KEY }}
...
ถาม: ฉันสามารถใช้ fastpages
สำหรับไซต์เอกสาร Jekyll หรือสำหรับสิ่งที่ไม่ใช่โพสต์ในบล็อกของ Jekyll ได้หรือไม่ ตอบ: ในขณะนี้ fastpages
เป็นโซลูชันที่มีความคิดเห็นสูงซึ่งใช้ได้กับโพสต์บนบล็อกของ Jekyll เท่านั้น หากคุณต้องการเขียนเอกสารสำหรับโมดูลหรือไลบรารีของคุณด้วยโน้ตบุ๊ก Jupyter เราขอแนะนำให้คุณใช้ fastai/nbdev ซึ่งสร้างขึ้นโดยเฉพาะเพื่อจุดประสงค์นี้
ถาม: fast_template และ fastpages แตกต่างกันอย่างไร ฉันควรใช้อันไหน? ตอบ: เนื่องจาก fastpages
มีความยืดหยุ่นและขยายได้มากกว่า เราจึงแนะนำให้ใช้เมื่อเป็นไปได้ fast_template
อาจเป็นตัวเลือกที่ดีกว่าสำหรับการรับคนเขียนบล็อกที่ไม่มีความเชี่ยวชาญด้านเทคนิคเลย และจะสร้างโพสต์โดยใช้โปรแกรมแก้ไขออนไลน์ที่ผสานรวมของ Github เท่านั้น
fastpages สร้างจากธีม minima หากคุณต้องการปรับแต่งสไตล์หรือเลย์เอาต์ของ fastpages คุณสามารถดูคำแนะนำได้ใน README ของ minima เป็นความคิดที่ดีที่จะอ่านเนื้อหาทั้งหมดของ README เพื่อทำความเข้าใจโครงสร้างไดเร็กทอรี นอกจากนี้ เป็นความคิดที่ดีที่จะมีความเข้าใจพื้นฐานเกี่ยวกับ Jekyll ก่อนที่จะปรับแต่งธีมของคุณ สำหรับผู้ที่เพิ่งเริ่มใช้ Jekyll เอกสารอย่างเป็นทางการถือเป็นจุดเริ่มต้นที่ดี โดยพื้นฐานแล้ว คุณสามารถแทนที่ css ใน fastpages ได้ใน _sass/minima/custom-styles.scss
โปรดทราบว่าขณะนี้ฟีเจอร์ "สกิน" ของ minima ยังเข้ากันไม่ได้กับการตั้งค่า css ของ fastpages
หากคุณเลือกที่จะปรับแต่ง Fastpages เป็นไปได้ว่าการปรับแต่งที่คุณทำอาจขัดแย้งกับ Fastpage เวอร์ชันปัจจุบันหรืออนาคต และเราแนะนำให้ทำเช่นนั้นเฉพาะเมื่อคุณรู้สึกคุ้นเคยกับ HTML และ CSS เพียงพอแล้ว
โปรดดูคู่มือการแก้ไขปัญหา