- Hardcore IndieWeb là cách giữ bản gốc nội dung cùng HTML và tài sản web có thể xuất bản trên thiết bị của chính mình, không giao danh tính và quyền kiểm soát nội dung cho nhà cung cấp dịch vụ
- Nếu làm theo quy trình xuất bản kiểu thập niên 1990 — xem trước HTML trong trình duyệt rồi tải lên host — bạn có thể vận hành site mà không cần CMS, SSG, framework, CLI hay phí thuê bao hằng tháng
- Chỉ cần trình soạn thảo văn bản, công cụ SFTP và web host; với NearlyFreeSpeech.net, bạn có thể chạy site tĩnh với giá $0.01 mỗi ngày và nạp tiền từ $0.25
- Có thể tự quản lý landing page, từng bài viết, archive và Atom feed dưới dạng file, thay đổi cấu trúc và thiết kế theo từng trang, đồng thời chỉ truyền các file đã thay đổi
- Ngay cả khi host biến mất, bạn vẫn có thể đưa nguyên site đã hoàn thiện lên nơi khác; nhưng càng thêm công cụ thì phụ thuộc càng tăng, nên giữ bản gốc cục bộ và bản đã xuất bản là điều kiện để duy trì sự độc lập
Sự độc lập mà Hardcore IndieWeb đòi hỏi
- IndieWeb là cách tiếp cận thực dụng nhằm tự sở hữu danh tính và nội dung trên web, thoát khỏi sự kiểm soát bên ngoài của doanh nghiệp
- Các dịch vụ blog dạng thuê bao cũng có thể giúp tham gia IndieWeb, nhưng nếu nội dung chủ yếu nằm trong cơ sở dữ liệu và máy chủ của người khác thì chưa hoàn toàn độc lập
- Dù có thể xuất ra định dạng mở, trong thời gian sử dụng dịch vụ bạn vẫn không kiểm soát hoàn toàn nội dung
- Cách này phù hợp với những người muốn độc lập và kiểm soát hoàn toàn nội dung hơn là những người đã hài lòng với dịch vụ hiện có
- Hardcore IndieWeb áp dụng các tiêu chí cụ thể là quyền kiểm soát và khả năng di chuyển lên các nguyên tắc IndieWeb hiện có
- Nếu nội dung không chủ yếu nằm trên ổ cứng của bạn, khó có thể nói là bạn kiểm soát hoàn toàn
- Nếu không có bản sao HTML đã xuất bản và tài sản web trên ổ cứng, site chưa ở trạng thái có thể di chuyển hoàn toàn
- Nếu dịch vụ đóng cửa và không thể xuất dữ liệu, dù trên danh nghĩa bạn sở hữu nội dung thì vẫn không thể truy cập hoặc chuyển đi
- Nếu muốn rời dịch vụ vì hành vi của bên vận hành, bạn có thể phải tìm dịch vụ khác hỗ trợ định dạng đã xuất, hoặc chuyển đổi nội dung và thay đổi công cụ, quy trình
- Khi có bản gốc nội dung và bản xuất bản hoàn chỉnh ở cục bộ, bạn vẫn duy trì được quyền kiểm soát và khả năng di chuyển trong những tình huống này
Quy trình xuất bản web kiểu thập niên 1990
- Hardcore IndieWeb đi theo cách xuất bản đơn giản của thời kỳ đầu của web
- Viết nội dung trên ổ cứng
- Xem trước trong trình duyệt web
- Khi hài lòng thì upload lên web host và lặp lại khi cần
- Ngoài tên miền, những thứ cần thiết chỉ là trình soạn thảo văn bản, công cụ truyền file và web host
- Không cần môi trường lập trình hay IDE, framework, shell, công cụ CLI, thuê bao hằng tháng
- Cần biết HTML, nhưng có thể học qua tài liệu như HTML for People, và có thể bắt đầu chỉ với một số ít thẻ cùng thao tác sao chép–dán
- SaaS, CMS, SSG, ngôn ngữ markup, hệ thống template phức tạp đều là tùy chọn; cách đơn giản là xuất bản trực tiếp các file vẫn hoạt động tốt
Công cụ và hosting cần thiết
- Có thể dùng bất kỳ trình soạn thảo văn bản nào miễn là lưu được file xuống đĩa
- Adam Newbold dùng Nova, công cụ cũng hỗ trợ truyền file
- Có thể tìm các lựa chọn khác trong danh sách trình soạn thảo văn bản
- Để truyền file, cần công cụ hỗ trợ SSH hoặc SFTP
- FileZilla là một lựa chọn hỗ trợ nhiều hệ điều hành
- Khuyến nghị NearlyFreeSpeech.net làm host cho site tĩnh, có thể vận hành với giá $0.01 mỗi ngày
- Adam Newbold đã dùng dịch vụ này từ năm 2008
- Có thể nạp tiền vào tài khoản từ $0.25 và thêm site
static, non-production - Chọn tên site trong tab
Sitesđể xem thông tin đăng nhập dùng cho truyền file - Có cung cấp subdomain miễn phí, và có thể thêm tên miền riêng trong tab
Domains
- NearlyFreeSpeech không bắt buộc; cũng có thể chọn web host khác cung cấp hosting file tĩnh cơ bản
Chuẩn bị site hiện có và HTML
- Nếu site hoặc blog hiện có ở định dạng HTML thì rất dễ bắt đầu ngay
- Nếu đang vận hành ở định dạng khác, tùy dịch vụ có thể xuất ra hoặc chuyển đổi sang HTML
- Với blog quy mô lớn, dùng công cụ chuyển đổi sẽ phù hợp hơn
- Nếu quy mô nhỏ, có thể xem lại từng bài và tự tạo file HTML
- Có thể bạn thích Markdown, nhưng HTML là ngôn ngữ của web, và trong một số trường hợp xử lý bằng HTML thuần còn đơn giản hơn vật lộn với Markdown parser
- Nếu khó tự thiết kế từ đầu, có thể tải các thiết kế và template miễn phí như HTML5 UP rồi chỉnh sửa
Các file cấu thành một blog
- Một blog thông thường gồm landing page, bài viết, trang archive và feed, có thể tự quản lý mà không cần dịch vụ blog chuyên dụng
-
Landing page
- Có thể tự do sắp đặt toàn bộ hoặc một phần bài viết mới nhất, nhiều bài viết, hoặc nội dung không phải bài viết
- Để hiển thị bài mới nhất, hãy sao chép nội dung và thêm liên kết tới trang độc lập
- Để giữ 5 bài gần đây, dán bài mới lên trên và xóa bài cũ nhất ở dưới
- Không bị ràng buộc bởi CMS, SSG hay template engine, nên có thể thay đổi cấu trúc và cách trình bày theo từng trang
- Tên file của landing page phải là
index.htmlvà đặt ở web root - Web root của NearlyFreeSpeech là
/home/public
-
Bài viết blog
- Tạo mỗi bài viết thành một trang web; có thể viết bằng cách sao chép file bài cũ rồi đưa vào tên file riêng và nội dung mới
- Cấu trúc file trên đĩa sẽ phản ánh vào URL, vì vậy hãy tổ chức thư mục theo hệ thống địa chỉ mong muốn
- Nếu muốn dùng đường dẫn
/blog/, hãy tạo thư mụcblogở web root - Có thể dùng tên file dựa trên slug như
the-best-lunch-i-ever-had.html - Nếu đặt
index.htmltrong thư mục riêng của từng bài, có thể ẩn phần mở rộng.htmlkhỏi URL - Khi quản lý bài viết như file HTML độc lập thay vì Markdown hay bản ghi trong cơ sở dữ liệu, bạn có thể tạo phong cách, ngoại hình, layout và cá tính khác nhau cho từng bài
- Quy ước mọi bài viết phải có cùng diện mạo bắt nguồn từ các công cụ xuất bản hiện đại; với HTML tự làm, bạn không cần tuân theo
-
Trang archive
- Tạo thư mục tên như
archive, đặtindex.htmlbên trong rồi viết danh sách bài viết - Cách sắp xếp và cấu trúc là tùy ý; cũng có thể nhấn mạnh riêng các bài yêu thích ở đầu trang
- Tạo thư mục tên như
Tự quản lý Atom feed
- RSS feed không phải hệ thống đặc biệt mà là file lưu trên đĩa, nên có thể chỉnh sửa trực tiếp bằng trình soạn thảo văn bản
- Có thể sao chép feed mẫu trên trang Atom của Wikipedia) và bắt đầu với file
feed.xml- Atom tương thích với RSS và được hỗ trợ rộng rãi
- Thay các giá trị như
example.com,<title>,<subtitle>bằng tên miền và thông tin của bạn - Tạo
<entry>cho mỗi bài muốn đưa vào feed và nhập ngày giờ, tiêu đề, tóm tắt, v.v. - Với
<id>, lấy UUID mới từ UUID Generator để dùng
- Có thể dán feed hoàn chỉnh vào W3C Feed Validation Service để kiểm tra khả năng parse
- Nếu phát hiện lỗi, dịch vụ kiểm tra sẽ cho biết các mục cần sửa
Xuất bản và cập nhật
- Lần xuất bản đầu tiên, dùng chương trình truyền file kết nối tới máy chủ và sao chép toàn bộ site lên web host
- Sau đó, chỉ cần truyền các file mới phát sinh hoặc đã thay đổi
- Các mục thường cần cập nhật là landing page, bài viết mới, feed và trang archive
- Quy trình xuất bản có thể đơn giản như kéo thả file cục bộ sang máy chủ từ xa
Ranh giới giữa khả năng di chuyển và công cụ bổ sung
- Vì site hoàn chỉnh nằm trên máy tính của bạn, nếu host hiện tại biến mất, bạn có thể upload nguyên trạng lên host khác
- Không cần quản lý lỗ hổng bảo mật nghiêm trọng của phần mềm blog hay phụ thuộc SSG, và có thể tự kiểm soát mọi khía cạnh của nội dung
- Chỉ cần duy trì nguyên quy trình này là có thể tiếp tục vận hành một website hoàn toàn độc lập
- Có thể thêm công cụ và quy trình hỗ trợ workflow, nhưng mỗi công cụ được thêm vào cũng tạo ra một phụ thuộc mới
- Nếu bản gốc nội dung nằm trên thiết bị của bạn và bạn có bản sao toàn bộ site có thể xuất bản, bạn đáp ứng các điều kiện của Hardcore IndieWeb
Quyền tự chủ khi trực tiếp xử lý HTML
- Quy trình cốt lõi là tự viết HTML và upload lên web server
- Các lớp công nghệ, quy trình và kỳ vọng được thêm vào trong 30 năm qua đã làm công việc web trở nên phức tạp và khiến quyền kiểm soát, sự độc lập bị chuyển giao cho người khác
- Ngay cả khi dùng dịch vụ IndieWeb, nếu bạn giao bản sao duy nhất của toàn bộ sự hiện diện trên web cho bên vận hành dịch vụ thì vẫn chưa hoàn toàn độc lập
- Hardcore IndieWeb không dành cho tất cả mọi người, nhưng phù hợp với những ai coi trọng việc ai nắm giữ bài viết của mình và chúng được xuất bản ở đâu, dưới hình thức nào
- Việc trực tiếp xử lý HTML và sao chép file vào không gian web host của mình mang lại một trải nghiệm trực tiếp và tự chủ, kết nối lại với niềm vui của web thời kỳ đầu
1 bình luận
Các ý kiến trên Hacker News
Tôi đã host site tĩnh miễn phí trên GitHub Pages và Cloudflare Pages và rất hài lòng. Dù có trả tiền cho NearlyFreeSpeech thì cuối cùng vẫn phụ thuộc vào hosting của bên thứ ba, nên tự host dường như không có nhiều giá trị ngoài sự thỏa mãn về kỹ thuật.
Điều quan trọng là tự quản lý các tài sản như HTML và hình ảnh dưới dạng những file đơn giản trên đĩa. Nhờ tích hợp Git nên cũng có bản sao lưu bên ngoài, và chỉ cần push lên
mastertừ VS Code là được xuất bản trong vòng 30 giây, tiện hơn nhiều so với FTP/SFTP ngày trước.NearlyFreeSpeech cũng là một dịch vụ tốt, nhưng không hoàn toàn độc lập. Nếu không có hạ tầng Internet riêng mà muốn tiến gần nhất tới tính độc lập, có thể chạy site ở nhà bằng port forwarding hoặc bằng dịch vụ ẩn Tor.
Thiết lập cổng trong
torrckhông khó, nhưng khách truy cập cũng cần Tor Browser, và việc giải thích rằng site nằm trên “dark web” thì khá rắc rối. Có thể vận hành tại nhà trên phần cứng mình sở hữu và còn ẩn được IP máy chủ, nên thật bất ngờ là cách này không được dùng rộng rãi hơn trong cộng đồng web độc lập. Cũng có thể chuyển hướng domain thông thường sang địa chỉ.onion.Beaker Browser, trình duyệt từng cho phép tạo và host site trực tiếp trong trình duyệt, đã ngừng hoạt động, nhưng nếu có công cụ như plugin tạo site cho Tor thì có lẽ sẽ giúp phổ biến hơn.
.onionkhá dễ, an toàn hơn web thông thường, và thậm chí chạy được trên điện thoại.Nanogram: https://gitlab.com/here_forawhile/nanogram
Spreadsheet Server: https://gitlab.com/here_forawhile/spreadsheet
Library Server: https://gitlab.com/here_forawhile/libraryserver
Torum: https://gitlab.com/here_forawhile/torum
.oniontrên Internet thông thường. Onion-Location cho phép một site HTTPS thông thường thông báo về dịch vụ Onion, còn Alt-Svc tự động phát hiện và chuyển đổi mà không cần thao tác riêng từ người dùng.Trong tương lai cũng có khả năng kết nối Onion dựa trên DNS hoặc DNSSEC: https://onionservices.torproject.org/research/proposals/usab...
myfirstnamelastname.comvà việc gửi một địa chỉ.onionngẫu nhiên dài 56 ký tự rồi còn phải cài Tor Browser trên điện thoại cho họ là rất lớn.Rào cản lớn nhất trong xu hướng này là tên miền cần để sở hữu nội dung; dù rẻ thì cũng tốn khoảng 6 USD mỗi năm. Site tĩnh có thể được host miễn phí ở rất nhiều nơi, và với cá nhân thì gói miễn phí của CDN là đủ.
Điều quan trọng hơn tự host máy chủ là sở hữu domain như một định danh duy nhất; domain đó trỏ tới đâu thì ít quan trọng hơn nhiều.
Thật buồn cười khi việc đưa file của mình lên máy chủ web lại bị xem như một khái niệm mới.
Kỹ thuật để tự host vẫn còn đó, nhưng tư duy đã chuyển sang chỉ dùng cloud.
public_htmllà lập tức có website cá nhân. Điều đó không có nghĩa là phải tiếp tục viết HTML thủ công mãi, nhưng khi ấy đó là cách nhanh và tự nhiên để tham gia vào web.Tài khoản Unix còn cung cấp cả chat giữa cá nhân với nhau: dùng
fingerđể xem bạn bè có đang đăng nhập không, rồi trò chuyện bằngtalkhoặcytalk; ngay cả khi bạn ngồi ở máy bên cạnh, cảm giác vẫn như phép màu.Nếu NearlyFreeSpeech, nơi bạn trả 0,01 USD mỗi ngày, được gọi là “vận hành độc lập 100%” thì trông cũng không khác mấy so với hosting tĩnh của Vercel, Netlify, GitHub hay Cloudflare.
Bài viết không nói khi cần cơ sở dữ liệu, biểu mẫu phản hồi, bản xem trước trên mạng xã hội, tối ưu hóa công cụ tìm kiếm thì làm thế nào; có lẽ chính những thiếu vắng này là điều kiện của “web độc lập” cũng nên.
Tôi cần tên miền cho website sự kiện, và Infomaniak cũng cung cấp 10MB dung lượng lưu trữ kèm tên miền. Khoảng 5 euro mỗi năm để có cả tên miền lẫn website thì cũng không tệ
Tôi đã tạo một plugin JavaScript cho bình luận, lưu toàn bộ dữ liệu trong kho Git: https://github.com/est/req4cmt. Có thể dùng nếu dịch vụ Git hỗ trợ HTTP, chạy trên Cloudflare Worker miễn phí, còn sao lưu và di chuyển chỉ cần
git clonevàpushlà xongCũng có một dự án thay thế Twitter dựa trên Git: https://github.com/est/gitweets
Demo ở https://f.est.im/, và cũng hỗ trợ bình luận dùng Git notes. Nhờ Cloudflare Workers và GitHub Pages nên tất cả hoàn toàn miễn phí
sdf.org hữu ích cho các nhà phát triển muốn tự học hệ thống Unix. Nó cung cấp tài khoản shell NetBSD Unix miễn phí, và theo tôi nhớ thì chỉ cần quyên góp một lần một khoản nhỏ là có thể dùng không gian web cùng các tính năng bổ sung
Tên đăng nhập sẽ trở thành subdomain của không gian web, nên cần chọn cẩn thận
Thật vui khi một trang đưa ra lập luận như vậy lại không được đưa lên Cloudflare hay GitHub Pages
Tôi thích học và sở hữu quy trình hơn là một công cụ cụ thể. Chỉ cần học cách tạo HTML từ các định dạng dễ đọc và dễ viết như Markdown bằng các công cụ như Pandoc, học cách upload hoặc đồng bộ HTML·CSS·JavaScript lên dịch vụ hosting, sở hữu tên miền và học cách trỏ DNS tới GitHub Pages hay Cloudflare Pages
Vì không bị khóa vào một công cụ·dịch vụ·nền tảng·công ty cụ thể, bạn có thể chuyển các file nội dung sang nơi khác bất cứ lúc nào. Quá trình chuyển Markdown gốc thành HTML có thể được tự động hóa bằng trình tạo site tĩnh
Biết HTML là hữu ích và thú vị, nhưng không nhất thiết phải là điều kiện bắt buộc để “vận hành site độc lập 100%”. Có thể chạy trên GitHub và Cloudflare với 0 USD/tháng, rồi nếu dịch vụ đóng cửa hoặc chuyển sang thu phí thì chuyển sang nơi khác
Nếu muốn sở hữu quy trình và có sự độc lập hoàn toàn, bạn cần có khả năng tự hiểu và thao tác các ngôn ngữ web. Trình tạo site tĩnh như Nikola thì tiện lợi, nhưng nếu không hiểu hoặc không thể trực tiếp chỉnh sửa đầu ra, thì vẫn là đang phụ thuộc vào công cụ của bên thứ ba