- vừa được xem lúc

Tự build cho mình một hệ thống BADGE MARKDOWN siêu xịn xò - #1

0 0 32

Người đăng: Lê Minh Giàu

Theo Viblo Asia

Chào mọi người, lại là mình và cái serie "Something thú vị" của mình đây, serie tổng hợp những kiến thức mình cảm thấy thú vị ở trên google, github, bla bla... Qua đó chia sẻ những project nho nhỏ, thích hợp để mọi người làm cho vui hoặc relax hoặc giải trí.
Đôi chút về project mình chia sẻ với các bạn lần này, nên demo trước chút nhỉ:
https://github.com/weebNeedWeed/custom-badge
Các bạn truy cập link trên sau đó kéo xuống phần README để thấy thành phẩm chúng ta sẽ làm sau này. Nếu không thấy hình thì chỉ việc truy cập http://badg9.herokuapp.com/ và chờ một tí để heroku start server, sau đó reload lại trang github là được.



Một demo khác: Vì nếu tóm hết vào một bài viết có thể sẽ rất dài nên mình xin tách thành nhiều phần, mong các bạn theo dõi.

1. Tản mạn về các định nghĩa và nguyên lý hoạt động

1.1 Github là gì, Badge là gì ?

Theo wiki, GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự án phát triển phần mềm. GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho các tài khoản. Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí.
Github trở thành một yếu tố có sức ảnh hưởng lớn trong cộng động nguồn mở. Cùng với Linkedin, Github được coi là một sự thay thế cho CV của bạn. Các nhà tuyển dụng cũng rất hay tham khảo Github profile để hiểu về năng lực coding của ứng viên.

Badge về cơ bản là những cái "huy hiệu", những hình ảnh(png, jpg các thứ), giúp markdown file của chúng ta trông xịn xò, bắt mắt hơn(giống như ta dùng viết đỏ note vào trang vở chứa toàn viết xanh ấy). Ngoài ra Badge cũng giúp cho markdown file của chúng ta cung cấp thông tin một cách nhanh hơn cho người xem( version, language được dùng, trạng thái hoạt động,...).

1.2 Thế mấy cái Badge nó hoạt động như thế nào ?

Về cơ bản các Badge trước khi Convert thành PNG thì nó là SVG.Ơ lạ nhỉ, tại sao lại là SVG mà không phải thứ gì đó khác. Câu trả lời cũng đơn giản thôi, chúng ta cần ẢNH ĐỘNG, không phải .GIF nha mà là ảnh có thể tùy biến các thuộc tính cũng như nội dung một các dễ dàng, nếu dùng PNG ban đầu thì ta sẽ phải dùng thư viện nào đấy để vẽ từng nét từng nét các thông tin ta muốn, rất mất thời gian.

1.3 Cách project chúng ta "chạy được"

  1. Vẽ một cái SVG ưng ý
  2. Cấu hình file SVG sao cho phù hợp để compile với Handlebars
  3. Get thông tin về ngôn ngữ được dùng của các repo github( qua api )
  4. Tính % từng ngôn ngữ, đồng thời tính giá trị của các tham số SVG( x, y, width....)
  5. Compile và hiển thị cho người dùng

Các công nghệ, kĩ thuật mình sẽ dùng để build, các bạn có thể tham khảo để chuẩn bị cho phần kế tiếp:

Mình cũng init rồi cấu hình sẵn những phần cơ bản, bạn nào cần thì có thể clone về tại đây (branch init), trong đó:

  • Ta sẽ code chính trong file src/controller/index.js
  • Các file Middleware hoặc Call api ta sẽ để trong folder src/helper
  • Tải các thư viện( bao gồm dev package ) về bằng npm install --only=dev hoặc yarn install --prod=false
  • Run project ở dev mode bằng yarn dev hoặc npm run dev

Bình luận

Bài viết tương tự

- vừa được xem lúc

Github CLI - Đơn giản hóa cuộc sống cho developer

1. Giới thiệu.

0 0 41

- vừa được xem lúc

Profile README - Portfolio cá nhân nhanh, bổ, rẻ ngay trên Github

. Khi đã chọn nghề IT, dấn thân vào con đường dev khó có ngày yên nghỉ (ngơi), chắc các bạn đã không còn xa lạ với Github, nếu không muốn nói là quá quen (nếu chưa biết Github là cái gì thì bạn cần lăn lộn giang hồ nhiều nữa ). Với một hệ thống siêu khủng, nhiều tính năng siêu tiện ích, một đội ngũ

0 0 87

- vừa được xem lúc

Git objects

. Giới thiệu. Hầu hết các developer đều ít nhiều sử dụng git trong công việc hàng ngày. Khi bắt đầu với git, chúng ta đều được học các câu lệnh quên thuộc như git add ., git commit -m '[Feat] Hello world'.

0 0 33

- vừa được xem lúc

Phân biệt GitHub và GitLab. Nên chọn dịch vụ nào?

Làm thế nào để phân biệt GitHub và GitLab? Ngày nay, quản lý kho là một trong những yếu tố quan trọng của phát triển phần mềm hợp tác. Các tính năng phân phối thành công yêu cầu cần sự kết hợp của các

0 0 46

- vừa được xem lúc

Điểm mặt 10 project đang làm mưa làm gió trên Github trong lĩnh vực phát triển web

Nguồn: https://iainfreestone.hashnode.dev/10-trending-projects-on-github-for-web-developers-12th-march-2021. .

0 0 87

- vừa được xem lúc

Rails - Docker - Circle CI - Github

Như tiêu đề, thì trong bài này mình sẽ hướng dẫn tạo 1 project rails, sử dụng docker, circle CI và check statut pass trước khi merge PR trên github. Tạo rails app với docker.

0 0 40