projects + reviews: Font not rendering in the plugin

Đang mở
#780 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript
Lĩnh vực
frontend

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện vấn đề trong một khung Project-reviews với MonoLisa được cấu hình làm phông chữ của giao diện NotePlan, sau đó kiểm tra đầu ra của Plugin Console để xác định đường dẫn tải phông chữ. Hoàn thành khi phông chữ tùy chỉnh được hiển thị trong khung plugin thay vì Times New Roman, đồng thời hành vi hiện có của khung vẫn được giữ nguyên.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

Checks

  • [ x ] I confirm I have restarted NotePlan and this problem still persists.
  • [ x ] I confirm I have reinstalled the Plugin and this problem still persists.
  • [ x ] Is this a repeatable problem?

System

  • Device OS: [macOS 15.2]
  • NotePlan Version [e.g. 3.21.2]
  • Plugin Name & Version [2.08]
  • Custom Font: MonoLisa

Describe the bug
When a custom pane from Plugin is opened, it does not use my custom font as the font within the plugin.

What do you expect it to do instead?

I expect my custom font to load as the font for the plugin panes.

To Reproduce
Steps to reproduce the behavior:

  1. Use MonoLisa as a custom font in in a NotePlan theme.
  2. Open a Project-reviews pane.
  3. See Times New Roman font, rather than MonoLisa font.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
just following up from a discussion I had with jgclark on Discord earlier this week. The font I prefer to use just isn't working with his plugins, which is a real bummer. His exact instructions to me were:

I've worked many hours to write a framework that automatically lets plugins pick up colours and sizes and fonts from the current Theme, despite them being in two completely different technologies.
All the main plugins use this framework, though the 'community' plugins (aka vibe-coded ones) probably won't.
But I've discovered some custom fonts have non-standard metadata, and that can mess up the under-the-hood translation. Please raise an issue at the GitHub repo for plugins with details of what's not working.

Thanks for any consideration.

Plugin Console Log
To provide us with more clues about where the bug/error is occurring...

  1. Open the Plugin's Preferences by going to NotePlan's menu > Preferences > Plugins and clicking the settings "cog" icon next to the plugin in question. Scroll to the bottom and set the logging level to "DEBUG" and click "Save & Close"
  2. Now open the Plugin Console by going to Noteplan > Help > Plugin Console (not the macOS Console app).
  3. Run the plugin command you're reporting
  4. Copy the output from the Plugin Console and paste it below
  5. Delete any output that has personal information you don't want in there
    [WebView Log] bridge::runPluginCommand JS file in np.Shared Sending command "onMessageFromHTMLView" to NotePlan: "jgclark.Dashboard" with args: ["refreshSomeSections",{"actionType":"refreshSomeSections","sectionCodes":["TB"]},""]
Executing function 'onMessageFromHTMLView'
2026-08-22 22:58:57 | INFO  | ************* bridgeClickDashboardItem: refreshSomeSections *************
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Starting refresh for sections TB"
2026-08-22 22:58:57 | INFO  | paragraph/findStartOfActivePartOfNote :: Note was empty; adding a blank line to make writing to the note work
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Finished refreshSomeSections for [TB] (84ms)"
[WebView Log] bridge::runPluginCommand JS file in np.Shared Sending command "onMessageFromHTMLView" to NotePlan: "jgclark.Dashboard" with args: ["refreshSomeSections",{"actionType":"refreshSomeSections","sectionCodes":["TB"]},""]
Executing function 'onMessageFromHTMLView'
2026-08-22 22:59:51 | INFO  | ************* bridgeClickDashboardItem: refreshSomeSections *************
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Starting refresh for sections TB"
2026-08-22 22:59:52 | INFO  | paragraph/findStartOfActivePartOfNote :: Note was empty; adding a blank line to make writing to the note work
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Finished refreshSomeSections for [TB] (94ms)"
[WebView Log] bridge::runPluginCommand JS file in np.Shared Sending command "onMessageFromHTMLView" to NotePlan: "jgclark.Dashboard" with args: ["refreshSomeSections",{"actionType":"refreshSomeSections","sectionCodes":["TB"]},""]
Executing function 'onMessageFromHTMLView'
2026-08-22 23:00:46 | INFO  | ************* bridgeClickDashboardItem: refreshSomeSections *************
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Starting refresh for sections TB"
2026-08-22 23:00:46 | INFO  | paragraph/findStartOfActivePartOfNote :: Note was empty; adding a blank line to make writing to the note work
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Finished refreshSomeSections for [TB] (83ms)"
Executing function 'onSettingsUpdated'
2026-08-22 23:00:48 | INFO  | generateAllProjectsList :: usePerspectives=false perspective='-' foldersToInclude=[Projects] foldersToIgnore=[Reviews,Summaries,Saved Searches]
2026-08-22 23:00:48 | INFO  | generateAllProjectsList :: enumerated 0 project instance(s) to write
2026-08-22 23:00:48 | INFO  | updateRichProjectListIfOpen :: About to run Reviews:renderProjectListsIfOpen(...)
Executing function 'renderProjectListsIfOpen'
2026-08-22 23:00:48 | INFO  | jgclark.Reviews v2.0.8-full :: renderProjectLists ------------------------------------
2026-08-22 23:00:48 | INFO  | filterAndSortProjectsList :: Starting with tag '' for 0 projects
2026-08-22 23:00:48 | INFO  | filterAndSortProjectsList :: - filtered 0 projects, sorted 0 projects (before perspective filters: 0)
2026-08-22 23:00:48 | INFO  | updateDashboardIfOpen :: About to invoke ✳️ Dashboard:refreshSectionByCode(...)
Executing function 'refreshSectionsByCode'
2026-08-22 23:00:49 | INFO  | jgclark.Reviews v2.0.9-full :: getReviewSettings() Starting from a different plugin ...
2026-08-22 23:00:49 | INFO  | filterAndSortProjectsList :: Starting with tag '' for 0 projects
2026-08-22 23:00:49 | INFO  | filterAndSortProjectsList :: - filtered 0 projects, sorted 0 projects (before perspective filters: 0)
2026-08-22 23:00:49 🥺 WARN 🥺 getNextNoteToReview :: No active projects found, so stopping
2026-08-22 23:00:49 | INFO  | jgclark.Reviews v2.0.9-full :: getReviewSettings() Starting from a different plugin ...
2026-08-22 23:00:49 | INFO  | filterAndSortProjectsList :: Starting with tag '' for 0 projects
2026-08-22 23:00:49 | INFO  | filterAndSortProjectsList :: - filtered 0 projects, sorted 0 projects (before perspective filters: 0)
2026-08-22 23:00:49 🥺 WARN 🥺 reviews/getNextProjectsToReview :: No active projects found, so stopping
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Starting refresh for sections PROJACT,PROJREVIEW,PROJ"
2026-08-22 23:00:49 | INFO  | jgclark.Reviews v2.0.8-full :: renderProjectLists ------------------------------------
2026-08-22 23:00:49 | INFO  | filterAndSortProjectsList :: Starting with tag '' for 0 projects
2026-08-22 23:00:49 | INFO  | filterAndSortProjectsList :: - filtered 0 projects, sorted 0 projects (before perspective filters: 0)
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Finished refreshSomeSections for [PROJACT,PROJREVIEW,PROJ] (142ms)"
[WebView Log] bridge::runPluginCommand JS file in np.Shared Sending command "onMessageFromHTMLView" to NotePlan: "jgclark.Dashboard" with args: ["refreshSomeSections",{"actionType":"refreshSomeSections","sectionCodes":["TB"]},""]
Executing function 'onMessageFromHTMLView'
2026-08-22 23:01:43 | INFO  | ************* bridgeClickDashboardItem: refreshSomeSections *************
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Starting refresh for sections TB"
2026-08-22 23:01:43 | INFO  | paragraph/findStartOfActivePartOfNote :: Note was empty; adding a blank line to make writing to the note work
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Finished refreshSomeSections for [TB] (92ms)"
[WebView Log] bridge::runPluginCommand JS file in np.Shared Sending command "onMessageFromHTMLView" to NotePlan: "jgclark.Dashboard" with args: ["refreshSomeSections",{"actionType":"refreshSomeSections","sectionCodes":["TB"]},""]
Executing function 'onMessageFromHTMLView'
2026-08-22 23:02:37 | INFO  | ************* bridgeClickDashboardItem: refreshSomeSections *************
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Starting refresh for sections TB"
2026-08-22 23:02:37 | INFO  | paragraph/findStartOfActivePartOfNote :: Note was empty; adding a blank line to make writing to the note work
[WebView Log] CommsBridge UPDATE_DATA message: "UPDATE_DATA Finished refreshSomeSections for [TB] (93ms)"
Ngôn ngữ chính
JavaScript
Star
204
Fork
82
Merge trung bình
22 giờ 27 phút
Pull request đã merge (30 ngày)
3

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của NotePlan/plugins

Tất cả issue của NotePlan/plugins

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.