Sổ tay Lume SSG
Ngày 18 tháng 11 năm 2022/#Deno

Lume là trình tạo trang web tĩnh mới dựa trên Deno. Deno là môi trường chạy thời gian thực dựa trên JavaScript hỗ trợ TypeScript.
Lume không được xây dựng xung quanh bất kỳ ngôn ngữ cụ thể nào. Nó hỗ trợ Markdown, Nunjucks, TypeScript và JavaScript theo mặc định. Lume cũng hỗ trợ các plugin. Một số plugin được cài đặt sẵn theo mặc định. Đây là lý do tại sao bản thân Lume không phụ thuộc vào ngôn ngữ mẫu.
Trước khi tìm hiểu thêm về Lume, chúng ta hãy thảo luận về Deno và xem xét một số tính năng quan trọng của Deno.
Deno là gì?
Deno là một giải pháp thay thế cho Node.js do Ryan Dahl (người cũng phát triển Node) xây dựng. Deno dựa trên ngôn ngữ lập trình Rust và thành phần chính thứ hai trong Deno là công cụ JavaScript V8 cho WebAssembly.
Deno có nhiều tính năng thú vị – nhanh, bảo mật theo mặc định, tương thích với web assembly và hỗ trợ TypeScript, có các công cụ phát triển tích hợp, v.v. Deno cũng hỗ trợ API Node.js để bạn có thể sử dụng tất cả npm được đóng gói với Deno.
Trong Deno, bạn không cần tạo tệp cấu hình để chạy một chương trình đơn giản. Bạn chỉ cần triển khai trang web của mình ngay lập tức với mạng on-edge thứ hai. Nhưng tính năng yêu thích cuối cùng của tôi là node_modulesthư mục mới trong không gian làm việc. Deno lưu trữ đệm tất cả các gói cục bộ và sử dụng chúng, rất nhanh so với Node.
Bạn có thể xem trang web blog demo tại đây và toàn bộ mã đều có sẵn trên GitHub tại đây .
Bây giờ chúng ta hãy cùng xem hướng dẫn nhé.
Mục lục
- Lume + Đánh dấu
- Tại sao Lume lại đặc biệt?
- Lume so với các trình tạo trang web tĩnh khác như thế nào?
- Cách bắt đầu một dự án mới với Lume
- Cấu trúc thư mục Lume
- Các thư mục bổ sung
- Cách tạo dữ liệu toàn cầu
- Cách tạo trang động
- Cách tạo trang chủ và trang phân trang
- Làm thế nào để xây dựng một trang bài viết
- Cách tạo trang danh mục
- Cách tạo trang thẻ
- Cách bật chức năng tìm kiếm
- Cách cài đặt tìm trang
- SEO của Lume
- Sơ đồ trang web Lume
- Plugin Lume
- Làm thế nào để bật bình luận
- Cách sử dụng Netlify CMS với Lume
- Cách triển khai blog của bạn với Deno Deploy
- Các trang Github
- Phần kết luận
Lume + Đánh dấu
Lume là trình tạo trang web tĩnh mới dựa trên Deno do Óscar Otero tạo ra và duy trì . Lume sử dụng markdown-it làm markdown mặc định. Bạn có thể sử dụng plugin nhận xét để thay đổi markdown mặc định.
Markdown là ngôn ngữ giúp viết tài liệu, tệp readme và blog trên internet. John Gruber đã tạo ra markdown vào năm 2004.
Markdown-it tương tự như Markdown (GFM) của GitHub . GFM và markdown-it đều tuân theo các thông số kỹ thuật markdown chính x ác .
Nếu bạn đã làm việc với GitHub và viết các tệp README, điều đó có nghĩa là bạn có thể quen thuộc với markdown GFM. Nếu bạn không thích markdown mặc định (markdown-it), bạn có thể thay đổi markdown bằng plugin nhận xét.
Có rất nhiều trình tạo site tĩnh. Vậy tại sao Lume lại đặc biệt? Nó cung cấp những gì so với các trình tạo site tĩnh khác? Hãy cùng tìm hiểu.
Tại sao Lume lại đặc biệt?
Như bạn đã biết, Lume được xây dựng trên Deno và Deno là một giải pháp thay thế cho Node.js—đó là lý do tại sao Lume cung cấp nhiều tính năng sẵn có.
Lume hoạt động tương tự như tệp readme GitHub. Nếu bạn quen với việc viết một trong những tệp đó (và sử dụng markdown), bạn không cần phải học bất cứ điều gì khác để viết bài viết và tài liệu hướng dẫn bằng Lume.
Sau đây là một số lợi ích của Lume:
- Lume hỗ trợ nhiều công cụ tạo mẫu như Markdown, Nunjucks , Eta , JSX , Liquid hoặc Pug .
- Nó hỗ trợ nhiều tác giả
- Nó có cú pháp mã tô sáng
- Có hỗ trợ SEO tuyệt vời
- Lume hỗ trợ nhiều ngôn ngữ
- Nó có hỗ trợ Windi CSS
- Có hỗ trợ phân trang và thành phần
- Nó hỗ trợ thu nhỏ JavaScript, HTML, CSS và SASS
- Nó có hỗ trợ quan hệ
- Có chức năng tìm kiếm tích hợp sẵn
- Nó hỗ trợ Netlify CMS
- Nó hỗ trợ hình ảnh và SVG
- Có hỗ trợ plugin Remark.js
- Bạn có thể triển khai với Netlify, Vercel, GitLab Pages và trang GitHub.
Lume so sánh với các trình tạo trang web tĩnh khác như thế nào?
Lume là trình tạo trang web tĩnh mới so với các trình tạo khác, nhưng nó đi kèm với nhiều tùy chọn cấu hình và bạn có thể làm bất cứ điều gì với nó. Bạn thậm chí không cần sử dụng bất kỳ plugin của bên thứ ba nào.
Với bộ xử lý và bộ tiền xử lý Lume, bạn có thể dễ dàng thao tác mã HTML bằng JavaScript DOM API. Các trình tạo trang tĩnh khác hỗ trợ một số công cụ mẫu, nhưng Lume hỗ trợ nhiều công cụ mẫu như JavaScript, JSX, Nunjucks, Eta, JSX, Liquid và Pug.
Lưu ý rằng Lume có vẻ khó để bắt đầu với người mới bắt đầu. Nhưng nếu bạn đang theo dõi bài viết của tôi, hãy đảm bảo mở mã để mọi thứ trở nên rõ ràng hơn nhiều đối với bạn.
Cách bắt đầu một dự án mới với Lume
Bạn có thể thiết lập một dự án mới với Lume CLI bằng lệnh này:
deno run -Ar https://deno.land/x/lume/init.ts
Bản demo cài đặt Lume
Thực hiện theo các bước sau:
- Đầu tiên, tạo một
mkdir lume-denodự án thư mục trống. - Sau đó chạy lệnh lume
init.ts. - Chọn một plugin có sẵn từ danh sách.
Và bạn nên bắt đầu và chạy thôi.
Cấu trúc thư mục Lume
Sau khi cài đặt hoàn tất, chúng ta thấy ba tập tin:
_config fileđược sử dụng để cấu hình Lume.deno.jsonlà một tập lệnh hoặc nhiệm vụ được xác định cho Deno.import_map.jsonlà giúp bạn nhập gói Deno cho internet.
cấu trúc thư mục mặc định của lume
Cách chạy máy chủ Lume
Để chạy máy chủ phát triển cục bộ, bạn sẽ sử dụng deno task lume --servelệnh. Để xây dựng trang web, hãy chạy deno task buildlệnh.
Nếu bạn gặp lỗi 404 - không tìm thấy, bạn có thể tạo một index.njktệp trong thư mục gốc.

Trong index.njktệp, dán đoạn mã sau.
---
title: "hello"
---
hello world
Và bạn sẽ thấy kết quả sau:
Lume xin chào thế giới