Commit graph

51 commits

Author SHA1 Message Date
Victor Araújo
1b95a0a9b0 refactor(gutter): replace font size dropdown with 12-24px slider
Simpler and more flexible than mapping to Obsidian CSS variables.
Default is 15px.
2026-02-17 20:27:21 -03:00
Victor Araújo
a2501103c4 feat(gutter): add independent settings, font size dropdown, and 100% default opacity
Give the gutter its own HeadingDecoratorSettings following the same
pattern as other view types (toggle + config panel). Add a font size
dropdown mapped to Obsidian's --font-ui-* CSS variables. Default gutter
opacity is now 100% instead of the standard 20%.
2026-02-17 20:27:21 -03:00
Victor Araújo
7d21665b7f feat(editor): add gutter-based heading decorator renderer
Add an optional gutter column renderer as an alternative to inline
Decoration.widget placement. When enabled, heading decorations render
in a separate CodeMirror gutter outside the document flow, preserving
text alignment.

- Extract shared counter creation into common/counter-factory.ts
- Add HeadingGutterMarker (GutterMarker) and createHeadingGutterExtension
- Support toggling between inline and gutter modes at runtime via
  in-place extension swap (workspace.updateOptions pattern)
- Add useGutter toggle and gutterPosition dropdown to settings UI
- Add i18n strings for en, zh, zh-TW
- Add gutter CSS with opacity variants and table-cell hiding
2026-02-17 20:27:21 -03:00
dragonish
29c9403abc
tweak(setting): optimize the settings page
To adapt to the new style of Obsidian 1.11.
2026-01-14 20:38:28 +08:00
dragonish
138c7841c9
feat: add a new splice decorator mode 2026-01-09 19:27:54 +08:00
dragonish
2e5a5f067b
refactor(setting): optimize code 2026-01-09 18:40:38 +08:00
dragonish
63c64a393f
feat(setting): show simple examples in decorator style type options 2026-01-09 13:30:09 +08:00
dragonish
c0bd1e15aa
feat: add a new independent decorator mode
Resolve: #22
BREAKING CHANGE: adjust some settings, introduce a new decorator mode setting.
2026-01-09 13:04:07 +08:00
dragonish
9e98a8edea
typo(data): correct function name 2026-01-08 17:50:17 +08:00
dragonish
5389b73bc9
refactor(setting): optimize the code of the setting tab 2026-01-08 13:07:32 +08:00
dragonish
ac1c3b1b18
feat(attr): add a new attribute to decorator elements
add a`data-decorator-level` attribute to the element.
2026-01-06 20:47:37 +08:00
dragonish
fd39b029aa
refactor(classname): adjust the reference method of the class name 2026-01-05 17:29:36 +08:00
dragonish
4e40be4f3d
fix(plugin): fix blocklist not working in edit view when metadata keyword is empty 2025-11-30 22:55:07 +08:00
dragonish
9cfeacb5e3
fix(plugin): fix blocklist not working in edit view
Fixed: #21
2025-11-30 22:45:28 +08:00
dragonish
dd8eb7b53d
feat(reading): allow custom render policy for reading view
Allow customization of the render policy for heading decorators in the
reading view when editing note content.

Refs: #20
2025-08-24 12:25:45 +08:00
dragonish
f51b4916d2
ui(reading): optimize the page scroll to another location when rerender
By recording the original position and rolling back after a period of time to
alleviate this issue.

Refs: #20
2025-08-23 17:30:20 +08:00
dragonish
99943ed615
feat: add support for custom leading delimiter
Resolve: #19
2025-08-16 10:25:31 +08:00
dragonish
7edebece29
feat: support to specify the maximum level of recognition
Resolve: #17
2025-08-10 21:55:41 +08:00
dragonish
4de7550ada
feat: support for custom trailing delimiter
Resolve: #18
2025-08-10 20:09:28 +08:00
dragonish
c67fede46a
feat(settings): add generic heading decorator configuration
Resolve: #16
BREAKING CHANGE: adjust the logic of the settings.
2025-08-05 22:22:22 +08:00
dragonish
e2cc16f2c4
perf(folder): optimize folder suggestion performance 2025-07-01 20:33:24 +08:00
dragonish
5aaa0605e5
fix(plugin): fix decorators in third-party plugins that may not have hidden as expected
This issue occurs when the heading hides decorator is needed for note
content changes.
2025-06-20 21:02:04 +08:00
dragonish
f640b8e515
feat: support always ignore the top-level headings 2025-06-20 20:48:02 +08:00
dragonish
298a7f57f8
enh(i18n): add internationalization support 2025-06-15 16:50:44 +08:00
dragonish
d420ddd3e2
refactor(reading): extract the processing code of the reading view into a file 2025-05-29 12:53:32 +08:00
dragonish
55729c1e13
enh(plugin): make the decorator settings changes on the third-party plugin take effect immediately
When changing the relevant decorator settings, re-render the
decorator on the third-party plugin.
2025-05-29 00:00:00 +08:00
dragonish
777d02b69e
refactor(quiet-outline): change parameter name 2025-05-28 23:13:39 +08:00
dragonish
7be8939c6d
docs(quiet-outline): add function comments 2025-05-28 23:12:44 +08:00
dragonish
412af669d0
refactor(editor): change class name 2025-05-28 21:02:52 +08:00
dragonish
619d950ae8
refactor(main): split the main file 2025-05-28 20:54:46 +08:00
dragonish
c7657ab7d1
fix(quiet-outline): fix residual decorators after change settings
For rendering reasons, the old class names will not be removed, so
they need to be handled by oneself.
2025-05-28 20:31:11 +08:00
dragonish
cc7a05af32
feat(source): allow to hide number signs (#) in source mode
Resolve: #11
2025-04-27 21:36:17 +08:00
dragonish
480480f288
refactor(child): modify component name 2025-04-22 20:39:12 +08:00
dragonish
22d0c05605
enh(outline): remove the decorator immediately when detaching the function
To avoid the decorator remaining until the outline view is re-rendered
after disabling the option to decorate the outline plugin.
2025-04-22 13:55:57 +08:00
dragonish
a889e0bda3
feat: allow for easy customization of decorator styles
No longer use pseudo-element rendering decorators, but use entity
rendering instead.
2025-04-18 23:35:39 +08:00
dragonish
ee70a4349c
feat: add new decorator position options
Mainly used to resolve rendering conflicts with some themes.

Resolve: #8
2025-04-09 21:45:01 +08:00
dragonish
c013db2e56
feat: add support for blacklist function
Allow to specify the folder blacklist and the regex blacklist of note name.

Resolve: #7
2025-04-03 22:12:50 +08:00
dragonish
a1b31decd4
feat(settings): allow to setting a maximum number of ignored headings 2025-04-02 21:51:54 +08:00
dragonish
5cde58f449
perf(outline): recycle end-of-life components
When the tab of the outline view is closed, the plugin no longer stores
the subcomponents of this view, allowing the system to recycle them; In
addition, when the function is disabled, its subcomponents are removed
from the outline view.
2025-04-01 23:33:54 +08:00
dragonish
d00a090099
feat(outline): add support for outline plugin
Resolve: #2
2025-03-31 13:41:04 +08:00
dragonish
6e623345b7
tweak: optimize the offset of headings without prefix decoration
When the "Ignore the single heading at the top-level" option is
enabled, the heading will be accidentally offset if there is no content to
decorate.
2025-03-27 22:00:13 +08:00
dragonish
3b5c714c11
feat: support based on the existing highest level
Use the highest level of headings in the note as the base for ordered list.

Resolve: #1
2025-03-27 21:19:28 +08:00
dragonish
9a599ef1e5
fix(editing): fix last line in editing view not rendered 2025-03-14 13:23:53 +08:00
dragonish
20d2477c24
enh(editing): optimize the user experience in the editing view
No longer using cache to parse headings, instead based on real-time
content and avoiding information asymmetry caused by cache latency.
2025-03-13 10:15:02 +08:00
dragonish
fb63af97d1
feat: add allow level can be displayed as zero
If the next heading is more than one level higher, the omitted level is
zero instead of one.
2025-03-12 22:20:38 +08:00
dragonish
dd6b92e792
enh: optimize the interaction between the decorator and the collapse button
No longer add space characters to the boundary of
decorator content, instead use styles to control the
spacing between decorators and headings.
2025-03-12 15:57:17 +08:00
dragonish
0d4c4273dc
fix(preview): fix render exception when heading contains inline code in live preview
Replace the line decoration.
2025-03-12 14:04:44 +08:00
dragonish
ffa2a73640
feat: support independent configuration of decorators for each editor mode 2025-03-11 13:08:06 +08:00
dragonish
1f6c51b6be
feat: add support to ignore the single heading at the top-level 2025-03-10 22:45:56 +08:00
dragonish
6bbdbf53aa
fix(view): fix inability to detect editor mode switching 2025-03-10 21:51:19 +08:00