Skip to content

Blog

Bình luận

MkDocks

Nếu bạn kỳ vọng đây là tài liệu hướng dẫn chi tiết về cách sử dụng mkdocs nhưng thực tế bản chất tài liệu này dành cho người có chút hiểu biết về lập trình cũng như cấu hình phần mềm mkdocs. Các thông tin trong phần này được hình thành từ quá trình tôi mày mò xây dựng website này. Tôi thấy hữu ích và lưu lại để sau này có chỗ để tra cứu nhanh chóng.

Quá trình tiếp cận Mkdocs

Cài đặt và cấu hình cơ bản phần mềm

Cài đặt python, pip thông qua Conda

Để cài đặt Python thông qua Conda, bạn có thể thực hiện các bước sau:

  1. Tải xuống và cài đặt Miniconda hoặc Anaconda:
    • Truy cập trang web của Miniconda hoặc Anaconda và tải xuống phiên bản phù hợp với hệ điều hành.
    • Thực hiện các bước cài đặt theo hướng dẫn trên màn hình.
  2. Mở Command Prompt hoặc Terminal:

Sau khi cài đặt xong, mở Command Prompt (trên Windows) hoặc Terminal (trên macOS hoặc Linux).

  1. Tạo môi trường trong conda:
    conda create --name myenv
    conda activate myenv
    
  2. Cài đặt pip vào môi trường myens:
    conda install pip
    
  3. Để cài đặt một gói phần mềm trong python có thể sử dụng conda hoặc pip: Cài đặt với conda
    conda install gói-cần-cài-đặt
    
    Cài đặt với pip
    pip install gói-cần-cài-đặt
    

Cài đặt mkdocs, mkdocs material

MKDOCS

MkDocs là một công cụ mạnh mẽ và linh hoạt được sử dụng để tạo tài liệu tĩnh từ các tệp Markdown. Nó được thiết kế đặc biệt cho việc viết tài liệu dự án và cung cấp giao diện thân thiện với người dùng cùng với nhiều tính năng hấp dẫn.

Đặc điểm chính của MkDocs:
  • Dễ sử dụng: MkDocs sử dụng các tệp Markdown để viết nội dung, cho phép người dùng dễ dàng tạo và chỉnh sửa tài liệu mà không cần phải lo lắng về cú pháp phức tạp.

  • Giao diện thân thiện: Giao diện của MkDocs trực quan và dễ sử dụng, giúp người dùng dễ dàng điều hướng và tìm kiếm thông tin.

  • Chủ đề tùy chỉnh: MkDocs hỗ trợ nhiều chủ đề giao diện đẹp mắt và bạn cũng có thể tùy chỉnh giao diện theo nhu cầu riêng.

  • Tích hợp dễ dàng: MkDocs có thể dễ dàng tích hợp với các hệ thống kiểm soát phiên bản như Git, giúp quản lý và theo dõi các thay đổi trong tài liệu.

  • Xây dựng trang web tĩnh: MkDocs tạo ra các trang web tĩnh có thể được triển khai trên bất kỳ máy chủ web nào, bao gồm cả GitHub Pages, Netlify, và nhiều dịch vụ khác.

Cài đặt và sử dụng MkDocs:
Cài đặt MkDocs:
Cài đặt mkdocs
pip install mkdocs
Tạo dự án

Tạo dự án mới
mkdocs new my-project
cd my-project
Chạy MkDocs trong chế độ phát triển:

mkdocs serve
Truy cập http://127.0.0.1:8000/ trong trình duyệt để xem trang web tài liệu của bạn.
Xây dựng trang web tĩnh:

mkdocs build
Kết quả sẽ được lưu trong thư mục site.

Material for MkDocs

Material for MkDocs là một giao diện đẹp mắt, nhanh chóng và linh hoạt cho việc tạo tài liệu dự án bằng Markdown. Đây là một phần mở rộng cho MkDocs, một công cụ tạo trang web tĩnh2. Dưới đây là một số tính năng nổi bật của Material for MkDocs:

  • Giao diện đẹp mắt và tùy chỉnh: Material for MkDocs cung cấp một giao diện hiện đại và thân thiện, dễ dàng tùy chỉnh về màu sắc, chữ, biểu tượng, logo và nhiều hơn nữa.

  • Hỗ trợ tìm kiếm: Tài liệu tạo bởi Material for MkDocs có thể được tìm kiếm một cách nhanh chóng và hiệu quả.

  • Hỗ trợ các thiết bị khác nhau: Giao diện tự động điều chỉnh để phù hợp với màn hình của các thiết bị khác nhau như máy tính để bàn, máy tính bảng và điện thoại di động.

  • Tích hợp mạng xã hội: Material for MkDocs hỗ trợ tích hợp các plugin mạng xã hội, giúp tăng cường sự tham gia khi chia sẻ liên kết đến tài liệu của bạn.

  • Dễ dàng mở rộng: Material for MkDocs có thể dễ dàng mở rộng và cung cấp nhiều tùy chọn để thay đổi ngoại hình và hành vi.

Cài đặt Material for MkDocs:

Cài đặt với pip:

pip install mkdocs-material
Thêm vào tệp cấu hình mkdocs.yml:
theme:
  name: material
Chạy MkDocs để xem tài liệu:
mkdocs serve

Cấu hình files mkdocs.yml

Đây là files mkdocs của dự án này

site_name: Dược liệu Việt nam
theme: 
  name: material
  font: 
    text: Ubuntu
    code: Ubuntu Mono
  icon: 
    logo: fontawesome/solid/house
    favicon: fontawesome/solid/star
    admonition:
      note: octicons/tag-16
      abstract: octicons/checklist-16
      info: octicons/info-16
      tip: octicons/squirrel-16
      success: octicons/check-16
      question: octicons/question-16
      warning: octicons/alert-16
      failure: octicons/x-circle-16
      danger: octicons/zap-16
      bug: octicons/bug-16
      example: octicons/beaker-16
      quote: octicons/quote-16
  palette: 
    # Palette toggle for light mode
    - scheme: default
      toggle:
        icon: material/brightness-7 
        name: Switch to dark mode
      primary: deep purple
      accent: deep purple

    # Palette toggle for dark mode
    - scheme: slate
      toggle:
        icon: material/brightness-4
        name: Switch to light mode

  features:
    - navigation.instant
    - navigation.instant.progress
    - navigation.instant.preview
    - navigation.tracking
    - navigation.tabs
    - navigation.tabs.sticky
    - navigation.indexes
    - navigation.sections
    - navigation.expand
    - navigation.top
    - search.suggest
    - search.highlight
    - Search.share
    - navigation.sections
    - navigation.path
    - navigation.footer
    - toc.integrate
    - toc.follow
nav:
  - Home: index.md
  - Dược liệu: 
    - Dược liệu/index.md
    - Mạn Kinh Tử (Quả): Dược liệu/Mạn Kinh Tử (Quả)/Mạn Kinh Tử (Quả).md
    - Măng Cụt (Vỏ Quả): Dược liệu/Măng Cụt (Vỏ Quả)/Măng Cụt (Vỏ Quả).md
    - Viễn Chí (Rễ): Dược liệu/Viễn Chí (Rễ)/Viễn Chí (Rễ).md
    - Khổ Hạnh Nhân: Dược liệu/Khổ Hạnh Nhân/Khổ Hạnh Nhân.md
    - Vàng Đắng (Thân): Dược liệu/Vàng Đắng (Thân)/Vàng Đắng (Thân).md
    - Ô Đầu (Rễ Củ): Dược liệu/Ô Đầu (Rễ Củ)/Ô Đầu (Rễ Củ).md
    - Ô Đầu (Rễ Củ): Dược liệu/Ô Đầu (Rễ Củ)/Ô Đầu (Rễ Củ).md
    - Nhàu (Rễ): Dược liệu/Nhàu (Rễ)/Nhàu (Rễ).md
    - Cây Ổi (Lá): Dược liệu\Cây Ổi (Lá)\Cây Ổi (Lá).md
  - Blog: 
    - blog/index.md
  - About: 
    - About me: About/AboutMe.md
    - About website: About/AboutProject.md
  - Tags: tags.md
  - Categories: categories.md

plugins: 
  - search
  - tags:
      tags_file: tags.md
  - blog
  - glightbox:
       touchNavigation: true
       loop: false
       effect: zoom
       slide_effect: slide
       width: 100%
       height: auto
       zoomable: true
       draggable: true
       skip_classes:
         - custom-skip-class-name
       auto_caption: false
       caption_position: bottom
       background: white
       shadow: true
       manual: false  
  - social
  - mkdocstrings
  - markdown-exec
  - awesome-pages
  - categories:
        generate_index: true
        verbose: false
        base_name: 'categories'
        section_title: 'Categories'
        no_nav: false
markdown_extensions:
  - admonition
  - pymdownx.details
  - pymdownx.superfences:
      custom_fences:
        - name: mermaid
          class: mermaid
          format: !!python/name:pymdownx.superfences.fence_code_format
  - pymdownx.emoji:
      emoji_index: !!python/name:material.extensions.emoji.twemoji
      emoji_generator: !!python/name:material.extensions.emoji.to_svg
  - pymdownx.highlight:
      anchor_linenums: true
      line_spans: __span
      pygments_lang_class: true
  - pymdownx.inlinehilite
  - pymdownx.snippets
  - attr_list
  - md_in_html
  - def_list
  - pymdownx.tasklist:
      custom_checkbox: true
  - pymdownx.critic
  - pymdownx.caret
  - pymdownx.keys
  - pymdownx.mark
  - pymdownx.tilde
  - pymdownx.blocks.caption



extra_css:
  - stylesheets/extra.css
extra_javascript:
  - javascripts/extra.js

Bình luận

Categories

Ngôn ngữ Markdown

Markdown là ngôn ngữ dùng để tạo văn bản. Sau thời gian dùng latex để xây dựng đây là ngôn ngữ văn bản thứ hai cảm thấy phù hợp do đơn giản, linh hoạt và có thể xuất bản dưới dạng web. Bảng dưới đây có gắng tóm tắt các lệnh đó cũng như cách hiển thị để các bạn tiện theo dõi. Tôi có sử dụng tài liệu tại basic syntaxextended syntax.

Basic Syntax

Heading

Heading
# H1 
## H2
### H3
#### H4
##### H5
###### H6

Fonts style

Fonts Style
**bold text**
*italicized text*
> blockquote
~The world is flat.~

bold text

italicized text

blockquote ~The world is flat.~

Danh sách list

1. First item
2. Second item
3. Third item
- First item
- Second item
- Third item
  1. First item
  2. Second item
  3. Third item

===

  • First item
  • Second item
  • Third item

Đường link

[Markdown Guide](https://www.markdownguide.org) 
![alt text](https://www.markdownguide.org/assets/images/tux.png)

Bảng biểu

| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | Text |
Syntax Description
Header Title
Paragraph Text

Fenced Code Block

{
  "firstName": "John",
  "lastName": "Smith",
  "age": 25
}

Footnote

Here's a sentence with a footnote. [^1]

[^1]: This is the footnote.

bubble_sort.py
def bubble_sort(items):
    for i in range(len(items)):
        for j in range(len(items) - 1 - i):
            if items[j] > items[j + 1]:
                items[j], items[j + 1] = items[j + 1], items[j]
bubble_sort.py
def bubble_sort(items):
    for i in range(len(items)):
        for j in range(len(items) - 1 - i):
            if items[j] > items[j + 1]:
                items[j], items[j + 1] = items[j + 1], items[j]

pied piper

!!! pied-piper "Pied Piper"

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et
    euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo
    purus auctor massa, nec semper lorem quam in massa.

Pied Piper

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor massa, nec semper lorem quam in massa.

chèn file ảnh

<figure markdown="span">
![Image title](https://dummyimage.com/600x400/){ width="300" }
<figcaption>Image caption</figcaption>
</figure>

Image title
Image caption

Bình luận

Categories