NotePlan / NotePlan/plugins

projects + reviews: Font not rendering in the plugin

オープン
#780 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug
主要言語
JavaScript
スター
204
フォーク
82
平均マージ
22時間 27分
マージ済み PR(30日)
3

説明

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)"

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、MonoLisaをNotePlanテーマのフォントとして設定したProject-reviewsペインで問題を再現し、次にフォントの読み込みパスについてPlugin Consoleの出力を調べます。カスタムフォントがTimes New Romanではなくプラグインペインに描画され、既存のペインの動作が維持されていれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
frontend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
48/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。