<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[VanDuc's Blog]]></title><description><![CDATA[VanDuc's Blog]]></description><link>https://55thanhmy.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 20:34:07 GMT</lastBuildDate><atom:link href="https://55thanhmy.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[The Wave]]></title><description><![CDATA[Chuyện Tiếng Anh tiếp theo trong chủ đề "Sách English Graded Readers" để đọc bổ sung thêm kho Từ vựng Tiếng Anh nhằm tích lũy phong phú vốn từ cần thiết!]]></description><link>https://55thanhmy.hashnode.dev/</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/</guid><category><![CDATA[books]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Tue, 16 Sep 2025 07:50:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1758008931997/d228e5f1-d2bc-4da5-9ef7-de33814ae57e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Chuyện Tiếng Anh tiếp theo trong chủ đề "Sách English Graded Readers" để đọc bổ sung thêm kho Từ vựng Tiếng Anh nhằm tích lũy phong phú vốn từ cần thiết!</p>
<iframe src="https://drive.google.com/file/d/1Cn_lMHq9MklalQg1gRkfWQK33iigI0pL/preview" width="100%" height="480"></iframe>
]]></content:encoded></item><item><title><![CDATA[Tìm hiểu thêm về Obsidian]]></title><description><![CDATA[Cài đặt Obsidian để sử dụng
2.1. Cài đặt
**Bản desktop**Bạn có thể tải Obsidian tại trang web chính thức: https://obsidian.md/. Obsidian cung cấp ứng dụng desktop dành cho tất cả các hệ điều hành hiện nay gồm macOS, Windows, và Linux.
**Bản cho thiết...]]></description><link>https://55thanhmy.hashnode.dev/tim-hieu-them-ve-obsidian</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/tim-hieu-them-ve-obsidian</guid><category><![CDATA[obsidian]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Mon, 22 Apr 2024 14:57:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713797999113/2bae0b65-0881-4d99-8890-c16eeeca51f2.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cài đặt Obsidian để sử dụng</p>
<h3 id="heading-21-cai-dat">2.1. Cài đặt</h3>
<p>**Bản desktop<br />**Bạn có thể tải Obsidian tại trang web chính thức: <a target="_blank" href="https://obsidian.md/">https://obsidian.md/</a>. Obsidian cung cấp ứng dụng desktop dành cho tất cả các hệ điều hành hiện nay gồm macOS, Windows, và Linux.</p>
<p>**Bản cho thiết bị di động<br />**Trên các thiết bị di động, bạn có thể <a target="_blank" href="https://apps.apple.com/us/app/obsidian-connected-notes/id1557175442">tải Obsidian cho iPhone, iPad</a> từ App Store hoặc <a target="_blank" href="https://play.google.com/store/apps/details?id=md.obsidian">tải Obsidian cho Android</a> từ Google Play Store.</p>
<h3 id="heading-22-thiet-lap-co-ban">2.2. Thiết lập cơ bản</h3>
<p>Tôi cung cấp sẵn file zip chứa thư mục thiết lập sẵn để các bạn có thể tải về sử dụng ngay và bỏ qua các bước cài đặt rắc rối. Bạn truy cập vào Github rep <a target="_blank" href="https://github.com/thinh-vu/obsidian-pre-config/releases/tag/obsidian">tại đây</a> , chọn tải file Source code (zip) về máy. Bạn cũng có thể tìm thấy hướng dẫn và thông tin giới thiệu tại file <a target="_blank" href="http://README.md">README.md</a> của repo này.</p>
<p>Đối với các bạn Newbie, thường sẽ mất khá nhiều thời gian để bắt đầu thiết lập Obsidian trong lần đầu sử dụng. Obsidian cho phép bạn cá nhân hoá phần mềm để sử dụng ở mức độ cao nhưng cũng đồng nghĩa với việc khi tải Obsidian về sử dụng lần đầu tiên, bạn sẽ không có gì ngoài một số tính năng cơ bản như những text editor thông thường (trình soạn thảo văn bản). Đây sẽ là những việc bạn sẽ phải làm nếu không sử dụng thư mục cấu hình sẵn:</p>
<ol>
<li><p>Thiết lập giao diện</p>
</li>
<li><p>Tạo một cấu trúc các thư mục để tổ chức các ghi chú</p>
</li>
<li><p>Tìm tòi các community plugin hay ho để cài đặt bổ sung tính năng cho Obsidian. Obsidian có thư viện plugin do cộng đồng đóng góp rất phong phú.</p>
</li>
<li><p>Thiết lập các core plugin (tiện ích có sẵn của Obsidian khi cài đặt)</p>
</li>
<li><p>Tạo các template ghi chú</p>
</li>
<li><p>Thiết lập định dạng ngày, tháng, thời gian cho ghi chú</p>
</li>
<li><p>Thiết lập phím tắt</p>
</li>
</ol>
<p><img src="https://thinhvu.com/wp-content/uploads/2023/01/obsidian-ghi-chu-daily-journal.png" alt="Giao diện của Obsidian khi cài đặt theo Vault mẫu Obsidian Go V3" /></p>
<p>Giao diện của Obsidian khi cài đặt theo Vault mẫu Obsidian Go V3</p>
<h3 id="heading-23-su-dung-obsidian-plugin">2.3. Sử dụng Obsidian Plugin</h3>
<p>Trong Obsidian, plugin được chia thành 2 nhóm là Core plugins do Obsidian cung cấp và Community plugins do cộng đồng tự phát triển.</p>
<ul>
<li><p><strong>Core plugins:</strong> có sẵn khi các bạn cài đặt Obsidian trên thiết bị, tuy nhiên bạn cần cấu hình các plugin để tiện lợi nhất theo nhu cầu sử dụng của mình.</p>
</li>
<li><p><strong>Community plugins:</strong> theo mặc định thì tính năng này bị tắt, để có thể sử dụng community plugins (nếu bạn dùng sẵn file cấu hình tôi cung cấp) hoặc bắt đầu tìm kiếm để cài đặt thêm các plugin thì cần bật tính năng này lên. Hầu hết các plugin được dùng phổ biến trên Obsidian đều miễn phí, bạn có thể donate để ủng hộ tác giả, một số plugin đặc biệt thì cần mua. Hiện tại, tôi không dùng bất kỳ community plugin nào trả phí.</p>
<p>  <img src="https://thinhvu.com/wp-content/uploads/2023/01/bat-community-plugin-obsidian-scaled.jpg" alt="Cho phép sử dụng Community Plugin trên Obsidian" /></p>
<p>  Cho phép sử dụng Community Plugin trên Obsidian</p>
<p>  Để cài đặt một Community plugin bất kỳ, bạn vào mục cài đặt (phím tắt <code>Cmd</code> + <code>,</code> trên macOS hoặc <code>Ctrl</code> + <code>,</code> trên Windows), tìm đến mục <code>Community plugins</code> &gt; <code>Browse</code> . Trong cửa sổ mở ra tiếp theo, hãy gõ tên plugin bạn cần tìm và cài đặt.</p>
<p>  <img src="https://thinhvu.com/wp-content/uploads/2023/01/obsidian_community_plugin_browse_plugin.png" alt="Tìm và cài đặt Community Plugin trên Obsidian" /></p>
<p>  Tìm và cài đặt Community Plugin trên Obsidian</p>
</li>
</ul>
<h4 id="heading-231-cac-plugin-thiet-yeu">2.3.1. Các Plugin thiết yếu</h4>
<p>Tất cả các plugin có sẵn trong danh sách Core plugins đều được xem là nhóm plugin thiết yếu, bạn có thể bật hết các plugin này để sử dụng, ngoại trừ Sync và Publish (nếu bạn không dùng bản trả phí). Ngoài ra, tôi gợi ý thêm 1 số Community plugin quan trọng mà bạn nên cài đặt để bắt đầu:</p>
<ol>
<li><p>Obsidian Editing Toolbar<br /> Plugin này giúp bạn có thể định dạng ghi chú của mình với 1 thanh công cụ tương tự như khi soạn thảo văn bản với bộ công cụ Office (Words, Docs) để những bạn mới có thể thực hiện công việc của mình trơn tru trong khi làm quen với markdown. Mặc định, bạn chỉ gõ văn bản và định dạng kiểu cho ghi chú của mình bằng các ký tự (hoàn toàn dùng bàn phím mà không cần chuột) nên plugin này giúp bạn đỡ bị sốc khi chuyển đổi bộ công cụ của mình.</p>
<p> <img src="https://thinhvu.com/wp-content/uploads/2023/01/community_plugin_obsidian_editting_toolbar-scaled.jpg" alt="Obsidian Editting Toolbar" /></p>
<p> Obsidian Editting Toolbar</p>
</li>
<li><p>**Advanced Mobile Toolbar<br /> **Nếu sử dụng Obsidian bản mobile thì đây là công cụ không thể thiếu bởi gõ bằng bàn phím vật lý trên desktop và dùng markdown thì đơn giản nhưng soạn thảo văn bản bằng điện thoại (hoặc tablet) và gõ cú pháp markdown với bàn phím ảo nữa thì không hiệu quả và rất vất vả vì màn hình điện thoại bé thao tác cảm ứng mất thời gian.</p>
<p> <img src="https://thinhvu.com/wp-content/uploads/2023/01/obsidian_community_plugin_advanced_mobile_toolbar-scaled.jpeg" alt="Obsidian Advanced Mobile Toolbar | Samsung Note" /></p>
<p> Obsidian Advanced Mobile Toolbar | Samsung Galaxy Note</p>
</li>
<li><p>**Advanced Tables<br /> **Không sớm thì muộn, bạn cũng sẽ nhận ra việc tạo và quản lý nội dung một bảng với cú pháp markdown không được thuận tiện như khi làm việc với các công cụ soạn thảo văn bản trực quan khác. Đây là plugin bạn nên có để soạn thảo các bảng trong Obsidian tiện lợi và gọn gàng hơn. Nó sẽ giúp bạn canh dòng, quản lý hàng và cột tiện lợi, tự động điều chỉnh layout để trông đoạn text dùng cho việc định dạng bảng ngăn nắp hơn. Ngoài ra trên thanh sidebar cũng sẽ bổ sung công cụ định dạng để bạn chọn nhanh chóng.</p>
</li>
</ol>
<h4 id="heading-232-cac-plugin-nang-cao">2.3.2. Các Plugin nâng cao</h4>
<p>Để đọc thêm thông tin chi tiết và cài đặt các plugin dưới đây để sử dụng, bạn có thể Browse để tìm Community Plugin trong phần cài đặt như hướng dẫn bên trên. Các community plugin hầu hết đều công khai mã nguồn (open-source) trên Github, bạn có thể xem source code và cân nhắc trước khi sử dụng nếu có kiến thức về lập trình. Dưới đây là các plugin tôi đã/đang sử dụng và thấy hữu ích, bạn có thể tham khảo để cài đặt nếu thấy phù hợp nhu cầu của mình.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Phân loại</td><td>Tên Plugin</td><td>Mô tả</td></tr>
</thead>
<tbody>
<tr>
<td>Soạn thảo văn bản</td><td>Outliner</td><td>Định dạng và quản lý các ghi chú có chứa các danh sách (list) tiện lợi và trực quan, cho phép thu gọn/mở rộng theo mục.</td></tr>
<tr>
<td></td><td>Smart Typography</td><td>Định dạng ghi chú tự động (linting) theo các “rule” phổ biến.</td></tr>
<tr>
<td></td><td>Data Loom</td><td>Tạo và quản lý bảng tính trong Obsidian trực quan, thao tác kéo thả quen thuộc theo phong cách Notion.</td></tr>
<tr>
<td></td><td>Advanced Tables</td><td>Tạo và chỉnh sửa bảng markdown tiện lợi và nhanh chóng.</td></tr>
<tr>
<td></td><td>Mind map</td><td>Tạo mind map từ văn bản dạng danh sách (bullet points và đánh số thứ tự). Cần mở cửa sổ preview để xem.</td></tr>
<tr>
<td></td><td>Mermaid Tool</td><td>Tạo và hiển thị các lưu đồ (flowchart) trong Obsidian sử dụng cú pháp mermaid.</td></tr>
<tr>
<td></td><td>Banners</td><td>Cho phép chèn hình banner và avatar cho mỗi ghi chú tương tự Notion.</td></tr>
<tr>
<td></td><td>Natural Language Dates</td><td>Chèn ngày tháng, thời gian vào ghi chú bằng ngôn ngữ tự nhiên. Ví dụ <code>@today</code> để chèn ngày hôm nay, <code>@time: now</code> để chèn giờ hiện tại. Bạn có thể tuỳ chình định dạng ngày tháng, thời gian theo sở thích.</td></tr>
<tr>
<td></td><td>Emoji shortcodes</td><td>Chèn emoji bằng shortcode khi soạn văn bản. Ví dụ, để chèn ????, bạn gõ bằng <code>:</code>wink . Khi bắt đầu gõ <code>:</code> thì plugin này sẽ gợi ý cho bạn một danh sách emoji để chọn. Nếu không dùng plugin này, bạn mở hộp thoại chèn emoji trên macOS bằng <code>Ctr</code> + <code>Cmd</code> + <code>Space</code> hoặc <code>Windows</code> + <code>;</code> rồi chọn emoji.</td></tr>
<tr>
<td></td><td>Note Refactor</td><td>Cho phép tinh chỉnh hành vi tự động của Obsidian khi bạn muốn tách nhỏ 1 ghi chú thành nhiều ghi chú nhỏ hơn.</td></tr>
<tr>
<td>Ghi chú cá nhân (Journal)</td><td>Calendar</td><td>Cho phép hiển thị 1 ô chứa lịch (ngày tháng) để click chọn mở hoặc tạo mới ghi chú theo ngày trên lịch. Ghi chú được tạo cũng được tự động định dạng tên theo ngày tháng và một số thiết lập về nơi lưu trữ ghi chú, template được sử dụng, vv.</td></tr>
<tr>
<td></td><td>Periodic Notes</td><td>Cho phép bạn thiết lập và quản lý các ghi chú thường xuyên theo ngày/tuần/tháng/quý/năm. Plugin này rất tiện lợi cho những người có thói quen viết ghi chú dạng “reflection” (suy tưởng).</td></tr>
<tr>
<td>Ghi chú trực quan (Visual Note-taking)</td><td>Excalidraw</td><td>Một ứng dung tuyệt vời để vẽ (sketch/doodling), tạo ghi chú trực quan (visual note-taking) trong Obsidian. Plugin này sử dung mượt và nhiều tính năng thú vị, hoạt động tốt trên cả bản Obsidian desktop lẫn mobile.</td></tr>
<tr>
<td>Xuất bản</td><td>Pandoc Plugin</td><td>Cho phép xuất ghi chú markdown sang bất cứ định dạng nào bạn muốn với Pandoc. Bạn cần cài đặt kèm <a target="_blank" href="https://pandoc.org/">pandoc</a> trên máy tính. Pandoc là một công cụ chuyển đổi tài liệu mạnh mẽ và đa năng, bạn có thể tìm hiểu thêm thông tin chi tiết tại <a target="_blank" href="http://pandoc.org">pandoc.org</a>.</td></tr>
<tr>
<td>Quản lý thời gian/dự án</td><td>Obsidian TODO</td><td>Text-based GTD</td></tr>
<tr>
<td></td><td>Reminder</td><td>Cho phép đặt lời nhắc để bạn thực hiện những việc trong to-do list của mình.</td></tr>
<tr>
<td></td><td>Tasks</td><td>Plugin đi kèm để sử dụng Reminder.</td></tr>
<tr>
<td></td><td>Flexible Pomodoro for Obsidian</td><td>Hiển thị đồng hồ bấm giờ Pomodoro và thực hiện công việc theo phong cach Pomodoro trong Obsidian khá tiện dụng. Cho phép theo dõi lại log các việc thực hiện với Pomodoro.</td></tr>
<tr>
<td></td><td>Kanban</td><td>Cho phép tạo kanban board sử dụng để quản lý dự án rất tiện lợi.</td></tr>
<tr>
<td>Tinh chỉnh giao diện</td><td>Hider</td><td>Cho phép ẩn các thành phần bất kỳ của Obsidian trên giao diện Obsidian, kích hoạt và tắt tính năng ẩn với phím tắt.</td></tr>
<tr>
<td></td><td>Icon Folder</td><td>Một plugin đơn giản cho phép bạn tùy biến icon đại diện cho folder và file xuất hiện trong giao diện sử dụng của Obsidian. Bằng cách thêm các biểu tượng trực quan, tôi tìm và chuyển đổi giữa các thư mục, file quan trọng một cách nhanh chóng thay vì đọc tên của chúng.</td></tr>
<tr>
<td></td><td>Style</td><td>Cho phép tùy chỉnh tất cả các mục xuất hiện trong Obsidian. Mình ít tùy biến Obsidian nhưng cài đặt hiển thị các màu sắc nổi bật cho heading để dễ nhìn khi kích thước font các heading không khác biệt nhiều.</td></tr>
<tr>
<td>Truy vấn</td><td>Dataview</td><td>Cho phép sử dụng query để truy xuất các ghi chú và nội dung của nó trong Obsidian tương tự như bạn query với một database. Tôi sử dụng plugin này để chèn vào ghi chú mới khi viết Journal cho mục On this day.</td></tr>
</tbody>
</table>
</div><h3 id="heading-24-dong-bo-du-lieu-obsidian-giua-cac-thiet-bi">2.4. Đồng bộ dữ liệu Obsidian giữa các thiết bị</h3>
<h4 id="heading-241-dong-bo-du-lieu-giua-desktop-va-cloud">2.4.1. Đồng bộ dữ liệu giữa Desktop và cloud</h4>
<p>Hướng dẫn chính thức từ Obsidian bằng tiếng Anh <a target="_blank" href="https://help.obsidian.md/Getting+started/Sync+your+notes+across+devices">tại đây</a></p>
<p><strong>a. macOS</strong></p>
<p>Nếu bạn sử dụng Obsidian trên hệ sinh thái thiết bị của Apple thì iCloud là dịch vụ duy nhất bạn có thể sử dụng để đồng bộ dữ liệu/ghi chú của mình giữa thiết bị desktop với cloud và mobile. Cách thiết lập khá đơn giản:</p>
<ul>
<li><p>Tạo thư mục chứa các ghi chú Obsidian trong iCloud folder (mở bằng Finder)</p>
</li>
<li><p>Từ Obsidian, chọn Open folder as Vault và tìm đến thư mục bạn chọn (như trên) và bắt đầu sử dụng.</p>
</li>
</ul>
<p>Nếu bạn bắt đầu sử dụng Obsidian với thư mục cấu hình sẵn (tôi chia sẻ trên Github ở mục Cài đặt của bài viết) thì chỉ cần copy thư mục sau khi giải nén vào iCloud và Open folder as vault để sử dụng.</p>
<p><img src="https://thinhvu.com/wp-content/uploads/2023/01/Obsidian-open-folder-as-vaultjpg-scaled.jpg" alt="Chọn thư mục lưu trữ ghi chú trong Obsidian. Open as Vault" /></p>
<p>Chọn thư mục lưu trữ ghi chú trong Obsidian. Open as Vault</p>
<p><strong>b. Windows/Linux:</strong></p>
<p>Đối với máy tính Windows thì Onedrive đã được tích hợp sẵn vào hệ điều hành, bạn chỉ cần đăng nhập tài khoản Microsoft vào ứng dụng Onedrive trên máy tính để bắt đầu sử dụng. Các bước thực hiện đồng bộ tương tự như tôi hướng dẫn với macOS, trong trường hợp này bạn chọn nơi lưu trữ thư mục Obsidian là OneDrive thay vì iCloud. Trong trường hợp máy tính của bạn chưa được cài sẵn Onedrive, thì bạn có thể tải về <a target="_blank" href="https://www.microsoft.com/vi-vn/microsoft-365/onedrive/download">tại đây</a>.</p>
<p>Nếu bạn sử dụng Google Drive làm dịch vụ đồng bộ thì chắc chắn cũng cần cài <a target="_blank" href="https://www.google.com/drive/download/">ứng dụng Google Drive trên máy tính</a> của mình, các bước thực hiện tương tự như Onedrive và iCloud. Tương tự với các dịch vụ cloud khác như Dropbox, vv hoặc kể cả bạn sử dụng Ubuntu hoặc các phiên bản hệ điều hành Linux.</p>
<h4 id="heading-242-dong-bo-du-lieu-giua-mobile-va-cloud">2.4.2. Đồng bộ dữ liệu giữa Mobile và Cloud</h4>
<p><strong>iPhone/iPad</strong></p>
<p>Chỉ cần cài đặt Obsidian trên thiết bị và mở thư mục Obsidian từ iCloud trên bộ nhớ máy của bạn.</p>
<p><strong>Android</strong></p>
<p>Bạn có thể chọn một trong 2 ứng dụng từ bên thứ 3 là <a target="_blank" href="https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.lite&amp;hl=en_US">Folder Sync</a> hoặc <a target="_blank" href="https://play.google.com/store/apps/details?id=com.ttxapps.dropsync">Drop Sync</a>. Tôi sử dụng Folder Sync bản trả phí (có thể dùng miễn phí kèm quảng cáo cũng không phiền lắm). Lý do phải dùng dịch vụ của bên thứ 3 mà không phải app chính thức OneDrive, Google Drive, vv là bởi các app này không cho phép đồng bộ dữ liệu và lưu trữ chúng vào một thư mục cụ thể trên bộ nhớ máy để bạn có thể mở và sửa đổi ghi chú với Obsidian.</p>
<p>Dưới đây là video tôi hướng dẫn cụ thể cách thiết lập đồng bộ với Folder Sync và Onedrive.</p>
<center><iframe width="760" height="450" src="https://www.youtube.com/embed/aW5Xn2Y3VfE?si=nNg5bzVHZaX-o3DI"></iframe>
</center>

<h2 id="heading-iii-ghi-chu-voi-markdown-trong-obsidian">III. Ghi chú với markdown trong Obsidian</h2>
<p>Ghi chú trong Obsidian sử dụng cú pháp markdown khá đơn giản, tuy nhiên quá trình làm quen với cách thức soạn thảo văn bản này xa lạ với phần lớn người dùng phổ thông. Một điểm thú vị khi ghi chú với markdown là bạn hoàn toàn chỉ cần gõ bằng bàn phím mà không bị mất tập trung vào các biểu tượng để định dạng văn bản như khi hầu hết chúng ta quen sử dụng Microsoft Word. Để trở thành một người dùng thành thạo loại ngôn ngữ đánh dấu này trong Obsidian, bạn cần ghi nhớ cú pháp định dạng và các nhóm phím tắt để thao tác nhanh. Hãy đọc thêm bài hướng dẫn chi tiết dưới đây về cách sử dụng markdown từ A-Z.</p>
<p><a target="_blank" href="https://thinhvu.com/2023/04/06/huong-dan-su-dung-markdown-la-gi/"><img src="https://thinhvu.com/wp-content/uploads/2023/04/huong-dan-su-dung-markdown-la-gi_thinhvu-blog-1024x576.jpg" alt="Hướng dẫn sử dụng markdown là gì" /></a></p>
<h3 id="heading-markdown-la-gi-huong-dan-su-dung-markdown-a-zhttpsthinhvucom20230406huong-dan-su-dung-markdown-la-gi"><a target="_blank" href="https://thinhvu.com/2023/04/06/huong-dan-su-dung-markdown-la-gi/">Markdown là gì? Hướng dẫn sử dụng Markdown A-Z</a></h3>
<p>Trong bài viết Hướng dẫn sử dụng Obsidian toàn tập, tôi đã đề cập đến Markdown như là phương thức soạn thảo ghi chú với ứng dụng này, trong bài viết này chúng ta cùng tìm hiểu cách sử dụng Markdown một cách trọn vẹn nhất nhé. I. Markdown là gì? Markdown là một dạng […]</p>
<h2 id="heading-iv-phuong-phap-ghi-chu-va-to-chuc-thong-tin">IV. Phương pháp ghi chú và tổ chức thông tin</h2>
<p>Cùng theo dõi video tôi chia sẻ về tư duy tổ chức thông tin trong Obsidian để bạn có thể hình dung được thực tế sử dụng Obsidian và tự xây dựng cho mình phương pháp phù hợp nhất.</p>
<h3 id="heading-41-phuong-phap-para">4.1. Phương pháp PARA</h3>
<p>PARA là phương pháp tổ chức thông tin do Tiago Forte khởi xướng, được viết trong cuốn sách Building a Second Brain của tác giả. Bạn có thể đọc bài viết chi tiết về phương pháp này tại đây.</p>
<p><a target="_blank" href="https://thinhvu.com/2023/05/23/phuong-phap-para-to-chuc-ghi-chu-obsidian/"><img src="https://thinhvu.com/wp-content/uploads/2023/05/phuong-phap-para-ghi-chu-obsidian-hieu-qua-1024x576.jpg" alt="Phương pháp PARA trong tổ chức ghi chú Obsidian hiệu quả" /></a></p>
<h3 id="heading-phuong-phap-para-trong-to-chuc-thong-tin-hieu-quahttpsthinhvucom20230523phuong-phap-para-to-chuc-ghi-chu-obsidian"><a target="_blank" href="https://thinhvu.com/2023/05/23/phuong-phap-para-to-chuc-ghi-chu-obsidian/">Phương pháp PARA trong tổ chức thông tin hiệu quả</a></h3>
<p>Bạn có bao giờ cảm thấy mất kiểm soát trước lượng thông tin khổng lồ mà bạn tiếp nhận hàng ngày và băn khoăn về cách tổ chức chúng một cách hiệu quả chưa? Có lúc bạn đã dành nhiều thời gian để tạo ra hàng tá file và ghi chú, nhưng cuối cùng lại […]</p>
<h2 id="heading-v-ket-luan">V. Kết luận</h2>
<p>Trong phần tiếp theo, tôi sẽ hướng dẫn cho bạn cách bắt đầu với Obsidian và tận dụng các tính năng mạnh mẽ của nó. Tôi sẽ đề cập đến cách thiết lập, tạo và sắp xếp các ghi chú phù hợp với nhu cầu của bạn.</p>
]]></content:encoded></item><item><title><![CDATA[Hướng dẫn sử dụng Obsidian]]></title><description><![CDATA[Obsidian là một ứng dụng ghi chú và quản lý kiến thức cá nhân mạnh mẽ giúp bạn có thể hệ thống những kiến thức có giá trị mình tiếp nhận được trong đời sống hàng ngày.

Sau bài chia sẻ về các ứng dụng ghi chú cá nhân tốt nhất, tôi tiếp tục loạt bài v...]]></description><link>https://55thanhmy.hashnode.dev/huong-dan-su-dung-obsidian</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/huong-dan-su-dung-obsidian</guid><category><![CDATA[obsidian]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Mon, 22 Apr 2024 14:27:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713796213533/f6ad301b-5743-40fb-99fd-1d8d92fffef5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p>Obsidian là một ứng dụng ghi chú và quản lý kiến thức cá nhân mạnh mẽ giúp bạn có thể hệ thống những kiến thức có giá trị mình tiếp nhận được trong đời sống hàng ngày.</p>
</blockquote>
<p>Sau bài chia sẻ về <a target="_blank" href="https://thinhvu.com/2021/08/29/review-ung-dung-ghi-chu-tot-nhat/">các ứng dụng ghi chú cá nhân tốt nhất</a>, tôi tiếp tục loạt bài viết cụ thể hơn về cách sử dụng Obsidian trong ghi chú và hệ thống hoá kiến thức cá nhân để các bạn đọc quan tâm thể bắt đầu làm quen với ứng dụng này dễ dàng hơn. Hành trình sử dụng Obsidian khá thú vị nhưng cũng không ít gian nan để có thể sử dụng thành thạo, trong khuôn khổ cuốn cẩm nang này, tôi sẽ cung cấp cho các bạn một lộ trình hoàn chỉnh để làm chủ Obsidian. Đừng quên bookmark bài viết này vì nội dung của bài viết sẽ liên tục được cập nhật (đây là một bài viết rất chi tiết và chuyên sâu). Bạn có thể tham khảo lộ trình làm chủ obsidian qua video chia sẻ dưới đây, sơ đồ mindmap được chia sẻ trong video dưới đây :</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://youtu.be/CUZCP8K-Qkw">https://youtu.be/CUZCP8K-Qkw</a></div>
<p> </p>
<h2 id="heading-vi-sao-nen-ghi-chu-voi-obsidian">Vì sao nên ghi chú với Obsidian?</h2>
<p>Trong thời đại kỹ thuật số, chúng ta tiếp xúc với một lượng lớn thông tin hàng ngày về mọi mặt của cuộc sống và tốc độ thay đổi chóng mặt của các kiến thức khiến nhu cầu về một công cụ quản lý kiến thức cá nhân (Personal Knowledge Management, viết tắt là PKM) dần trở nên quan trọng. Một ứng dụng PKM giúp bạn ghi lại và theo dõi các ý tưởng, tổ chức các thông tin thiết yếu và khiến chúng sẵn sàng để truy cập khi cần một cách tiện lợi. Tổ chức tốt một cơ sở dữ liệu cá nhân cũng giúp đầu óc bạn được thư giãn khi không phải ghi nhớ quá nhiều thông tin mà có thể tập trung nhiều hơn vào việc tạo ra các ý tưởng đột phá từ thông tin có được.</p>
<p>Đây là 5 lý do bạn nên bắt đầu sử dụng Obsidian theo kinh nghiệm 2 năm sử dụng của tôi:</p>
<ol>
<li><p><strong>Obsidian là ứng dụng mã nguồn mở miễn phí, đa nền tảng</strong> và chạy cục bộ (không cần kết nối internet). Điều này có nghĩa là bạn có thể sử dụng Obsidian trên bất kỳ thiết bị nào từ máy tính đến smartphone dù chúng chạy bất kỳ hệ điều hành nào. Để ủng hộ nhà phát triển, bạn có thể chọn phiên bản trả phí để sử dụng tính năng đồng bộ dữ liệu, xuất bản thông tin lên web dễ dàng.</p>
</li>
<li><p><strong>Obsidian</strong><a target="_blank" href="https://thinhvu.com/2023/04/06/huong-dan-su-dung-markdown-la-gi/"><strong>sử dụng Markdown để định dạng ghi chú</strong></a>, đây là ngôn ngữ đánh dấu đơn giản và dễ học. Thực chất markdown là một file văn bản thuần túy (plain text) có thể đọc được bằng bất kỳ phần mềm soạn thảo văn bản mặc định nào trên các thiết bị từ máy tính đến smartphone. Điều này có nghĩa là bạn có thể yên tâm các ghi chú của mình sẽ tồn tại theo năm tháng cho đến tận đời con cháu vẫn có thể sủ dụng mà không cần mất thêm một đồng nào cho dịch vụ ghi chú có bản quyền. Với cú pháp markdown, ghi chú của bạn có thể được hiển thị với định dạng như các nội dung trên website khi mở bằng ứng dụng thích hợp. Thực tế nhiều người đang sử dụng các cú pháp markdown trong nhắn tin hoặc soạn thảo văn bản nhưng không hề biết về nó. Nếu bạn đã từng đọc phần giới thiệu của gói phần mềm bất kỳ trên Github có tên <a target="_blank" href="http://README.md">README.md</a>, đó chính là nội dung ghi chú sử dụng định dạng markdown (file có phần mở rộng *.md). Cũng bởi</p>
</li>
<li><p><strong>Obsidian cung cấp tính năng Backlink cho phép liên kết các ghi chú</strong> không giới hạn. Với backlink, bạn có thể tạo liên kết từ một ghi chú đến một ghi chú khác, giúp bạn dễ dàng truy cập và tổ chức các thông tin liên quan với nhau. Với tính năng backlink trong Obsidian, bạn có thể tạo cho riêng mình một kho kiến thức như thể wikipedia được cá nhân hóa vậy.</p>
</li>
<li><p><strong>Obsidian cung cấp tính năng Graph viewthú vị</strong> (biểu đồ thể hiện mạng liên kết giữa các ghi chú với nhau). Chế độ Graph view cho phép bạn dễ dàng hình dung và điều hướng các ghi chú cũng như ý tưởng của mình, giúp bạn dễ dàng hiểu được các kết nối và mối quan hệ các phần thông tin khác nhau. Điều này đặc biệt hữu ích khi bạn tiếp nhận và tổ chức các các kiến thức mới hàng ngày một cách linh hoạt mà không bị bó buộc phải sắp xếp chung thông tin vào một số file hay thư mục cụ thể như các công cụ ghi chú tuyến tính.</p>
</li>
<li><p><strong>Obsidian cung cấp nhiều plugin và tích hợp mạnh mẽ và miễn phí</strong> từ nhóm phát triển lẫn cộng đồng đóng góp. Điều này giúp bạn dễ dàng tùy biến Obsidian theo cách mình thích và tích hợp không giới hạn với workflow (luồng công việc) của mình. Tất nhiên điều này cũng yêu cầu bạn có chút đam mê mày mò và khám phá như những người dùng có gu một chút. Nếu bạn không có nhiều thời gian nhưng vẫn muốn trải nghiệm đầy đủ các plugin chất lượng thì vẫn có cách tải thư mục cấu hình sẵn về máy để sử dụng ngay.</p>
</li>
</ol>
<p>Tóm lại, Obsidian là một ứng dụng quản lý kiến thức và ghi chú mạnh mẽ và linh hoạt có thể giúp bạn tăng năng suất và tối ưu hóa quy trình làm việc của mình. Nó cung cấp một loạt các tính năng và tích hợp để giúp bạn luôn ngăn nắp và hoàn thành công việc của mình một cách đầy hứng thú. Đây là một phần mềm nguồn mở hoàn toàn miễn phí sử dụng và tôi thực sự khuyên dùng phần mềm này cho bất kỳ ai đang tìm kiếm một công cụ quản lý kiến thức và ghi chú mạnh mẽ và hiệu quả.</p>
<p><img src="https://thinhvu.com/wp-content/uploads/2021/08/ung-dung-ghi-chu-ca-nhan-tot-nhat-768x432.jpg" alt="Ứng dụng ghi chú tốt nhất" /></p>
]]></content:encoded></item><item><title><![CDATA[Đồng bộ dữ liệu Obsidian]]></title><description><![CDATA[Nếu bạn sử dụng Obsidian trên thiết bị iOS, macOS của Apple thì iCloud là lựa chọn duy nhất để đồng bộ Obsidian với các thiết bị khác nhau từ macbook tới cloud và iphone. Các bước thực hiện như sau:

Tạo Obsidian vault là thư mục chứa các ghi chú của...]]></description><link>https://55thanhmy.hashnode.dev/dong-bo-du-lieu-obsidian</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/dong-bo-du-lieu-obsidian</guid><category><![CDATA[obsidian]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Mon, 22 Apr 2024 13:59:56 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713794496620/03883d81-abef-4e81-bd3c-1a2757c36ffb.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nếu bạn sử dụng Obsidian trên thiết bị iOS, macOS của Apple thì iCloud là lựa chọn duy nhất để đồng bộ Obsidian với các thiết bị khác nhau từ macbook tới cloud và iphone. Các bước thực hiện như sau:</p>
<ol>
<li><p>Tạo Obsidian vault là thư mục chứa các ghi chú của bạn trong iCloud folder (mở bằng Finder)</p>
</li>
<li><p>Chọn <code>Open folder as Vault</code> trong Obsidian sau đó chọn thư mục bạn vừa tạo với iCloud để sử dụng.</p>
</li>
</ol>
<p>Bạn có thể lựa chọn sử dụng thư mục cấu hình sẵn Obsidian Go V3 mà tôi chia sẻ để bắt đầu nhanh. Chỉ cần giải nén file và copy toàn bộ thư mục được chia sẻ vào vị trí bạn muốn lưu trữ trong iCloud rồi <code>Open folder as vault</code> từ Obsidian để sử dụng.</p>
<p><a target="_blank" href="https://thinhvu.com/wp-content/uploads/2023/01/Obsidian-open-folder-as-vaultjpg-scaled.jpg"><img src="https://thinhvu.com/wp-content/uploads/2023/01/Obsidian-open-folder-as-vaultjpg-scaled.jpg" alt="Chọn thư mục lưu trữ ghi chú trong Obsidian. Open as Vault" /></a></p>
<p>Chọn thư mục lưu trữ ghi chú trong Obsidian. Open as Vault</p>
<h3 id="heading-windowslinuxhttpslearn-anythingvnkien-thucobsidiandong-bo-du-lieu-obsidianwindowslinux">Windows/Linux<a target="_blank" href="https://learn-anything.vn/kien-thuc/obsidian/dong-bo-du-lieu-obsidian/#windowslinux">¶</a></h3>
<p>Bạn có thể sử dụng dịch vụ <a target="_blank" href="https://www.microsoft.com/vi-vn/microsoft-365/onedrive/download">OneDrive</a> được tích hợp sẵn vào hệ điều hành Windows để đồng bộ dữ liệu. Các bước thực hiện đồng bộ tương tự như với macOS, trong trường hợp này nơi lưu trữ thư mục Obsidian là OneDrive thay vì iCloud. Tải OneDrive để cài đặt <a target="_blank" href="https://www.microsoft.com/vi-vn/microsoft-365/onedrive/download">tại đây</a>.</p>
<p>Nếu bạn sử dụng Google Drive hay để đồng bộ dữ liệu thì sẽ cần cài <a target="_blank" href="https://www.google.com/drive/download/">ứng dụng Google Drive trên máy tính</a> của mình, các bước thực hiện tương tự như Onedrive và iCloud.</p>
<h2 id="heading-dong-bo-thiet-bi-di-dong-voi-dam-mayhttpslearn-anythingvnkien-thucobsidiandong-bo-du-lieu-obsidianong-bo-thiet-bi-di-ong-voi-am-may">Đồng bộ thiết bị di động với đám mây<a target="_blank" href="https://learn-anything.vn/kien-thuc/obsidian/dong-bo-du-lieu-obsidian/#ong-bo-thiet-bi-di-ong-voi-am-may">¶</a></h2>
<h3 id="heading-iphoneipadhttpslearn-anythingvnkien-thucobsidiandong-bo-du-lieu-obsidianiphoneipad">iPhone/iPad<a target="_blank" href="https://learn-anything.vn/kien-thuc/obsidian/dong-bo-du-lieu-obsidian/#iphoneipad">¶</a></h3>
<p>Cài đặt Obsidian trên iPhone/iPad và mở thư mục Obsidian từ bộ nhớ iCloud trên máy để sử dụng.</p>
<h3 id="heading-androidhttpslearn-anythingvnkien-thucobsidiandong-bo-du-lieu-obsidianandroid">Android<a target="_blank" href="https://learn-anything.vn/kien-thuc/obsidian/dong-bo-du-lieu-obsidian/#android">¶</a></h3>
<p>Bạn có thể chọn một ứng dụng của bên thứ 3 như:</p>
<ul>
<li><p><a target="_blank" href="https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.lite&amp;hl=en_US">Folder Sync</a> cho phép sử dụng miễn phí kèm quảng cáo hoặc trả phí với giá phải chăng (~100K)</p>
</li>
<li><p><a target="_blank" href="https://play.google.com/store/apps/details?id=com.ttxapps.dropsync">Drop Sync</a>.</p>
</li>
</ul>
<p>Các dịch vụ như OneDrive, Google Drive, vv không hỗ trợ đồng bộ dữ liệu theo một thư mục cụ thể trên thiết bị di động, do đó bạn cần dùng dịch vụ của bên thứ 3 như trên.</p>
<p>Dưới đây là video tôi hướng dẫn cụ thể cách thiết lập đồng bộ Folder Sync với Onedrive.</p>
<iframe width="914" height="514" src="https://www.youtube.com/embed/aW5Xn2Y3VfE?si=k9PCfL39RvRIHmmP"></iframe>]]></content:encoded></item><item><title><![CDATA[Obsidian-Learn Anything]]></title><description><![CDATA[Obsidian là một ứng dụng ghi chú & quản lý kiến thức đa năng, cung cấp trải nghiệm sử dụng thú vị với tốc độ đáng kinh ngạc và hoàn toàn miễn phí. Nếu bạn đang tìm kiếm một giải pháp tổng thể nhằm gia tăng hiệu suất công việc thì Obsidian là một lựa ...]]></description><link>https://55thanhmy.hashnode.dev/obsidian-learn-anything</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/obsidian-learn-anything</guid><category><![CDATA[obsidian]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Mon, 22 Apr 2024 13:34:45 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713793325483/0fb42356-f73a-4c2b-95b7-577c12ee8b46.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Obsidian là một ứng dụng ghi chú &amp; quản lý kiến thức đa năng, cung cấp trải nghiệm sử dụng thú vị với tốc độ đáng kinh ngạc và hoàn toàn miễn phí. Nếu bạn đang tìm kiếm một giải pháp tổng thể nhằm gia tăng hiệu suất công việc thì Obsidian là một lựa chọn tuyệt vời cho bộ công cụ làm việc mà bạn không thể bỏ qua.</p>
<iframe height="500" width="750" src="https://learn-anything.vn/kien-thuc/obsidian/hoc-obsidian-cung-learn-anything/">
</iframe>]]></content:encoded></item><item><title><![CDATA[Cài Addon Anki]]></title><description><![CDATA[Để cài add-ons, trong Anki trên thanh menubar cả nhà chọn: Tools > Add-ons > Get Add-ons...Copy code của add-on vào hộp, ví dụ: 498789867


Lưu ý: sau khi cài add-ons xong cả nhà cần tắt Anki đi và bật lại. Có thể tranh thủ cài nhiều add-ons một lượt...]]></description><link>https://55thanhmy.hashnode.dev/cai-addon-anki</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/cai-addon-anki</guid><category><![CDATA[#anki]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Sun, 21 Apr 2024 12:55:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713704112659/f7663d2f-87dd-46e7-ae2a-53df0be94a93.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Để cài add-ons, trong Anki trên thanh menubar cả nhà chọn: <code>Tools &gt; Add-ons &gt; Get Add-ons...</code><br />Copy code của add-on vào hộp, ví dụ: <code>498789867</code></p>
<p><a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/install_addons.gif"><img src="https://github.com/vijjo/anki1000/raw/master/images/install_addons.gif" alt="Cài add-on bằng code" /></a></p>
<blockquote>
<p><strong>Lưu ý</strong>: sau khi cài add-ons xong cả nhà cần <strong>tắt Anki đi và bật lại</strong>. Có thể tranh thủ cài nhiều add-ons một lượt xong tắt đi bật lại cũng được.</p>
</blockquote>
<p>Có một số add on không cài được theo cách này. Mình sẽ hướng dẫn riêng bên dưới.</p>
<h2 id="heading-danh-sach-add-on">Danh sách add-on</h2>
<p>(Lưu ý, một số add-ons có thể không còn chạy trên Anki mới nhất)</p>
<ul>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#replay-buttons-on-card">Replay Buttons on card</a>: (Anki phiên bản mới không cần) <code>498789867</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#button-colours">Button Colours</a>: <code>2494384865</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#control-audio-playback-speed">Control Audio Playback Speed</a>: (bị hỏng đừng cài) <code>1067025219</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#edit-field-during-review">Edit Field During Review</a>: <code>385888438</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#syntax-highlighting-for-card-layout-editor">Syntax Highlighting for Card Layout Editor</a>: (không tương thích với Anki mới) <code>1483620388</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#card-info-during-review">Card Info During Review</a>: <code>2179254157</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#additional-card-fields">Additional Card Fields</a>: (không recommend cài nữa) <code>744725736</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#deck-stats">Deck Stats</a>: <code>1421528223</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#more-overview-stats">More Overview Stats</a>: <code>2116130837</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#review-heatmap">Review Heatmap</a> (nhấp để xem cách cài)</p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#fastbar">Fastbar</a>: <code>46611790</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#advanced-browser-sidebar">Advanced Browser Sidebar</a>: (không tương thích với Anki mới nhất) <code>564851917</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#advanced-browser">Advanced Browser</a>: <code>874215009</code></p>
</li>
<li><p><a target="_blank" href="https://github.com/vijjo/anki1000#reset-card-scheduling">Reset Card Scheduling</a>: <code>300884351</code></p>
</li>
</ul>
<h2 id="heading-replay-buttons-on-card">Replay Buttons on card</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/498789867">Replay buttons on card - AnkiWeb</a>: <code>498789867</code><br />  Làm xuất hiện nút chơi lại audio trên card</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/replay_button.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/replay_button.jpg" alt="Replay Button" /></a></p>
</li>
</ul>
<h2 id="heading-button-colours">Button Colours</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/2494384865">Button Colours (Good, Again) - AnkiWeb</a>: <code>2494384865</code><br />  Tô màu nút <code>Again</code> và <code>Good</code></p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/buttons_colored.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/buttons_colored.jpg" alt="Buttons Colored" /></a></p>
</li>
</ul>
<h2 id="heading-control-audio-playback-speed">Control Audio Playback Speed</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/1067025219">Control Audio Playback Speed - AnkiWeb</a>: <code>1067025219</code><br />  (Không còn tương thích với Anki mới, xin đừng cài!) Thay đổi tốc độ audio, các phím tắt quan trọng:</p>
<ul>
<li><p><code>[</code> : giảm 10% tốc độ ban đầu</p>
</li>
<li><p><code>]</code> : tăng 10% tốc độ ban đầu</p>
</li>
<li><p><code>p</code> (win) / <code>backspace/delete</code> (mac) : trở lại tốc độ bình thường</p>
</li>
<li><p><code>n</code> : tạm dừng (pause) audio đang chơi, thích hợp khi tập đọc theo các đoạn ngắn</p>
</li>
<li><p><code>m</code> : dừng hẳn (stop) audio đang chơi</p>
</li>
</ul>
</li>
</ul>
<blockquote>
<p><strong>Lưu ý</strong>: nếu cả nhà nhấp <code>n</code> rồi chuyển card ngay lập tức <strong>sẽ bị mất tiếng</strong>, cả nhà cần nhấp lại <code>n</code> lần nữa để có tiếng lại.</p>
</blockquote>
<h2 id="heading-edit-field-during-review">Edit Field During Review</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/385888438">Edit Field During Review - AnkiWeb</a>: <code>385888438</code><br />  Chỉnh sửa card ngay trong lúc học. Giữ phím <code>Ctrl</code> để chỉnh sửa.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/edit_field_during_review.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/edit_field_during_review.jpg" alt="Edit Field During Review" /></a></p>
</li>
</ul>
<h2 id="heading-syntax-highlighting-for-card-layout-editor">Syntax Highlighting for Card Layout Editor</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/1483620388">Card Layout Editor - syntax highlighting, monospace font - AnkiWeb</a>: <code>1483620388</code><br />  Hiện màu code khi sửa card.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/syntax_highlight.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/syntax_highlight.jpg" alt="Syntax Highlighting" /></a></p>
</li>
</ul>
<h2 id="heading-card-info-during-review">Card Info During Review</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/2179254157">Card Info During Review - AnkiWeb</a>: <code>2179254157</code><br />  Hiện thông tin cards khi review, bằng cách chọn <code>Tools &gt; Card Stats</code>, hoặc nhấp phím tắt tương ứng.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/card_info.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/card_info.jpg" alt="Card Info During Review" /></a></p>
</li>
</ul>
<h2 id="heading-additional-card-fields">Additional Card Fields</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/744725736">Additional Card Fields (Fork for 2.1) - AnkiWeb</a>: <code>744725736</code><br />  Hiện thêm thông tin cần thiết ngay trên card.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/additional_card_fields.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/additional_card_fields.jpg" alt="Additional Card Fields" /></a></p>
</li>
</ul>
<h2 id="heading-deck-stats">Deck Stats</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/1421528223">Deck Stats - AnkiWeb</a>: <code>1421528223</code></p>
<p>  Hiện tổng số cards mới và tổng số cards cần ôn tập.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/deck_stats.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/deck_stats.jpg" alt="Download Heatmap" /></a></p>
</li>
</ul>
<h2 id="heading-more-overview-stats">More Overview Stats</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/2116130837">More Overview Stats - AnkiWeb</a>: <code>2116130837</code></p>
<p>  Hiện thêm một số thông tin tổng thể về từng bộ cards.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/more_overview_stats_1.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/more_overview_stats_1.jpg" alt="Download Heatmap" /></a></p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/more_overview_stats_2.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/more_overview_stats_2.jpg" alt="Download Heatmap" /></a></p>
</li>
</ul>
<h2 id="heading-review-heatmap">Review Heatmap</h2>
<ul>
<li><p><a target="_blank" href="https://github.com/glutanimate/review-heatmap">Review heatmap</a>:<br />  Add-on này cũng không cài được bằng code, cả nhà cần download file <a target="_blank" href="https://github.com/glutanimate/review-heatmap/releases">tại đây</a>, giống hướng dẫn bên dưới:</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/download_heatmap.gif"><img src="https://github.com/vijjo/anki1000/raw/master/images/download_heatmap.gif" alt="Download Heatmap" /></a></p>
<p>  Tiếp theo, cả nhà cài add-on bằng cách chọn <code>Tools &gt; Add-ons</code> và kéo file vừa download vào giống thế này:</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/ankiaddon_installation.gif"><img src="https://github.com/vijjo/anki1000/raw/master/images/ankiaddon_installation.gif" alt="Install Heatmap" /></a></p>
<p>  Sau khi cài xong, tắt Anki đi bật lại cả nhà sẽ thấy <code>Heatmap</code> hiện ở cuối:</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/heatmap.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/heatmap.jpg" alt="Heatmap" /></a></p>
</li>
</ul>
<h2 id="heading-fastbar">Fastbar</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/46611790">Fastbar</a>: <code>46611790</code><br />  Cả nhà vào trong <code>Browse</code>, sẽ thấy <code>FastBar</code> hiện ra.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/fastbar.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/fastbar.jpg" alt="Fastbar in Browse" /></a></p>
</li>
</ul>
<h2 id="heading-advanced-browser-sidebar">Advanced Browser Sidebar</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/564851917">Blitzkrieg: Advanced Browser Sidebar - AnkiWeb</a>: <code>564851917</code><br />  Đổi tên, sắp xếp, chỉnh sửa options cho các bộ cards ngay trong browser.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/demo_sidebar.gif"><img src="https://github.com/vijjo/anki1000/raw/master/images/demo_sidebar.gif" alt="Demo Sidebar" /></a></p>
</li>
</ul>
<h2 id="heading-advanced-browser">Advanced Browser</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/874215009">Advanced Browser - AnkiWeb</a>: <code>874215009</code><br />  Hiện thêm cột thông tin cho Browser.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/advanced_browser.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/advanced_browser.jpg" alt="Advanced Browser" /></a></p>
</li>
</ul>
<h2 id="heading-reset-card-scheduling">Reset Card Scheduling</h2>
<ul>
<li><p><a target="_blank" href="https://ankiweb.net/shared/info/300884351">Reset Card Scheduling - AnkiWeb</a>: <code>300884351</code><br />  Reset lại các cards đã học.</p>
<p>  <a target="_blank" href="https://github.com/vijjo/anki1000/blob/master/images/reset_deck.jpg"><img src="https://github.com/vijjo/anki1000/raw/master/images/reset_deck.jpg" alt="Reset Card Scheduling" /></a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[Cách tạo bộ thẻ Anki]]></title><description><![CDATA[Tài liệu này là những kinh nghiệm thu được sau khi đã lãng phí rất nhiều thời gian tạo bộ thẻ Anki một cách thủ công (ngay trên phần mềm Anki). Nó sẽ hướng dẫn bạn từng bước tạo ra bộ thẻ Anki từ file bảng tính (sheet)trên Excel hoặc Libre Office một...]]></description><link>https://55thanhmy.hashnode.dev/cach-tao-bo-the-anki</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/cach-tao-bo-the-anki</guid><category><![CDATA[#anki]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Sun, 21 Apr 2024 04:09:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713672924991/f36b5e3b-4c25-4343-bfb5-e343219efc30.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Tài liệu này là những kinh nghiệm thu được sau khi đã lãng phí rất nhiều thời gian tạo bộ thẻ Anki một cách thủ công (ngay trên phần mềm Anki). Nó sẽ hướng dẫn bạn từng bước tạo ra bộ thẻ Anki từ file bảng tính (sheet)trên Excel hoặc Libre Office một cách đơn giản nhất với hi vọng giúp bạn tạo mới cũng như chỉnh sửa những bộ thẻ có nhiều thẻ một cách nhẹ nhàng, đơn giản và giúp bạn quên đi cơn ác mộng tạo mới hoặc sửa đổi từng thẻ một!</p>
<iframe height="550" width="750" src="https://drive.google.com/file/d/15Jzn6lIqUotTmm1O0FOc0y3BDOCEysjR/preview"> </iframe>]]></content:encoded></item><item><title><![CDATA[Dùng Google sheet]]></title><description><![CDATA[Google Docs được tích hợp thêm một số tính năng mới hỗ trợ người dùng có thể dịch ngôn ngữ ở từng cell trên bảng tính sang một ngôn ngữ khác hoặc phát hiện ngôn ngữ cụ thể được sử dụng trong một bảng tính.

Để dịch ngôn ngữ ở từng cell trên bảng tính...]]></description><link>https://55thanhmy.hashnode.dev/dung-google-sheet</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/dung-google-sheet</guid><category><![CDATA[#anki]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Fri, 19 Apr 2024 15:38:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713583299767/c854b9cb-75e4-4fe0-8d74-0038dd2eab0e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Google Docs được tích hợp thêm một số tính năng mới hỗ trợ người dùng có thể dịch ngôn ngữ ở từng cell trên bảng tính sang một ngôn ngữ khác hoặc phát hiện ngôn ngữ cụ thể được sử dụng trong một bảng tính.</p>
<p><img src="https://st.quantrimang.com/photos/image/2016/08/24/dich-excel.png" alt=" dịch ngôn ngữ ở từng cell trên bảng tính sang một ngôn ngữ khác" /></p>
<p>Để dịch ngôn ngữ ở từng cell trên bảng tính sang một ngôn ngữ khác, bạn sử dụng hàm dưới đây:</p>
<pre><code class="lang-html">=GOOGLETRANSLATE("văn bản cần dịch"; "ngôn ngữ nguồn";"ngôn ngữ đích")
</code></pre>
<pre><code class="lang-html">=GOOGLETRANSLATE(B64;"en";"vi")
</code></pre>
<h2 id="heading-su-dung-googletranslate-cung-ham-importfeed">Sử dụng GoogleTranslate cùng hàm ImportFeed</h2>
<p>Dưới đây là ảnh động miêu tả cách sử dụng hàm Google Translate trong một bảng tính (cùng ImportFeed) để dịch feed từ ngôn ngữ khác sang ngôn ngữ của bạn.</p>
<p>Trong ví dụ này là dịch từ tiếng Anh sang tiếng Pháp:</p>
<p><img src="https://st.quantrimang.com/photos/image/2016/08/24/vi-du-excel.gif" alt="Sử dụng GoogleTranslate cùng hàm ImportFeed" /></p>
<h2 id="heading-su-dung-tien-ich-bo-sung-cua-google-sheets">Sử dụng tiện ích bổ sung của Google Sheets</h2>
<p>Mặc dù các hàm tích hợp của Google Sheets hoạt động khá hiệu quả và nhanh chóng. Nhưng nếu bạn cảm thấy việc phải gõ công thức như vậy là quá rườm rà, hoặc bạn có thể chỉ muốn một cách nhanh chóng để dịch toàn bộ trang tính, hãy sử dụng một tiện ích bổ sung miễn phí có tên Translate My Sheet.</p>
<p>Sau khi cài đặt tiện ích bổ sung <a target="_blank" href="https://quantrimang.com/url?q=aHR0cHM6Ly93b3Jrc3BhY2UuZ29vZ2xlLmNvbS9tYXJrZXRwbGFjZS9hcHAvdHJhbnNsYXRlX215X3NoZWV0Lzg5OTcyNjU5ODE5MQ%3D%3D">Translate My Sheet</a> từ Google Workspace Marketplace, bạn có thể ngay lập tức bắt tay vào dịch một số ô hoặc toàn bộ bảng tính của mình.</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh1.jpg" alt="Tiện ích bổ sung Translate My Sheet" /></p>
<p>Trên giao diện trang tính, bạn bấm vào tab <strong>Extensions</strong> (Tiện ích mở rộng) ở góc trên bên trái màn hình. Trong menu bật ra, bạn bấm vào <strong>Translate My Sheet</strong> và chọn “<strong>Start a New Translation</strong>”.</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh2.jpg" alt="Chọn “Start a New Translation”" /></p>
<p>Khi menu sidebar mở ra, bạn có thể thực hiện một số tùy chọn thiết lập công cụ. Bạn sẽ thấy mục <strong>Source Language</strong> (ngôn ngữ nguồn) được đặt thành <strong>Auto Detect</strong> (tự động phát hiện). Tuy nhiên, bạn có thể chọn một ngôn ngữ khác trong danh sách thả xuống nếu muốn. Sau đó, chọn <strong>Target Language</strong> (ngôn ngữ đích).</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh3.jpg" alt="Chọn ngôn ngữ" /></p>
<p>Ở dưới cùng trong phần <strong>Advanced Settings</strong>, bạn bật các nút chuyển đổi tương ứng với những tùy chọn dịch toàn bộ trang tính, sao chép trang tính để dịch hoặc áp dụng màu nền cho các ô đã thay đổi. Tất cả tùy thuộc vào nhu cầu thực tế của bạn.</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh4.jpg" alt /></p>
<p>Nếu chỉ muốn dịch các ô cụ thể thay vì toàn bộ trang tính, hãy chọn chính xác các ô mà bạn muốn.</p>
<p>Khi bạn đã sẵn sàng, hãy nhấp vào “<strong>Translate</strong>”.</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh5.jpg" alt="Nhấp vào “Translate”" /></p>
<p>Bạn sẽ thấy một thông báo bật lên cho biết số lượng ô sẽ được dịch. Nếu chính xác, hãy chọn “<strong>Yes</strong>” để tiếp tục.</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh6.jpg" alt="Chọn “Yes” để tiếp tục" /></p>
<p>Bạn sẽ thấy các ô đã chỉnh sửa hoặc trang tính mới theo cài đặt đã chọn phía trên.</p>
<p><img src="https://st.quantrimang.com/photos/image/2022/06/25/dich-ngon-ngu-tren-bang-tinh7.jpg" alt="Nội dung đã được dịch" /></p>
<p>Cho dù bạn chọn sử dụng các hàm chức năng có sẵn hay tiện ích bổ sung, đều sẽ có các tùy chọn để dịch ngôn như một cách nhanh chóng trong Google Sheets.</p>
<p>Tham khảo thêm một số bài viết dưới đây:</p>
<ul>
<li><p><a target="_blank" href="https://quantrimang.com/cong-nghe/lam-sao-de-thay-doi-dinh-dang-save-file-mac-dinh-tren-word-excel-va-powerpoint-2016-119794">Làm sao để thay đổi định dạng save file mặc định trên Word, Excel và Powerpoint 2016?</a></p>
</li>
<li><p><a target="_blank" href="https://quantrimang.com/cong-nghe/doi-dau-gach-cheo-thanh-dau-cham-trong-dinh-dang-ngay-tren-excel-121275">Đổi dấu gạch chéo thành dấu chấm trong định dạng ngày trên Excel</a></p>
</li>
<li><p><a target="_blank" href="https://quantrimang.com/cong-nghe/huong-dan-xoa-dong-va-cot-trong-tren-excel-2016-121386">Hướng dẫn xóa dòng và cột trống trên Excel 2016</a></p>
</li>
</ul>
<p>Chúc các bạn thành công!</p>
]]></content:encoded></item><item><title><![CDATA[Dùng AI soạn từ vựng]]></title><description><![CDATA[Hugging Face API

[ ] Truy cập Huggingface tạo tài khoản và lấy key API

Thiết lập cơ bản trên Obsidian

[ ] Automatically update internal links

[ ] Tạo folder attachment và set folder attachment

[ ] Tạo folder template và set folder template

[ ] ...]]></description><link>https://55thanhmy.hashnode.dev/dung-ai-soan-tu-vung</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/dung-ai-soan-tu-vung</guid><category><![CDATA[obsidian]]></category><category><![CDATA[#anki]]></category><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Fri, 19 Apr 2024 14:40:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1713583343959/4832de41-b440-47ed-99ec-431d14c96fe6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-hugging-face-api">Hugging Face API</h2>
<ul>
<li>[ ] Truy cập <a target="_blank" href="https://huggingface.co/">Huggingface</a> tạo tài khoản và lấy key API</li>
</ul>
<h2 id="heading-thiet-lap-co-ban-tren-obsidian">Thiết lập cơ bản trên Obsidian</h2>
<ul>
<li><p>[ ] Automatically update internal links</p>
</li>
<li><p>[ ] Tạo folder attachment và set folder attachment</p>
</li>
<li><p>[ ] Tạo folder template và set folder template</p>
</li>
<li><p>[ ] Cài đặt plugin templater</p>
</li>
<li><p>[ ] Tạo template để tra cứu từ vựng đồng thời thiết lập shortcut để thuận tiện cho việc tra cứu</p>
</li>
</ul>
<h2 id="heading-thiet-lap-ket-noi-giua-obsidian-va-anki">Thiết lập kết nối giữa Obsidian và Anki</h2>
<ul>
<li><p>[ ] Cài đặt Obsidian_to_Anki</p>
</li>
<li><p>[ ] Thiết lập AnkiConnect (mã addon: 2055492159)</p>
</li>
<li><p>[ ] Tạo note type phù hợp với các field tương ứng trên template</p>
</li>
</ul>
<h2 id="heading-templater">Templater</h2>
<pre><code class="lang-JS"><span class="hljs-comment">// Nhập API key</span>
<span class="hljs-keyword">const</span> api_key = <span class="hljs-string">"\"
// Nhập folder attachment 
const attachment_folder = "</span>Assets<span class="hljs-string">"
// Nhập deck Anki để thêm từ vựng
const deck = `English`

const fs = require('node:fs')


const model_audio = "</span>https:<span class="hljs-comment">//api-inference.huggingface.co/models/espnet/kan-bayashi_ljspeech_vits"</span>

<span class="hljs-keyword">const</span> line = removeLinks(tp.file.content.split(<span class="hljs-string">"\n"</span>)[<span class="hljs-built_in">this</span>.app.workspace.activeEditor?.editor.getCursor().line])
.replace(<span class="hljs-string">"- "</span>,<span class="hljs-string">""</span>).trim()

<span class="hljs-keyword">const</span> select = <span class="hljs-built_in">this</span>.app.workspace.activeEditor?.editor.getSelection()
<span class="hljs-built_in">this</span>.app.workspace.activeEditor?.editor?.replaceSelection(<span class="hljs-string">`[[▲ <span class="hljs-subst">${select}</span>|`</span> + select + <span class="hljs-string">`]]`</span>)

<span class="hljs-comment">// tra nghĩa của từ trong ngữ cảnh</span>
<span class="hljs-keyword">const</span> definition = <span class="hljs-keyword">await</span> lookup(<span class="hljs-string">`
Sentence: <span class="hljs-subst">${line}</span>
Word/ Phrase: <span class="hljs-subst">${select}</span>
`</span>
, <span class="hljs-string">"Definition"</span>)

<span class="hljs-comment">// Sau khi có được nghĩa của từ thì yêu cầu model dịch sang Tiếng Việt.</span>
<span class="hljs-comment">// Khả khăng xử lí ngôn ngữ Tiếng Việt còn nhiều hạn chế, nên có thể xóa function phí dưới để tăng tốc độ tra cứu.</span>

<span class="hljs-keyword">const</span> definition_vn = <span class="hljs-keyword">await</span> lookup(<span class="hljs-string">`
English: <span class="hljs-subst">${definition}</span>
`</span>
, <span class="hljs-string">"Translate into Vietnamese"</span>)

<span class="hljs-comment">// Yêu cầu model đặt câu ví dụ với nghĩa nhất định của từ </span>
<span class="hljs-keyword">const</span> example = <span class="hljs-keyword">await</span> lookup(<span class="hljs-string">`
Word/ Phrase: <span class="hljs-subst">${select}</span>
Definition: <span class="hljs-subst">${definition}</span>
`</span>
, <span class="hljs-string">"Example"</span>)


<span class="hljs-comment">// Dịch example tiếng Anh sang tiếng Việt.</span>

<span class="hljs-keyword">const</span> example_vn = <span class="hljs-keyword">await</span> lookup(<span class="hljs-string">`
English: <span class="hljs-subst">${example}</span>
`</span>
, <span class="hljs-string">"Translate into Vietnamese"</span>)


<span class="hljs-comment">// Yêu cầu model tra cứu IPA của từ (không phải lúc nào cũng chính xác)</span>
<span class="hljs-keyword">const</span> ipa = <span class="hljs-keyword">await</span> lookup(<span class="hljs-string">`
Word/ Phrase: <span class="hljs-subst">${select}</span>
`</span>
, <span class="hljs-string">"IPA"</span>)



<span class="hljs-comment">// Nội dung file trả về sau khi tra cứu xong, người dùng nên tùy chỉnh theo nhu cầu của bản thân</span>
<span class="hljs-comment">// Cú pháp: </span>
<span class="hljs-comment">// [Anki Field]: ${biến}</span>
<span class="hljs-comment">// (await textToSpeech(text)) function này sẽ chuyển văn bản thành giọng nói (chỉ hỗ trợ tiếng Anh)</span>

<span class="hljs-keyword">let</span> template = <span class="hljs-string">`
English Vocab
Word: <span class="hljs-subst">${select}</span>
Definition: 
<span class="hljs-subst">${definition}</span>  
Vn:
<span class="hljs-subst">${definition_vn}</span> 
IPA:
<span class="hljs-subst">${ipa}</span>  
Example: 
<span class="hljs-subst">${example}</span>  
<span class="hljs-subst">${example_vn}</span>  
Audio: 
<span class="hljs-subst">${(<span class="hljs-keyword">await</span> textToSpeech(select))}</span>
Audio Example: 
<span class="hljs-subst">${(<span class="hljs-keyword">await</span> textToSpeech(example))}</span>

`</span>

template = template + <span class="hljs-string">`TARGET DECK: <span class="hljs-subst">${deck}</span>\n`</span> + <span class="hljs-string">"END\n"</span>
template = <span class="hljs-string">"START"</span> + template



<span class="hljs-keyword">let</span> file = <span class="hljs-built_in">this</span>.app.vault.getMarkdownFiles()
            .filter(<span class="hljs-function"><span class="hljs-params">f</span> =&gt;</span> f.path.replace(<span class="hljs-string">".md"</span>,<span class="hljs-string">""</span>) == <span class="hljs-string">`▲ <span class="hljs-subst">${select}</span>`</span>)
<span class="hljs-keyword">if</span> (file.length !== <span class="hljs-number">0</span>) {
    <span class="hljs-built_in">this</span>.app.vault.append(file[<span class="hljs-number">0</span>], template)
} <span class="hljs-keyword">else</span> {
    <span class="hljs-keyword">const</span> newNote = <span class="hljs-keyword">await</span> app.vault.create(<span class="hljs-string">`▲ <span class="hljs-subst">${select}</span>.md`</span>, template);
}


<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">lookup</span>(<span class="hljs-params">context, q</span>) </span>{
    <span class="hljs-keyword">let</span> prompt = context + <span class="hljs-string">`\n<span class="hljs-subst">${q}</span>:\n&gt;`</span>
    <span class="hljs-keyword">let</span> res = <span class="hljs-keyword">await</span> query({<span class="hljs-string">"inputs"</span>: prompt})
    <span class="hljs-keyword">if</span> (res) {
        <span class="hljs-keyword">let</span> reg = <span class="hljs-keyword">new</span> <span class="hljs-built_in">RegExp</span>(<span class="hljs-string">`<span class="hljs-subst">${q}</span>:\n&gt;(.*?)\n`</span>,<span class="hljs-string">"g"</span>)
        <span class="hljs-keyword">let</span> r = <span class="hljs-string">`<span class="hljs-subst">${res[<span class="hljs-number">0</span>][<span class="hljs-string">"generated_text"</span>]}</span>\n`</span>.match(reg)
        <span class="hljs-keyword">if</span> (r) <span class="hljs-keyword">return</span> r[<span class="hljs-number">0</span>].replace(<span class="hljs-regexp">/\n/g</span>,<span class="hljs-string">""</span>).replace(<span class="hljs-regexp">/(.*?)\&gt;/g</span>,<span class="hljs-string">""</span>).replace(<span class="hljs-string">"-"</span>,<span class="hljs-string">""</span>).trim()
    }
}

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">query</span>(<span class="hljs-params">data</span>) </span>{
    <span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> fetch(
        <span class="hljs-string">"https://api-inference.huggingface.co/models/NousResearch/Nous-Hermes-2-Mixtral-8x7B-DPO"</span>,
        {
            <span class="hljs-attr">headers</span>: { 
                <span class="hljs-string">"Content-Type"</span>: <span class="hljs-string">"application/json"</span>,
                <span class="hljs-attr">Authorization</span>: <span class="hljs-string">"Bearer "</span> + api_key 
            },
            <span class="hljs-attr">method</span>: <span class="hljs-string">"POST"</span>,
            <span class="hljs-attr">body</span>: <span class="hljs-built_in">JSON</span>.stringify(data),
        }
    );
    <span class="hljs-keyword">const</span> result = <span class="hljs-keyword">await</span> response.json();
    <span class="hljs-keyword">return</span> result;
}

<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">removeLinks</span>(<span class="hljs-params">text</span>) </span>{
    <span class="hljs-keyword">let</span> links = text.match(<span class="hljs-regexp">/\[\[(.*?)\]\]/g</span>) ? text.match(<span class="hljs-regexp">/\[\[(.*?)\]\]/g</span>) : []
    <span class="hljs-keyword">let</span> webs = text.match(<span class="hljs-regexp">/\[(.*?)\]\((.*?)\)/g</span>) ? 
    text.match(<span class="hljs-regexp">/\[(.*?)\]\((.*?)\)/g</span>) : []
    <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> link <span class="hljs-keyword">of</span> links) {
        <span class="hljs-keyword">let</span> x = link.replace(<span class="hljs-regexp">/\[\[(.*?)\|/g</span>,<span class="hljs-string">""</span>).replace(<span class="hljs-string">"]]"</span>,<span class="hljs-string">""</span>).replace(<span class="hljs-string">"[["</span>,<span class="hljs-string">""</span>)
        text = text.replace(link, x)
    }
    <span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> web <span class="hljs-keyword">of</span> webs) {
            <span class="hljs-keyword">let</span> x = web.replace(<span class="hljs-regexp">/\](.*?)\)/g</span>,<span class="hljs-string">""</span>).replace(<span class="hljs-string">"\["</span>,<span class="hljs-string">""</span>)
            text = text.replace(web, x)
    }
    <span class="hljs-keyword">return</span> text
}

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">textToSpeech</span>(<span class="hljs-params">text</span>) </span>{
    <span class="hljs-keyword">let</span> id = <span class="hljs-built_in">Date</span>.now() + text.length
    query({<span class="hljs-string">"inputs"</span>: text}).then(<span class="hljs-keyword">async</span> (response) =&gt; {
        <span class="hljs-keyword">let</span> content = Buffer.from((<span class="hljs-keyword">await</span> response.arrayBuffer()))
        <span class="hljs-keyword">let</span> path = <span class="hljs-string">`<span class="hljs-subst">${<span class="hljs-built_in">this</span>.app.vault.adapter.getBasePath()}</span>/<span class="hljs-subst">${attachment_folder}</span>/<span class="hljs-subst">${id}</span>.flac`</span>
        fs.writeFile(path, content, <span class="hljs-function"><span class="hljs-params">err</span> =&gt;</span> {
        <span class="hljs-keyword">if</span> (err) {
            <span class="hljs-built_in">console</span>.error(err);
        }});
    });
    <span class="hljs-keyword">return</span> <span class="hljs-string">`![[<span class="hljs-subst">${attachment_folder}</span>/<span class="hljs-subst">${id}</span>.flac]]`</span>

    <span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">query</span>(<span class="hljs-params">data</span>) </span>{
        <span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> fetch(
            model_audio,
            {
                <span class="hljs-attr">headers</span>: { <span class="hljs-attr">Authorization</span>: <span class="hljs-string">"Bearer "</span> + api_key  },
                <span class="hljs-attr">method</span>: <span class="hljs-string">"POST"</span>,
                <span class="hljs-attr">body</span>: <span class="hljs-built_in">JSON</span>.stringify(data),
            }
        );
        <span class="hljs-keyword">const</span> result = <span class="hljs-keyword">await</span> response.blob();
        <span class="hljs-keyword">return</span> result;
    }
}
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Cách thêm hàng trăm thẻ Tự vựng]]></title><description><![CDATA[Cách thêm hàng trăm thẻ từ vựng Anki trong vài phútDành cho người lười hoặc muốn làm thẻ nhanh để đỡ tốn thời gian Các ngôn ngữ hiện hỗ trợ : Anh, Việt, Pháp, NhậtCái add-ons này sẽ tiết kiệm rất nhiều thời gian của mọi người (đặc biệt là người mới, ...]]></description><link>https://55thanhmy.hashnode.dev/cach-them-hang-tram-the-tu-vung</link><guid isPermaLink="true">https://55thanhmy.hashnode.dev/cach-them-hang-tram-the-tu-vung</guid><dc:creator><![CDATA[My Thanh]]></dc:creator><pubDate>Fri, 19 Apr 2024 12:55:17 GMT</pubDate><content:encoded><![CDATA[<p>Cách thêm hàng trăm thẻ từ vựng Anki trong vài phútDành cho người lười hoặc muốn làm thẻ nhanh để đỡ tốn thời gian Các ngôn ngữ hiện hỗ trợ : Anh, Việt, Pháp, NhậtCái add-ons này sẽ tiết kiệm rất nhiều thời gian của mọi người (đặc biệt là người mới, đang ngồi bục mặt ra làm thẻ Anki.Mình chỉ mới tìm ra nó thôi nhưng hiệu quả của nó có thể khiến mình ngỡ ngàng và dâng trào hạnh phúc (đỡ phải cực nhọc làm thẻ chứ sao :)))))))) Áp dụng cho ai có laptop hay máy bàn nha Bạn nào chỉ xài điện thoại có thể dành vài phút ở quán nét làm cũng lẹ <a target="_blank" href="http://lắm.Link">lắm.Link</a> hướng dẫn bằng tiếng Anh (không cần giỏi đâu cứ nhìn và làm theo thôi): <a target="_blank" href="https://www.youtube.com/watch?v=VwCElOknD8I">https://www.youtube.com/watch?v=VwCElOknD8I</a> vì mới biết: bác chủ Add-ons này là người Việt đó mọi người -----</p>
<p>Các ngôn ngữ hiện hỗ trợ : Anh, Việt, Pháp, Nhật</p>
<p>Cái add-ons này sẽ tiết kiệm rất nhiều thời gian của mọi người (đặc biệt là người mới, đang ngồi bục mặt ra làm thẻ Anki.</p>
<p>Mình chỉ mới tìm ra nó thôi nhưng hiệu quả của nó có thể khiến mình ngỡ ngàng và dâng trào hạnh phúc (đỡ phải cực nhọc làm thẻ chứ sao :))))))))</p>
<p>Áp dụng cho ai có laptop hay máy bàn nha</p>
<p>Bạn nào chỉ xài điện thoại có thể dành vài phút ở quán nét làm cũng lẹ lắm.</p>
<p>Link hướng dẫn bằng tiếng Anh (không cần giỏi đâu cứ nhìn và làm theo thôi): {{&lt; youtube VwCElOknD8I &gt;}}</p>
<p>Update vì mới biết: bác chủ Add-ons này là người Việt đó mọi người</p>
]]></content:encoded></item></channel></rss>