Repository navigation
Expand file tree
/
Copy path.guards
More file actions
140 lines (120 loc) · 7.27 KB
/
Copy path.guards
File metadata and controls
140 lines (120 loc) · 7.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# nb-web core — load-bearing identifiers
# These are the contracts that plugins and the UI depend on.
# Add a new line whenever you introduce a function that everything else calls.
# ── Plugin API (nbweb.js) ─────────────────────────────────────────────────────
nbweb.js:registerModule
nbweb.js:registerRenderer
nbweb.js:getPreviewRenderer
nbweb.js:getPreviewRenderers
nbweb.js:getRenderers
nbweb.js:getRendererTypes
nbweb.js:loadNotebookConfig
nbweb.js:bustNotebookConfigCache
# ── Render pipeline (main.js) ─────────────────────────────────────────────────
main.js:async function renderPreview
main.js:_enrichRendered
main.js:_finishRendered
main.js:_renderMarkdown
main.js:_resolveInlineQueries
main.js:_buildFmBlocks
# ── Shared display/rendering utilities exposed to satellites (main.js) ────────
# Load-bearing seam: showCmdOutput/showPreviewLoading called by sync.js via
# NbMain.*; parseMarkdownStatic called by plugins-page.js and templates.js via
# NbMain.* (also used bare by kernel renderPreview). runGrep/import (still in
# this file) call the bare private versions directly.
main.js:_showCmdOutput
main.js:_showPreviewLoading
main.js:_parseMarkdownStatic
# ── Notebooks-settings kernel-state accessor (main.js) ─────────────────────────
# Load-bearing seam: notebooks-page.js reads kernel-owned _nbSortMode through
# this -- kernel's own _applyNbSort (still in main.js, called by ui-chrome.js's
# moved dropdown-building code) also writes it for the shared #nb-sort-btn
# dropdown's active-item checkmarks, which serves the plain note-list sort too.
# The notebooks array itself and the sort/render logic are satellite-local
# (moved wholesale -- no other kernel code needed them).
main.js:getNbSortMode
# ── UI chrome kernel-state accessors (main.js, tier 4, 2026-07-08) ─────────────
# Load-bearing seam: ui-chrome.js reaches these to touch state that stays
# kernel-declared because kernel code elsewhere also reads/writes it (openNote,
# _populateEditor, _deleteNote/loadNotes, _applySort/_applyNbSort, _setKbPane).
# Sets/objects are exposed as live references (satellite calls .has/.add/.delete
# directly); primitives get paired get/set.
main.js:applySort
main.js:applyNbSort
main.js:getSortMode
main.js:getListDisplayMode
main.js:setListDisplayMode
main.js:getKbPane
main.js:setKbPane
main.js:getLastNotes
main.js:pinnedSelectors
main.js:undoBuffer
main.js:pendingDeletes
main.js:reRenderList
main.js:resolveWikilinks
main.js:deleteNote
main.js:setActiveNote
# ── List-generation counter accessors (main.js) ────────────────────────────────
# Load-bearing seam: templates.js reads/checks kernel-owned _listSeq through
# these -- kernel's own loadNotes/search AND not-yet-extracted runCal/runGrep
# also increment/check the same counter, so it stays private behind these two
# intent-named operations rather than a raw get/set of the value itself.
main.js:bumpListSeq
main.js:isStaleListSeq
# ── Navigation (nav.js) ───────────────────────────────────────────────────────
nav.js:const NbNav
nav.js:_openSyncDialog
nav.js:activateCmd
# ── Terminal (terminal.js) ─────────────────────────────────────────────────────
terminal.js:const NbTerminal
# ── Folder dialog + file-ops tabs (dialog.js) ──────────────────────────────────
dialog.js:const NbDialog
# ── Drag handles (drag-handles.js) ─────────────────────────────────────────────
drag-handles.js:const NbDragHandles
# ── Note actions (note-actions.js) ─────────────────────────────────────────────
note-actions.js:const NbNoteActions
# ── Search (search.js) ─────────────────────────────────────────────────────────
search.js:const NbSearch
# ── Sync / run-command (sync.js) ───────────────────────────────────────────────
sync.js:const NbSync
# ── Plugins page (plugins-page.js) ─────────────────────────────────────────────
plugins-page.js:const NbPluginsPage
# ── Notebooks settings page (notebooks-page.js) ─────────────────────────────────
notebooks-page.js:const NbNotebooksPage
# ── Templates view (templates.js) ──────────────────────────────────────────────
templates.js:const NbTemplates
# ── UI access gating (ui-access.js, tier 4a, 2026-07-08) ───────────────────────
# Zero dependencies; loads right after nav.js. can() is the whole public surface.
ui-access.js:const NbUiAccess
ui-access.js:can
# ── UI chrome (ui-chrome.js, tier 4, 2026-07-08) ───────────────────────────────
# Panel menus, extras toggle, preview-toolbar menu + actions, multi-select,
# keyboard nav. Loads immediately before main.js -- NbMain's return object
# holds bare NbUiChrome.* references (exportFormats, doPrint, clearSelection,
# deselect, selectedSelectors).
ui-chrome.js:const NbUiChrome
# ── Specialty typed-note headers (plugins/nbweb-specialty.js) ──────────────────
# Folded in from the formerly-separate nbweb-specialty repo, 2026-07-19 (subtree
# merge, full history preserved) -- global plugin, no detect(), active for every
# notebook, treated as foundational infrastructure by other plugins (nbweb-quartz
# builds its item-card header on top of this). Carried over from that repo's own
# .guards verbatim.
# ── Note renderers ──
plugins/nbweb-specialty.js:_renderSpecialtyNote
plugins/nbweb-specialty.js:_renderDotfileNote
plugins/nbweb-specialty.js:_renderDashboardNote
plugins/nbweb-specialty.js:_renderReportsNote
# ── Project / pairing ──
plugins/nbweb-specialty.js:_offerCreateReports
plugins/nbweb-specialty.js:_offerCreateOrLink
plugins/nbweb-specialty.js:_showProjectPicker
# ── Theme editor ──
plugins/nbweb-specialty.js:_openThemeEditor
plugins/nbweb-specialty.js:_openThemePicker
# ── Flask backend (app.py) ────────────────────────────────────────────────────
app.py:def run_nb
app.py:def api_note
app.py:def api_edit_note
app.py:def api_notes
app.py:def api_inline_query
app.py:def api_cine_data