ringfairy
?นี่คือเครื่องกำเนิดเว็บริงที่เขียนด้วยภาษาสนิม มันคล้ายกับเครื่องมือสร้างไซต์แบบคงที่ แต่มีความเชี่ยวชาญเฉพาะสำหรับเว็บริง
วิธีนี้แตกต่างจากเว็บริงส่วนใหญ่ที่ใช้โค้ดฝั่งเซิร์ฟเวอร์ (เช่น PHP, JS) เพื่อเปลี่ยนเส้นทางผู้เยี่ยมชม วิธีการนี้ใช้การเปลี่ยนเส้นทาง HTML
วิธีการแบบคงที่ช่วยให้มีข้อกำหนดการโฮสต์ที่ง่ายขึ้น (สามารถโฮสต์บน Neocities, GitHub Pages ฯลฯ ) เนื่องจากไม่จำเป็นต้องประมวลผลฝั่งเซิร์ฟเวอร์
การอัปเดต webring จะทำให้คุณต้องสร้างสิ่งใหม่ทั้งหมด ซึ่งทำได้ง่ายและรวดเร็ว และไม่จำเป็นต้องทำบ่อยๆ แต่นี่เป็นขั้นตอนพิเศษที่ระบบฝั่งเซิร์ฟเวอร์แบบทั่วไปอาจไม่มี เว้นแต่ว่าคุณจะทำให้ขั้นตอนดังกล่าวเป็นแบบอัตโนมัติ เช่น ผ่าน GitHub Actions
webring คือกลุ่มของเว็บไซต์ที่เชื่อมโยงเข้าด้วยกันเป็นวง แต่ละเว็บไซต์มีลิงก์ไปยังเว็บไซต์ก่อนหน้าและถัดไปในวงแหวน หากคุณนำทางไปไกลพอ ในที่สุดคุณก็กลับมาที่จุดเริ่มต้น!
Webrings ได้รับความนิยมในยุคแรกๆ ของอินเทอร์เน็ต โดยเป็นช่องทางสำหรับเจ้าของเว็บไซต์ในการโปรโมตเนื้อหาของกันและกัน และส่งเสริมการมีส่วนร่วมของชุมชน
นี่เป็นเครื่องมือสำหรับผู้ที่มีเว็บไซต์หรือบล็อกส่วนตัวและต้องการเชื่อมต่อกับผู้อื่น คุณสามารถใช้มันเพื่อขยายชุมชนออนไลน์ของคุณเองตั้งแต่เริ่มต้น!
ปรับให้เหมาะสมที่สุด
ตรวจหาลิงค์ webring บนไซต์โดยอัตโนมัติ
ปรับแต่งได้อย่างเต็มที่ผ่านเทมเพลต
สร้างไฟล์ OPML กับทุกไซต์ที่มีฟีด RSS
ตัวเลือกอินเทอร์เฟซบรรทัดคำสั่งหรือไฟล์กำหนดค่า
รองรับไฟล์กำหนดค่าระยะไกลด้วย
ตัวเลือกสุ่ม
การลดขนาด HTML
เชื่อมโยงข้อมูลติดต่อเจ้าของเว็บไซต์อัตโนมัติ
จับรายการที่ซ้ำกัน
การบันทึกโดยละเอียด
Webrings โดยใช้ ringfairy
(เท่าที่ฉันรู้):
Ghostring - เว็บไซต์แนวสยองขวัญ
Craftering - สำหรับชุมชน System Crafters
Roboring - สำหรับสิ่งมีชีวิตที่เป็นหุ่นยนต์
หากคุณตัดสินใจที่จะเปิดตัว webring ของคุณเองด้วยเครื่องมือนี้ โปรดแจ้งให้เราทราบ แล้วฉันจะแสดงรายการไว้ที่นี่! -
ดาวน์โหลดไบนารี่รุ่นหรือโคลน repo และสร้างจากแหล่งที่มา
แก้ไขไฟล์ websites.json
(ตามค่าเริ่มต้น) เพื่อรวมรายละเอียดของเว็บไซต์ที่คุณต้องการรวมไว้ใน webring แต่ละเว็บไซต์จะต้องถูกเพิ่มเข้าไปในรายการ
แก้ไขไฟล์ config.json
(โดยค่าเริ่มต้น) ตามความต้องการของคุณ
(ไม่บังคับ) ปรับแต่งเพจโดยการแก้ไขเทมเพลต ซึ่งอยู่ในโฟลเดอร์ data/templates
(ตามค่าเริ่มต้น) คุณยังสามารถใช้ไฟล์ระยะไกลเป็นเทมเพลตได้ ดูส่วน "เทมเพลต" ด้านล่าง
(ไม่บังคับ) เพิ่มไฟล์เพิ่มเติมลงในโฟลเดอร์ data/assets
(ตามค่าเริ่มต้น) ทุกอย่างในโฟลเดอร์นี้จะถูกคัดลอกไปยังไดเร็กทอรีเอาต์พุต ที่นี่คุณสามารถเพิ่มสิ่งพิเศษ เช่น รูปภาพ, HTML/CSS ฯลฯ
เรียกใช้ ringfairy
เพื่อสร้าง webring โดยการเขียนไฟล์ HTML ที่มีการเปลี่ยนเส้นทาง แต่ละไซต์จะลิงก์ไปยังไซต์ถัดไป/ก่อนหน้าในไฟล์ websites.json
เพื่อสร้างเว็บริงของคุณ!
โฮสต์ไฟล์ที่สร้างขึ้นบนแพลตฟอร์มโฮสติ้งที่คุณต้องการ
อาร์กิวเมนต์บรรทัดคำสั่งมีความสำคัญเหนือกว่าการตั้งค่าใดๆ ในไฟล์กำหนดค่า
-h
, --help
: ช่วยพิมพ์
-c
, --config
: ระบุตำแหน่งของไฟล์ปรับแต่งเพิ่มเติม อาจเป็นระยะไกลได้ เช่น ลิงก์ HTTP ไปยังไฟล์ JSON ที่เหมาะสมบน Pastebin, GitHub เป็นต้น
-l
, --list
: ระบุไฟล์ที่มีรายชื่อเว็บไซต์ ค่าเริ่มต้น: ./websites.json
-o
, --output
: กำหนดโฟลเดอร์เอาท์พุตซึ่งไฟล์ที่สร้างขึ้นจะถูกบันทึก ค่าเริ่มต้น: ./webring
-a
, --assets
: ระบุโฟลเดอร์ทรัพย์สิน ไฟล์ใดๆ ในที่นี้จะถูกคัดลอกไปยังโฟลเดอร์เอาท์พุต ซึ่งช่วยให้คุณรวมไฟล์เพิ่มเติมที่คุณต้องการ เช่น รูปภาพหรือหน้าเว็บเพิ่มเติม ฯลฯ ค่าเริ่มต้น: ./data/assets
-t
, --templates
: ระบุพาธไปยังโฟลเดอร์เทมเพลต ใช้ template.html
สำหรับหน้าเปลี่ยนเส้นทาง (เช่น HTML ที่ประกอบเป็น webring) คุณสามารถเพิ่มหน้าพิเศษใดๆ ได้ที่นี่ หากคุณต้องการให้เติมเนื้อหาที่สร้างขึ้น ค่าเริ่มต้น: ./data/templates
-u
, --url
: URL ฐานสำหรับ webring บางอย่างเช่น "https://example.com"
-n
, --name
: ชื่อของสายรัด บางอย่างที่คล้ายกับ 'โกสต์สตริง'
-d
, --description
: คำอธิบายสั้นๆ/เกี่ยวกับสายรัด
-m
, --maintainer
: เจ้าของ/ผู้ดูแล webring อาจเป็นบุคคลหรือองค์กรก็ได้
-w
, --website
: ลิงก์เว็บไซต์ของเจ้าของเว็บไซต์ ไม่ใช่ URL หลักของ webring
--skip-minification
: แสดงผลหน้าต่างๆ โดยไม่ต้องปรับให้เหมาะสมหรือแก้ไขหน้าต่างๆ ลองใช้วิธีนี้หากคุณต้องการให้ไฟล์ที่คุณสร้างขึ้นสามารถแก้ไขได้ด้วยมือในภายหลัง หรือหากคุณประสบปัญหาที่ไม่คาดคิดกับเอาต์พุต
--skip-verification
: สร้างไฟล์โดยไม่ตรวจสอบปัญหาที่อาจเกิดขึ้น...ไม่ฉลาด!
--dry-run
: รันแอปพลิเคชันโดยไม่ส่งออกไฟล์ใด ๆ
-s
, --shuffle
: สุ่มสับเปลี่ยนลำดับของเว็บไซต์ระหว่างการสร้าง นี่เป็นข้อมูลภายในทั้งหมดและไม่ส่งผลกระทบต่อรายการอินพุตของเว็บไซต์ คุณสามารถสลับสายรัดเดียวกันซ้ำๆ ได้โดยไม่สูญเสียลำดับเดิม
-v
, --verbose
: ข้อมูลเอาต์พุตไปยังคอนโซล -vv
สำหรับโหมดละเอียดมากเพื่อดูข้อมูลเพิ่มเติม
-V
, --version
: เวอร์ชันพิมพ์
-A
, --audit
: โหมดการตรวจสอบ แยกแต่ละเว็บไซต์ในรายการ ตรวจดูว่าสามารถพบลิงก์ถัดไป/ก่อนหน้าหรือไม่ มิฉะนั้น ไซต์จะไม่ถูกเพิ่มไปยัง webring สำหรับรุ่นนั้น ซึ่งหมายความว่าคุณไม่จำเป็นต้องลบเว็บไซต์ที่ไม่ปฏิบัติตามออกทันที เว็บไซต์จะไม่แสดงจนกว่าจะพบลิงก์ หากคุณใช้สิ่งนี้โดยไม่มีโหมดรายละเอียด ( -v
) คุณอาจไม่เห็นผลลัพธ์ของการตรวจสอบ อย่าใช้โหมดการตรวจสอบหากคุณกำลังสร้าง webring ออฟไลน์ หรือหากคุณต้องการความเร็วในการสร้างที่เร็วที่สุดเท่าที่จะเป็นไปได้
-M
, --audit_retries_max
: ในโหมดการตรวจสอบ จำนวนครั้งสูงสุดในการลองเชื่อมต่อกับไซต์อีกครั้ง ค่าเริ่มต้น: 2
-D
, --audit_retries_delay
: ในโหมดการตรวจสอบ ความล่าช้าเป็นมิลลิวินาทีก่อนที่จะพยายามเชื่อมต่อกับไซต์ที่ไม่ตอบสนองอีกครั้ง ค่าเริ่มต้น: 100
-U
, --client_user_agent
: ในโหมดการตรวจสอบ สตริง user-agent ที่จะใช้โดย web scraper
-H
, --client_header
: ในโหมดการตรวจสอบ สตริงส่วนหัวที่จะใช้โดยเครื่องขูดเว็บ
ตามค่าเริ่มต้น แอปพลิเคชันจะบันทึกเฉพาะข้อความแสดงข้อผิดพลาดเท่านั้น โดยการส่ง -v
/ --verbose
(บนบรรทัดคำสั่ง) หรือการตั้งค่า "verbose": true
(ใน config JSON) คุณสามารถบอกให้แอปพลิเคชันแสดงบันทึกระดับคำเตือนได้ หากต้องการแสดงบันทึกระดับข้อมูล ให้ผ่าน -vv
; สำหรับการดีบัก -vvv
หากต้องการบันทึกบันทึกเหล่านี้ลงในไฟล์ คุณสามารถเปลี่ยนเส้นทางเอาต์พุตมาตรฐานและข้อผิดพลาดมาตรฐานไปยังไฟล์ได้เมื่อเรียกใช้แอปพลิเคชันของคุณ ตัวอย่างเช่น:
$ ./ringfairy > log.txt 2>&1
เทมเพลตจะอยู่ในโฟลเดอร์ ./data/templates
ตามค่าเริ่มต้น เส้นทางนี้สามารถระบุได้ด้วยอาร์กิวเมนต์บรรทัดคำสั่ง --templates
หรือด้วย path_templates
ในไฟล์กำหนดค่า
เทมเพลตมีแท็กซึ่งจะถูกแทนที่ด้วยเนื้อหาที่สร้างขึ้น คุณสามารถปรับแต่งไฟล์ที่สร้างขึ้นได้โดยเพิ่มเนื้อหาก่อน/หลังแท็ก Repo มีตัวอย่างเทมเพลตพื้นฐานเพื่อให้คุณเริ่มต้นได้
ในโฟลเดอร์เทมเพลต template.html
จะใช้เพื่อสร้างหน้า next.html
/ previous.html
แต่ละหน้า ซึ่งมีการเปลี่ยนเส้นทางสำหรับแต่ละเว็บไซต์ แท็ก {{ url }}
ถูกแทรกโดยตัวสร้างในแต่ละหน้า และนั่นขับเคลื่อนเว็บริง
นอกจาก template.html
แล้ว โฟลเดอร์ templates ยังสามารถมีเทมเพลตอื่นๆ ที่คุณต้องการได้
ตัวอย่างเช่น เป็นความคิดที่ดีที่เว็บริงจะมีหน้าศูนย์กลางที่แสดงรายการไซต์ทั้งหมด คุณสามารถใส่สิ่งนี้ลงใน index.html
หรือสร้างเพจเฉพาะ เช่น list.html
, table.html
ฯลฯ เพียงใช้แท็ก {{ table_of_sites }}
ในเทมเพลต จากนั้น ringfairy
จะสร้างรายการที่มีการจัดรูปแบบของไซต์ใน สายรัด
แท็กต่อไปนี้สามารถใช้ได้ในเทมเพลต:
{{ table_of_sites }}
สร้างข้อมูลรายการตาราง HTML ที่จัดรูปแบบสำหรับไซต์ทั้งหมดใน webring
{{ number_of_sites }}
แสดงขนาดปัจจุบันของ webring
{{ current_time }}
แสดงเวลาในการสร้าง โดยแสดงว่าเพจได้รับการอัปเดตครั้งล่าสุดเมื่อใด
{{ opml }}
แทรกเส้นทางสัมพัทธ์ของไฟล์ OPML ของริง
{{ base_url }}
พิมพ์ URL หลักของ webring ตามที่ผู้ใช้กำหนด
{{ ring_name }}
แสดงชื่อเว็บริง
{{ ring_description }}
แสดงคำอธิบายของ webring ตามการตั้งค่า
{{ ring_owner }}
แสดงชื่อเจ้าของเว็บริง
{{ ring_owner_site }}
พิมพ์ URL ของเว็บไซต์ของเจ้าของ webring
{{ featured_site_name }}
พิมพ์ชื่อของ "ไซต์เด่น" ซึ่งเป็นการสุ่ม
{{ featured_site_description }}
พิมพ์คำอธิบายของไซต์แนะนำแบบสุ่ม
{{ featured_site_url }}
พิมพ์ URL ของไซต์แนะนำแบบสุ่ม
ขณะนี้ {{ url }}
เป็นแท็กพิเศษที่ใช้งานได้เฉพาะใน template.html
สำหรับลิงก์ถัดไป/ก่อนหน้า
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
ยินดีบริจาค! หากคุณมีข้อเสนอแนะสำหรับการปรับปรุงหรือคุณสมบัติใหม่ โปรดอย่าลังเลที่จะเปิดปัญหาหรือส่งคำขอดึงข้อมูล