← Tất cả bài viết

AI thay thế hệ thống CMS như thế nào

Blog này không có trang quản trị hay nút Xuất bản. Một tòa soạn gồm tác giả, phóng viên AI và tổng biên tập đã làm thay phần việc của CMS ra sao.

Nghe 7 phút Đã ký sốĐã neo Bitcoin · khối #972625Xem bằng chứng ↓

CHUỖI BÀI · PHẦN 2/4 Xuất bản AI-nativePhần tiếp: Tôi tạo định danh phi tập trung cho blog: did:web là gì và chữ ký số trên bài viết chứng minh được gì?

BẢN NGHE Nghe phỏng vấn 7 phút về bài này
6:38

Phóng viên hỏi, tác giả trả lời. Kịch bản do AI viết từ bài, giọng đọc do AI tạo (không phải giọng tác giả). Có thể diễn giải khác bài gốc; bài viết là bản chính thức.

Tất cả bản nghe →

Người làm website thường được khuyên bắt đầu bằng một hệ quản trị nội dung, tức CMS. Cài WordPress hay một nền tảng tương tự, đăng nhập vào trang quản trị, gõ bài vào khung soạn thảo, bấm nút Xuất bản. Hai mươi năm nay, viết trên mạng gần như đồng nghĩa với việc đó.

Blog bạn đang đọc không có trang quản trị nào. Không có khung soạn thảo, không có cơ sở dữ liệu bài viết, không có nút Xuất bản. Vậy mà mỗi sáng vẫn có một bản tin The Daily Signal lên lúc bảy giờ, và các bài Góc nhìn vẫn đi qua nháp, sửa, duyệt rồi mới đến tay người đọc.

Câu hỏi tôi muốn trả lời trong bài này khá cụ thể: nếu không còn CMS, những việc mà CMS vẫn làm đã đi đâu, và ai đang làm chúng?

Đằng sau câu hỏi ấy là một ý định đơn giản hơn: dùng chính blog nhỏ này làm mô hình, để cho thấy theo cách dễ hình dung nhất AI tác động thế nào tới việc tổ chức một tòa soạn: ai làm việc gì, ai chịu trách nhiệm điều gì, và chỗ nào vẫn cần con người.

CMS thực ra làm những việc gì

Nhìn từ bên ngoài, CMS là một trình soạn thảo có nút đăng bài. Nhìn kỹ hơn, nó gói năm việc khác nhau vào một sản phẩm:

  • Soạn thảo: nơi gõ chữ, chèn ảnh, định dạng.
  • Lưu trữ: bài viết nằm trong cơ sở dữ liệu, kèm lịch sử các lần sửa.
  • Phân quyền: ai được viết, ai được sửa bài của người khác, ai được bấm đăng.
  • Quy trình duyệt: bài đi từ nháp sang chờ duyệt rồi sang công khai.
  • Phát hành: dựng thành trang web, lên lịch đăng, gỡ bài.

Phần phân quyền cho thấy rõ nhất rằng CMS thực chất là mô hình của một tòa soạn. WordPress, chẳng hạn, có sẵn vai Contributor được viết và quản lý bài của mình nhưng không được đăng, vai Author được đăng bài của chính mình, và vai Editor được đăng và quản lý cả bài của người khác.1 Phóng viên, tác giả, biên tập viên: CMS đã mã hóa cả bộ máy tòa soạn thành những ô đánh dấu trong trang cài đặt.

Tháo rời CMS thành từng mảnh

Khi dựng blog này, tôi không thay CMS bằng một CMS khác. Tôi tháo năm việc kia ra và giao cho những thứ chuyên làm từng việc.

Lưu trữ giao cho một kho mã nguồn trên GitLab. Mỗi bài là một tệp văn bản Markdown. Mỗi lần sửa là một bản ghi có thời điểm, nội dung thay đổi và người thực hiện. Muốn biết bài đã đổi gì từ hôm qua, chỉ cần xem phần khác biệt.

Dựng trang giao cho Hugo, một công cụ tạo trang tĩnh: nhận các tệp Markdown và in ra các trang HTML.2

Phát hành giao cho dây chuyền CI/CD. Mỗi khi có bài được hợp nhất vào bản chính, máy tự dựng lại website, kiểm tra rồi đưa lên mạng. Dây chuyền này còn chặn những lỗi người viết dễ bỏ sót: bài thiếu giờ xuất bản, bài nháp lọt ra ngoài, bài dài thiếu mục lục, đường dẫn hỏng.

Quy trình duyệt giao cho cơ chế đề nghị hợp nhất (merge request): mỗi thay đổi nằm ở một nhánh riêng và chỉ vào bản chính khi được chấp thuận.

Còn soạn thảo, phần mà CMS làm đẹp nhất, lại là phần biến mất hoàn toàn. Thay vào đó là hội thoại với AI.

Kho, nhánh, đề nghị hợp nhất, dây chuyền tự động: tất cả đều là công cụ của lập trình viên. Lâu nay chính chúng là lý do người viết không dám đụng tới cách làm này. Điều AI thay đổi là người viết không cần chạm vào những công cụ đó nữa. Tôi nói “lưu nháp”, AI tạo nhánh và ghi tệp. Tôi nói “chuẩn bị xuất bản”, AI kiểm tra nguồn, mở đề nghị hợp nhất và gửi bản xem trước. Giao diện quản trị của CMS được thay bằng ngôn ngữ tự nhiên.

Tháo rời CMS thành từng mảnhBên trái, CMS truyền thống gói năm việc trong một sản phẩm: soạn thảo, lưu trữ, phân quyền, duyệt bài, phát hành. Bên phải, mỗi việc được giao cho một thành phần riêng: hội thoại với AI, kho GitLab, quy chế viết bằng chữ, merge request do tổng biên tập duyệt, Hugo cùng CI/CD.CMS truyền thốngBlog nàySoạn thảoLưu trữPhân quyềnDuyệt bàiPhát hànhHội thoại với AIphóng viên AI soạn, dàn trangKho GitLabtệp Markdown + lịch sử mọi lần sửaQuy chế viết bằng chữđặt trong kho, AI đọc trước khi làmMerge requesttổng biên tập duyệt từng phiên bảnHugo + CI/CDdựng, kiểm tra, phát hànhNgười quyết địnhAIMáy, tự động
Tháo rời CMS thành từng mảnhPhía trên, CMS truyền thống gói năm việc trong một sản phẩm: soạn thảo, lưu trữ, phân quyền, duyệt bài, phát hành. Phía dưới, mỗi việc được giao cho một thành phần riêng: hội thoại với AI, kho GitLab, quy chế viết bằng chữ, merge request do tổng biên tập duyệt, Hugo cùng CI/CD.CMS truyền thốngSoạn thảoLưu trữPhân quyềnDuyệt bàiPhát hànhtháo rờiBlog nàyHội thoại với AIKho GitLabQuy chế viết bằng chữMerge requestHugo + CI/CDSoạn thảoLưu trữPhân quyềnDuyệt bàiPhát hànhphóng viên AI soạn, dàn trangtệp Markdown + lịch sử mọi lần sửađặt trong kho, AI đọc trước khi làmtổng biên tập duyệt từng phiên bảndựng, kiểm tra, phát hànhNgười quyết địnhAIMáy, tự động
Năm việc CMS gói trong một sản phẩm, được tháo ra và giao cho từng thành phần riêng.

Một tòa soạn với bốn vai

Nếu CMS là mô hình tòa soạn đóng gói sẵn, thì blog này là một tòa soạn được dựng lại bằng tay. Nó có bốn vai:

VaiAi đảm nhậnViệc
Tác giảTôiRa đề, giữ luận điểm và quan điểm
Phóng viênAI (Claude, ChatGPT)Tìm và kiểm chứng nguồn, viết nháp, dàn trang, mở đề nghị duyệt, báo cáo
Tổng biên tậpTôiDuyệt từng phiên bản, ra lệnh đăng, sửa, gỡ
Nhà inDây chuyền CI/CDDựng, kiểm tra, phát hành, xác nhận bản đã lên
Một tòa soạn với bốn vaiTác giả kiêm tổng biên tập ra lệnh cho phóng viên AI và nhận báo cáo. Phóng viên AI đọc quy chế trong kho GitLab, lưu nháp và mở merge request vào kho. Tổng biên tập duyệt merge request. Sau khi merge, nhà in CI/CD cùng Hugo dựng, kiểm tra và phát hành bài lên website cho người đọc.Tác giả · Tổng biên tậpngười: ra đề, duyệt, ra lệnhPhóng viên AIClaude, ChatGPTra lệnhbáo cáoduyệt merge request,lệnh xuất bảnđọc quy chếlưu nháp,mở merge requestKho GitLab: nguồn sự thật duy nhấtBài viếttệp MarkdownQuy chếcách làm, chuẩn mựcLịch sửmọi thay đổi, ai duyệtmergeNhà in: CI/CD + Hugodựng, kiểm tra, phát hành, xác nhậnWebsite · người đọc
Một tòa soạn với bốn vaiTác giả kiêm tổng biên tập ra lệnh cho phóng viên AI và nhận báo cáo. Phóng viên AI đọc quy chế trong kho GitLab, lưu nháp và mở merge request vào kho. Tổng biên tập duyệt merge request. Sau khi merge, nhà in CI/CD cùng Hugo dựng, kiểm tra và phát hành bài lên website cho người đọc.Tác giả · Tổng biên tậpngười: ra đề, duyệt, ra lệnhPhóng viên AIClaude, ChatGPTra lệnhbáo cáoduyệtmerge request,lệnh xuất bảnđọc quy chếlưu nháp,mở merge requestKho GitLab:nguồn sự thật duy nhấtBài viếtQuy chếLịch sửtệp Markdowncách làm, chuẩn mựcmọi thay đổi, ai duyệtmergeNhà in: CI/CD + Hugodựng, kiểm tra, phát hành, xác nhậnWebsite · người đọc
Tòa soạn của blog: người ra lệnh và duyệt, AI làm, máy in; kho GitLab ở giữa giữ mọi thứ.

Tôi kiêm cả tác giả lẫn tổng biên tập. Phóng viên không phải người, và mỗi lần làm việc lại bắt đầu mà không nhớ gì từ lần trước. Vì thế thứ giữ cho tòa soạn chạy đúng không nằm trong trí nhớ của ai. Nó nằm trong những trang quy chế viết bằng chữ, đặt ngay trong kho: bài mới luôn là nháp; mỗi thay đổi đi qua một nhánh riêng; phóng viên không được tự đăng; tin phải có nguồn gốc và thời điểm; chú thích chỉ để dẫn nguồn. Mỗi lần bắt đầu, AI đọc lại các quy chế ấy trước khi làm việc.

Ở đây có một khác biệt cần nói thẳng. Trong WordPress, Contributor không đăng được bài vì phần mềm không cho phép. Còn ở đây, AI có quyền kỹ thuật để hợp nhất bài, và nó không làm vậy khi chưa được duyệt vì quy chế bảo thế. Ô đánh dấu đã được thay bằng một quy tắc viết ra, cộng với dấu vết của mọi thao tác trong lịch sử. Cách này linh hoạt hơn, nhưng cũng đòi hỏi người chủ phải thực sự đọc những gì mình duyệt.

Mười bảy phút từ nháp đến khi lên bài

Bài AI-Native Publishing đăng tối 11/10/2026 là ví dụ gọn nhất cho dây chuyền này. Theo lịch sử của kho:

GiờViệc
19:57Phóng viên lưu bản nháp vào một nhánh riêng, bài ở trạng thái chưa xuất bản
20:01Sửa vòng một: đổi giọng văn, đổi tiêu đề
20:08Sửa vòng hai: thêm phần kể lại quy trình thật và các câu lệnh mẫu
20:12Tổng biên tập duyệt; bài chuyển sang trạng thái công khai, ghi giờ xuất bản
20:14Đề nghị hợp nhất được chấp thuận, nhà in phát hành

Từ lúc lưu nháp đến lúc lên bài mất mười bảy phút, qua hai vòng sửa. Sau đó bài không phải sửa thêm lỗi nội dung nào. Lý do là ý tưởng đã chín trước khi lưu, nên các vòng sửa chỉ để làm bài tốt hơn chứ không phải để chữa lỗi.

Sáu phút, rồi bốn tiếng rưỡi

Một tuần sau, bài về Bitcoin và Thừa hành viên đi đường tắt. Bài được đưa thẳng lên ở trạng thái công khai, không qua bước nháp, và lên mạng sáu phút sau đó.

Rồi bắt đầu một buổi chiều sửa bài. Bài bị xếp vào một chuyên mục không tồn tại. Thiếu giờ xuất bản. Dòng tên tác giả lặp lại phần đầu trang. Nguồn nằm lẫn trong thân bài thay vì ở chú thích. Một chú thích dài như một đoạn văn. Mất khoảng bốn tiếng rưỡi và năm đề nghị hợp nhất mới xong, và suốt thời gian đó người đọc đang thấy bản chưa hoàn chỉnh.

Hai bài đặt cạnh nhau cho tôi một bài học không mới nhưng dễ quên: dây chuyền nhanh nhất là dây chuyền đi đủ các bước, mỗi bước làm gọn. Bỏ bước duyệt không làm bài lên nhanh hơn. Nó chỉ dời việc sửa sang lúc bài đã công khai.

Hai bài, hai con đường, cùng một thang thời gianBài AI-Native Publishing ở nháp 15 phút, qua hai vòng sửa và duyệt, lên mạng sau 17 phút và không phải sửa lỗi nội dung. Bài Bitcoin chứng thực bỏ qua nháp, lên mạng sau 6 phút, rồi bị sửa sáu lần trong khoảng bốn giờ rưỡi khi đã công khai, từ 14:06 đến 18:14.AI-Native Publishing · 11/10đi đủ bước: nháp → 2 vòng sửa → duyệt17 phút, rồi công khai: không phải sửa lỗi nội dungBitcoin chứng thực · 18/10bỏ qua nháp và duyệt, lên mạng sau 6 phút14:0618:146 lần sửa khi bài đã công khai01 giờ2 giờ3 giờ4 giờNháp, chưa công khaiCông khai nhưng còn lỗiCông khai, ổn định
Hai bài, hai con đường, cùng một thang thời gianBài AI-Native Publishing ở nháp 15 phút, qua hai vòng sửa và duyệt, lên mạng sau 17 phút và không phải sửa lỗi nội dung. Bài Bitcoin chứng thực bỏ qua nháp, lên mạng sau 6 phút, rồi bị sửa sáu lần trong khoảng bốn giờ rưỡi khi đã công khai, từ 14:06 đến 18:14.AI-Native Publishing · 11/10đi đủ bước: nháp → 2 vòng sửa → duyệt17 phút, rồi công khai:không phải sửa lỗi nội dungBitcoin chứng thực · 18/10bỏ qua nháp và duyệt,lên mạng sau 6 phút14:0618:146 lần sửa khi bài đã công khai01 giờ2 giờ3 giờ4 giờNháp, chưa công khaiCông khai nhưng còn lỗiCông khai, ổn định
Hai bài trên cùng một thang thời gian, theo lịch sử commit của blog.

Bản tin lúc bảy giờ sáng

The Daily Signal là phần mà một CMS truyền thống khó làm nhất, vì ở đây người viết không phải con người.

Mỗi sáng lúc 07:00, một tác vụ hẹn giờ đánh thức phóng viên AI. Nó quét tin trong khung 24 giờ vừa qua, chọn tin, kiểm chứng giờ và nguồn gốc của từng tin, viết theo khuôn cố định, rồi lưu bản nháp vào nhánh riêng và báo cho tổng biên tập. Bản tin có nhãn công khai rằng đây là nội dung AI tổng hợp, không phải quan điểm của tác giả.

Với số ra ngày 20/10/2026, bản nháp được lưu lúc 07:23. Tổng biên tập duyệt lúc 07:26. Đề nghị hợp nhất được chấp thuận lúc 07:30. Từ lúc phóng viên thức dậy đến khi bản tin được hợp nhất để phát hành chỉ khoảng nửa giờ.

Nhưng con số đáng chú ý nhất nằm ở chỗ khác. Bản tin hôm đó có hai mươi tin ở bốn mảng, khoảng 5.400 chữ, và được duyệt trong khoảng ba phút rưỡi, tức chừng mười giây cho mỗi tin. Đủ để đọc tiêu đề, không đủ để mở nguồn.

Một buổi sáng của The Daily SignalSáng 20/10/2026, phóng viên AI làm việc từ 07:00 đến 07:23 để quét tin, kiểm chứng và viết hai mươi tin. Tổng biên tập duyệt trong khoảng ba phút rưỡi, đến 07:26. Bài được xuất bản và merge lúc 07:30. Thời gian duyệt tương đương khoảng mười giây cho mỗi tin.The Daily Signal · sáng 20/10/2026Phóng viên AI: quét tin, kiểm chứng, viết 20 tinduyệtđăng~3,5 phút07:0007:1007:2007:30≈ 10 giây cho mỗi tin20 tin, ~5.400 chữ, duyệt trong 3,5 phút07:00: tác vụ hẹn giờđánh thức phóng viên
Một buổi sáng của The Daily SignalSáng 20/10/2026, phóng viên AI làm việc từ 07:00 đến 07:23 để quét tin, kiểm chứng và viết hai mươi tin. Tổng biên tập duyệt trong khoảng ba phút rưỡi, đến 07:26. Bài được xuất bản và merge lúc 07:30. Thời gian duyệt tương đương khoảng mười giây cho mỗi tin.The Daily Signalsáng 20/10/202607:0007:1007:2007:3007:00: tác vụ hẹn giờđánh thức phóng viênPhóng viên AI:quét tin, kiểm chứng,viết 20 tinduyệt~3,5 phútđăng≈ 10 giây cho mỗi tin20 tin, ~5.400 chữ, duyệt trong 3,5 phút
Buổi sáng 20/10/2026 của The Daily Signal: phần việc của AI dài, phần duyệt của người rất ngắn.

Đây không phải lỗi của máy. Đó là dấu hiệu cho thấy khi AI đảm nhận phần sản xuất, nút thắt chuyển sang người duyệt. CMS cũ chưa bao giờ phải đối mặt với chuyện này, vì tốc độ viết của con người tự nó đã giới hạn khối lượng cần duyệt. Khi phóng viên viết hai mươi tin trong hai mươi phút, tổng biên tập buộc phải chọn: hoặc giảm số tin, hoặc đổi cách duyệt. Chẳng hạn, phóng viên tự đánh dấu những tin còn nghi ngờ để người duyệt đọc kỹ đúng chỗ đó.

AI thay được gì, và không thay được gì

Quay lại năm việc của CMS:

Việc của CMSAi làm ở đâyAI có thay được không
Soạn thảoHội thoại với AICó. Đây là phần AI thay rõ nhất
Lưu trữ, lịch sửKho GitLabKhông. AI dùng kho, không thay kho
Phân quyềnQuy chế viết ra và lịch sử thao tácMột phần. AI tuân thủ quy chế, nhưng quy chế do người viết
DuyệtTổng biên tậpKhông
Phát hành, kiểm tra kỹ thuậtDây chuyền CI/CDKhông cần. Máy tự động đã làm tốt

Như vậy, nói chính xác thì AI không một mình thay thế CMS. Thứ thay thế CMS là một tổ hợp: kho phiên bản giữ sự thật, dây chuyền tự động giữ kỷ luật kỹ thuật, quy chế bằng chữ giữ kỷ luật biên tập, và AI giữ vai trò đã khiến tổ hợp này dùng được với người không phải lập trình viên: giao diện.

CMS từng là cách để giấu quy trình xuất bản sau những nút bấm. AI làm điều ngược lại: nó đưa quy trình ra thành chữ, ai đọc cũng hiểu, ai sửa cũng để lại dấu vết. Muốn đổi cách tòa soạn vận hành, tôi không cần tìm một plugin mới. Tôi sửa một đoạn quy chế.

Lời thú nhận của một tổng biên tập tự phong

Đến đây tôi phải thú thật một điều, trước khi có người trong nghề phát hiện ra. Tôi chưa từng làm báo ngày nào. Chưa từng ngồi ở một tòa soạn thật, chưa từng chạy bài lúc nửa đêm, chưa từng bị tổng biên tập nào gạch đỏ bản thảo. Chức “tổng biên tập” trong bài này là tôi tự phong, ở một tòa soạn mà nhân sự duy nhất biết uống cà phê là chính tôi. Phóng viên thì không đòi nhuận bút, không xin nghỉ phép, làm việc lúc bảy giờ sáng không một lời than, nhưng cứ hết buổi là quên sạch mọi chuyện và hôm sau phải đọc lại quy chế từ đầu.

Blog này cũng là bài tập đầu tay của tôi theo kiểu này. Vì vậy những gì tôi gọi là “quy trình tòa soạn” ở trên chắc chắn có chỗ chưa đúng với nghề báo thật: gọi nhầm tên vị trí, đơn giản hóa quá mức, hoặc vẽ ra một tòa soạn trông giống một quán cà phê có máy in hơn là một tòa báo. Nếu anh chị làm báo đọc thấy chỗ nào như vậy, xin cứ góp ý. Lỗi thuộc về tổng biên tập. Phóng viên AI đã làm đúng những gì được giao, và nếu được hỏi, chắc chắn nó cũng sẽ khẳng định như vậy, kèm nguồn trích dẫn đầy đủ.

Câu hỏi còn lại

Tòa soạn này mới chạy được khoảng mười ngày. Nó đã cho thấy rằng một người, với AI làm phóng viên và máy làm nhà in, có thể giữ được nhịp của một ấn phẩm hằng ngày mà vẫn kiểm soát những gì được công bố dưới tên mình.

Nhưng nó cũng đặt lại câu hỏi mà mọi tòa soạn đều phải trả lời, chỉ là gay gắt hơn: người duyệt có thể đi nhanh đến đâu trước khi việc duyệt chỉ còn là đóng dấu? CMS không giải được câu hỏi đó, và AI cũng không. Đó vẫn là việc của tổng biên tập.


  1. WordPress.org Documentation, Roles and Capabilities, mục Summary of Roles; đối chiếu ngày 21/10/2026. ↑ quay lại

  2. Hugo tự mô tả là “a static site generator written in Go, optimized for speed and designed for flexibility” (gohugo.io, đối chiếu ngày 21/10/2026). ↑ quay lại

TÀI LIỆU DID

Danh thiếp số của blog

Tệp did.json là "danh thiếp" công khai của blog, viết cho máy đọc. Nó công bố khóa công khai để ai cũng kiểm được chữ ký số dưới bài. Mở trực tiếp, trình duyệt chỉ hiện chữ thô; đó không phải lỗi. Dưới đây là nội dung tệp, kèm diễn giải từng dòng.

{
"@context": ["https://www.w3.org/ns/did/v1","https://w3id.org/security/multikey/v1"],// Bộ từ vựng chuẩn: W3C DID v1 và kiểu khóa Multikey. Giúp phần mềm kiểm chứng hiểu đúng các trường bên dưới.
"id": "did:web:blog.phdtrung.com",// Tên định danh của blog. "did:web" nghĩa là tài liệu này đặt ngay trên tên miền blog.phdtrung.com: ai kiểm soát tên miền thì kiểm soát định danh.
"alsoKnownAs": ["https://blog.phdtrung.com/"],// Định danh này cũng chính là trang web https://blog.phdtrung.com/.
"verificationMethod": [// Danh sách khóa công khai của blog. Hiện có một khóa, gồm các dòng dưới đây.
{
"id": "did:web:blog.phdtrung.com#key-1",// Tên của khóa: key-1. Khối Chữ ký số dưới bài ghi rõ bài được ký bằng khóa nào.
"type": "Multikey",// Cách ghi khóa theo chuẩn W3C Multikey.
"controller": "did:web:blog.phdtrung.com",// Chủ của khóa: chính blog.
"publicKeyMultibase": "z6MkfqVrcqW8qHLSEfUKW64nowR6Jbi99bHfGGj4WChaZy6o"// Khóa công khai (Ed25519). Ai cũng dùng được để kiểm chữ ký. Khóa riêng đi cặp chỉ tác giả giữ, không bao giờ công bố.
}
],
"authentication": ["did:web:blog.phdtrung.com#key-1"],// Khóa này dùng để chứng minh "tôi là chủ định danh này".
"assertionMethod": ["did:web:blog.phdtrung.com#key-1"]// Khóa này dùng để ký các khẳng định, ở đây là ký bài viết. Khối Chữ ký số dưới bài tham chiếu tới đúng khóa này.
}

Muốn tự kiểm một bài đã ký: lấy tệp chữ ký trong khối "Chữ ký số" dưới bài, kiểm bằng công cụ JOSE bất kỳ (thuật toán EdDSA) với khóa công khai ở trên.

ĐỐI THOẠI

Góp ý và phản biện.

Rất hoan nghênh góc nhìn khác biệt và phản biện có căn cứ.

Có góp ý, phản biện hay phát hiện lỗi trong bài? Gửi qua form của blog, không cần tài khoản. Cần tác giả giải thích thêm hay trả lời riêng qua email thì chọn Hỏi tác giả.

TRONG BÀI NÀY

TUỲ CHỈNH ĐỌC
Cỡ chữ
100%
Giãn dòng
1,85
Độ rộng cột chữ (màn hình rộng)
Kiểu chữ
Khoảng cách chữ
Khoảng cách đoạn
Độ đậm chữ
Tương phản
Màu nền
Độ trong suốt kính (thanh trên/dưới)
Căn lề
Thước đọc (làm mờ trên, dưới dòng đang đọc)
Tự cuộn