สร้าง Blog แบบคลู ๆ ด้วย Markdown

Bozz Srinikorn
3 min readJul 31, 2019

สร้างบล็อคด้วย Markdown + Hugo

เกริ่นก่อนว่า เขียนไว้ก่อนลืม ถ้าลองทำตามแล้วติดขัดตรงไหน google can help ครับ แต่ถ้าใครเบื่อ medium สิ่งนี้ก็ยังน่าสนใจอยู่ครับ

ถ้าใครเคยเขียนหรือรู้จัก Markdown หรือเคยเขียนเว็บมาแค่ HTML ก็ทำตามได้แล้วครับ gg ez มาก ๆ

Step แรก Install + Setup Project ก่อนนะครับ

ก่อนอื่นเราต้องสร้าง folder project กันก่อนนะครับ

mkdir hugo

หลังจากนั้น install hugo โดยสามารถเข้าไปได้ที่ Click เพื่ออ่าน Docs ซึ่งแต่ละ OS จะไม่เหมือนกัน โดยในบทความนี้จะอ้างอิงจาก Ubuntu นะครับ

sudo apt-get install hugo

หลังจากที่ทำการ install แล้วลองเช็ค version ดูครับ

hugo version

โอเค ทีนี้ เราก็จะเริ่มสร้างกันเลย โดยพิมพ์ cmd ตามด้านล่างนี้ hugo จะทำการ generate engine ออกมาให้เราใช้ใน directory ของเรา

hugo new site my-first-blog

ต่อจากนั้นเราก็จะเห็นว่า มี folder เกิดขึ้นมาใหม่ใน project เรา ซึ่งมันก็คือ blog ของเรานั้นเอง

ถ้าเข้าไปจะเห็น structure ต่าง ๆ

ซึ่งถ้าใครเคยผ่านการเขียนเว็บมา ก็บอกเลยว่าต่อจากนี้มันจะง่ายมาก ๆ หรือต่อให้ไม่เคยเขียนมา ก็ยังง่ายอยู่ดี โถ่เอ้ย

โดยผมจะไม่อธิบายนะครับว่า แต่ละส่วนทำหน้าที่หรือทำงานยังไง เพราะผมขี้เกียจ จริงๆ เขียนไว้กันลืมเฉย ๆ

อันที่จริง ชื่อ folder ค่อนข้างตรงอยู่แล้ว ถ้าติดตรงไหนก็คอมเม้นถามได้ แล้วผมก็จะไปตอบ ถ้าผมไม่ขี้เกียจ

Step สอง Download + Install Theme

ซึ่งจริง ๆ ตรงนี้ข้ามไปก็ได้ครับ ถ้าขี้เกียจ ใครอยากข้าม step ให้ไปลองสร้าง post ได้เลยครัช

เลือกได้ตามใจชอบ
พอเลือกได้แล้วก็ Clone จาก github มาได้เลยครับ

  • ก่อนอื่นอย่าลืม git init
git init 
git submodule add https://github.com/htdvisser/hugo-base16-theme.git themes/base16
echo 'theme = "base16"' >> config.toml

cmd ด้านบน คือ git init แล้วเพื่อให้เราใช้ git ได้และเพื่อสร้างความง่อยให้ตัวเอง

เราไม่จำต้องที่ต้องเข้าโฟลเดอร์ theme แล้วไป clone theme ลงมา เราสามารถทำได้ในทันที โดยใช้ git submodule add ตามด้วย git theme ที่เราเลือก แล้ว directory ที่จะไปอยู๋

มากไปกว่านั้น แล้ว engine จะรู้ได้ยังไงว่ามี theme ใหม่มา เราใช้ echo ให้เป็นประโยชน์ โดยการบอกมันซะ ตรงๆ เลย

config ทุกอย่างจะอยู่ในไฟล์ config.toml นะครับ ห้ามลบเด็ดขาด ลบได้แหละ แต่สร้างใหม่ด้วย

Step สาม สร้าง Post

ที่นี้เราจะลองเพิ่ม post เข้าไปในเว็บของเราก่อน โดยการสั่ง cmd ให้ hugo generate

hugo new post/my-first-post.md

จากนั้นให้ลองเข้าไปดูที่ content/post

จะเห็นว่ามีชื่อไฟล์ markdown ที่เราสร้างไว้ ซึ่งเราสามรถใช้ editor เพื่อเปิดมันดูได้ โดยของผมเป็น vscode ตอนแรกจะใช้ vim แต่ไม่ดีกว่า sad ไป

จะเห็นได้ว่ามี syntax ให้มาเป็น default เช่น วันเดือนปี หัวข้อ ชื่อคนเขียน โดยสามารถเพิ่มได้อีก เช่นพวกรูป tag อะไรต่าง ๆ ผมลืมไปแล้ว

ก่อนที่เราจะเวิ่นเว้อระบายความในใจลงบล็อค ให้ลองไป test ก่อนว่า ไอที่ทำมาทั้งหมดเนี่ย มันใช้ได้ไหม ไอคนเขียนมั่วรึเปล่า

Step Arsenal ทำการลอง Run Server

โอเค ลองมาเช็คกันก่อนว่า เว็บเราสามารถใช้ได้ไหม

hugo server -D
  • หลังจาก run server ให้ลองเข้าไป port ที่ hugo เปิดให้เรา อันนี้ถ้าใครทำตาม แล้วได้ port ไม่เหมือนกัน ไม่ต้องแปลกใจ เพราะผมใช้ port เยอะ มากจนไม่รู้ว่าต้องเปิดและปิดตัวไหน
  • โดยแต่ละเครื่องอาจจะไม่เหมือน ซึ่ง default ถ้าผมจำไม่ผิดจะเป็น :1313 ซึ่งถ้าผิด ก็ผิดแหละ เพราะผมจำไม่ได้ คาดหวังอะไรวะ

หลังจากนั้นก็เข้าไป port เลย

จะเห็นได้ว่า โอเคเว็บสามารถใช้งานได้แล้ว

ลองตกแต่งสักหน่อย ก็เข้าไปตาม path นั้นเลย

vi layouts/partials/hero.html

ถ้าสมมุติไม่มีใน folder หลักของเรา ก็ให้ก็อป layouts จาก theme มาใส่ใน path layouts/ ของ project เราเลยนะครับ

  • ถึงตรงนี้คิดว่า น่าจะได้พอสมควรแล้ว อันที่จริงผมขี้เกียจเขียนต่อ คือท่าต่อไป ก็ตกแต่งตามใจชอบเลยครับ จะ css + js อันนี้ก็แล้วแต่ความสามารถ หรือจะ add-ons ก็ลองดูว่า theme ที่เราเลือกมารองรับไหม

ส่วนเรื่อง build + deploy เอาไว้ part ต่อไปนะครับ ตอนนี้ขี้เกียจแล้ว แต่บอกเลยว่าง่ายมาก ๆ ๆ ๆ ๆ ๆ ๆ

  • ส่วนถ้าใครยังงงอยู่ว่า Hugo คืออะไร ก็คือ คนที่ร้อง 99 problem ทั้งร้องทั้งแต่งเอง ต้องเหงาแค่ไหน คิดดู

สำหรับใครที่อยากต่อเนื่อง มีบทความเพิ่มเติมครับ

สำหรับคนที่ต้องการดู source code คลิกที่นี่เลยครับ

Build + Deploy Hugo โดยใช้ Host บน GitHub Pages

--

--

Bozz Srinikorn

bozzlab.github.io | Software/Data Engineer | Google Cloud Certified | AWS Certified