Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

Nikola - Static Site Generator สำหรับเว็บของคุณ

เว็บสมัยใหม่ล้วนเกี่ยวกับเนื้อหาแบบไดนามิก แต่ในกรณีส่วนใหญ่ นี่เป็นภาพลวงตาทางเทคโนโลยี เว็บไซต์จำนวนมากใช้เพจที่สร้างขึ้นแบบไดนามิก เช่น เนื้อหาถูกอ่านจากฐานข้อมูลและแสดงผลบนหน้าจอเมื่อมีการร้องขอ แม้แต่สิ่งที่ไม่จำเป็นต้องมีการโต้ตอบใดๆ การดำเนินการนี้ต้องใช้ทรัพยากร และอาจได้รับการพิจารณาว่าปลอดภัยน้อยกว่า เนื่องจากคำสั่งที่ไม่ถูกต้องหรือผิดรูปแบบอาจสร้างสิ่งที่ไม่ต้องการในทางทฤษฎี

เว็บแบบเก่าเป็นเรื่องเกี่ยวกับเนื้อหาคงที่ - หน้า HTML ที่มีลิงก์และรูปภาพและไม่มีอะไรมาก ไม่เลว ใช้ทรัพยากรน้อยมาก และปลอดภัยพอ ๆ กับเว็บเซิร์ฟเวอร์ แต่ไม่มีการโต้ตอบเกิดขึ้นมากนัก และการอัปเดตเนื้อหาอาจเป็นเรื่องที่น่าเบื่อ จะเกิดอะไรขึ้นถ้ามีบางอย่างอยู่ตรงกลางระหว่างสองโลก? นั่นคือ Nikola ซึ่งเป็นโปรแกรมสร้างเว็บไซต์แบบคงที่

Nikola - Static Site Generator สำหรับเว็บของคุณ

สำรวจ ติดตั้ง ทดสอบ

สาระสำคัญของแนวคิดคือ - คุณสร้างเว็บไซต์คงที่แบบไดนามิก สคริปต์ Python จำนวนมากช่วยให้คุณสร้างและแก้ไขหน้าเว็บ แก้ไขลิงก์และอื่นๆ ในพื้นหลัง ดังนั้นคุณไม่จำเป็นต้องดำเนินการด้วยตนเองทุกครั้งที่คุณเปลี่ยนแปลงบางสิ่ง ปลั๊กอินและธีมทำให้งานง่ายยิ่งขึ้น ความแตกต่างจาก CMS แบบเดิมคือไม่มีฐานข้อมูล และคุณสร้างทุกอย่างในเครื่องก่อนที่จะอัปโหลดไปยังที่ใดก็ตามที่ไซต์ของคุณควรจะอยู่ ยิ่งไปกว่านั้น เป็นเพียง HTML และรูปภาพเท่านั้น

ฉันพบว่าสิ่งนี้น่าสนใจเพราะการสร้างเนื้อหาออฟไลน์ในยุคปัจจุบันไม่ใช่เรื่องง่าย ฉันเขียนเกี่ยวกับเรื่องนี้ในปี 2018 และน่าเศร้าที่แดกดันและพบว่า KompoZer โบราณเป็นเครื่องมือที่เหมาะสมที่สุดที่ให้ทั้ง GUI และความยืดหยุ่นในการแก้ไขโค้ดโดยตรงหากคุณต้องการ Nikola เสนอวิธีการแบบผสมผสาน - ส่วนใหญ่เป็นบรรทัดคำสั่ง แต่คุณยังได้รับโปรแกรมแก้ไขภาพพร้อมตัวอย่างเบราว์เซอร์สด

ฉันทำตามคำแนะนำการตั้งค่าทั่วไป (คำสั่ง pip และ virtualenv) และวิธีนี้ใช้ได้ดี ฉันเดาว่าสิ่งทั้งหมดสามารถเป็นไปโดยอัตโนมัติ (ใส่สคริปต์) เมื่อขั้นตอนนี้เสร็จสมบูรณ์ ฉันทำตามบทช่วยสอนออนไลน์เกี่ยวกับวิธีสร้างเว็บไซต์แรก (ตัวอย่าง)

Nikola - Static Site Generator สำหรับเว็บของคุณ

nikola init --demo test-site
การสร้าง Nikola Site
====================

นี่คือ Nikola v8.0.2. ตอนนี้เราจะถามคำถามง่ายๆ เกี่ยวกับไซต์ใหม่ของคุณ หากคุณไม่ต้องการรับสายและต้องการใช้ค่าเริ่มต้นแทน ให้รีสตาร์ทด้วยพารามิเตอร์ `-q`
--- คำถามเกี่ยวกับไซต์ ---
ชื่อไซต์ [My Nikola Site]:

เมื่อฉันให้ข้อมูลพื้นฐานแล้ว คุณต้องมีโดเมนซึ่งจดทะเบียนแล้ว เนื่องจากจะใช้เป็นหน้าแรก จากนั้นฉันก็เริ่มสร้างโพสต์แรก ฉันทำตามคำแนะนำและพบปัญหาทันที

(นิโคลา) roger@tester:~/nikola/test-site$ nikola new_post -e
กำลังสร้างโพสต์ใหม่
-----------------

หัวข้อ:ทำไมแบดเจอร์ไม่ควรได้รับอนุญาตให้ขับรถ
สแกนโพสต์........เสร็จแล้ว!
[2019-04-07T18:05:25Z] ข้อมูล:new_post:ข้อความของคุณอยู่ที่:posts/why-badgers-shouldnt-be-allowed-to-drive.rst
[2019-04 -07T18:05:25Z] ข้อผิดพลาด:new_post:ไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม $EDITOR ไม่สามารถแก้ไขโพสต์ด้วย '-e' โปรดแก้ไขโพสต์ด้วยตนเอง

ประเด็นคือ ฉันต้องส่งออกตัวแปร EDITOR ด้วยตนเอง ฉันตั้งค่าเป็น Kate ใน KDE แต่สำหรับเรื่องนั้น ฉันสามารถใช้โปรแกรมแก้ไขใดๆ ก็ได้ รวมถึงแม้แต่ Notepad++ ซึ่งค่อนข้างดี จากนั้น หากคุณทำเช่นนี้ คุณจะไม่เกิดข้อผิดพลาดนี้อีก

ท่อนตัดต่อมัน...แปลกๆ Nikola ใช้ไฟล์ที่มีนามสกุล .rst เพื่อระบุว่าเป็น reStructuredText แม้ว่าคุณจะกำหนดค่ารูปแบบอื่นๆ เช่น Markdown ได้ด้วยตนเอง ฉันพบว่าสิ่งนี้ค่อนข้างแปลกเพราะสิ่งนี้บังคับให้ผู้คนเรียนรู้ไวยากรณ์ (แปลก) อื่น นอกจากนี้ยังหมายความว่าไม่มีการแบ่งแยกสไตล์และเนื้อหา

Nikola - Static Site Generator สำหรับเว็บของคุณ

ซึ่งหมายความว่าคุณไม่สามารถทำงานได้ - คุณต้องเรียนรู้ภาษาอื่น จากนั้นจึงแสดงผลเป็น HTML แต่ฉันสงสัยว่าคลาส CSS คืออะไร สไตล์เกี่ยวกับองค์ประกอบ HTML จริงอย่างไร ท้ายที่สุด ถ้ามีคนสร้างเว็บไซต์ พวกเขาไม่ควรควบคุมไวยากรณ์จริงหรือ ในที่สุด โพสต์แรกของฉันก็เสร็จ และปล่อยให้ Nikola สร้าง

Nikola - Static Site Generator สำหรับเว็บของคุณ

Nikola - Static Site Generator สำหรับเว็บของคุณ

เมื่อขั้นตอนนี้เสร็จสิ้น คุณสามารถดูตัวอย่างการเปลี่ยนแปลงภายในเบราว์เซอร์ได้ จากนั้น คุณมีธีมและปลั๊กอินเพิ่มเติมในกรณีที่คุณไม่อยากแฮ็กข้อมูลของคุณเอง จนถึงตอนนี้ มันก็ไม่ได้แย่ แต่ฉันก็ยังมีคำถามบางอย่าง ที่ใหญ่ที่สุดในหมู่พวกเขาคือ เอาล่ะ จะทำอย่างไรต่อไป? บอกว่าฉันมีความสุขกับเว็บไซต์ ฉันแค่อัปโหลดสิ่งทั้งหมดไปยังเซิร์ฟเวอร์ของฉันผ่าน FTP หรืออะไร แล้วจะจัดการกับการอัปเดตอย่างไร

Nikola - Static Site Generator สำหรับเว็บของคุณ

นั่นไม่ใช่ฉันในรูป เป็นคนที่วิเศษกว่าฉันมาก

ฉันพบส่วนอื่นๆ ที่น่าสนใจ เช่น ความสามารถในการปรับใช้กับระบบบิลด์ต่างๆ ความสามารถในการนำเข้าส่วนสำคัญ สร้างแผนภูมิและภาพขนาดย่อ และใช้บล็อคโค้ด แต่ฉันก็ยังคิดว่ายังโฟกัสที่สถานะสุดท้ายไม่มากพอ ซึ่งก็คือเมื่อผู้ใช้สร้างเนื้อหาเสร็จแล้ว พวกเขาจะเปลี่ยนจากสภาพแวดล้อมการสร้างในเครื่องไปสู่การปรับใช้ออนไลน์ในลักษณะที่ตรงไปตรงมาได้อย่างไร

บทสรุป

คำถามสำคัญที่ต้องถามคือ ถ้า Nikola Tesla จะสร้างเว็บไซต์ขึ้นมา วันนี้เขาจะใช้เทคโนโลยีอะไร Microsoft FrontPage? จีโอไซต์? นิโคลา? ฉันชอบแนวคิดนี้ ฉันชอบแนวคิดในการช่วยผู้ใช้ประหยัดเวลาได้มากในการอัปเดตโครงสร้างเว็บไซต์ที่ไม่จำเป็น แต่ฉันพบว่าวิธีการนั้นซับซ้อนเกินไป ฉันรู้ว่าการสร้างเว็บไซต์ไม่ใช่เกม แต่ก็ไม่ควรเป็น hax0rfest เช่นกัน

สำหรับฉัน Nikola สามารถทำได้ดีกว่านี้ด้วยการตั้งค่าที่คล่องตัวมากขึ้น ความสามารถในการใช้ HTML โดยตรงหรืออย่างน้อยก็เพิ่มบล็อกของโค้ด และส่วนการแสดงตัวอย่างและการปรับใช้ที่เป็นธรรมชาติมากขึ้น ฉันรู้ว่าคำตอบอยู่ที่นั่น แต่ความสวยงามคือการมีเครื่องมือง่ายๆ ที่อธิบายตัวเองได้ซึ่งให้มากกว่าที่พวกเขาถาม หากใครต้องลงแรงอย่างหนักเพื่อไปยังจุดที่สามารถใช้งานหน้าแรกได้ เครื่องมือที่ควรจะช่วยประหยัดเวลาจะกลายเป็นปัญหาที่พวกเขาตั้งใจจะบันทึกตั้งแต่แรก ที่กล่าวว่าฉันชอบ Nikola นี่เป็นวิธีการที่ยอดเยี่ยมมากและฉันจะคอยติดตาม ท้ายที่สุดแล้ว ใครจะรู้ว่า Web 4.0 หรืออะไรก็ตามจะนำมาซึ่งสิ่งใด

ไชโย