Tôi đã tạo ra Blog của mình như thế nào ? (Phần 1) ✍🏻

Microvn11 tháng 3 • 9 min read • 

Well, để mà nói về chiếc blog này thì mình đã có ý định từ giữa năm 2020 khi bản thân cảm thấy có quá nhiều kiến thức cần phải nhớ và tổng hợp. Xui một cái là công nghệ ngày càng cập nhật nhanh chóng thì mức độ ghi nhớ một cách chính xác của bản thân ngày càng giảm =)) (kém vđ).  Mỗi ngày, lại xoay xung quanh với một những công việc mới, ngôn ngữ mới, dữ liệu mới hay là một thứ gì đó hay ho trên mạng mà bản thân muốn tìm hiểu thì nó bỗng nhiên trở thành một mớ bòng bong không lối thoát.

Vì vậy, trong một sáng thứ bảy cuối tuần trước một ý định cũ đã thôi thúc mình làm một điều gì đó. Sau một hồi đắn đo và suy nghĩ mình đã quyết định viết blog, vừa là để ghi chép lại những kinh nghiệm trong nghành CNTT của bản thân, vừa nơi để tìm kiếm lại kiến thức mình đã từng học và cuối cùng là mình muốn tận dụng lại nguồn dữ liệu báo chí mà mình đã thu thập được trong vài năm qua.

Thế Blog tạo ra rồi để làm gì?

Mình đã note mọi thứ ở khắp nơi, từ thư nháp của Gmail cho tới trên Evernote, hay là có thể kiểu tự kỷ (tự gửi cho chính mình trên Slack) =))

Nếu giờ mà tổng hợp lại rồi viết trên Medium hay nền tảng blog nào đó thì cũng đơn giản mà như thế thì nó không cá nhân hóa thành ra mình không thích lắm. Vì thế mình quyết định tự làm một chiếc blog cho oách xà lách. Mọi người sẽ bảo tại sao không dùng Wordpress cho nhanh, nhưng cá nhân mình không có nhiều thú vị với nền tảng blog này mặc dù nó đã quá là nổi tiếng. Dạo một vòng trên Google, mình choáng ngợp vì tìm được một rừng các nền tảng blog từ đơn giản cho tới xịn xò con bò luôn =)).

Cuối cùng, mình quyết định chọn Ghost, một nền tảng dành cho viết lách khá xịn xò. Mình chọn Ghost cơ bản là nó đáp ứng được các nhu cầu hiệu năng, đầy đủ chức năng cơ bản, editor xịn và các kế hoạch trong tương lai của mình.

Chọn được nền tảng rồi sẽ làm gì tiếp theo?

Chà, mình khá bận nên là mình đã chỉ hi vọng dành ra khoảng 1 tới 2 ngày cho việc hình thành blog đầu tiên này. Một bản build MVP với các tính năng tối thiểu=)). Thật tiếc là mình đã không theo kịp deadline đó cũng chỉ vì mình mong muốn đưa ra một sản phẩm được đầu tư kỹ lưỡng hơn.

Các công việc đầu tiên không khó lắm, mình ngồi nghĩ ra tên cho blog, logo một cách đơn giản nhất rồi nhanh chóng nhờ ku em quen đã ngót chục năm bên iNET mua cho một chiếc domain theo tên mình luôn. Nhân tiện lại nói về em nó, năm 2010-2011 gì đó wrap việt rất nổi, lăng quăng thế nào gặp, thế là anh em chơi từ đấy đến giờ. Nếu mà nói nói quãng thời gian đấy mà tạo tên miền thì xin phép chứ full các loại chấm luôn kể cả .vn luôn (ae nào ở thời ấy chắc cũng biết) =)). Dĩ nhiên là bây giờ lớn rồi mình không ủng hộ các phương thức tồi kiểu ấy nữa, dễ cơm nhà nước nuôi lắm.

Trong lúc chờ tên miền, mình đã nhanh chóng cài một bản Ghostlocalhost và dành thời gian tìm hiểu về nó. Bài viết chi tiết về việc cài đặt, tìm hiểu này mình sẽ sớm viết và đính nó vào đây để anh em tham khảo. Ở giới hạn bài viết này mình chỉ nói điểm mạnh yếu một cách tổng quan và các giải pháp khắc phục thôi.

Để mà nói về Ghost, một CMS đáp ứng nhu cầu tối thiểu đã được các nhà sáng lập tạo ra và dĩ nhiên nó không đầy đủ tính năng như Wordpress, bù lại ... nó nhanh, rất nhanh trong việc thiết lập và sử dụng. Mất khoảng vài phút để mình tải về CLI của Ghost và chỉ mất thêm vài phút nữa để mình có một phiên bản hoàn chỉnh. Đánh giá sơ bộ thì nó khá đơn giản và thân thiện với người sử dụng, đi kèm với việc quản lý trang, quản lý bài viết, quản lý tích hợp, quản lý các Pages, quản lý Tags và các chức năng khác như chỉnh sửa Meta Seo, Email, AMP, vân vân...

Editor xịn xò lắm.

Dĩ nhiên không phải nó không có điểm yếu, mặc dù cộng đồng sử dụng khá lớn lại mã nguồn mở nhưng việc mở rộng còn nhiều hạn chế. Mình đã phải cân nhắc giữa việc chọn Wordpress hay Ghost chỉ vì tính năng comment search Ghost lại không có. Mặc dù bạn có thể sử dụng của các bên thứ 3 như Disqus, Livefyre,... . Mình đã thử tích hợp nhưng dường như nó không hoạt động như mình mong đợi. Và vì thế nên mình sẽ có những bài tiếp theo dành cho việc tích hợp các cái còn thiếu như thế này.

Vạn sự khởi đầu nan, gian nan mình bắt đầu nản =))

Sử dụng đủ lâu, mình cảm thấy giao diện ngoài trang trơn tru, hiển thị tốt, điểm tối ưu gần 100 điểm cho cả 2 phiên bản (theo như tài liệu, nó sử dụng Ember.js - một Framework Front-End cho các nhà phát triển đầy tham vọng =))). Ember.js được ra đời từ năm 2011, với phẩm chất anh "cốt đơ" đầy tham vọng sẽ không muốn mình dừng lại ở đó mình đã quyết định đập quả mặt tiền đi làm lại.

Sau một loạt Framework xịn mình đã chọn Nextjs. Một là bản thân có khoảng vài năm kinh nghiệm hơn nữa là mình cũng có 1 dự án nhỏ với chức năng vừa đủ dùng cho các bạn có thể tham khảo tại đây (mọi người ghé qua cho xin 1 ⭐️).

Mất khoảng hơn nửa ngày cho việc đập cái mặt tiền này đi, mình đã lướt trên internet và hỏi các anh em làm trong nghề thiết kế với hi vọng tìm được một thiết kế ưng ý, mà cuối cùng lại trắng tay 😂. Sau cùng, mình tự làm luôn, đúng cái mình muốn truyền đạt, đơn giản, gọn gàng, font chữ dễ đọc, fit cùng palette với cái logo. Không để anh em thất vọng, mình đã kịp update mặt tiền với https://tailwindcss.com/ một Atomic CSS.

Let’s Define Exactly What Atomic CSS is | CSS-Tricks
As Atomic CSS (also known as Functional CSS) has been gaining in popularity, some confusion has occurred about similar related terms. The goal of this
Mọi người có thể đọc qua ở đây.

Như vậy là cũng hòm hòm cả xương cốt (Back-End) lẫn mặt tiền (Front-End) mình mở http://figma.com/ và bắt đầu vẽ cho mình 1 chiếc logo. Cứ nghĩ là logo không khó ai ngờ cũng mất cả tiếng bạc cho cái logo mà mình nghĩ là không thể basic hơn =)).

Triết lý "Simple is the best" - mình chọn luôn nền đen chữ trắng đi cùng cái tên (Microvn) đẵ gắn với mình từ ngày chập chững bước vào con đường công nghệ không lối thoát này. Nhân tiện mình làm luôn cover Facebook và generator ra Favicon luôn. Đây là logo của mình =))

Simple is the best

Triển khai với các nguyên liệu đã có

Ku em đã nhanh chóng gửi lại domain cho mình, mất khoảng 10 phút để mình cấu hình lại bản ghi của domain để nó có thể hoạt động được. Sau này còn thiết lập thêm các thông số liên quan tới verify Mail Server nhưng cũng không quá lâu lắm đâu =)).

Giờ là đến giai đoạn Deploy, mình chọn 1 nhà cung cấp máy chủ ở Việt Nam với một cấu hình vừa phải. Mất khoảng 45 phút để mình hoàn tất mọi thứ với Docker, CI/CD, Database, SSL để blog có thể hoạt động hoàn chỉnh.

Sau đó là export các bài đăng cũ ở các nơi vào để viết dần cho sau này, hi vọng mọi người đón nhận.

Viết gì bây giờ?

Mình không giỏi văn lắm, lựa chọn ban đầu của mình là mấy cái mình tổng hợp để làm bài đầu tiên. Nhưng có vẻ không ổn lắm, toàn cái gì đâu đâu ấy, đã phải mất khoảng 2 giờ cho bài viết đầu tiên này. Mình lựa chọn viết về cách mình tạo ra chiếc blog này, vừa là giới thiệu blog vừa show-off công nghệ xíu =)). Mình đã cố gắng viết rõ ràng nhất có thể, chỉ hi vọng mọi người đọc xong đừng ném đá =)).

Bài viết này còn nhiều phần khác nữa, mình xin phép dừng phần 1 tại đây để chuẩn bị cho phần 2 với các chi tiết cụ thể hơn về quá trình mình tạo ra chiếc blog này 😂.

Cuối cùng, mình muốn thử thách anh em "Cốt Đờ" mà cuối tuần có thời gian thử trải nghiệm cảm giác tạo ra blog cá nhân với thời gian 2 ngày như thế nào, mình sẽ cảm thấy thực sự thú vị khi đọc nó.

Còn riêng mình, hi vọng cũng như thử thách bản thân với mỗi tuần một bài viết mới với các chủ đề xoay quanh công việc cũng như quá trình khởi nghiệp của mình 😝.

À ngoài ra mình còn 1 chú bot nhỏ nhắn Người Đưa Tin hay cập nhật bài viết về Tech nữa. Đề phòng lúc mình bận không viết blog được 🥲.

Cảm ơn mọi người đã dành thời gian đọc bài viết này. 😍

Phần 2: Nền tàng cốt lõi phục vụ cho Blog của mình là gì ?